Approuver / Obtenir une approbation : définition, approbation et code review dans Git

Auteur : IT Sectr Publié le : 2026-08-01 Temps de lecture : 8 min

Approval (approbation) est une confirmation dans GitHub, GitLab ou Bitbucket qu’un pull request a passé la revue de code et peut être fusionné dans la branche cible. Le propriétaire du dépôt configure le nombre d’approbations obligatoires, après quoi le PR est débloqué pour le merge. Selon la documentation GitHub (2026), lors de la revue, le relecteur peut laisser des commentaires, demander des modifications (Request Changes) ou approuver le PR (Approve). L’approbation n’est pas qu’une formalité, c’est aussi un acte juridique : le relecteur assume la responsabilité de la qualité du code accepté.

Points clés

  • Approbation — aval d’un pull request après code review, autorisant le merge dans la branche cible.
  • Nombre de relecteurs — configuré dans le dépôt : de 1 à l’approbation obligatoire de tous les assignés.
  • Request Changes — statut bloquant : le PR ne peut être fusionné avant une nouvelle revue après corrections.
  • Approbation de l’auteur — interdite : la décision est prise par un développeur indépendant n’ayant pas participé à l’écriture du code.
  • Passerelles CI/CD — l’approbation débloque automatiquement le PR uniquement si toutes les vérifications réussissent.

Qu’est-ce que l’approbation d’un pull request

L’approbation est une revue positive d’un pull request, signifiant que le relecteur a vérifié le code, n’a trouvé aucun problème critique et considère les modifications prêtes pour le merge. Dans l’interface GitHub, il s’agit du bouton vert « Approve » sur la page du PR. Après l’approbation, l’auteur (ou tout membre avec droits d’écriture) peut effectuer le merge.

Le processus d’approbation fait partie des Branch Protection Rules. Les propriétaires du dépôt configurent les exigences obligatoires : nombre minimum d’approbations (par exemple 1 ou 2), qui peut approuver (propriétaires du code, membres de l’équipe) et si le PR doit être ré-approuvé après modifications (Dismiss stale reviews). Sans configuration de règles, l’approbation est facultative, mais dans les équipes professionnelles, elle est obligatoire.

GitLab utilise un mécanisme similaire appelé Approval Rules. Dans GitLab, vous pouvez configurer le nombre d’approbations requises de différents groupes (par exemple, 2 des développeurs back-end et 1 de DevOps). Après réception de toutes les approbations obligatoires, le PR est automatiquement débloqué pour le merge à condition que le pipeline CI/CD soit vert.

Types de revue : Approve, Request Changes, Comment

GitHub et GitLab proposent trois types de revue qu’un relecteur peut laisser sur un pull request. Chaque type a un statut et des conséquences différents pour le processus de merge. Approve est vert, Request Changes est rouge, Comment est gris neutre. Le choix dépend de la qualité du code et de l’état de préparation des modifications à l’acceptation.

Approve — le relecteur confirme : le code est écrit correctement, respecte les normes, ne contient pas d’erreurs évidentes et peut être fusionné. Approve ne signifie pas que le code est parfait — seulement qu’il est assez bon pour la production. S’il y a des remarques mineures (style, nommage), elles peuvent être laissées en commentaires sans bloquer le PR.

Request Changes — le relecteur trouve des problèmes à corriger avant le merge : erreurs logiques, vulnérabilités, violations d’architecture, manque de tests. Après Request Changes, le PR est bloqué et une nouvelle approbation du même relecteur est nécessaire pour le débloquer (si l’option Dismiss stale reviews est activée lors de nouveaux commits).

  • Approve — code prêt pour le merge, peut être fusionné après le passage du CI.
  • Request Changes — corrections obligatoires, PR bloqué jusqu’à une nouvelle revue.
  • Comment — remarque générale ou suggestion sans bloquer le PR.

Configuration des règles d’approbation dans le dépôt

Les Branch Protection Rules sont le mécanisme de GitHub pour contrôler la qualité des fusions. Configuré dans Settings → Branches pour chaque branche protégée (main, develop, release/*). Paramètres principaux : nombre d’approbations obligatoires, propriétaires du code (CODEOWNERS), vérification obligatoire CI/CD et interdiction de push sans PR.

Le paramètre Dismiss stale pull request approvals supprime automatiquement les approbations si un nouveau commit est ajouté au PR. Cela garantit que les relecteurs approuvent exactement la version du code qui sera fusionnée. Sans ce paramétrage, l’auteur pourrait ajouter du nouveau code après l’approbation et il arriverait dans main sans nouvelle vérification.

CODEOWNERS — un fichier à la racine du dépôt qui assigne les responsables pour différents répertoires. Si un PR affecte des fichiers appartenant à un propriétaire de code, son approbation devient obligatoire. CODEOWNERS permet de répartir les zones de responsabilité : les développeurs iOS sont responsables des fichiers Swift, DevOps des configurations Docker, les testeurs des scénarios de test.

bash
# Exemple de fichier CODEOWNERS à la racine du dépôt

# Les développeurs iOS possèdent le code Swift
*.swift @team/ios-developers

# DevOps possède la configuration CI/CD
.github/workflows/* @devops-team

# Les ingénieurs QA relisent les tests
**/tests/* @qa-engineers

# Propriétaires par défaut pour tout le reste
* @tech-leads

Code review avant l’approbation : que vérifier

Le code review avant l’approbation est une vérification systématique du code, pas un coup d’œil rapide sur le diff. Un code review de qualité inclut la vérification de l’architecture, de la logique, du style, des tests et de la sécurité. Sans cette vérification, l’approbation devient une formalité plutôt qu’un outil de contrôle qualité.

Ce qui est vérifié en premier : la logique des modifications — le code résout-il la tâche, y a-t-il des effets secondaires, le traitement des cas limites est-il correct. Tests — les nouveaux tests couvrent-ils tous les scénarios, les tests existants passent-ils après les modifications. Sécurité — y a-t-il des injections SQL, XSS, fuites de données sensibles.

Ce qui ne devrait pas être l’objet de la revue : le style de formatage (c’est le rôle des linters et formateurs), les décisions architecturales prises en amont (elles sont discutées avant l’écriture du code). Si une revue dépasse 400 lignes ou prend plus d’une heure, c’est le signe que la tâche est trop grande et nécessite une décomposition. Meilleures pratiques de revue — portions de 200–400 lignes dans les 24 heures suivant la création du PR.

  • Logique — exactitude de la solution, gestion des erreurs, cas limites.
  • Tests — couverture des nouveaux scénarios, tests existants réussis, absence de tests flaky.
  • Sécurité — absence d’injections, échappement des sorties, contrôle d’accès aux données.
  • Performances — efficacité des algorithmes, requêtes excessives, fuites mémoire.
  • Documentation — la documentation est-elle à jour, les commentaires dans les parties complexes sont-ils clairs.

Workflow avec approbation en équipe

Un workflow typique avec approbation dans une équipe de 5–10 développeurs ressemble à ceci : un développeur crée un PR, assigne des relecteurs (généralement 1–2 personnes de l’équipe ou propriétaires du code), CI/CD exécute des vérifications automatiques. Après réception de toutes les approbations obligatoires et d’un CI vert, l’auteur effectue le merge. Le temps de la création du PR au merge varie de 2 heures à 2 jours selon la complexité.

GitHub Actions permet d’automatiser le merge après approbation. Si les règles de branche sont configurées, GitHub bloque automatiquement le merge jusqu’à ce que toutes les conditions soient remplies. Certaines équipes utilisent bors-ng ou Mergify — des bots qui fusionnent automatiquement les PR après réception de toutes les approbations et réussite du CI. Cela accélère le processus et élimine le facteur humain dans les fusions.

Une approche moderne est le trunk-based development avec des branches à courte durée de vie. Dans ce workflow, l’approbation doit être obtenue en quelques heures, sinon la tâche est considérée comme obsolète et nécessite une resynchronisation avec main. Les équipes avec une forte culture de revue visent un temps d’approbation ne dépassant pas 4 heures ouvrables.

Erreurs d’approbation et comment les éviter

L’erreur la plus courante est l’approbation formelle sans vérification réelle du code. Quand un PR est volumineux ou que l’échéance approche, le relecteur peut cliquer sur Approve sans examiner les modifications. Cela dévalorise tout le processus de code review. Solution : fixer une limite à la taille du PR (pas plus de 400 lignes) et utiliser des outils d’analyse de code (SonarQube, CodeClimate) pour la vérification automatique.

La deuxième erreur est l’approbation excessivement stricte. Attendre un code parfait bloque le développement. Les relecteurs exigent parfois de corriger des remarques stylistiques qui n’affectent pas la qualité. Solution : séparer clairement les remarques obligatoires (bloquantes) et les suggestions optionnelles (commentaires). GitHub permet de spécifier explicitement si un commentaire est bloquant.

La troisième erreur est l’approbation sans vérification CI/CD. Même si le code semble correct, il pourrait ne pas compiler ou échouer aux tests. Les Branch Protection configurées bloquent automatiquement le merge sur CI rouge, mais certaines équipes désactivent cette protection pour gagner en vitesse. Solution : toujours vérifier le statut CI avant d’approuver et ne jamais approuver un PR avec un pipeline rouge.

  • Approbation formelle — absence de vérification réelle du code. Solution : limite de 400 lignes par PR.
  • Rigueur excessive — blocage pour des remarques stylistiques. Solution : diviser en bloquant et optionnel.
  • Ignorer CI — approbation sur pipeline rouge. Solution : toujours vérifier le statut des tests.
  • Désignation de l’auteur — approbation par l’auteur du PR. Solution : configurer Branch Protection contre l’auteur.

Foire aux questions

Que signifie approuver un PR ?

Approuver signifie donner son aval à un pull request dans GitHub/GitLab après la revue de code en cliquant sur le bouton Approve. Cela signifie que le code a été vérifié, respecte les normes et est prêt pour le merge. L’approbation est une condition obligatoire pour le merge dans les branches protégées avec des règles de Branch Protection configurées.

Combien d’approbations sont nécessaires pour un PR ?

Cela dépend des règles du dépôt. La norme minimale est 1 approbation d’un relecteur qui n’est pas l’auteur. Les composants critiques (modules de paiement, sécurité) peuvent nécessiter 2–3 approbations. Le nombre est configuré dans les Branch Protection Rules de GitHub ou les Approval Rules de GitLab.

Quelle est la différence entre Approve et Request Changes ?

Approve — code prêt pour le merge, commentaires facultatifs. Request Changes — le code contient des problèmes obligatoires à corriger, le PR est bloqué jusqu’à une nouvelle revue. Avec Request Changes, le merge est impossible ; avec Approve, il est disponible après le passage des vérifications CI/CD.

L’auteur peut-il approuver son propre PR ?

Non, l’auteur ne peut pas approuver son propre PR — cela contredit le principe de la revue indépendante. GitHub bloque cette possibilité au niveau de l’interface. Même si les paramètres du dépôt ne l’interdisent pas, l’approbation de l’auteur n’est pas considérée comme valide car aucune revue externe du code n’a eu lieu.

Qu’est-ce que Dismiss stale reviews ?

Dismiss stale review est une option de Branch Protection qui supprime automatiquement les approbations lorsque de nouveaux commits sont ajoutés au PR. Elle garantit que les relecteurs approuvent la version actuelle exacte du code. Sans cette option, l’auteur pourrait modifier le code après approbation et les modifications arriveraient dans main sans revue supplémentaire.

Résumé

  • Approbation — aval d’un pull request par un relecteur, permettant le merge dans une branche protégée.
  • GitHub/GitLab prennent en charge trois types de revue : Approve, Request Changes et Comment avec différents statuts de blocage.
  • Branch Protection Rules configurent le nombre minimum d’approbations et l’annulation automatique sur les nouveaux commits.
  • CODEOWNERS répartit les zones de responsabilité : l’approbation du propriétaire du code est obligatoire pour ses répertoires.
  • Le code review avant approbation doit inclure la logique, les tests, la sécurité — pas seulement le style.
  • L’approbation formelle sans revue est la principale erreur. Solution : limiter la taille du PR à 400 lignes.
  • Le pipeline CI/CD doit être vert avant l’approbation, même si le code semble correct.

Nous développerons une application mobile clé en main

IT Sectr crée des applications iOS et Android pour les startups et les entreprises depuis 2017. Nous vous conseillerons et vous proposerons la meilleure solution.

Discuter du projet

Lisez aussi