12-Factor App
DevOps 🟡 MidDéfinition
Méthodologie en 12 principes pour construire des applications cloud-native. Inclut config via env vars, stateless processes, port binding, logs as streams.
Analogie
Les 12 commandements du développeur cloud : suis-les et ton app tournera partout sans problème.
Exemple de code
// Factor 3 : Config via env vars
const dbUrl = process.env.DATABASE_URL;
// Factor 6 : Stateless processes
// Pas de state en mémoire locale
// Factor 11 : Logs as event streams
process.stdout.write(JSON.stringify(logEvent));
Cas d'usage
Concevoir des applications facilement déployables sur n'importe quel cloud ou PaaS.
Anti-pattern
Termes liés
En entretien
Explique-moi ce que sont les 12-factor apps et pourquoi on s'en sert.
C'est une méthodologie en 12 principes pour construire des applications cloud-native, avec par exemple la config via variables d'environnement et des processus stateless. Ça sert à concevoir des apps facilement déployables sur n'importe quel cloud ou PaaS.
Quel est le problème si on code la configuration en dur dans l'application ?
C'est l'anti-pattern classique : config hardcodée, sessions en mémoire ou fichiers locaux rendent l'app impossible à scaler. Le principe 12-factor impose au contraire la config via env vars et des processus stateless.
Comment tu gères les logs dans une app 12-factor ?
On les traite comme des flux d'événements (logs as streams), typiquement écrits sur stdout en JSON plutôt que dans des fichiers locaux. Le code fourni illustre ça avec process.stdout.write(JSON.stringify(logEvent)).
Fiche mise à jour le 2026-09-27