---
title: "Enregistrer et publier des flows"
description: "Enregistrez des flows comme brouillons et publiez-les pour vos utilisateurs"
---

Le [Flow Builder](adapty-flow-builder) distingue l'enregistrement de la publication. Les brouillons conservent votre travail dans l'Adapty Dashboard, et la publication rend la version actuelle disponible aux utilisateurs via le SDK. Cet article explique ces deux actions et quand les utiliser.

## Enregistrer un flow comme brouillon \{#save-a-flow-as-a-draft\}

:::warning
Un [Remote Config](customize-flow-with-remote-config) invalide vous empêche d'enregistrer le brouillon.
:::

Le Flow Builder sauvegarde automatiquement votre progression toutes les minutes.

Pour enregistrer un brouillon manuellement, cliquez sur **Save draft** en haut à droite du Flow Builder, ou appuyez sur **Cmd/Ctrl + S**.

Les brouillons sont privés au Dashboard. Ils ne changent pas ce que voient les utilisateurs dans votre application, même si le flow est déjà assigné à un [placement](placements).

## Publier un flow \{#publish-a-flow\}

La publication rend la version actuelle de votre flow disponible aux utilisateurs via le SDK. Une fois publié, la nouvelle version remplace toute version précédemment publiée du même flow.

:::note
Pour ajouter un flow à un [placement](placements), publiez-le d'abord. Un flow en statut Draft ne peut pas être ajouté.
:::

Pour publier votre flow, cliquez sur **Publish to Live** en haut à droite du Flow Builder.

Ce qui se passe ensuite dépend de si le flow est déjà assigné à un placement :

- **Flow déjà dans un placement** : les utilisateurs voient la nouvelle version dès leur prochaine requête vers ce placement.
- **Flow non assigné à un placement** : ajoutez le flow à un [placement](create-placement) pour commencer à le montrer aux utilisateurs.

:::tip
Un flow est prêt à être publié dès que chaque action, écran et élément produit est entièrement configuré. Consultez la section [Résolution des problèmes](#troubleshooting) pour les erreurs les plus courantes.
:::

:::warning
Les [polices personnalisées](using-custom-fonts-in-flow-builder) ne sont pas embarquées avec le flow — vous devez ajouter chaque fichier de police à votre bundle d'application. Sans le fichier, les utilisateurs voient la police système de secours.

Pour changer une police sur un flow publié sans casser les versions plus anciennes : dupliquez le flow, modifiez la police dans la copie, et ciblez la copie vers une [audience](add-audience-paywall-ab-test) sur les versions de l'application qui incluent la police.
:::

## Statut d'un flow \{#flow-status\}

Chaque flow affiche un statut dans la liste des flows. Le statut reflète où en est le flow dans le cycle de vie d'enregistrement et de publication.

| Statut | Signification |
| :----- | :------ |
| **Draft** | Le flow n'a jamais été publié. Seul un brouillon existe, donc les utilisateurs ne le voient pas encore. Vous devez d'abord publier le brouillon pour l'ajouter à un [placement](placements). |
| **Dirty** | Le flow a été publié, mais il contient des modifications enregistrées qui ne sont pas encore publiées. Les utilisateurs voient toujours la dernière version publiée jusqu'à la prochaine publication. |
| **Publishing** | Une publication est en cours. |
| **Failed** | La dernière tentative de publication a échoué. Les utilisateurs continuent de voir la dernière version publiée, si elle existe. |
| **Published** | La dernière version enregistrée est en ligne. Il n'y a aucune modification non publiée. |
| **Archived** | Le flow a été supprimé. |

## Résolution des problèmes \{#troubleshooting\}

Vous ne pouvez pas publier ni prévisualiser votre flow si l'un des problèmes suivants est présent.

- Une interaction avec une configuration incomplète. Cas courants :
    - Une action **Open URL** sans URL cible.
    - Une action **Navigate to screen** sans destination — se produit aussi lorsque l'écran de destination est supprimé après la configuration de l'action.
    - Une **action conditionnelle** sans opérateur ni valeur.
    - Une action **Set Variable** sans assignation de variable/valeur.
    - Une action **Purchase** sans produit (store intégré) ou sans URL de paywall web (paiement web).
    - Une action **Custom** sans ID d'action.
    - Une action **Show alert** avec un Titre ou un Message vide.
    - Une action **Show** ou **Hide** sans élément sélectionné.
- Un **écran sans éléments**.
- Un élément produit **sans produit associé** — peut survenir si vous supprimez le produit référencé.
- Un JSON de **Remote Config** invalide qui bloque l'ensemble du processus de diffusion — vous ne pouvez même pas enregistrer le brouillon.

Prévisualisez votre flow dans l'[application Adapty](paywall-device-compatibility-preview) pour détecter d'éventuels problèmes avant la publication. Si le flow ne se charge pas dans la prévisualisation, consultez le message d'erreur pour plus de détails.