Feature flag
Un feature flag active ou désactive une fonctionnalité sans redéployer, découplant livraison du code et activation. Principe, intérêts et pièges.
Feature flag
Mécanisme permettant d'activer ou de désactiver une fonctionnalité à l'exécution via une configuration, sans nouveau déploiement de code.
En clair
Un feature flag (ou « drapeau de fonctionnalité ») est un interrupteur dans le code qui permet d'activer ou de désactiver une fonctionnalité à l'exécution, via une configuration, sans redéployer. Concrètement, le code de la nouvelle fonctionnalité est présent mais conditionné par le drapeau : tant qu'il est éteint, le comportement reste l'ancien. On peut ainsi livrer du code en production sans l'exposer immédiatement, puis l'activer au moment voulu, parfois pour une fraction des utilisateurs seulement. La valeur du drapeau peut être un simple booléen lu dans un fichier de configuration, mais elle provient souvent d'un service dédié interrogé au démarrage ou en continu, ce qui permet de modifier l'état sans toucher au code ni relancer l'application. On distingue généralement plusieurs familles de drapeaux selon leur durée de vie : les drapeaux de livraison, temporaires et destinés à être retirés vite, et les drapeaux de configuration, plus durables, qui pilotent un comportement de façon permanente.
Pourquoi c'est utilisé
Le feature flag découple le déploiement du code de l'activation de la fonctionnalité. On peut intégrer du travail en cours sans bloquer les autres livraisons, activer progressivement auprès d'un sous-ensemble d'utilisateurs, mener des essais comparatifs, et surtout désactiver instantanément en cas de problème, sans attendre un nouveau déploiement. C'est un filet de sécurité précieux pour livrer souvent et sereinement. Cette désactivation immédiate, parfois appelée « kill switch », change la nature d'un incident : plutôt que de précipiter un correctif sous pression, on éteint la fonctionnalité fautive le temps d'analyser calmement. Les drapeaux rendent aussi possible le « trunk-based development », où chacun fusionne très régulièrement sur une branche unique : le code inachevé reste masqué derrière son drapeau au lieu de vivre longtemps sur une branche isolée, ce qui réduit les fusions douloureuses.
En mission / dans la pratique
Le consultant encadre ses développements sensibles derrière des drapeaux pour les livrer sans risque, puis pilote leur activation. Le quotidien consiste à poser des drapeaux clairs, à gérer leur configuration et à les retirer une fois la fonctionnalité stabilisée. C'est une pratique courante dans les équipes pratiquant l'intégration continue et les livraisons fréquentes. Chez un grand compte, l'activation suit souvent un déroulé prudent : on ouvre la fonctionnalité aux équipes internes, puis à un petit pourcentage du trafic, en surveillant les indicateurs à chaque palier avant d'élargir. Le consultant doit alors coordonner l'activation avec le métier et l'exploitation, car un drapeau peut piloter une fonctionnalité visible des utilisateurs finaux, et son basculement devient une décision opérationnelle autant que technique.
Pièges & bonnes pratiques
Le piège majeur est l'accumulation de drapeaux obsolètes, qui transforment le code en labyrinthe de conditions : retirez chaque drapeau dès qu'il a joué son rôle. Nommez-les explicitement, documentez leur portée, et testez les deux états (activé et désactivé). Évitez les drapeaux imbriqués qui multiplient les combinaisons à valider. Tenez un inventaire des drapeaux actifs avec, pour chacun, un responsable et une date prévue de retrait, faute de quoi personne n'ose plus toucher à un drapeau dont l'effet réel s'est perdu. Méfiez-vous aussi des drapeaux qui finissent par piloter une logique métier durable : ce qui devait être un interrupteur temporaire devient alors une dépendance permanente, et le mélange des deux usages brouille la lecture du code.
À ne pas confondre
Le feature flag complète la CI/CD en séparant livraison et activation. Il sert souvent à introduire en douceur un refactoring ou une migration, et facilite des déploiements progressifs sur des microservices.
ForTeam IT à vos côtés
Vous recherchez une mission ou un consultant expert sur ce sujet ? ForTeam IT met en relation des consultants IT freelance sélectionnés avec des grands comptes, ETI et scale-ups partout en France. Consultez aussi notre grille des TJM freelance IT et nos expertises par technologie.
À lire aussi
Vous êtes consultant IT freelance ?
Rejoignez ForTeam IT et accédez à des missions sélectionnées chez nos clients grands comptes.
Rejoindre la communauté