Trois Java Champions ayant plus de dix ans d’expérience ont expliqué comment ils utilisent GitHub Copilot dans des projets en production et open source. Leurs exemples vont de la création de fonctionnalités à la migration de supports pédagogiques, en passant par l’analyse de bugs. Dans leurs différentes approches, ils soulignent que l’IA peut accélérer l’exécution, mais que les développeurs doivent toujours fournir du contexte, vérifier les résultats et assumer la responsabilité de ce qui est publié.
Vlad Mihalcea utilise Copilot dans IntelliJ IDEA pour analyser du code et prototyper des fonctionnalités pour Hypersistence Utils et Hypersistence Optimizer. Il a indiqué qu’une application web permettant de consulter l’historique des événements d’un optimiseur de performances — un projet dont il pensait auparavant qu’il lui faudrait des semaines pour le réaliser — a été mise en œuvre en deux jours avec Copilot. Il examine toujours les plans proposés comme le code généré, et utilise des compétences personnalisées pour harmoniser la documentation avec son style d’écriture et les conventions existantes du projet.
Patrick Baumgartner a décrit trois utilisations différentes. Dans l’un des cas, Copilot l’a aidé à migrer environ 900 diapositives réparties sur 15 présentations de Reveal.js vers Marp. Le travail a pris environ huit à dix heures. Baumgartner a vérifié les résultats à l’aide de captures d’écran, de comparaisons visuelles et algorithmiques, d’examens côte à côte des animations et de comparaisons de fichiers PDF, tout en conservant la responsabilité du contenu et des objectifs pédagogiques.
Dans un autre cas, un utilisateur a signalé que la touche Entrée ne fonctionnait pas dans certains formulaires d’une application de terminal. Baumgartner a utilisé Copilot pour reproduire le problème avec des tests d’interface utilisateur, identifier le problème sous-jacent dans le projet Tamboui et soumettre un correctif qui a été fusionné. Il s’est également servi de l’outil pour trouver une manière plus compacte de représenter les étapes des tests lorsque les descriptions initiales dépassaient le contexte disponible.
Son troisième exemple est une application d’apprentissage des mathématiques conçue autour du programme scolaire suisse. En travaillant avec Copilot, il a exploré différentes approches pédagogiques et réexaminé son idée initiale de créer une application universelle. L’application qui en a résulté prend en charge l’allemand, le français, l’italien et l’anglais, et comprend des modes d’entraînement et à deux joueurs. Elle n’a pas de backend : les données des utilisateurs restent donc sur l’appareil.
Baumgartner a déclaré qu’il utilise désormais principalement des workflows agentiques, en choisissant un éditeur lorsqu’il a besoin d’un retour visuel précis et un agent de programmation en ligne de commande pour les tâches plus importantes. Il a également recommandé de discuter des exigences avant de demander à un agent de mettre en œuvre un changement conséquent, d’examiner un plan et de définir des vérifications propres à la tâche pour confirmer que le travail est terminé. Lui et Mihalcea ont tous deux présenté les compétences réutilisables comme un moyen de transmettre les conventions d’un projet et les enseignements tirés des travaux précédents aux tâches futures.
Leurs témoignages présentent Copilot comme un outil qui accélère le travail et aide à remettre les idées en question, et non comme un substitut au jugement des ingénieurs. Le principe directeur de Baumgartner était de déléguer l’exécution, pas la responsabilité ; il a déclaré que les développeurs doivent toujours examiner et tester eux-mêmes les résultats.
Sources: GitHub Blog.