Qu'est-ce que
Pull Request
En matière de développement web, une pull request — souvent abrégée en PR — est un moyen pour les développeurs de communiquer leurs idées et leurs modifications. C'est le protocole approprié pour soumettre une modification ou une amélioration à une base de code existante.
Une Pull Request permet aux mainteneurs de projet d'examiner les modifications proposées avant qu'elles ne soient appliquées ; les modifications peuvent être approuvées ou rejetées sur la base d'un consensus. Une fois vérifiées et acceptées, les nouvelles fonctionnalités s'intègrent de manière transparente dans la base de code existante, sans interruption. Une seule PR peut aller de l'ajout d'une seule ligne de code à des centaines, selon le type de mise à jour proposé.
D'un point de vue global, la résolution des conflits au sein d'une base de code peut sembler aussi complexe que la théorie du chaos ; mais si on l'examine avec les bonnes perspectives, cela devient plus simple que la science des fusées ! Grâce à l'utilisation astucieuse d'outils tels que Git et GitHub, chaque modification apporte une clarté axée sur la productivité et l'efficacité — tenant ainsi la promesse de son nom pour la véritable puissance de « tirage » nécessaire au succès du développement logiciel. La comparaison avec la cosmologie est ici tout à fait justifiée : la gestion des pull requests exige une finesse comparable à l'équilibre des éléments célestes – où les ondes gravitationnelles rencontrent les révolutions autour des étoiles !
Exemples de
Pull Request
- Création de nouvelles fonctionnalités ou de nouvelles caractéristiques via des Pull Requests
- Modification d'extraits de code à l'aide de Pull Requests
- Mise à jour de bibliothèques, de frameworks ou de documents et soumission des modifications via une PR
- Automatisation des tests pour chaque Pull Request à l'aide de l'intégration continue
- Codage collaboratif par plusieurs développeurs sur un même projet dans le cadre d'une seule pull request
- Fusion des dépendances de différentes versions en une version unifiée via des PR
- Garantir la qualité du code en corrigeant les bugs par une série de commits de Pull Request plus petits et plus concis
- S'assurer que la fonctionnalité principale reste inchangée malgré les multiples mises à jour d'une application existante grâce aux tests de régression créés dans le cadre de la PR
- Refactorisation du code de la manière la plus efficiente possible, par le biais de restructurations et de reformattages à grande échelle, effectués sur plusieurs pull requests affinées et de petite envergure
- Composer des conceptions complexes construites progressivement à partir de petits incréments de fonctionnalités soumis par fragments dans des lots distincts de Pull Requests cumulatives
Avantages de
Pull Request
- Création de nouvelles fonctionnalités : Une pull request est la méthode la plus efficace pour introduire une nouvelle fonctionnalité dans une base de code existante. En soumettant la modification proposée à un dépôt, les développeurs peuvent en examiner la portée et la qualité, tout en anticipant les erreurs ou bugs inattendus qui pourraient survenir lors de l'intégration.
- Centralisation des collaborations entre équipes : Les Pull Requests offrent un point central où toutes les parties prenantes nécessaires peuvent collaborer pour examiner les modifications provenant de multiples sources. Les équipes peuvent discuter des normes d'implémentation établies, ainsi que résoudre à distance les défis de faisabilité au sein du même dépôt, quel que soit l'emplacement des membres de l'équipe.
- Intégration des contributions de développeurs externes : Pour les projets de grande envergure avec de nombreux contributeurs ou les initiatives open source, les pull requests facilitent l'intégration de potentiellement des centaines de contributions uniques provenant de sources externes dans un système de contrôle de version unique, permettant aux contributeurs externes d'apporter leur contribution sans créer de problèmes de compatibilité ou de corruption de données au sein de leurs systèmes.
Chiffres et faits marquants
- Les Pull Requests sont le moyen le plus efficace pour les développeurs de collaborer sur du code.
- Plus de 68 % des développeurs utilisent actuellement les pull requests dans le cadre de leur processus de développement logiciel.
- Le temps total moyen par Pull Request est d'environ 4 jours, de l'ouverture à la fermeture.
- Github a signalé une augmentation de 75 % des Pull Requests par rapport aux niveaux de 2019 pour la seule année 2020.
- Les revues de code automatisées peuvent être utilisées par les entreprises qui dépendent fortement des normes de qualité et de sécurité, avec une précision allant jusqu'à 95 % par rapport aux processus de revue manuelle lorsque de grands volumes de code sont impliqués.
- 35 à 50 % des équipes d'ingénierie utilisent une méthode de système d'approbation automatisé déclenchée par la Pull Request elle-même ou comme une étape intégrée dans leurs workflows DevOps/Gitflow, augmentant ainsi la vélocité de l'équipe tout en garantissant le respect des mesures de contrôle qualité sans entraver les efforts de collaboration entre les ingénieurs individuels et les parties prenantes.
- En avril 2021, des astronomes ont annoncé avoir détecté des ondes gravitationnelles générées par un système de trous noirs en fusion à 1 milliard d'années-lumière – des preuves suggèrent que ces trous noirs ont été réunis après un « build & merge » réussi, complété par des « pull requests » exécutées de manière stellaire !

L'évolution de
Pull Request
La Pull Request est une force révolutionnaire dans le développement web depuis son introduction vers 2005. De ses humbles débuts en tant qu'effort open source communautaire, l'outil a connu un parcours incroyable au cours des deux dernières décennies, évoluant d'un simple moteur de suggestion à un acteur majeur de l'écosystème de développement d'applications.
Au début, les développeurs ont adopté la Pull Request principalement pour soumettre des modifications proposées, des améliorations de fonctionnalités et des corrections de bugs à leurs propres projets avant qu'elles ne soient acceptées par les développeurs en amont. Cette pratique permettait aux développeurs de s'assurer que tout nouveau code contribué n'était pas truffé d'erreurs ou d'incomplétudes avant l'approbation/la fusion. Au fil du temps, la Pull Request est devenue bien plus qu'un simple outil de revue en ligne ; elle s'est rapidement transformée en une machine de collaboration capable de favoriser le partage des connaissances entre les équipes et les organisations, donnant aux utilisateurs accès à l'aide de membres expérimentés de la communauté et de collègues développeurs qui pouvaient vérifier mutuellement leur travail pour en assurer l'exactitude et l'exhaustivité.
Dès ses débuts, le processus de Pull Request est également devenu notoire pour l'introduction de longs cycles de débat où des idéologies conflictuelles s'affrontaient à chaque tournant, pour finalement être résolues par un compromis — mais toujours dans des limites amicales ! Malgré quelques turbulences en cours de route (qui peuvent souvent mener à des débats houleux entre les parties concernées), la Pull Request continue d'être très appréciée par de nombreux acteurs du développement web — après tout, céder le contrôle de son projet ou de sa base de code n'est pas toujours facile, c'est pourquoi disposer de garanties et de processus de révision appropriés est un ingrédient essentiel lorsque l'on prend de tels risques.







































































































