Logo de l'organisme de formation

La formation au coeur de l'avenir technologique

Représentation de la formation : Développement - Gestion du code source

Développement - Gestion du code source

Formation présentielle
Durée : 21 heures (3 jours)
Durée :21 heures (3 jours)
HT
S'inscrire
Durée :21 heures (3 jours)
HT
S'inscrire
Durée :21 heures (3 jours)
HT
S'inscrire

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.