ECTS
4 crédits
Composante
Collège Sciences et Technologies pour l’Energie et l’Environnement (STEE)
Volume horaire
33h
Description
Cette unité d'enseignement a pour objectif d’offrir aux étudiants une maîtrise approfondie des concepts, des pratiques et des outils DevOps, tels que Git, GitLab et Docker, ainsi que des méthodologies agiles appliquées au développement des systèmes d'information logistique.
En favorisant la collaboration entre les équipes de développement et d'exploitation, DevOps permet d’accélérer le cycle de vie des logiciels, d’améliorer leur qualité et d’optimiser la livraison en continu.
Objectifs
À la fin de cette UE, vous serez capable de :
- Comprendre les principes fondamentaux des méthodes agiles et du DevOps,
- Mettre en place un pipeline CI/CD pour automatiser le déploiement des applications,
- Utiliser les outils Docker et Kubernetes pour la conteneurisation et l'orchestration,
- Gérer le versionnement de code avec Git et appliquer les bonnes pratiques GitFlow,
- Déployer des applications sur le Cloud et comprendre les approches Infrastructure as Code (IaC),
- Mettre en place des tests automatisés et assurer le monitoring des systèmes,
- Appliquer les pratiques SRE (Site Reliability Engineering) pour garantir la stabilité et la performance des systèmes.
Heures d'enseignement
- CMCours Magistral12h
- TDTravaux Dirigés10,5h
- TPTravaux Pratique10,5h
Pré-requis obligatoires
Initiation au Cloud Computing.
Contrôle des connaissances
Session unique : 100% contrôle continu.
Bibliographie
Ressources pédagogiques :
- Supports de cours : Présentations détaillées, notes de cours et exercices pratiques couvrant les concepts clés de DevOps, Git, GitLab et Docker,
- The DevOps Handbook – Gene Kim, Jez Humble,
- Continuous Delivery – Jez Humble, David Farley,
- Outils et plateformes : GitHub, Docker, Kubernetes, Jenkins, Terraform,
- Communautés : DevOps StackExchange, CNCF, HashiCorp.
Compétences acquises
Compétences | Niveau d'acquisition | |
---|---|---|
Produire de l’information et de la connaissance | Découvrir, représenter et exploiter des connaissances. | 1 - Notion |
Analyser les données et produire de l'information. | 2 - Application | |
Collecter, stocker, transformer les données | 1 - Notion | |
Développer des fonctionnalités logicielles | Concevoir des algorithmes pour la résolution de problèmes | 1 - Notion |