Challenge B402 27/01/2026
Pitch de l’exercice 🧑‍🏫

Challenge B402 : https://github.com/O-clock-Aldebaran/SB04E02-git-github-GitFreed
Installation et configuration de Git
Tout est déjà installé et configuré, utilisant Git et Gihub depuis le début de ma formation.
Clonage du dépôt
on va cloner le dépôt pour le récupérer en local avec git clone

On peut vérifier ce qu'il y a dedans et son status avec les commandes ls et git status

On peut afficher le log pour voir sur quelle branche on se trouve (master > principale) et laquelle est sur HEAD (moi) et origin (le dépôt)

Découverte du dépôt
Avec ls on voit ce qui est dans le dépôt, avec cat README.md je peux lire ce qu'il y a dans le Readme (qui est en syntaxe markdown).

On va vérifier la configuration du du dépôt distant avec git remote -v et sur quelle branche on est avec git branch

Premier script
On va créer un script avec code backup-users.sh

Avec git status on peut voir que notre script est "untracked", on va l'ajouter dans la liste de ce qui doit être ajouté au dépôt avec git add

On va maintenant le commit avec git commit -m "feat: ajout du script de sauvegarde utilisateurs" pour lui ajouter une description de version

Synchronisation avec GitHub
Avant de pousser nos modifications,on va récupérer les éventuelles modifications des autres avec git pull puis envoyer notre commit avec git push

Ajout de plusieurs scripts
On va ajouter plusieurs scripts avec code, add, commit
Script de monitoring réseau :
#!/bin/bash
# Script de monitoring réseau
echo "=== Monitoring Réseau ==="
echo "--- Interfaces réseau ---"
ip addr show
echo "--- Connexions actives ---"
ss -tuln
echo "--- Test de connectivité ---"
ping -c 3 8.8.8.8

Script de nettoyage système :
#!/bin/bash
# Script de nettoyage système
echo "=== Nettoyage du système ==="
echo "Nettoyage des paquets inutiles..."
# sudo apt autoremove -y
echo "Nettoyage du cache..."
# sudo apt clean
echo "Nettoyage des logs anciens..."
# sudo journalctl --vacuum-time=7d
echo "Nettoyage terminé !"

Fichier de configuration :
# Configuration des scripts TechSecure
# Sauvegarde
BACKUP_RETENTION=7
BACKUP_DIR=/backup
# Monitoring
CHECK_INTERVAL=300
LOG_LEVEL=INFO
# Nettoyage
AUTO_CLEANUP=true

On peut maintenant regarder les logs, pull et les push

Modification de fichiers existants
On va modifier le README pour documenter l'ajout de scripts


On va modifier le script backup et ajouter
# Nettoyage des sauvegardes de plus de 7 jours
echo "Nettoyage des anciennes sauvegardes..."
# find $BACKUP_DIR -name "users_*.tar.gz" -mtime +7 -delete

On finit pas un pull et un push !

Récupération du travail des autres
Avec git pull pour récupérer, puis log pour connaître les nouveaux commits, lire avec cat etc

Bonnes pratiques
On va créer un fichier git ignore pour que Github ignore certaines informations sensibles
# Fichiers Ă ignorer
*.log
*.tmp
*.swp
backup/
.env
passwords.txt

On va faire un fichier test.log


On peut voir que le fichier gitignore est bien présent et qu'on a pas le test.log

Synthèse et réflexion
Question 1 : Git vs GitHub Expliquez la différence entre Git et GitHub. Pourquoi utilise-t-on GitHub en entreprise ?
Git est le logiciel installé sur le PC pour gérer les versions, alors que GitHub est le site web qui héberge les projets. En entreprise, on utilise GitHub pour centraliser le code et permettre à toute l'équipe de collaborer sur les mêmes fichiers.
Question 2 : Cycle de travail Décrivez les étapes pour contribuer à un projet : de la modification d'un fichier jusqu'à son envoi sur GitHub.
Je modifie mon fichier, on fait un git add pour préparer la sauvegarde, ensuite un git commit pour valider la version localement, et on finit par un git push pour envoyer le tout sur GitHub.
Question 3 : Pull avant Push Pourquoi est-il important de faire git pull avant git push quand on travaille en équipe ?
Il faut toujours faire un pull avant pour récupérer le travail des collaborateurs. Ça évite les conflits et ça permet d'être sûr qu'on travaille sur la dernière version à jour avant d'envoyer nos modifs.
Question 4 : Messages de commit Donnez 3 exemples de bons messages de commit et 3 exemples de mauvais messages.
-
Bons : "Ajout du script de backup", "Correction du bug d'affichage", "Mise Ă jour du README".
-
Mauvais : "Modif", "Oups", "Update"