Le Socle DevOps : Introduction & Programme
Objectifs de cette Formation
À l'issue de ce parcours, vous serez capable de :
- 🔀 Maîtriser Git : Comprendre les concepts (commit, push, pull, merge)
- 🌿 Gérer les branches : Créer des branches, faire des Pull Requests, résoudre des conflits
- 🚀 Créer un pipeline CI/CD : Automatiser les tests et déploiements avec GitLab CI
- ✅ Implémenter le linting : Valider la qualité du code (YAML, Shell, Markdown)
- 🧪 Mettre en pratique : Projet final intégrant tous les concepts
Public Cible
Cette formation s'adresse aux professionnels IT souhaitant adopter les pratiques DevOps :
- Administrateurs systèmes en transition DevOps
- Développeurs voulant comprendre les pipelines CI/CD
- Technical Writers travaillant sur des projets Docs-as-Code
- DevOps juniors cherchant à structurer leurs connaissances
Niveau requis : Débutant (connaissance basique du terminal Linux)
Prérequis
Connaissances Nécessaires
Avant de commencer, assurez-vous de disposer de :
- ✅ Accès terminal : Bash, Zsh ou PowerShell
- ✅ Compte GitHub/GitLab : Pour les exercices pratiques
- ✅ Git installé : Version 2.30+ recommandée
- ✅ Éditeur de texte : VS Code, Vim, Nano
Ressources :
- Guide Git SysOps : Introduction à Git
- Docs-as-Code : Workflow Git pour la documentation
Programme
Module 1 : Comprendre Git (45 min)
Objectif : Maîtriser les concepts fondamentaux de Git et le workflow de base.
Contenu :
- Qu'est-ce que Git ? (vs SVN, historique)
- Les 3 zones : Working Directory, Staging Area, Repository
- Commandes essentielles :
init,add,commit,status,log - Diagramme Mermaid : Flux Local → Staging → Repo
Module 2 : Branches & Pull Requests (1h)
Objectif : Travailler en équipe avec les branches et les Pull Requests.
Contenu :
- Créer et naviguer entre branches (
git branch,git checkout,git switch) - Stratégies de branches (Git Flow, GitHub Flow, Trunk-Based)
- Pull Requests : Création, review, merge
- Résolution de conflits (merge conflicts)
- Diagramme : Git Flow vs GitHub Flow
Module 3 : Pipeline CI/CD avec GitLab (1h30)
Objectif : Automatiser les tests et déploiements avec GitLab CI.
Contenu :
- Anatomie d'un
.gitlab-ci.yml - Stages, jobs, artifacts
- Runners GitLab (shared, specific)
- Variables et secrets (
CI_COMMIT_SHA,CI_REGISTRY_IMAGE) - Exemple : Pipeline pour une app Python (lint → test → build → deploy)
Module 4 : Linting & Quality Gates (1h)
Objectif : Garantir la qualité du code avec le linting automatisé.
Contenu :
- Linters pour YAML (yamllint), Shell (shellcheck), Markdown (markdownlint)
- Pre-commit hooks locaux
- Intégration dans le pipeline CI/CD
- Quality Gates : Fail le build si le linting échoue
- Exemple :
.gitlab-ci.ymlavec stagelint
Module 5 : TP Final - Projet Complet (2h)
Objectif : Mettre en pratique tous les concepts sur un projet réel.
Contexte :
Vous êtes SysOps dans une équipe qui gère une documentation technique (ShellBook). Votre mission :
- Forker le repo
- Créer une branche
feature/ma-doc - Ajouter un guide Markdown
- Passer le linting (yamllint, markdownlint)
- Créer une Pull Request
- Merger après validation du pipeline
Durée Estimée
| Module | Durée | Type |
|---|---|---|
| Module 1 : Git Fundamentals | 45 min | Lecture + Exercice |
| Module 2 : Branches & PR | 1h | Pratique guidée |
| Module 3 : Pipeline CI/CD | 1h30 | Hands-on |
| Module 4 : Linting | 1h | Configuration |
| Module 5 : TP Final | 2h | Projet autonome |
| Total | 6h15 | Formation complète |
Organisation Recommandée
Format présentiel : 2 jours (3h + 3h par jour)
Format asynchrone : 1 semaine à votre rythme
Pause recommandée : 15 min toutes les heures
Compétences Acquises
À la fin de cette formation, vous serez capable de :
- ✅ Créer un dépôt Git et gérer l'historique des commits
- ✅ Travailler en branches et gérer les Pull Requests
- ✅ Résoudre des conflits Git de manière autonome
- ✅ Écrire un pipeline CI/CD GitLab fonctionnel
- ✅ Intégrer le linting dans un workflow DevOps
- ✅ Collaborer efficacement sur des projets open source
Certification
Cette formation ne délivre pas de certification officielle, mais prépare aux certifications suivantes :
- GitLab Certified Associate : Git & CI/CD
- GitHub Actions Certification : Workflows CI/CD
- Linux Foundation : DevOps Foundation
Une fois la formation complétée, vous pouvez valider vos compétences avec le TP Final comme portfolio.
Ressources de la Formation
-
Glossaire DevOps
Définitions des termes essentiels : CI, CD, IaC, GitOps, Pipeline, etc.
-
Cheat Sheet Git
Référence rapide de toutes les commandes Git essentielles. Format imprimable.
-
Cheat Sheet GitHub Actions
Syntaxe YAML, triggers, jobs, steps, secrets, et patterns courants.
-
Memo Conventional Commits
Convention de nommage des commits pour un historique propre et automatisable.
-
Memo ShellCheck
Règles ShellCheck critiques, bonnes pratiques Bash, et template sécurisé.
Ressources Externes
- Documentation Git Officielle
- GitLab CI/CD Documentation
- GitHub Flow Guide
- Pre-commit Framework
- Guide CI/CD ShellBook
Outils de Test
- Mockaroo - Générateur de données de test réalistes (CSV, JSON, SQL, Excel). Idéal pour remplir des BDD de dev, tests de charge, et prototypage. 1000 lignes gratuites, API REST disponible.
- GenerateData - Générateur open source (GPL 3) avec 30+ types de données et 12+ formats d'export. Self-hostable (PHP/MySQL) ou version web gratuite.
Support
Questions ou problèmes ?
- 💬 Discussions GitHub
- 🐛 Issues GitHub
- 📧 Contact : devops@shellbook.io
Prêt ? Commencez par le Module 1 : Comprendre Git 🚀