Sommaire

Feature Toggle

Nous pouvons définir cette approche comme le moyen d’activer ou de désactiver une fonctionnalité en fonction de son environnement d’exécution (dev, QA, préprod, prod) et/ou de ses utilisateurs finaux.

Cette approche permet donc à un développeur de fusionner son développement avec la branche master alors qu’il n’est pas complètement réalisé. La plateforme doit donc intégrer un mécanisme permettant d’afficher ou non une fonctionnalité.

Vous pouvez installer le module FeatureToggle via le nuget manager par exemple. Nous ne ferons pas de démonstration dans le cadre de ce livre, car l’approche est assez simple à mettre en œuvre.

L’activation ou la désactivation peut se faire en chargeant les fonctionnalités via un fichier de configuration et en utilisant l’injection de dépendances pour les activer dans le système ou en lisant un fichier JSON stipulant les fonctionnalités avec leurs différents statuts. L’avantage du fichier JSON est que cela ne nécessite pas de compiler le projet lors d’un changement.

Le fait que nous puissions intégrer des fonctionnalités en cours de développement introduit aussi potentiellement des instabilités dans le projet global. Cela nécessite donc de prendre certaines précautions, notamment sur les tests à produire pour limiter l’impact négatif sur le projet ...