Programme de la Formation
1. Introduction au DevOps
- Qu’est-ce que DevOps ?
- Objectifs et avantages
- Culture et collaboration (Dev + Ops)
- Cycle de vie DevOps (CI/CD, monitoring, feedback loop)
2. Systèmes et Réseaux
- Notions de base Linux (shell, scripts, gestion des utilisateurs et droits)
- Commandes essentielles
- Réseaux (TCP/IP, DNS, SSH, ports)
- Sécurité système
3. Contrôle de Version avec Git
- Git : concepts de base (clone, commit, push, pull, branches, merge)
- Workflows Git (Gitflow, trunk-based, etc.)
- GitHub / GitLab / Bitbucket
4. Intégration Continue (CI)
- Concepts de CI
- Outils : Jenkins, GitLab CI, GitHub Actions, CircleCI
- Écriture de pipelines simples (build, test, lint)
5. Livraison Continue et Déploiement (CD)
- Déploiement manuel vs automatisé
- Déploiement sur environnement de test/staging/prod
- Blue/Green Deployment, Canary Release
- Infrastructure as Code (IaC) : introduction
6. Conteneurisation avec Docker
- Concepts de conteneurs
- Docker : images, conteneurs, volumes, réseaux
- Dockerfile & docker-compose
- Bonnes pratiques
7. Orchestration
- Concepts clés (pods, services, deployments, namespaces)
- Déploiement d’une application
- Helm charts (introduction)
8. Infrastructure as Code (IaC)
- Terraform : bases, providers, modules
- Ansible : gestion de configuration, playbooks
- Comparatif avec d’autres outils (Pulumi, Chef, Puppet)
9. Supervision & Monitoring
- Logs et métriques
- Outils : Prometheus, Grafana, ELK Stack (Elasticsearch, Logstash, Kibana)
- Alerting
10. Sécurité DevSecOps
- Intégration de la sécurité dans les pipelines
- Scan de vulnérabilités (Snyk, Trivy)
- Gestion des secrets (Vault, AWS Secrets Manager)
11. Projet de Fin de Formation
- Mise en place d’un pipeline complet CI/CD
- Déploiement d’une app conteneurisée
- Infrastructure provisionnée
- Supervision + Sécurité intégrée