50 lines
1.7 KiB
Markdown
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 ?
|