TP 4 : Pull Requests, revue de code et protection de branches
Module : 1 – Versioning et collaboration avec Git & GitHub Durée indicative : 2h Prérequis : TP 3 terminé, travail en binôme
Objectifs
- Mener un workflow complet de Pull Request.
- Réaliser une revue de code croisée avec
CODEOWNERS. - Configurer des règles de protection de branche sur
main.
Étape 1 – Préparer le dépôt
Sur le dépôt netlab-configs de l’un des deux binômes, ajoutez à la racine :
# .github/CODEOWNERS
*.rsc @<pseudo-github-du-partenaire>Ajoutez un modèle de PR :
# .github/pull_request_template.md
## Description
## Changements apportés
## Comment testerCommitez et poussez ces fichiers directement sur main (dernière fois avant activation de la protection).
Étape 2 – Ouvrir une Pull Request
- Créez une branche
feature/firewall-rules, ajoutez une règle de filtrage dans un fichier de configuration, commitez et poussez. - Ouvrez une PR vers
mainsur GitHub ; le modèle doit se pré-remplir. - Vérifiez que
CODEOWNERSassigne automatiquement le partenaire comme relecteur.
Étape 3 – Revue de code
Le partenaire :
- commente au moins une ligne du diff,
- demande une modification (Request changes),
- après correction et nouveau push sur la même branche, Approve la PR.
Étape 4 – Protection de branche
Dans Settings → Branches du dépôt, créez une règle pour main :
- Require a pull request before merging,
- Require approvals: 1,
- Require review from Code Owners,
- Require status checks to pass (si une CI est configurée),
- Require linear history,
- Block force pushes.
Testez que le push direct sur main est désormais refusé.
Étape 5 – Fusion
Le même jeu de 3 commits produit un historique différent selon le mode de fusion choisi.
Fusionnez la PR avec le mode Squash and merge, puis supprimez la branche feature/firewall-rules. Comparez avec ce qu’aurait donné un Rebase and merge.
Rendu attendu
- Le lien de la PR fusionnée (avec commentaires de revue visibles).
- Une capture des règles de protection de branche activées.
- Une capture montrant le refus d’un push direct sur
main.
Points de vérification
- La PR a été relue et approuvée par le binôme avant fusion.
-
CODEOWNERSa bien assigné le relecteur automatiquement. - Un push direct sur
mainest rejeté par les règles de protection.