Parent : [[INDEX-DEV-GENERAL]]
The Twelve-Factor App
Source
- Site : https://12factor.net/
- Auteur : Adam Wiggins (Heroku)
- Type : Méthodologie de conception d'applications SaaS
Résumé
Les 12 facteurs sont une méthodologie pour concevoir des applications web (SaaS) portables, scalables et maintenables. Indépendante du langage, elle s'applique à toute app déployée en tant que service.
Les 12 facteurs
| # | Facteur | Principe clé |
|---|---|---|
| 1 | Codebase | Une codebase, plusieurs déploiements |
| 2 | Dependencies | Déclarer et isoler explicitement les dépendances |
| 3 | Config | Stocker la config dans l'environnement |
| 4 | Backing Services | Traiter les services externes comme des ressources attachées |
| 5 | Build, Release, Run | Séparer les étapes de build, release et run |
| 6 | Processes | Exécuter l'app comme un ou plusieurs processus sans état |
| 7 | Port Binding | Exposer les services via des ports |
| 8 | Concurrency | Scaler via le modèle de processus |
| 9 | Disposability | Démarrage rapide et arrêt gracieux |
| 10 | Dev/Prod Parity | Maintenir les environnements identiques |
| 11 | Logs | Traiter les logs comme des flux d'événements |
| 12 | Admin Processes | Exécuter les tâches admin comme des one-off processes |
Pourquoi l'utiliser
- Référence commune pour discuter architecture SaaS propre.
- Guide les choix de déploiement, de config et de scalabilité.
- Complète
KNOW-PAT-198(Deployment & Infra 2026) et les principes DevOps.
Limites
- Née à l'ère des PaaS ; certains points s'adaptent aux conteneurs/serverless.
- Ne remplace pas une architecture métier ou des choix de sécurité spécifiques.
Références liées
- [[KNOW-PAT-198]] — Deployment & Infra 2026
- [[KNOW-PAT-199]] — Orchestration déclarative des conteneurs avec Kubernetes
- [[KNOW-PAT-200]] — Infrastructure as Code avec Terraform
- [[KNOW-PAT-207]] — Gestion des versions Node.js par projet avec nvm