Module 1 — Comprendre les fondamentaux de la CI/CD
- Définition de l’intégration continue, de la livraison continue et du déploiement continu.
- Rôle de l’automatisation dans la qualité logicielle, la rapidité de livraison et la réduction des erreurs manuelles.
- Lecture d’un cycle de vie applicatif depuis le commit jusqu’à la mise en production.
- Différences entre pipeline, job, stage, runner, workflow et environnement d’exécution.
- Identification des cas d’usage adaptés à GitHub Actions et GitLab CI selon l’organisation des équipes.
Module 2 — Structurer un dépôt pour accueillir l’automatisation
- Organisation du code source, des branches et des fichiers de configuration CI/CD.
- Bonnes pratiques de nommage, de versionnage et de gestion des déclencheurs.
- Mise en place d’une logique de branches compatible avec revue, validation et déploiement.
- Intégration des fichiers YAML dans un projet existant sans perturber les usages de l’équipe.
- Mise en application encadrée : repérage des points d’entrée nécessaires pour automatiser un projet type.
Module 3 — Créer les premiers pipelines avec GitHub Actions et GitLab CI
- Syntaxe et structure d’un workflow GitHub Actions et d’un fichier .gitlab-ci.yml.
- Déclenchement automatique sur push, merge request, tag, planification ou action manuelle.
- Création de jobs simples pour installer les dépendances, exécuter des scripts et vérifier l’état du projet.
- Gestion des dépendances entre jobs, des étapes parallèles et des conditions d’exécution.
- Comparaison des logiques communes et des spécificités entre GitHub Actions et GitLab CI.
Module 4 — Automatiser les builds, tests et contrôles qualité
- Intégration des tests unitaires, tests d’intégration et contrôles de qualité dans le pipeline.
- Automatisation des builds applicatifs pour différents environnements ou cibles de déploiement.
- Exploitation des artefacts, rapports de test et journaux d’exécution.
- Mise en place de contrôles bloquants avant fusion ou mise en livraison.
- Introduction aux matrices de tests et à l’exécution multi-version lorsque le contexte le nécessite.
- Mise en application encadrée : ajout d’une chaîne de vérification complète sur un pipeline type.
Module 5 — Gérer les variables, secrets et accès de manière sécurisée
- Distinction entre variables d’environnement, paramètres de pipeline et secrets sensibles.
- Stockage et injection sécurisée des secrets dans GitHub Actions et GitLab CI.
- Gestion des droits d’accès, des permissions minimales et des contextes d’exécution.
- Prévention des fuites d’informations dans les logs, scripts et artefacts.
- Bonnes pratiques pour séparer les environnements de développement, recette et production.
Module 6 — Déployer automatiquement sur différents environnements
- Principes d’un déploiement automatisé vers serveur, conteneur, cloud ou plateforme applicative.
- Construction d’étapes de déploiement reproductibles et contrôlées.
- Utilisation des environnements, validations manuelles et protections avant mise en production.
- Paramétrage de déploiements selon la branche, le tag ou le type de version.
- Introduction aux stratégies de rollback, redéploiement et reprise après échec.
- Mise en application encadrée : modélisation d’un scénario de déploiement progressif.
Module 7 — Optimiser les performances et la maintenabilité des pipelines
- Réduction des temps d’exécution grâce au cache, à la mutualisation et au parallélisme raisonné.
- Réutilisation de composants communs, templates, actions partagées et includes.
- Factorisation des pipelines pour limiter les duplications et faciliter les évolutions.
- Mise en place de règles de lisibilité, de documentation et de versionnage des configurations CI/CD.
- Critères de qualité d’un pipeline : clarté, robustesse, sécurité, rapidité et traçabilité..
Module 8 — Superviser, diagnostiquer et faire évoluer les automatisations
- Lecture des logs, analyse des erreurs fréquentes et méthodes de résolution.
- Identification des causes d’échec liées au code, à l’environnement, aux droits ou à la configuration.
- Mise en place d’alertes, de notifications et d’indicateurs de suivi des exécutions.
- Évolution progressive d’un pipeline simple vers une chaîne de livraison plus avancée.
- Positionnement de la CI/CD dans une démarche d’industrialisation durable des pratiques DevOps.
- Mise en application encadrée : analyse critique et amélioration d’un pipeline existant.






