Aller au contenu
Apprendre.
  • M1 · toutes les matières15 matières : Préparation de données, API & sécurité, CI/CD, Docker, Merise, Dataviz, KNIME, ML appliqué : projet LoL, SQL & UML, SQL avancé, Machine Learning, Git, IA frugale & responsable, Qualité des données, MathématiquesAnnée
  • M2 · toutes les matières4 matières : Deep Learning, AI Act, Comex & Fundraising, Gouvernance & DataMeshAnnée
  • Deep LearningM2 · 4 modules · Réseaux de neurones, CNN, texte, modèles génératifs.Matière
  • Préparation de donnéesM1 · 3 modules · Nettoyer, transformer et fusionner des données avec Python.Matière
  • API & sécuritéM1 · 2 modules · Consommer, concevoir et sécuriser des API.Matière
  • CI/CDM1 · 1 module · Intégration et livraison continues.Matière
  • DockerM1 · 3 modules · Conteneurs, images, volumes, réseaux, Compose.Matière
  • MeriseM1 · 2 modules · Modéliser une base : MCD, MLD, MPD.Matière
  • DatavizM1 · 2 modules · Visualiser pour comprendre et décider.Matière
  • KNIMEM1 · 1 module · Explorer et nettoyer des données en workflow.Matière
  • ML appliqué : projet LoLM1 · 2 modules · Du besoin métier au POC de vision par ordinateur.Matière
  • SQL & UMLM1 · 3 modules · Modèles UML et requêtes SQL.Matière
  • SQL avancéM1 · 3 modules · Jointures, fenêtres, CTE, optimisation.Matière
  • Machine LearningM1 · 3 modules · Régression, classification, segmentation, projet.Matière

↑↓ naviguer↵ ouvre le résultat en surbrillanceesc fermer

Partie 3 · 12 facteurs

Les 12 facteurs

Les « 12 facteurs » sont 12 règles de base pour créer des applications compatibles avec une approche Cloud. Ce sont des principes généraux, les détails étant propres à chaque projet. Liste du cours :

1 · Base de code7 · Associations de ports
2 · Dépendances8 · Concurrence
3 · Configuration9 · Jetable
4 · Services externes10 · Parité dev/prod
5 · Build, Release, Run11 · Logs
6 · Processus12 · Processus d'administration
FacteurRègle du cours
1 Base de codeune seule base de code, plusieurs déploiements ; pas de code partagé (ou mutualisé via des dépendances)
2 Dépendancesne jamais dépendre de l'existence de dépendances sur le système cible ; toujours les déclarer dans le projet (Maven, npm...)
3 Configurationpas de config dans le code ; l'environnement de déploiement la stocke (variables d'environnement)
4 Services externesles traiter comme des services tiers, découplage fort (ex. remplacer une base locale par une base AWS)
5 Build, Release, Runséparer assemblage et build ; identifier chaque release de façon unique (traçabilité) ; importance de la CI
6 Processusapplications sans état ; toute donnée dans un service externe ; ne jamais compter sur la persistance du cache

Vérifie que tu as compris

Où le facteur « Configuration » demande-t-il de stocker les paramètres propres à un environnement ?
FacteurRègle du cours
7 Associations de portsl'application expose des ports ; l'environnement d'exécution route vers les ports publics
8 Concurrencestratégie rigoureuse ; ne pas partager de ressources extérieures sans gestion propre de l'accès concurrent ; indispensable pour le passage à l'échelle
9 Jetabledémarrer rapidement, s'arrêter proprement (remettre le travail dans la file) ; arrêt possible à tout moment sans effet de bord néfaste
10 Parité dev/prodenvironnements aussi similaires que possible ; idéal : local = qualification = production ; infrastructure as code
11 Logstraiter les logs comme un flux d'évènements ; le fichier n'est qu'un format de sortie
12 Administrationinclure les processus d'administration (ex. migration de base) dans un environnement strictement identique à celui de l'application

Tu verras que Docker répond bien à plusieurs facteurs : dépendances embarquées dans l'image, parité dev/prod, conteneurs jetables, logs sur la sortie (docker logs). Ce lien est un commentaire pédagogique (hors cours).

Vérifie que tu as compris

Quel facteur dit qu'une application doit pouvoir être arrêtée à tout moment sans effet de bord néfaste ?