Libellé du cours : | Gestion des versions et Intégration continue |
---|---|
Département d'enseignement : | MIN / Mathématiques - Informatique |
Responsable d'enseignement : | Monsieur THOMAS BOURDEAUD HUY |
Langue d'enseignement : | Français |
Ects potentiels : | 0 |
Grille des résultats : | |
Code et libellé (hp) : | LA2_A_EC_MIN_GVI - Gest. versions & Int. continue |
Equipe pédagogique
Enseignants : Monsieur THOMAS BOURDEAUD HUY
Intervenants extérieurs (entreprise, recherche, enseignement secondaire) : divers enseignants vacataires
Résumé
L'enseignement sur la Gestion des Versions et l'Intégration Continue vise à fournir aux participants une compréhension approfondie des outils et des pratiques essentiels pour garantir une gestion efficace du code source et une intégration continue réussie dans les projets de développement logiciel en équipe. 1. Fondamentaux de Git en Ligne de Commande : Exploration des commandes de base de Git pour la gestion des versions. Compréhension des principes fondamentaux tels que le suivi des modifications, la création de branches, et les opérations de fusion. Techniques de nettoyage de l'arbre de commits pour maintenir une histoire de version propre et compréhensible. 2. Stratégies de Branching : Examen des stratégies populaires telles que Git Flow et GitLab Flow. Compréhension approfondie des avantages et des inconvénients de chaque stratégie. Application pratique des stratégies de branching dans des scénarios de développement réels. 3. Bonnes Pratiques en Équipe : Mise en œuvre de processus de code review pour garantir la qualité du code. Utilisation de pull-requests pour faciliter la collaboration entre les membres de l'équipe. 4. Normes de Codage, Quality Gate et Bonnes Pratiques de Test : Adoption de normes de codage pour assurer la cohérence du code. Utilisation de Quality Gate et d'outils comme SonarQube pour garantir la qualité du code. Exploration des bonnes pratiques de test pour assurer une robustesse et une fiabilité optimales. 5. Pipeline de CI/CD et Format YAML : Configuration et personnalisation de pipelines CI/CD. Utilisation du format YAML pour définir les étapes du pipeline. Intégration de tests automatisés, déploiement continu et contrôle qualité dans le pipeline. 6. Mise en Place d'une Plateforme sur un Serveur GitLab Personnalisé : Installation et configuration d'un serveur GitLab personnalisé. Gestion des utilisateurs, des permissions et des paramètres de projet. 7. Mise en Pratique avec Python pour un Développement en Équipe : Développement collaboratif en équipe avec l'utilisation de Git et GitLab. Exemple concret d'application des concepts enseignés à travers un projet Python.
Objectifs pédagogiques
Cet enseignement offre une immersion complète dans les pratiques modernes de gestion des versions et d'intégration continue, fournissant aux participants les compétences nécessaires pour orchestrer un flux de développement fluide et efficace au sein de leurs projets logiciels en équipe.
Objectifs de développement durable
Modalités de contrôle de connaissance
Contrôle Continu
Commentaires: Contrôle Continu, qcm en début de séance 50%
projet illustratif fil rouge avec soutenance finale 50%
Ressources en ligne
Ressources en ligne : Git : multiples formations disponibles en ligne Formation gratuite à la conteneurisation : https://kodekloud.com/courses/docker-for-the-absolute-beginner/
Pédagogie
Séminaires
Séquencement / modalités d'apprentissage
Nombre d'heures en CM (Cours Magistraux) : | 0 |
---|---|
Nombre d'heures en TD (Travaux Dirigés) : | 0 |
Nombre d'heures en TP (Travaux Pratiques) : | 0 |
Nombre d'heures en Séminaire : | 12 |
Nombre d'heures en Demi-séminaire : | 8 |
Nombre d'heures élèves en TEA (Travail En Autonomie) : | 0 |
Nombre d'heures élèves en TNE (Travail Non Encadré) : | 0 |
Nombre d'heures en CB (Contrôle Bloqué) : | 0 |
Nombre d'heures élèves en PER (Travail PERsonnel) : | 0 |
Nombre d'heures en Heures Projets : | 0 |
Pré-requis
prérequis attendus : pratique de git : commit, branch, push, rebase, génération de clés ssh base de docker & conteneurisation : k3s, k3d