Au cours des deux dernières années, mon équipe chez Work & Co et moi avons testé et intégré progressivement des outils de codage d'IA tels que Copilot, Cursor, Claude et ChatGPT pour nous aider à proposer des expériences Web utilisées par le grand public. Certes, après un certain scepticisme initial et quelques moments d’aha, divers outils d’IA ont trouvé leur place dans mon utilisation quotidienne. Au fil du temps, la liste des applications pour lesquelles nous avons jugé logique de laisser le relais à l’IA a commencé à s’allonger. J’ai donc décidé de partager quelques cas d’utilisation pratiques des outils d’IA pour ce que j’appelle le « développeur responsable ». Qu’est-ce que j’entends par développeur responsable ? Nous devons nous assurer que nous fournissons un code de qualité comme prévu par nos parties prenantes et nos clients. Nos contributions (c'est-à-dire les pull request) ne doivent pas devenir un fardeau pour nos collègues qui devront examiner et tester notre travail. De plus, si vous travaillez pour une entreprise : Les outils que nous utilisons doivent être approuvés par notre employeur. Les aspects sensibles tels que la sécurité et la confidentialité doivent être traités correctement : ne collez pas de secrets, de données client (PII) ou de code propriétaire dans des outils sans l'approbation de la politique. Traitez-le comme le code d'un inconnu sur Internet. Testez et vérifiez toujours. Remarque : cet article suppose une connaissance très basique des outils de codage d'IA tels que Copilot dans VSCode ou Cursor. Si tout cela vous semble totalement nouveau et inconnu, les didacticiels vidéo Github Copilot peuvent être un point de départ fantastique pour vous.
Applications utiles des outils de codage de l'IA Remarque : les exemples suivants se concentreront principalement sur l'utilisation d'applications Web basées sur JavaScript telles que React, Vue, Svelte ou Angular. Comprendre une base de code inconnue Il n’est pas rare de travailler sur des bases de code établies, et rejoindre une grande base de code existante peut être intimidant. Ouvrez simplement votre projet et votre agent IA (dans mon cas, Copilot Chat dans VSCode) et commencez à poser des questions comme vous le feriez pour un collègue. En général, j’aime parler à n’importe quel agent d’IA comme je le ferais avec un semblable humain. Voici un exemple d'invite plus raffiné : "Donnez-moi un aperçu de l'architecture de haut niveau : points d'entrée, routage, authentification, couche de données, outils de construction. Ensuite, listez 5 fichiers à lire dans l'ordre. Traitez les explications comme des hypothèses et confirmez en accédant aux fichiers référencés."
Vous pouvez continuer à poser des questions de suivi telles que « Comment le routage fonctionne-t-il en détail ? » ou « Parlez-moi du processus et des méthodes d'authentification » et cela vous mènera à des instructions utiles pour éclairer l'obscurité d'une base de code inconnue. Tri des modifications majeures lors de la mise à niveau des dépendances La mise à jour des packages npm, en particulier lorsqu'ils s'accompagnent de modifications importantes, peut être un travail fastidieux et chronophage, et vous obliger à déboguer un grand nombre de régressions. J'ai récemment dû mettre à niveau la bibliothèque de visualisation de données plotly.js vers une version majeure de la version 2 à la version 3, et par conséquent, l'étiquetage des axes dans certains graphiques a cessé de fonctionner. J'ai ensuite demandé à ChatGPT : "J'ai mis à jour mon projet Angular qui utilise Plotly. J'ai mis à jour le package plotly.js - dist de la version 2.35.2 à 3.1.0 - et maintenant les étiquettes sur les axes x et y ont disparu. Que s'est-il passé ?"
L'agent est revenu rapidement avec une solution (voyez par vous-même ci-dessous). Remarque : j'ai quand même vérifié l'explication par rapport au guide de migration officiel avant d'envoyer le correctif.
Réplication des refactors en toute sécurité dans les fichiers Les bases de code croissantes dévoilent très certainement des opportunités de consolidation de code. Par exemple, vous remarquez une duplication de code dans des fichiers qui peuvent être extraits dans une seule fonction ou un seul composant. En conséquence, vous décidez de créer un composant partagé qui peut être inclus à la place et d'effectuer cette refactorisation dans un seul fichier. Désormais, au lieu d'effectuer manuellement ces modifications sur vos fichiers restants, vous demandez à votre agent de déployer le refactor pour vous. Les agents vous permettent de sélectionner plusieurs fichiers comme contexte. Une fois la refactorisation d'un fichier terminée, je peux ajouter les fichiers refactorisés et intacts dans leur contexte et inviter l'agent à déployer les modifications sur d'autres fichiers comme ceci : "Répliquer également les modifications que j'ai apportées dans le fichier A dans le fichier B". Implémentation de fonctionnalités dans des technologies inconnues L’un de mes moments préférés en utilisant les outils de codage d’IA a été lorsqu’ils m’ont aidé à créer une animation de dégradé animée assez complexe en GLSL, un langage que je ne connais pas bien. Lors d'un projet récent, nos concepteurs ont imaginé un dégradé animé comme état de chargement sur un objet 3D. J'ai vraiment aimé le concept et je voulais offrir quelque chose d'unique et d'excitant à nos clients. Leproblème : je n'ai eu que deux jours pour le mettre en œuvre, et GLSL a une courbe d'apprentissage assez abrupte. Encore une fois, un outil d'IA (dans ce cas, ChatGPT) s'est avéré utile, et j'ai commencé tout simplement à l'inviter à créer pour moi un fichier HTML autonome qui restitue un canevas et un dégradé de couleurs animé très simple. Étape après étape, j'ai demandé à l'IA d'y ajouter plus de finesse jusqu'à ce que j'arrive à un résultat décent afin que je puisse commencer à intégrer le shader dans ma base de code actuelle. Le résultat final : nos clients étaient très satisfaits et nous avons livré une fonctionnalité complexe en peu de temps grâce à l'IA. Tests d'écriture D’après mon expérience, les projets disposent rarement de suffisamment de temps pour écrire et maintenir en permanence une suite appropriée de tests unitaires et d’intégration, et en plus de cela, de nombreux développeurs n’aiment pas vraiment la tâche d’écrire des tests. Inviter votre assistant IA à configurer et à écrire des tests pour vous est tout à fait possible et peut être effectué en peu de temps. Bien sûr, en tant que développeur, vous devez toujours vous assurer que vos tests examinent réellement les parties critiques de votre application et suivent des principes de test sensés, mais vous pouvez « sous-traiter » l'écriture des tests à notre assistant d'IA. Exemple d'invite : "Écrivez des tests unitaires pour cette fonction à l'aide de Jest. Couvrez le chemin heureux, les cas extrêmes et les modes de défaillance. Expliquez pourquoi chaque test existe. "
Vous pouvez même transmettre les meilleures pratiques de test du gourou des tests Kent C. Dodds sous forme de lignes directrices à votre agent, comme ci-dessous :
Outillage interne Un peu similaire à l'exemple de shader mentionné précédemment, j'ai récemment été chargé d'analyser la duplication de code dans une base de code et de comparer avant et après un refactor. Ce n’est certainement pas une tâche triviale si vous ne voulez pas emprunter la voie fastidieuse de comparaison manuelle des fichiers. Avec l'aide de Copilot, j'ai créé un script qui analysait pour moi la duplication de code, arrangeait et ordonnait la sortie dans un tableau et l'exportait vers Excel. Ensuite, je suis allé plus loin. Une fois notre refactorisation de code terminée, j'ai invité l'agent à prendre ma feuille Excel existante comme référence, à ajouter l'état actuel de duplication dans des colonnes séparées et à calculer le delta. Mise à jour du code écrit il y a longtemps Récemment, un de mes anciens clients m’a contacté car, au fil du temps, certaines fonctionnalités ne fonctionnaient plus correctement sur son site Web. Le hic : le site Web a été construit il y a près de dix ans, et JavaScript et SCSS utilisaient des outils de compilation plutôt anciens comme requireJS, et la configuration nécessitait une ancienne version de Node.js qui ne fonctionnerait même pas sur mon MacBook 2025. Mettre à jour l'ensemble du processus de construction à la main m'aurait pris des jours, j'ai donc décidé de demander à l'agent IA : « Pouvez-vous mettre à jour le processus de construction JS et SCSS vers une pile allégée 2025 comme Vite ? C'est certainement le cas, et après environ une heure de raffinement avec l'agent, ma version SCSS et JS est passée à Vite, et j'ai pu me concentrer sur la correction des bogues. Assurez-vous simplement de valider correctement la sortie et les fichiers compilés lorsque vous effectuez de telles modifications intégrales dans votre processus de construction. Résumer et rédiger Souhaitez-vous résumer toutes vos récentes modifications de code en une phrase pour un message de validation, ou disposez-vous d'une longue liste de validations et souhaitez-vous les résumer en trois puces ? Pas de problème, laissez l’IA s’en occuper, mais assurez-vous de le relire. Un exemple d'invite est aussi simple que d'envoyer un message à un autre humain : « Veuillez résumer mes récentes modifications sous forme de puces concises ». Mon conseil ici serait d'utiliser GPT pour écrire avec prudence, et comme pour le code, veuillez vérifier le résultat avant de l'envoyer ou de le soumettre. Recommandations et meilleures pratiques Invite L’un des avantages pas si évidents de l’utilisation de l’IA est que plus vos invites sont spécifiques et adaptées, meilleur est le résultat. Le processus d'invite d'un agent IA nous oblige à formuler nos exigences aussi précisément que possible avant d'écrire et de coder. C'est pourquoi, en règle générale, je recommande fortement d'être aussi précis que possible dans vos invites. Ryan Florence, co-auteur de Remix, suggère un moyen simple mais puissant d'améliorer ce processus en terminant votre invite initiale par la phrase : « Avant de commencer, avez-vous des questions à me poser ?
À ce stade, l'IA revient généralement avec des questions utiles où vous pouvez clarifier votre intention spécifique, guidant l'agent pour vous proposer une approche plus adaptée à votre tâche.
Utilisez le contrôle de version et travaillez dans des morceaux digestibles Utiliser le contrôle de version comme git est non seulement utile lorsque vous collaborez en équipe sur une seule base de code, mais également pour vous fournir en tant quecontributeur individuel avec des points stables auxquels revenir en cas d’urgence. En raison de sa nature non déterministe, l’IA peut parfois devenir malveillante et apporter des changements qui ne sont tout simplement pas utiles pour ce que vous essayez d’atteindre et éventuellement casser les choses de manière irréparable. Diviser votre travail en plusieurs commits vous aidera à créer des points stables auxquels vous pourrez revenir au cas où les choses tourneraient mal. Et vos coéquipiers vous remercieront également, car ils auront plus de facilité à réviser votre code lorsqu'il sera divisé en morceaux sémantiquement bien structurés. Réviser en profondeur Il s'agit plutôt d'une bonne pratique générale, mais à mon avis, cela devient encore plus important lorsque vous utilisez des outils d'IA pour le travail de développement : soyez le premier réviseur critique de votre code. Assurez-vous de prendre le temps d'examiner vos modifications ligne par ligne, tout comme vous le feriez pour réviser le code de quelqu'un d'autre, et ne soumettez votre travail qu'une fois qu'il a passé votre propre auto-évaluation. "Deux choses sont vraies pour moi en ce moment : les agents IA sont incroyables et apportent un énorme gain de productivité. Ce sont aussi d'énormes machines à gâcher si vous éteignez votre cerveau et lâchez complètement prise."
Conclusion et réflexions critiques À mon avis, les outils de codage d’IA peuvent améliorer notre productivité en tant que développeurs au quotidien et libérer la capacité mentale pour davantage de planification et de réflexion de haut niveau. Ils nous obligent à articuler le résultat souhaité avec des détails méticuleux. Toute IA peut parfois avoir des hallucinations, ce qui signifie essentiellement qu’elle se situe sur un ton confiant. Assurez-vous donc de vérifier et de tester, surtout en cas de doute. L’IA n’est pas une solution miracle, et je crois que l’excellence et la capacité à résoudre des problèmes en tant que développeur ne seront jamais démodées. Pour les développeurs qui débutent dans leur carrière, ces outils peuvent être très tentants de faire la majorité du travail à leur place. Ce qui peut être perdu ici, c'est le travail souvent épuisant et pénible sur les bugs et les problèmes difficiles à déboguer et à résoudre, alias « le travail ». Même Lee Robinson, de Cursor AI, remet cela en question dans l'un de ses articles :
Les outils de codage d’IA évoluent à un rythme rapide et je suis enthousiasmé par ce qui va suivre. J'espère que vous avez trouvé cet article et ses conseils utiles et que vous êtes impatient d'en essayer certains par vous-même.