Skip to content

Le Workflow Pull Request (PR)

Une Pull Request (PR) est une demande formelle soumise sur GitHub pour fusionner les modifications d’une branche (ex: feature-contact) dans une autre branche (généralement main).

C’est l’outil collaboratif par excellence des équipes de développement modernes. Il permet de :

  • Présenter vos modifications de manière claire (avec un titre et une description).
  • Discuter du code directement sur les lignes modifiées.
  • Faire des revues de code (Code Review) par d’autres développeurs avant intégration.
  • Lancer des tests automatisés (CI/CD) pour valider que rien n’est cassé.
1. Push Localgit push origin branch2. Ouvrir la PRSur l’interface GitHub3. Code ReviewRetours & Corrections4. Merge PRFusionné dans main

Exercice Pratique : Préparer et envoyer une branche pour une PR

Section titled “Exercice Pratique : Préparer et envoyer une branche pour une PR”

Suivez les étapes du simulateur interactif pour créer une branche locale dédiée à un nouveau bouton, y enregistrer une modification de style, et l’envoyer sur le dépôt distant pour qu’elle soit prête à être ouverte en Pull Request :

Commandes à exécuter

bash
# Cliquez sur les commandes à gauche pour les exécuter dans le simulateur
hashcode-academy:~$ _

Une fois la branche poussée :

  1. Rendez-vous sur la page web de votre dépôt GitHub. Un bandeau jaune devrait apparaître : “Compare & pull request”. Cliquez dessus.
  2. Expliquez clairement ce que fait votre code et pourquoi vous avez fait ces choix dans le titre et la description.
  3. Sélectionnez des reviewers (collaborateurs ou mentors) et soumettez la demande.

Les bonnes pratiques d’une revue de code

Section titled “Les bonnes pratiques d’une revue de code”

Pour le créateur de la PR

  • Gardez vos PRs petites : Plus une PR est petite, plus elle est facile et rapide à relire.
  • Soyez clair : Expliquez l’impact visuel ou technique de votre changement.
  • Acceptez les retours : La revue de code est un processus constructif d’apprentissage continu.

Pour le relecteur (Reviewer)

  • Soyez bienveillant : Le but est d’améliorer la qualité du code du projet, pas de juger la personne.
  • Expliquez le “Pourquoi” : Si vous demandez un changement, expliquez pourquoi cela améliore la performance, la sécurité ou la lisibilité.
  • Validez si c’est conforme : Cliquez sur Approve une fois que tout est correct.

Entraînez-vous à retenir les concepts clés en cliquant sur les cartes ci-dessous :

Question

Qu'est-ce qu'une Pull Request ?

Cliquer pour révéler la réponse
Réponse

Une Pull Request est une demande formelle soumise sur GitHub pour fusionner les modifications d'une branche dans une autre (généralement dans main).

Cliquer pour voir la question
Question

Quel est le rôle de la code review dans une Pull Request ?

Cliquer pour révéler la réponse
Réponse

La code review permet à d'autres développeurs d'examiner le code, de suggérer des améliorations et de valider la qualité avant la fusion dans la branche principale.

Cliquer pour voir la question
Question

Quelle est la différence entre une PR classique et une Draft PR ?

Cliquer pour révéler la réponse
Réponse

Une Draft PR est une Pull Request en mode brouillon qui indique que le travail est en cours et n'est pas encore prêt pour la revue. Elle ne peut pas être fusionnée tant qu'elle n'est pas marquée comme prête.

Cliquer pour voir la question
Question

Quelles informations doivent figurer dans la description d'une Pull Request ?

Cliquer pour révéler la réponse
Réponse

La description doit expliquer clairement ce que fait le code, pourquoi les changements ont été effectués, et tout contexte utile pour faciliter la revue.

Cliquer pour voir la question

1. Qu'est-ce qu'une Pull Request ?

2. Pourquoi est-il important de garder ses Pull Requests petites ?

3. Quelle commande envoie votre branche locale sur GitHub pour créer une PR ?


Vous avez terminé le dernier atelier du module Git & GitHub ! Il ne reste plus qu’une étape : validez l’ensemble de vos connaissances avec l’évaluation finale.

Passer l’Évaluation Finale