
Présentation de cette formation
Section intitulée « Présentation de cette formation »Dagger (la plateforme CI/CD “local-first”, pas le framework Java d’injection de dépendances) permet d’exécuter des pipelines de build/test/release dans des conteneurs, identiquement en local et en CI.
Dans cette formation, vous allez coder vos pipelines en Python via le SDK officiel, et apprendre à les rendre rapides, réutilisables et gouvernables.
Contrairement à une documentation classique, cette formation suit une progression pédagogique : chaque module s’appuie sur les précédents, avec des prérequis explicites, des exercices pratiques et des scénarios d’incidents réels.
| Public | Développeurs Python, DevOps, équipes plateforme |
| Prérequis | Bases Python, Git, terminal, notions Docker/OCI |
| Durée totale | ~25 heures (3 volets) |
| Approche | Théorie + code Python + labs + incidents |
Ce que vous apprendrez
Section intitulée « Ce que vous apprendrez »À la fin de cette formation, vous serez capable de :
- Écrire un pipeline Dagger complet en Python (build, tests, packaging)
- Exploiter le cache (layers, volumes, fonctions) pour accélérer drastiquement
- Structurer un pipeline industriel : réutilisation, parallélisme, matrices
- Gérer secrets et artefacts proprement (sans fuites)
- Gouverner à l’échelle : catalog interne, métriques, politiques
Vue d’ensemble de la formation
Section intitulée « Vue d’ensemble de la formation »| Volet | Titre | Modules | Public |
|---|---|---|---|
| Volet 1 | Fondamentaux Dagger en Python | 12 | Débutant → Intermédiaire |
| Volet 2 | Design & Industrialisation | 10 | Intermédiaire → Avancé |
| Volet 3 | Plateforme, Sécurité, Gouvernance | 17 (3 tracks) | Avancé → Expert |
Finalité de chaque volet
Section intitulée « Finalité de chaque volet »| Volet | Ce que vous saurez faire |
|---|---|
| Volet 1 | « Je sais écrire et exécuter un pipeline complet en Python, en local et en CI » |
| Volet 2 | « Je sais rendre mes pipelines rapides, modulaires et réutilisables » |
| Volet 3 | « Je sais opérer, sécuriser et gouverner à l’échelle » |
Le parcours de formation
Section intitulée « Le parcours de formation »Volet 1 · Fondamentaux
Du “Hello Pipeline” au pipeline propre
Mental model local-first, Container API, fichiers, tests, build d’images, cache, secrets, intégration CI.
Modules en cours de rédaction
Volet 2 · Industrialisation
Réduire le temps de feedback, réutiliser, orchestrer
Structure repo, modules/fonctions, documentation, parallélisme, matrices, cache avancé, monorepo, fiabilité.
À venir
Volet 3 · Plateforme & Sécurité
Mode “production organisation”
3 tracks au choix : Plateforme (A), DevSecOps (B), Gouvernance (C). Capstone “pipeline production-ready”.
À venir
Incidents
Scénarios de pannes réelles
Pipeline lent, incohérences local/CI, secrets exposés, cache gonflé, tests flaky.
À venir
Volet 1 — Fondamentaux (12 modules)
Section intitulée « Volet 1 — Fondamentaux (12 modules) »Le Volet 1 vous amène du « script Python qui build » au « pipeline complet et reproductible ». Vous apprendrez l’API Dagger, le cycle async, la gestion des fichiers, et surtout le cache qui fait toute la différence.
| # | Module | Niveau | Focus |
|---|---|---|---|
| 1 | Dagger : mental model “local-first” | Débutant | engine, CLI, local vs CI |
| 2 | Installation & “Hello Pipeline” | Débutant | projet, env, premiers conteneurs |
| 3 | Connexion, cycle async, erreurs | Débutant | connect, logs, exceptions |
| 4 | Container API : images, exec, env | Débutant | from_, with_exec, variables |
| 5 | Fichiers & workspace | Débutant | dir, mounts, outputs |
| 6 | Tests : pytest + rapports | Intermédiaire | junit, couverture, artefacts |
| 7 | Build d’image : reproductibilité | Intermédiaire | build context, tags, metadata |
| 8 | Caching : layers vs volumes vs fonctions | Intermédiaire | perfs, invalidation |
| 9 | Secrets (sans fuites) | Intermédiaire | injection, logs, bonnes pratiques |
| 10 | Paramétrage : config, matrix simple | Intermédiaire | options, branches, versions |
| 11 | Intégration CI (GitLab/GitHub) | Intermédiaire | exécuter le même pipeline en CI |
| 12 | Synthèse : pipeline complet “propre” | Intermédiaire | mini-capstone Volet 1 |
Volet 2 — Design & Industrialisation (10 modules)
Section intitulée « Volet 2 — Design & Industrialisation (10 modules) »Le Volet 2 transforme vos scripts en système de delivery réutilisable : modules partagés, parallélisme, cache sérieux, monorepo.
| # | Module | Niveau | Focus |
|---|---|---|---|
| 1 | Structurer le repo “pipelines as code” | Intermédiaire | arborescence, conventions |
| 2 | Modules & fonctions : catalog interne | Avancé | SDKs + modules, réutilisation |
| 3 | Documentation intégrée | Avancé | docstrings/annotations CLI |
| 4 | Parallélisme & fan-out/fan-in | Avancé | accélérer tests/build |
| 5 | Matrices (multi-Python, multi-OS) | Avancé | variantes, compatibilité |
| 6 | Cache “sérieux” : clés, volumes, GC | Avancé | policy, purge, stabilité |
| 7 | Monorepo : pipelines ciblés | Avancé | diff-based, chemins |
| 8 | Artefacts & promotions | Avancé | versioning, tags, provenance |
| 9 | Fiabilité : timeouts, retries | Avancé | durcir l’exécution |
| 10 | Capstone “industrialisation” | Avancé | pipeline rapide/modulaire |
Volet 3 — Plateforme, Sécurité, Gouvernance (Tracks)
Section intitulée « Volet 3 — Plateforme, Sécurité, Gouvernance (Tracks) »Le Volet 3 propose 3 tracks au choix selon votre rôle :
Track A — Plateforme & exécution (6 modules)
Section intitulée « Track A — Plateforme & exécution (6 modules) »Exécuter à l’échelle, cache distribué, observabilité, stockage artefacts, stratégies de coûts.
Track B — DevSecOps & supply chain (6 modules)
Section intitulée « Track B — DevSecOps & supply chain (6 modules) »Threat model CI/CD, secrets patterns, images durcies, SBOM/attestation, séparation prod/non-prod.
Track C — Gouvernance & pilotage (5 modules)
Section intitulée « Track C — Gouvernance & pilotage (5 modules) »Standardisation, versioning/contrats, quality gates, métriques delivery, operating model “platform as a product”.
Scénarios d’incidents (transversal)
Section intitulée « Scénarios d’incidents (transversal) »Tout au long de la formation, vous rencontrerez des scénarios d’incidents réels. Voici un aperçu :
| # | Symptôme | Cause réelle | Volet |
|---|---|---|---|
| 1 | Pipeline très lent | Cache non réutilisé / volumes absents | V1–V2 |
| 2 | Résultats incohérents local vs CI | Différences d’inputs (env, mounts) | V1 |
| 3 | ”Ça marche chez moi” | Droits, runtime, network restrictions | V1 |
| 4 | Secrets visibles dans logs | Echo/debug trop verbeux | V1–V3 |
| 5 | Cache qui “gonfle” | Policy/GC mal compris | V2 |
| 6 | Tests flaky | Dépendances réseau, ordre d’exécution | V2 |
| 7 | Réutilisation impossible | Modules non versionnés, contrats flous | V2–V3 |
Par où commencer ?
Section intitulée « Par où commencer ? »Lisez d’abord les sections Pourquoi Dagger ? et Architecture ci-dessous, puis installez l’outil et suivez le Volet 1 dans l’ordre.
Premier pas : Installation de Dagger
Si vous connaissez déjà GitLab CI, GitHub Actions ou Jenkins, commencez par le module 4 (Container API) pour voir la différence d’approche.
Module recommandé : Volet 1 module 4 — Container API
Si vous cherchez à créer un catalog interne de pipelines réutilisables, visez directement le Volet 2 module 2 (Modules & fonctions) après avoir acquis les bases.
Module recommandé : Volet 2 module 2 — Modules & fonctions
Prochaines étapes
Section intitulée « Prochaines étapes »Ressources complémentaires
Section intitulée « Ressources complémentaires »- Documentation officielle : docs.dagger.io
- SDK Python : dagger-io.readthedocs.io
- GitHub : github.com/dagger/dagger
- DaggerVerse (modules) : daggerverse.dev
- PyPI : pypi.org/project/dagger-io