Files
wiki/concepts/feature-flags.md
2026-06-09 18:40:21 +02:00

50 lines
1.7 KiB
Markdown

---
title: Feature Flags
created: 2026-06-06
updated: 2026-06-06
type: concept
tags: [devops, tech, architecture]
confidence: high
contested: false
sources: [synthesized]
---
# 🚩 Feature Flags
## Définition Courte
Mécanisme permettant d'**activer ou désactiver une fonctionnalité** à distance, **sans redéployer**, souvent ciblé par utilisateur, segment ou pourcentage.
## Explication Détaillée
Le code de la feature est déployé, mais reste "off" tant que le flag n'est pas activé. Cela permet :
- **Trunk-based development** : merge fréquent en main, feature off jusqu'à release.
- **Découplage** : le déploiement (technique) est séparé de la release (business).
- **Kill switch** : couper une feature en prod en 1 clic.
- **A/B testing** : 50% des users voient la vA, 50% la vB.
- **Beta privé** : activer pour 100 users triés sur le volet.
**Types** :
- **Boolean** : on/off simple.
- **Multivariate** : plusieurs variants (A/B/C).
- **Targeted** : règle complexe (user.email contains "@acme.com").
- **Percentage rollout** : 1%, 10%, 50%...
## Cas d'Usage
- Lancement progressif d'une feature majeure.
- Dark launch (test de charge en prod).
- Personnalisation par plan tarifaire.
- Désactivation rapide d'un service tiers en panne.
## Outils Liés
- **Open-source** : Unleash, Flagsmith, GrowthBook.
- **SaaS** : LaunchDarkly, Split.io.
- **DIY** : simple config DB + middleware.
## Pages Liées
- [[deploiement-canary]]
- [[deploiement-blue-green]]
- [[ci-cd]]
- [[a-b-testing]]
## Questions Ouvertes
- Les feature flags finissent-ils toujours en dette technique (jamais retirés) ?
- Comment éviter que l'équipe passe son temps à gérer les flags ?