Outils pour utilisateurs

Outils du site


informatique:12_factors_app

Ceci est une ancienne révision du document !


12 Factors app

1. Code source / Codebase

  • Le code d'une application doit être gérée avec gestionnaire de version (Version Control System (VCS)) comme “Git”, “Subversion (svn)” ou “Mercurial (hg)”.
  • Le code est déployé sur plusieurs et/ou différents environnements locaux ou distants comme “production”, “test” ou “développement”

2. Dépendances / Dependencies

  • Chaque dépendance doit être explicite (Gem bundle avec Ruby, Pip avec Python, Composer avec Php, …)
  • L'application ne dépend pas d'éléments devant être installés au niveau système, elle doit être isolée (“bundle exe” avec Ruby, Virtualenv avec Python)

3. Configuration / Config

  • La configuration doit être stockée dans l'environnement pour pouvoir leurs être spécifique: dév, pré-prod, prod (par exemple la connexion à la BdD, la clé de sécurité).

4. Services Tiers / Backing Services

  • L'application doit être indépendante des services tiers que l'on peut sélectionner (passer de MySql à Amazon RDS) sans changer le code mais simplement un URL. Il faut donc utiliser une couche d'abstration (abstraction layer) à chaque fois que c'est possible (SQLAlchemy pour Python, PDO pour Php).
    • DATABASE_URL=mysql://testdb:t123@localhost/testdb
    • DATABASE_URL=postgresql://testdb:t123@localhost/testdb
    • DATABASE_URL=mysql://sa:mypwd@mydbinstance.abcdefghijkl.us-west-2.rds.amazonaws.com/mydb
informatique/12_factors_app.1452746417.txt.gz · Dernière modification : 14/01/2016 05:40 de cyrille

Sauf mention contraire, le contenu de ce wiki est placé sous les termes de la licence suivante : CC0 1.0 Universal
CC0 1.0 Universal Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki