Passer au contenu

Feature flags

Un feature flag est un interrupteur marche/arrêt pour une fonctionnalité de votre application ou de votre site web. Vous le basculez dans le Control Panel, sans nouvelle version.

Pour chaque flag, vous choisissez qui obtient la fonctionnalité : les utilisateurs d’un segment, un pourcentage de tous les utilisateurs, ou les deux. Par exemple, montrez d’abord un nouvel écran à 10 % des utilisateurs, puis augmentez le pourcentage. En cas de problème, vous pouvez désactiver la fonctionnalité pour tout le monde avec le bouton Désactiver pour tous. Un flag peut aussi porter des propriétés, comme la couleur d’un bouton ou une limite de remise, que vous définissez pour chaque audience.

Avant de commencer

Anchor link to
  • Forfait : les feature flags ne sont disponibles que dans les forfaits qui les incluent. Dans les autres forfaits, Feature flags n’apparaît pas dans le menu Audience. Pour les activer, contactez votre account manager.
  • Accès : Feature flags apparaît dans chaque application que vous pouvez voir. Pour créer et modifier des flags, vous avez besoin de l’autorisation Modifier les applications ou de la même autorisation pour cette application dans ses autorisations spécifiques à l’application.
  • Configuration côté développeurs : un flag n’agit sur les utilisateurs qu’une fois que vos développeurs le lisent par sa clé dans le code de l’application ou du site web. Il leur faut le Web SDK 3.94.1 ou ultérieur, l’Android SDK 6.16.0 ou ultérieur, ou l’iOS SDK 7.2.10 ou ultérieur. Dans une application qui n’a encore aucun flag, la page Feature flags affiche des exemples de code prêts à l’emploi pour Web, Android et iOS. Transmettez-les à vos développeurs avec la clé du flag. Partagez avec eux le guide du Web SDK, le guide de l’Android SDK ou le guide de l’iOS SDK.

Si votre forfait n’inclut plus les feature flags, les appareils cessent de recevoir les flags et votre application ou votre site web utilise les valeurs définies dans son code. La création ou la restauration d’un flag échoue alors avec le message Les feature flags ne sont pas disponibles dans votre offre, par exemple dans un onglet du Control Panel ouvert avant le changement de forfait.

Comment un flag décide de ce que reçoit chaque utilisateur

Anchor link to

Chaque flag possède une liste de règles. Chaque règle comporte un segment, un pourcentage d’utilisateurs pour qui le flag est activé (Déploiement, %) et des valeurs de propriétés facultatives. Pour chaque appareil, Pushwoosh vérifie les règles de haut en bas :

  1. La première règle dont le segment correspond à l’appareil décide. Une règle sans segment correspond à tous les appareils.
  2. Le Déploiement, % de la règle décide si le flag est activé pour cet utilisateur. À 20 %, deux utilisateurs sur dix l’obtiennent.
  3. Un utilisateur pour qui le flag est activé reçoit les valeurs de propriétés définies dans cette règle. Un utilisateur pour qui il est désactivé reçoit les valeurs de propriétés par défaut.

Dès qu’un appareil correspond à une règle, les règles suivantes sont ignorées, même lorsque cette règle désactive le flag pour lui. Un appareil qui ne correspond à aucune règle obtient le flag désactivé.

Un utilisateur obtient le même résultat à chaque visite. Les appareils connectés avec le même User ID obtiennent le même résultat lorsqu’ils correspondent à la même règle, car Pushwoosh vérifie les segments pour chaque appareil. Pushwoosh identifie un utilisateur par son User ID, ou par l’ID de l’appareil lorsqu’aucun User ID n’est défini. Lorsque vous augmentez le pourcentage, les utilisateurs qui ont déjà le flag le conservent et de nouveaux utilisateurs les rejoignent.

Créer un flag

Anchor link to
  1. Accédez à Audience → Feature flags.

  2. Cliquez sur Créer un feature flag.

    Page Feature flags d'une application avec le bouton Create feature flag mis en évidence et le bloc SDK support listant Web, Android et iOS
  3. Saisissez la Clé, par exemple new_checkout. La clé est un nom de votre choix, mais vos développeurs lisent le flag dans le code par cette clé exacte, casse comprise. Convenez-en avec eux avant d’enregistrer le flag.

  4. Saisissez un Nom et, si vous le souhaitez, une Description pour que votre équipe sache ce que contrôle le flag.

La clé suit ces règles :

  • Lettres latines, chiffres, _, . et -, jusqu’à 58 caractères.
  • Vous ne pouvez pas modifier la clé par la suite.
  • Vous ne pouvez pas réutiliser une clé déjà utilisée par un autre flag de l’application, même archivé, ni une clé qui n’en diffère que par la casse, comme New_Checkout et new_checkout.

Ajouter des propriétés

Anchor link to

Les propriétés sont des valeurs que l’application ou le site web lit dans le flag, par exemple le texte d’une bannière ou le nombre d’articles d’un bloc de recommandations. Ignorez cette étape si le flag ne fait qu’activer et désactiver une fonctionnalité.

  1. Dans Propriétés, cliquez sur Ajouter une propriété.
  2. Saisissez la Clé de la propriété, par exemple button_color. Utilisez des lettres latines, des chiffres et _, jusqu’à 64 caractères. La clé de propriété est un nom de votre choix, mais vos développeurs lisent la valeur dans le code par cette clé exacte, casse comprise. Convenez-en avec eux avant d’enregistrer le flag.
  3. Choisissez le type : Chaîne, Nombre, Booléen ou JSON. Vous ne pouvez pas modifier le type après avoir enregistré le flag.
  4. Saisissez la Valeur par défaut. Les utilisateurs pour qui le flag est désactivé reçoivent cette valeur.

Un flag peut avoir jusqu’à 50 propriétés.

Formulaire de feature flag avec la clé, le nom, la description et deux propriétés : button_color de type String et show_apple_pay de type Boolean

Ajouter des règles

Anchor link to
  1. Dans Règles, cliquez sur Ajouter une règle.
  2. Saisissez un Nom de la règle, par exemple Paying customers.
  3. Dans Segment, choisissez à qui s’applique la règle. Laissez le champ vide pour appliquer la règle à tous les utilisateurs.
  4. Dans Déploiement, %, saisissez le pourcentage du segment pour qui le flag est activé, de 0 à 100 avec jusqu’à deux décimales.
  5. Dans Valeurs pour les utilisateurs auxquels cette règle active le flag, modifiez les propriétés qui doivent différer des valeurs par défaut pour ces utilisateurs. Les propriétés que vous ne modifiez pas conservent leurs valeurs par défaut.
  6. Pour ajouter une autre audience, répétez les étapes. Utilisez Monter et Descendre pour modifier l’ordre, car c’est la première règle correspondante qui décide.

Un flag peut avoir jusqu’à 10 règles.

Sous Déploiement, %, chaque règle indique pour environ combien d’appareils elle active le flag, par exemple ≈ 1 200 appareils. Pushwoosh multiplie la taille du segment de la règle par le pourcentage. Pour une règle sans segment, il prend tous les appareils de l’application. Considérez ce nombre comme le maximum que la règle peut atteindre, car un appareil qui correspond à une règle précédente s’y arrête.

Rule 1 d'un feature flag : Paying customers pour le segment Purchased something à 100 %, avec button_color défini sur green et show_apple_pay défini sur true

Par exemple, pour proposer un nouveau parcours de paiement à tous les clients payants et à 20 % de tous les autres, créez deux règles :

RègleSegmentDéploiement, %Valeurs pour les utilisateurs auxquels cette règle active le flag
Paying customersPurchased something100button_color = green, show_apple_pay = true
Everyone else—20button_color = orange

Enregistrer le flag

Anchor link to

Cliquez sur Enregistrer. Le flag est créé avec le statut Actif, et les appareils le reçoivent la prochaine fois qu’ils vérifient les flags.

Gérer les flags

Anchor link to

La liste des flags affiche le nom, la clé, le statut, le nombre de règles et l’heure de dernière mise à jour de chaque flag. Pour voir les flags archivés, activez Afficher les archivés. Pour ouvrir un flag, cliquez sur son nom. Le bloc Prise en charge SDK en haut de la liste et de chaque flag indique la part des appareils de l’application qui utilisent un SDK plus ancien, lorsque leurs appareils communiquent la version du SDK. Ces appareils ne reçoivent pas de flags tant que les utilisateurs n’ont pas mis à jour l’application.

Un flag possède l’un des trois statuts suivants :

StatutCe que reçoivent les utilisateursActions
ActifLe flag fonctionne selon ses règles.Remélanger, Désactiver pour tous, Archiver
DésactivéLe flag est désactivé pour tous les utilisateurs, avec les valeurs de propriétés par défaut. Les règles et les propriétés sont conservées.Réactiver, Archiver
ArchivéLes appareils ne reçoivent plus le flag, le code utilise donc les valeurs que vos développeurs y ont définies.Restaurer

Modifier un flag

Anchor link to
  1. Ouvrez le flag.
  2. Modifiez le nom, la description, les propriétés ou les règles.
  3. Cliquez sur Enregistrer.
  4. Si vous avez modifié les règles ou les valeurs de propriétés par défaut, la boîte de dialogue Vérifiez les modifications indique ce qui arrive aux appareils. Vérifiez-la et cliquez sur Enregistrer.

La boîte de dialogue affiche une ligne par modification :

  • Déploiement d’une règle : environ combien d’appareils supplémentaires obtiennent le flag, ou combien le perdent.
  • Valeurs d’une règle : environ combien d’appareils obtiennent les nouvelles valeurs, ainsi que l’ancienne et la nouvelle valeur de chaque propriété.
  • Règle ajoutée ou supprimée, autre segment ou nouvel ordre des règles : où vont les appareils. Par exemple, les appareils d’une règle supprimée passent à la règle suivante qui leur correspond.
  • Valeurs par défaut : les anciennes et les nouvelles valeurs que reçoivent les appareils pour qui le flag est désactivé.

Les modifications du nom ou de la description seuls sont enregistrées sans la boîte de dialogue.

Pour déployer une fonctionnalité progressivement, augmentez le Déploiement, % d’une règle étape par étape.

Si quelqu’un d’autre a enregistré le flag pendant que vous le modifiiez, le Control Panel n’écrase pas ses modifications et vous demande de recharger le flag. Cliquez sur Recharger et refaites vos modifications.

Désactiver un flag pour tout le monde

Anchor link to

Utilisez Désactiver pour tous lorsqu’une fonctionnalité pose problème et que vous devez l’arrêter pour tout le monde :

  1. Ouvrez le flag et cliquez sur Désactiver pour tous.

    Haut de la page d'un feature flag actif avec les boutons Reshuffle, Kill switch et Archive
  2. Confirmez. Chaque appareil obtient le flag désactivé avec les valeurs de propriétés par défaut la prochaine fois qu’il vérifie les flags.

Tant que votre site web ou votre application est ouvert, les appareils reçoivent la modification dans l’heure. Découvrez comment le Web SDK, l’Android SDK et l’iOS SDK vérifient les flags.

Pour réactiver le flag avec ses règles telles qu’elles étaient, cliquez sur Réactiver.

Choisir un autre échantillon d’utilisateurs

Anchor link to

Remélanger place chaque utilisateur dans un nouveau groupe, de sorte que le même pourcentage d’utilisateurs est composé de personnes différentes. Utilisez-le lorsque vous voulez un nouvel échantillon, par exemple pour lancer un nouveau test.

  1. Ouvrez un flag actif et cliquez sur Remélanger.
  2. Confirmez. Certains utilisateurs pour qui le flag est activé le perdent et d’autres l’obtiennent la prochaine fois que leurs appareils vérifient les flags, tandis que les pourcentages restent les mêmes.

Archiver et restaurer un flag

Anchor link to

Archivez un flag lorsque la fonctionnalité est entièrement déployée ou retirée du code. Un flag archivé n’est pas pris en compte dans la limite de flags par application de votre forfait, et sa clé reste réservée.

  1. Ouvrez le flag et cliquez sur Archiver.
  2. Confirmez.

Un flag archivé ne peut pas être modifié. Pour le récupérer, activez Afficher les archivés dans la liste, ouvrez le flag et cliquez sur Restaurer. Un flag restauré revient avec le statut Désactivé, il n’atteint donc pas les utilisateurs de lui-même. Cliquez sur Réactiver lorsque vous êtes prêt.

Voir qui a modifié un flag

Anchor link to

L’historique des modifications affiche chaque version enregistrée d’un flag : ce qui a changé, qui l’a modifié et quand. Toute personne qui peut ouvrir le flag peut voir son historique.

L’historique est enregistré pour les modifications à partir du 13 octobre 2026. Un flag sans modification enregistrée affiche Aucune modification pour l’instant. Pour un flag créé avant cette date, l’entrée la plus ancienne n’affiche aucune liste de modifications, car il n’existe pas de version antérieure à laquelle la comparer.

  1. Ouvrez le flag.
  2. Cliquez sur Historique.

Le panneau Historique des modifications liste les versions du flag, de la plus récente à la plus ancienne. Chaque entrée affiche :

  • L’action, par exemple Modifié.
  • L’auteur de la modification : l’e-mail de l’utilisateur ou le jeton API par lequel la modification est passée, par exemple Jeton API « Release pipeline », ou Jeton API pour un jeton sans nom.
  • La date et l’heure.
  • Le numéro de version, par exemple v4.
Panneau d'historique des modifications d'un feature flag, du plus récent au plus ancien : action, e-mail de l'utilisateur ou jeton API, date et heure, et version

Pour charger des entrées plus anciennes, cliquez sur Afficher plus.

ActionCe qui s’est passé
CrééLe flag a été créé.
ModifiéQuelqu’un a enregistré des modifications du flag.
Déploiement modifiéLe déploiement d’une règle a été modifié via l’API ou le serveur MCP. Dans le Control Panel, une modification du déploiement est enregistrée comme Modifié.
DésactivéQuelqu’un a cliqué sur Désactiver pour tous.
RéactivéQuelqu’un a cliqué sur Réactiver.
ArchivéLe flag a été archivé.
RestauréLe flag a été restauré depuis l’archive.
Utilisateurs redistribuésQuelqu’un a cliqué sur Remélanger.

Sous chaque entrée, le panneau liste ce qui a changé, sous forme de valeur avant et après : Nom, Description, Statut, Propriétés, Ordre des règles, ainsi que chaque règle ajoutée, supprimée ou modifiée. Pour une règle modifiée, il n’affiche que les champs qui diffèrent : nom, Segment, Déploiement ou Valeurs. Une règle sans segment affiche Tous les utilisateurs.

Segmenter les utilisateurs par flag

Anchor link to

Une condition de feature flag dans un segment trouve les appareils pour qui un flag a été activé ou désactivé, qui ont correspondu à l’une de ses règles ou qui ont atteint la partie de l’application que contrôle le flag. Utilisez-la pour envoyer un message aux utilisateurs qui voient une nouvelle fonctionnalité, par exemple pour leur demander leur avis, ou pour construire un journey autour d’eux.

  1. Ouvrez le constructeur de segments, comme décrit dans Comment créer des segments.
  2. Cliquez sur Feature flag dans la liste des conditions.
  3. Dans Sélectionnez un feature flag…, choisissez le flag. Les flags archivés ne figurent pas dans la liste.
  4. Choisissez l’état :
    • est activé : appareils pour qui le flag a été activé.
    • est désactivé : appareils pour qui le flag a été désactivé.
    • est dans la règle : appareils qui ont correspondu au segment d’une règle, que le Déploiement, % de la règle ait activé le flag pour eux ou non. Choisissez la règle dans Sélectionnez une règle….
    • a vu la fonctionnalité (30 jours) : appareils qui ont envoyé au moins une impression du flag au cours des 30 derniers jours, c’est-à-dire que l’application a appelé logImpression pour cette clé de flag. Consultez Trouver les utilisateurs qui ont atteint une fonctionnalité.

Feature flag n’apparaît dans le constructeur de segments que dans les forfaits qui incluent les feature flags. Les segments High Speed Delivery, qui ne peuvent contenir que des conditions de tag, ne peuvent pas l’utiliser.

Quels appareils se trouvent dans chaque état

Anchor link to

L’état d’un appareil dépend des flags qu’il a reçus en dernier et du statut actuel du flag :

  • Un appareil qui n’a jamais demandé le flag, par exemple parce que son SDK ne lit pas les flags, ne se trouve dans aucun des états.
  • Après une modification des règles ou du Déploiement, % d’une règle, un appareil ne passe à un autre état que lorsqu’il redemande les flags.
  • Lorsque vous désactivez ou archivez le flag, est activé et est dans la règle se vident en 10 secondes environ, sans attendre que les appareils redemandent les flags. est désactivé contient alors tous les appareils qui ont déjà reçu le flag.

Trouver les utilisateurs qui ont atteint une fonctionnalité

Anchor link to

Pour trouver les utilisateurs qui ont vu la fonctionnalité activée :

  1. Ajoutez a vu la fonctionnalité (30 jours) pour le flag.
  2. Ajoutez est activé pour le même flag et reliez les deux conditions par ET.

a vu la fonctionnalité (30 jours) correspond aux utilisateurs qui ont atteint l’écran ou le code que contrôle le flag, que le flag ait été activé ou désactivé pour eux. C’est pourquoi vous ajoutez est activé : cette condition ne conserve que les utilisateurs qui ont obtenu la nouvelle version. Le résultat est proche, mais pas exact. est activé reflète le flag qu’un appareil a reçu en dernier, et son impression peut provenir d’une visite antérieure où le flag était désactivé.

Le segment reste vide lorsque l’application n’enregistre pas d’impressions. Pour les enregistrer, consultez Log impressions dans le guide du Web SDK, de l’Android SDK ou de l’iOS SDK.

La désactivation ou l’archivage du flag ne vide pas cet état. Un appareil le quitte 30 jours après sa dernière impression.

Utiliser les segments de flag dans les journeys

Anchor link to

Un segment avec une condition de feature flag fonctionne dans une Entrée basée sur l’audience et dans une Division par condition. Par exemple, séparez les utilisateurs qui ont obtenu un nouveau parcours de paiement de ceux qui ne l’ont pas obtenu et envoyez à chaque groupe son propre message.

Le Control Panel et l’API appliquent ces limites lorsque vous enregistrez un flag :

LimiteValeur
Règles par flag10
Propriétés par flag50
Taille des propriétés d’un flag (clés, types et valeurs par défaut)10 000 octets
Profondeur d’imbrication d’une valeur JSON5 niveaux
Flags par applicationDéfinie par votre forfait, les flags archivés ne comptent pas
Données reçues par un appareil pour tous les flags de l’application64 Ko

Gérer les flags via l’API

Anchor link to

Vos développeurs peuvent créer et modifier des flags depuis leurs propres systèmes avec la Feature Flags API, et les assistants IA connectés via le serveur MCP de Pushwoosh peuvent gérer les flags avec les mêmes opérations.