
Développement - Gestion du code source
Formation créée le 10/03/2025.
Version du programme : 1
Programme de la formation
Objectif de la formation : Cette formation vise à fournir aux participants une compréhension approfondie des concepts, outils et meilleures pratiques liés à la gestion du code source. Elle couvre les systèmes de contrôle de version, les workflows collaboratifs, l'intégration continue et les stratégies de gestion des versions pour assurer une qualité logicielle optimale.
Objectifs de la formation
- Comprendre l'importance de la gestion du code source dans le cycle de vie du développement logiciel.
- Maîtriser l'utilisation des systèmes de contrôle de version tels que Git.
- Mettre en œuvre des workflows collaboratifs efficaces.
- Intégrer des pratiques d'intégration continue et de déploiement continu.
- Appliquer des règles de codage et des conventions de nommage pour améliorer la qualité du code.
Profil des bénéficiaires
Pour qui
- Développeurs logiciels.
- Chefs de projet informatique.
- Ingénieurs DevOps.
- Toute personne impliquée dans le développement et la maintenance de logiciels.
Prérequis
- Connaissances de base en programmation.
- Familiarité avec le cycle de vie du développement logiciel.
Contenu de la formation
-
Introduction à la gestion du code source (1h)
- Définition et importance de la gestion du code source.
- Problématiques résolues par une gestion efficace.
- Présentation des principaux outils et systèmes utilisés.
-
Les Systèmes de Contrôle de Version (VCS) (2h)
- Différences entre les systèmes centralisés et décentralisés.
- Présentation de Git en tant que VCS décentralisé.
- Avantages et inconvénients des différents systèmes.
- Travail Pratique : Installation et configuration de Git sur différentes plateformes.
-
Commandes de base de Git (2h)
- Initialisation d'un dépôt.
- Gestion des fichiers : ajout, suppression, modification.
- Validation des modifications (commits) et visualisation de l'historique.
- Travail Pratique : Création d'un dépôt local et réalisation de commits pour suivre les modifications.
-
Gestion des branches (2h)
- Concept de branchement et fusion (merge).
- Stratégies de branchement : fonctionnalités, correctifs, releases.
- Résolution des conflits lors des fusions.
- Travail Pratique : Création et gestion de branches pour développer des fonctionnalités distinctes.
-
Workflows collaboratifs avec Git (2h)
- Présentation des workflows Git : GitFlow, Forking Workflow, Feature Branch Workflow.
- Choix du workflow adapté selon le contexte du projet.
- Travail Pratique : Mise en place d'un workflow collaboratif sur un projet simulé.
-
Gestion des dépôts distants (2h)
- Connexion à des dépôts distants : GitHub, GitLab, Bitbucket.
- Synchronisation des dépôts locaux et distants.
- Gestion des pull requests et code reviews.
- Travail Pratique : Clonage d'un dépôt distant, création de pull requests et réalisation de revues de code.
-
Intégration Continue (CI) et Déploiement Continu (CD) (2h)
- Concepts de CI/CD et leur importance dans le développement moderne.
- Outils et plateformes pour CI/CD : Jenkins, Travis CI, GitHub Actions.
- Mise en place de pipelines automatisés.
- Travail Pratique : Configuration d'un pipeline CI/CD simple pour automatiser les tests et le déploiement.
-
Règles de Codage et Conventions de Nommage (1h)
- Importance des conventions pour la lisibilité et la maintenance du code.
- Exemples de règles de codage et de nommage.
- Outils pour vérifier le respect des conventions.
- Travail Pratique : Analyse d'un code existant pour identifier les améliorations possibles en termes de style et de conventions.
-
Gestion des versions et des releases (2h)
- Stratégies de versionnage : sémantique, incrémentale
- Création et gestion des tags pour les versions stables
- Processus de release et communication avec les parties prenantes
- Travail pratique : Création de tags et préparation d'une release pour un projet
-
Sécurité et permissions dans les dépôts (2h)
- Gestion des accès et des rôles sur GitHub/GitLab
- Mise en place des règles de protection des branches
- Utilisation des signatures GPG pour valider les commits
- Travail pratique : Configuration des permissions sur un dépôt distant et mise en place d’un processus d’approbation des modifications
-
Gestion avancée des dépôts et migration (2h)
- Migration d’un dépôt d’un serveur vers un autre (GitHub, GitLab, Bitbucket)
- Conversion d’un dépôt SVN vers Git
- Gestion des dépôts volumineux avec Git LFS (Large File Storage)
- Travail pratique : Migration d’un dépôt existant vers une nouvelle plateforme et configuration de Git LFS pour gérer de gros fichiers
-
Cas pratique final : mise en place d’un workflow complet (1h)
- Mise en situation réelle : création d’un projet collaboratif
- Simulation d’un cycle de développement avec branches, validation, fusion et release
- Application des bonnes pratiques étudiées tout au long de la formation
- Travail pratique : Gestion d’un projet collaboratif de bout en bout avec workflow complet et livraison d’une version stable
Équipe pédagogique
Professionnel expert technique et pédagogique.