Retour au parcours
Les feature flags
Activer une fonctionnalité sans redéployer.
Un feature flag (ou « drapeau de fonctionnalité ») est un interrupteur qui permet d'activer ou de désactiver une fonctionnalité sans redéployer l'application. On livre le code une fois, puis on allume ou on éteint à la demande.
À quoi ça sert ?
Imagine un tableau électrique : chaque interrupteur commande une pièce de la maison. Un feature flag, c'est pareil pour l'application. On peut livrer une fonctionnalité « éteinte » et l'allumer plus tard, couper en urgence une fonctionnalité qui pose problème, ou réserver une nouveauté à certains profils — le tout sans nouvelle mise en production.
Des exemples concrets du projet
Voici quelques interrupteurs réellement présents dans MyuPrompt et ce qu'ils commandent.
export-csv
L'export CSV
Allumé par défaut. C'est un « interrupteur de secours » : si l'export pose problème, on l'éteint sans toucher au code ni redéployer.
import-csv
L'import de données
Éteint par défaut. La fonctionnalité est livrée « dans le noir » et restera invisible jusqu'à ce qu'on l'allume, le jour où l'assistant d'import est prêt.
sso-login
La connexion Microsoft
Allumé par défaut. Si le fournisseur d'identité tombe en panne, on peut couper ce bouton pour éviter d'afficher une connexion qui ne marche pas.
maintenance-mode
Le mode maintenance
Éteint par défaut. Un interrupteur qui permet d'afficher un message de maintenance à la volée, sans nouvelle livraison.
Comment ça marche ici
Trois pièces se combinent pour décider, à chaque visite, si une fonctionnalité s'affiche.
1
1. Le flag est déclaré dans le code
Chaque flag a un nom (ex. import-csv) et une valeur par défaut, définis dans le code. C'est la liste de tous les interrupteurs possibles de l'application.
2
2. Son état est rangé en base de données
Pour chaque flag, la base de données mémorise s'il est allumé ou éteint, et éventuellement les rôles autorisés à en profiter. C'est ce qui permet de changer son état sans toucher au code.
3
3. Il est résolu au moment de l'exécution
Quand un utilisateur ouvre une page, l'application regarde l'état du flag : une consigne d'environnement prioritaire, sinon la base de données (avec le contrôle des rôles), sinon la valeur par défaut. Le résultat décide d'afficher ou non la fonctionnalité.
Les rôles autorisés
Un flag peut être réservé à certains rôles. Dans ce cas, la fonctionnalité ne s'allume que pour les personnes ayant le bon profil — pratique pour tester une nouveauté auprès des administrateurs avant de l'ouvrir à tout le monde.
Allumer sans redéployer
Changer l'état d'un flag est immédiat : aucun nouveau déploiement n'est nécessaire. C'est tout l'intérêt — réagir vite, sans repasser par le pipeline.
Où active-t-on les flags ?
Il y a deux endroits pour piloter un interrupteur, selon le besoin.
Admin
L'administration des flags (au quotidien)
Une interface d'administration réservée aux administrateurs permet de lister les flags, de les allumer ou les éteindre, et de définir les rôles autorisés. C'est la voie normale : le changement est pris en compte tout de suite et tracé dans le journal d'audit (qui a changé quoi, et quand).
Env
La consigne d'environnement (cas particuliers)
Pour les coupures d'urgence ou les réglages propres à un environnement (preprod, prod), l'équipe peut forcer l'état d'un flag via la configuration d'environnement. Cette consigne est prioritaire sur la base de données : utile pour un « kill switch » garanti, indépendamment de l'interface.
Capture annotée
Voici où trouver l'administration des flags et ce qu'on y pilote. Cette capture sera ajoutée prochainement.
L'administration des flags
Capture à venir
L'écran réservé aux administrateurs pour piloter les interrupteurs au quotidien.
1
Liste des flags — chaque interrupteur de l’application avec son nom (ex. import-csv).
2
Interrupteur allumé / éteint — on bascule l’état d’un flag d’un simple clic.
3
Rôles autorisés — on choisit les profils qui profitent de la fonctionnalité.
4
Journal d’audit — chaque changement est tracé : qui a changé quoi, et quand.
Accès réservé aux administrateurs
Allumer ou éteindre un flag a un effet immédiat sur ce que voient les utilisateurs. C'est pourquoi l'administration des flags est protégée et réservée aux profils administrateurs.