Feature flag : le déploiement logiciel en toute sécurité

Aussi appelés feature toggles, les feature flags n'ont eu aucune difficulté à s'imposer parmi les différentes techniques de développement. De par leurs caractéristiques, les feature flags s'inscrivent par ailleurs dans un contexte de méthode agile et se révèlent utiles aux environnements de CI/CD.

Feature flags, c'est quoi ?

Un feature flag, ou feature toggle, désigne une technique d’ingénierie logicielle dont la principale mission se résume à l’activation ou la désactivation d’une ou plusieurs fonctionnalités d’une application. Les features flags permettent que l’activation ou la désactivation de ces fonctionnalités s’opère pendant l’exécution de l’appli, sans nécessiter le déploiement d’un nouveau code. Pour les développeurs, le recours aux features flags permet d’apporter plus facilement des changements aux fonctionnalités d’une appli sans être confrontés aux problématiques souvent rencontrées dans le contexte agile.

Comment fonctionne un feature flag ?

Le fonctionnement d’un feature flag peut s’apparenter à celui d’un interrupteur ON/OFF. Directement intégré au code, le feature flag permet en effet d’activer/désactiver ce même code de façon très simple, de la même manière qu’un individu appuierait sur un interrupteur pour allumer/éteindre une lampe. La différence est qu’ici la lampe est remplacée par une fonctionnalité dans une application.

Comment mettre en œuvre un feature flag ?

La mise en œuvre d’un feature flag se résume à encapsuler les chemins de code dans un feature flag. Avec la mise en œuvre d'un feature flags, le code ciblé n’est pas utilisé en production. Sa mise en action dépend de l’activation du feature flag. Cela permet aux développeurs de mettre en place des déploiements souples et de développer de nouvelles fonctionnalités. Le feature flag autorise surtout la désactivation rapide d’un nouveau code pour lequel un problème est détecté sans avoir à exposer trop longtemps l’utilisateur à ce problème.

Qu'est-ce que le feature flag dans Git ?

Le feature flag vient compléter l’arsenal de développement agile. Il participe au déploiement continu et au contrôle de version Git pour offrir aux développeurs un meilleur contrôle de leurs bases de codes, un meilleur déploiement et une expérience utilisateur optimale.

Qu'est-ce que le feature flag dans GitLab ?

GitLab utilise habituellement Unleash comme service de basculement de fonctionnalités. Il est néanmoins possible de créer un feature flag dans GitLab en suivant le chemin "Menu > Projets > Deployements > Feature Flags" et en sélectionnant un nouveau feature flag.

Qu'est-ce que le feature flag dans Jira ?

Les feature flags permettent aux équipes de développeurs de publier et de gérer avec plus d’efficacité des fonctionnalités d’applications directement dans Jira. Jira s’intègre en effet parfaitement avec plusieurs fournisseurs de feature flags.