Explorer
KNOW-REF-010

The Twelve-Factor App — Méthodologie pour les SaaS

Domaine
dev-general
Type
reference
Priorité
P2

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