DevOpsFacile
AccueilParcours de formationCertificationsModulesCheat SheetÀ Propos
DevOpsFacile

Une plateforme d'apprentissage complète pour maîtriser les pratiques DevOps modernes, du débutant à l'expert.

contact@devopsfacile.fr

Formation

  • Parcours de formation
  • Modules

Informations

  • À Propos
  • Conditions d'utilisation
  • Confidentialité
  • Mentions légales

© 2026 DevOps Facile. Tous droits réservés.

Fait avec pour la communauté DevOps

ModulesDébuter avec Git : commits, branches et premier repo06 - Projet Capstone : Versionner un portfolio DevOps de A à Z

Détails

  • 40 minutes
  • Avancé

Objectifs

  • Initialiser un dépôt et configurer Git
  • Créer des commits atomiques avec de bons messages
  • Travailler avec des branches de features
  • Fusionner des branches et résoudre un conflit
  • Explorer l'historique et pousser sur GitHub
Module Débuter avec Git : commits, branches et premier repo

Exercice 06 : Projet Capstone - Versionner un Portfolio DevOps de A à Z

🎯 Objectifs

À la fin de cet exercice, vous serez capable de :

  • ✅ Initialiser un dépôt Git et configurer l'identité
  • ✅ Créer des commits atomiques avec des messages conventionnels
  • ✅ Créer des branches de features et les merger dans main
  • ✅ Détecter et résoudre un conflit de merge
  • ✅ Naviguer dans l'historique avec git log
  • ✅ Pousser le projet complet sur GitHub

Durée estimée : 40 minutes

Difficulté : ⭐⭐⭐⭐☆ (Avancé)

Prérequis :

  • Avoir complété les exercices 01 à 05
  • Un compte GitHub configuré avec accès SSH ou HTTPS

📖 Contexte

Vous allez créer un portfolio DevOps versionné avec Git. Ce portfolio contiendra une page d'accueil, une page de compétences et une page de projets - chaque section développée sur sa propre branche, exactement comme on travaille dans une équipe.

Cet exercice mobilise toutes les compétences du module :

  • git init, git config (exercice 01)
  • git add, git commit, messages conventionnels (exercice 01)
  • git branch, git switch, git merge (exercice 02)
  • Résolution de conflits (exercice 03)
  • git push, git pull, remote GitHub (exercice 04)
  • git log, git log --graph (exercice 01-02)

📋 Énoncé

Construisez votre portfolio Git en 6 tâches dans l'ordre indiqué.


🧭 Déroulement de l'exercice

Tâche 1 : Initialiser le dépôt

Créez un dossier devops-portfolio, initialisez-y un dépôt Git, configurez votre identité, puis créez un fichier README.md avec votre premier commit.

Le README.md doit contenir :

# Portfolio DevOps
Bienvenue sur mon portfolio DevOps.

Indice : git init, git config user.name, git config user.email, git add, git commit -m "message".

Vérification : git log --oneline doit afficher votre premier commit.


Tâche 2 : Créer le fichier d'accueil sur main

Créez index.html avec une structure HTML basique (titre, en-tête, un paragraphe de présentation). Committez avec un message conventionnel commençant par feat:.

Indice : Un message conventionnel pour une nouvelle feature commence par feat: description. Exemple : feat: ajouter la page d'accueil HTML.

Vérification : git show HEAD doit afficher le diff du fichier index.html.


Tâche 3 : Développer la page "Compétences" sur une branche

Créez une branche feature/competences. Sur cette branche, créez competences.md listant au moins 5 compétences DevOps (Linux, Git, Docker, etc.). Faites 2 commits distincts : un pour la structure, un pour le contenu.

Indice : git switch -c feature/competences crée et bascule sur la branche. Deux commits séparés : feat: ajouter structure competences.md puis feat: remplir la liste des compétences.

Vérification : git log --oneline feature/competences doit afficher 3 commits (le initial + les 2 nouveaux).


Tâche 4 : Développer la page "Projets" et créer un conflit

Sur main, ajoutez une ligne dans README.md : Voir aussi : [Projets](projets.md).

Ensuite, créez une branche feature/projets. Sur cette branche, modifiez la même ligne du README.md pour y mettre : Voir aussi : [Compétences](competences.md) | [Projets](projets.md). Créez aussi le fichier projets.md avec au moins 2 projets fictifs.

Indice : Modifier la même ligne dans deux branches différentes provoque un conflit au moment du merge.

Vérification : git log --oneline feature/projets doit lister vos commits sur cette branche.


Tâche 5 : Merger les branches et résoudre le conflit

Retournez sur main. Mergez d'abord feature/competences (sans conflit). Puis mergez feature/projets - un conflit apparaîtra dans README.md. Résolvez-le en gardant la version complète : Voir aussi : [Compétences](competences.md) | [Projets](projets.md). Créez un commit de merge propre.

Indice : git merge feature/competences, puis git merge feature/projets. En cas de conflit, Git marque les zones conflictuelles avec <<<<<<, =======, >>>>>>. Éditez le fichier, supprimez les marqueurs, puis git add README.md et git commit.

Vérification : git log --oneline --graph doit montrer les deux branches qui convergent vers main.


Tâche 6 : Publier sur GitHub

Créez un repository devops-portfolio sur GitHub (sans README, sans .gitignore). Configurez le remote et poussez main avec l'historique complet.

Indice : git remote add origin <URL>, puis git push -u origin main.

Vérification : git remote -v doit afficher le remote origin. Sur GitHub, vous devez voir les 3 fichiers (README.md, index.html, competences.md, projets.md) et l'historique complet des commits.


🗂️ Mini-Projet : État final du portfolio

Une fois les 6 tâches terminées, vérifiez l'état complet de votre dépôt :

bash
# Afficher le résumé du projet
echo "=== Fichiers du portfolio ==="
ls -1

echo ""
echo "=== Historique complet ==="
git log --oneline --graph --all

echo ""
echo "=== Remote configuré ==="
git remote -v

echo ""
echo "=== Statut propre ==="
git status

Checkpoints de validation :

  • ls liste README.md, index.html, competences.md et projets.md
  • git log --oneline | wc -l retourne au moins 6 commits
  • git log --oneline --graph montre les deux branches mergées dans main
  • git branch ne liste plus feature/competences ni feature/projets (branches supprimées après merge)
  • cat README.md contient la ligne Voir aussi : [Compétences](competences.md) | [Projets](projets.md)
  • git remote -v affiche l'URL GitHub
  • Sur GitHub, l'onglet "Commits" affiche l'historique complet

Retour au module

Sur cette page

  • 🎯 Objectifs
  • 📖 Contexte
  • 📋 Énoncé
  • 🧭 Déroulement de l'exercice
  • Tâche 1 : Initialiser le dépôt
  • Tâche 2 : Créer le fichier d'accueil sur main
  • Tâche 3 : Développer la page "Compétences" sur une branche
  • Tâche 4 : Développer la page "Projets" et créer un conflit
  • Tâche 5 : Merger les branches et résoudre le conflit
  • Tâche 6 : Publier sur GitHub
  • 🗂️ Mini-Projet : État final du portfolio