Comment vois-tu ton métier évoluer avec l'IA ? - FAQ #1
"Vous êtes bien sur le répondeur de Human Coders !"
On a déjà abordé le sujet de l'IA dans le format répondeur et on a vu que c'est un thème qui vous passionne et interroge ! On s'est dit qu'un format plus développé pourrait être utile...
•• TIMECODES ••
00:00:00 Introduction
01:29:21 : Qu’utilisez-vous en termes d’IA sur le dev au quotidien ?
03:25:08 : Sur quelles types de tâche est-ce le plus utile pour vous ?
11:57:12 : Question de Eddy de HelloAsso : Faut-il mettre l’IA entre les mains de tous les développeurs ?
19:07:10 : Question de Charles Duvigneau : Peut-on utiliser l’IA pour générer de la documentation et aider à comprendre du code legacy ?
27:57:13 : Question de Fabien Plart : Peut-on utiliser l’IA pour faire des choses que l’on ne maîtrise pas ?
36:01:15 : Question de Bich Truong : Est-ce que vous prenez aussi en compte la question éthique lors de l’utilisation de l’IA ? Sur le droit, par exemple.
39:59:12 : Comment imaginez-vous que l’IA changera notre métier dans quelques mois/années ?
47:07:22 : Le mot de la fin
•• NOS FORMATIONS ••
https://www.humancoders.com/formations
•• GUESTS ••
David Leuliette, formateur React Native pour Human Coders
https://www.linkedin.com/in/david-leuliette/https://twitter.com/intent/user?screen_name=flexbox_
Julien Cretel, formateur Go et Hacking et Sécurité des applications web pour Human Coders
https://infosec.exchange/@jub0bs
Vincent Daubry, développeur pour Human Coders et CTO de Corpogames
https://www.linkedin.com/in/vincent-daubry-74937428/https://x.com/vdaubry
Camille Roux, fondateur de Human Coders
https://www.linkedin.com/in/camilleroux/
https://twitter.com/camilleroux
Sommaire de l'épisode
Transcription de l'épisode
Bonjour à toutes et à tous, je suis Matthieu Segret et je vous souhaite la bienvenue sur la FAQ des Human Coders. Je suis content d'être avec vous pour cette première édition de ce nouveau format. Nous allons passer un petit moment ensemble avec nos invités pour répondre à vos questions sur un thème en relation avec notre métier de développeur. Nous allons aborder dans ce premier épisode la question de l'IA dans notre quotidien de développeur. C'est un sujet que nous avions déjà abordé dans notre format répondeur et vous aviez été nombreux à y répondre. On voit que c'est un sujet qui passionne et qui interroge. C'est pour cela que nous nous sommes dit qu'un format un peu plus long et développé pourrait être utile.
Nous avons avec nous trois invités :
- Vincent Daubry, développeur chez Human Coders et CTO de Corpogames.
- David Leuliette, développeur React Native chez Wizzy Shop Today et formateur React Native chez Human Coders.
- Julien Cretel, développeur et chercheur en sécurité web, également formateur Go et en sécurité chez Human Coders.
- Camille Roux, mon associé chez Human Coders.
L'usage de l'IA au quotidien
Matthieu Segret : Bienvenue à tous. L'idée est de parcourir différentes questions. La première que j'aimerais vous poser : qu'utilisez-vous en termes d'IA dans votre quotidien de développeur ?
David Leuliette : Je suis un "early adopter". Quand j'ai vu GitHub Copilot en 2021 en preview, j'ai tout de suite rejoint la liste d'attente et j'ai payé dès que la version gratuite s'est terminée. C'est donc GitHub Copilot pour moi.
Vincent Daubry : Pareil, gros fan de GitHub Copilot comme plein de gens. J'utilise aussi pas mal Cursor comme IDE et les LLM classiques type ChatGPT ou Claude. Ce sont les principaux outils.
Julien Cretel : J'ai testé Copilot, ChatGPT et Midjourney quand c'est sorti. Mais je m'inscris probablement en faux par rapport à certains d'entre vous : je suis assez dubitatif sur les avantages présumés de l'IA. À ce stade, si j'utilise de l'IA, c'est malgré moi. Si je peux éviter, j'évite.
Matthieu Segret : C'est intéressant d'avoir des retours différents. Julien, nous explorerons tes réticences plus tard. Si vous utilisez l'IA, sur quel type de tâche est-ce le plus intéressant ?
David Leuliette : C'est surtout pour des choses très précises en "input/output". Par exemple, extraire de la logique vers un custom hook en React. C'est parfois pénible avec beaucoup de boilerplate à mettre en place. Ce raccourci-là est utile. J'aime aussi l'aide sur la syntaxe, comme les fermetures de parenthèses. Par contre, je ne lui demande pas de me faire une application entière, le scope est trop grand. Enfin, l'écriture de tests fonctionne bien : je sélectionne ma fonction et je lui demande d'écrire des tests pour vérifier différents cas. Ce que je mettrais deux heures à faire à la main prend 10 secondes.
Julien Cretel : Il m'est arrivé d'utiliser ChatGPT pour voir les réponses sur des questions de sécurité web. Je regarde comment il corrigerait une faille ou si une configuration est bonne. Comme je sais que des développeurs utilisent ChatGPT pour ça, ça m'intéresse de voir comment l'outil répond pour avoir des idées sur la manière d'attaquer des applications ou comment les gens introduisent des failles dans leur code.
Vincent Daubry : L'autocomplétion est souvent un gain de temps, même si ce n'est pas correct à 100 %. Les tests unitaires sont probablement ce que j'utilise le plus. On part d'un premier jet généré qu'on relit et modifie. Le gain de temps est conséquent. J'ai aussi des besoins ponctuels sur l'optimisation de requêtes SQL. Enfin, l'aspect brainstorming est cool quand on n'a pas d'autre développeur sous la main pour discuter d'une implémentation.
Camille Roux : J'utilise Cursor depuis quelques mois, c'est extrêmement utile. C'est une autocomplétion avancée : au lieu de compléter juste la méthode, il propose le petit bloc de code. Je l'ai utilisé pour faire du Three.js, une API JS pour la 3D qui est assez verbeuse. C'est magique pour apprendre. Je pose des questions sur l'utilité d'une ligne ou si je peux en enlever une. Cursor est censé pouvoir indexer les documentations, même si aujourd'hui le robot qui les parcourt n'est pas encore parfait.
Matthieu Segret : Ce qui est bien avec Cursor, c'est que c'est basé sur VS Code. On retrouve son environnement habituel avec ces fonctionnalités d'assistance par IA en plus.
David Leuliette : Cursor est un fork de VS Code. J'attends que Microsoft le rachète pour que ce soit directement intégré, j'ai la flemme de changer d'éditeur !
Camille Roux : Ils ont plusieurs modèles intégrés : Cursor Small (très rapide), ChatGPT et Claude. On peut les appeler "inline" pour refactoriser quelques lignes, ou via un chat qui propose des modifications sur les fichiers. Ils ont aussi introduit "Composer" qui peut proposer des modifications costaudes allant jusqu'à la création ou la suppression de fichiers.
L'IA entre toutes les mains ?
Matthieu Segret : Nous avons une question audio d'Eddy de HelloAsso.
Eddy (audio) : Contrairement à ce qui a été dit dans le format répondeur, je pense qu'il est possible de faire bien plus qu'écrire dix lignes de code. J'ai développé une application mobile en Flutter assez complexe en utilisant l'IA pour 90 % du code. Néanmoins, il y a une vraie réticence chez certains collègues : doit-on mettre l'IA dans les mains de tous les développeurs, notamment les juniors ? Et même sur les seniors, est-ce que ça ne va pas les rendre plus bêtes ?
David Leuliette : Pour moi, c'est une question d'outillage. Est-ce que tu utilises Alfred sur ta machine ? Si non, pourquoi ? Ce n'est pas tant l'IA que l'outil et la capacité à changer sa façon de travailler pour être plus efficace. Il faut essayer, certains seront réceptifs, d'autres non.
Julien Cretel : Ce n'est pas à moi de dire qui a le droit d'utiliser l'IA. Mais en université, ça pose de gros problèmes pour les étudiants en informatique qui utilisent l'outil pour plagier. Certains outils sont des machines à plagier. La question est plutôt : quel degré de confiance accorde-t-on aux résultats ? Si on garde un doute sain, il n'y a pas de mal. Mais il ne faut pas mettre l'IA dans la bouche de tous les business men et women.
Vincent Daubry : Déléguer complètement son code à une IA en pensant qu'elle va coder à notre place est extrêmement naïf. Il faut toujours relire, modifier et remettre en question le code produit. Si on fait ça, la majorité des problèmes sont minimisés. Une étude de Stack Overflow montre que 75 % des développeurs utilisent ou prévoient d'utiliser des outils d'IA cette année. C'est inéluctable, l'IA fait maintenant partie de la boîte à outils. C'est comme à la sortie de Stack Overflow il y a 15 ans : on parlait des "développeurs copier-coller". L'industrie s'est adaptée et a identifié les bons et mauvais usages.
Julien Cretel : Il faut prendre les rapports de Stack Overflow avec des pincettes car ils ont une solution estampillée IA. Leur solution a été entraînée sur le contenu généré par la communauté, ce qui entre en conflit avec la licence initiale. Beaucoup de membres ont quitté la plateforme pour cette raison.
Documentation et code legacy
Matthieu Segret : Une question de Charles de chez Theodo.
Charles (audio) : Est-ce qu'on va trouver un produit qui nous aide dans la documentation de notre code, à la fois sur le nouveau code mais aussi sur de gros sujets legacy pour comprendre la base de code ?
David Leuliette : Je le fais déjà en TypeScript, ça autogénère de la JSDoc. GitHub Copilot prépare aussi un agent qui pourra générer de la doc dans les Pull Requests. Par contre, sur un projet legacy où les variables et fonctions n'ont aucun sens, je ne vois pas comment l'IA pourrait deviner ce que ça fait sans halluciner.
Camille Roux : J'ai un exemple sur Three.js. J'ai pris une partie de code minifié d'un projet en ligne et je l'ai donné à Claude dans Cursor. Comme il connaissait la bibliothèque, il a pu me le remettre au propre avec des variables lisibles et m'expliquer ce que faisait le code. C'était très fort.
Vincent Daubry : C'est un excellent cas d'usage. Il y a des projets comme TolyGPT sur la base de code de Solana qui permettent de poser des questions tech sur le code via une interface de chat. Le projet "Autodoc" sur GitHub s'appuie sur LangChain pour créer une interface de chat sur une base de code. C'est une autre vision de la documentation : au lieu de lire une doc figée, on interagit avec.
Julien Cretel : Le risque en demandant à une IA de générer de la doc, c'est qu'elle colle trop à l'implémentation. Quand on écrit de la doc, on veut garantir un comportement général qui peut parfois dévier un peu de l'implémentation stricte. L'IA risque de trop spécifier le comportement actuel au lieu de l'intention.
Vincent Daubry : Je suis d'accord, mais la doc et les tests sont souvent les parents pauvres des projets. Si l'IA permet de passer de 0 à 1 et d'améliorer l'état général, c'est bon à prendre, tant qu'on continue à y dédier du temps humain pour la qualité.
Explorer l'inconnu avec l'IA
Matthieu Segret : Question de Fabien.
Fabien (audio) : J'ai codé des projets en Python sans en avoir jamais fait grâce à mon expérience de développeur. Là où j'ai des difficultés, c'est pour explorer d'autres manières de faire, comme l'architecture hexagonale ou le DDD, dont je n'ai pas la connaissance pour guider l'IA. Comment l'IA peut-elle me donner les clés pour explorer des choses que je ne maîtrise pas ?
Camille Roux : Le chat de Cursor ou la fonction Composer sont très utiles pour donner une structure de fichiers ou des patterns complexes. L'IA peut nous aider à construire cet ensemble.
Matthieu Segret : C'est une question d'ergonomie. Aujourd'hui, on utilise des bibliothèques sans en comprendre tout le code, juste l'API. Peut-être que demain l'IA nous générera des bibliothèques "boîtes noires" à partir de use cases basiques.
Vincent Daubry : Quand on aborde un sujet qu'on ne maîtrise pas, il faut être d'autant plus vigilant. C'est là que les hallucinations sont les plus difficiles à repérer. L'IA apporte un côté moins solitaire que la lecture de doc ou de tutos. On peut lui dire "j'ai lu ça, je n'ai pas compris, explique-moi". Pour coder une Todo List en Rust en utilisant les principes de l'architecture hexagonale, ChatGPT ou Claude sont plutôt bons pour illustrer les grands principes.
Julien Cretel : Attention aux hallucinations. On parle parfois de "bullshitteurs" (bonimenteurs) pour les LLM : ils racontent des histoires avec une assurance incroyable. Si vous posez des questions sur CORS (Cross-Origin Resource Sharing) à ChatGPT, il sort souvent des bêtises car il y a énormément de mauvaise compréhension du sujet sur le web et il a été entraîné là-dessus. C'est un cercle vicieux : "garbage in, garbage out".
Éthique et propriété intellectuelle
Matthieu Segret : Question de Bich.
Bich (audio) : Lorsque vous utilisez une IA, est-ce que vous considérez les aspects éthiques ? Si oui, lesquels ?
Julien Cretel : Le problème de l'attribution est énorme. Aucun de ces outils ne peut dire d'où vient précisément le bloc de code généré. Les données d'entraînement ne sont pas toujours sous des licences compatibles avec cet usage. OpenAI et les autres vont se retrouver avec des procès au fesses, c'est déjà le cas. Il y a aussi le problème des biais : s'il y a des biais dans les données d'entraînement, l'IA agit comme un multiplicateur de ces biais.
Matthieu Segret : Il y a aussi l'aspect écologique. À chaque fois qu'on utilise l'autocomplétion avancée, il y a une requête web et un calcul derrière. Si tous les développeurs utilisent ça demain, ça pose des questions de consommation de ressources.
L'évolution du métier de développeur
Matthieu Segret : Comment imaginez-vous que l'IA changera notre métier dans quelques mois ou années ?
David Leuliette : Je crains que notre job devienne plus difficile car les gens diront "mais j'ai fait une app avec une IA, c'est facile". On risque de dénigrer encore plus notre travail. Mais je rêve du jour où on aura plus besoin de faire des apps en "no-code" pour les choses simples.
Julien Cretel : Produire du code plus vite n'est pas forcément synonyme de productivité. Ça risque de créer des "tornades tactiques" : des développeurs qui pondent du code très vite, partent, et laissent un problème de maintenance énorme pour le reste de l'équipe. On aura peut-être besoin de nous pour sauver la mise dans quelques années.
Vincent Daubry : Je ne suis pas très inquiet. Sam Altman (OpenAI) dit que la demande en logiciel explose et que le monde est contraint par l'offre de développeurs. En rendant les développeurs deux ou dix fois plus productifs, on ne divise pas le nombre de développeurs, on permet de traiter plus de projets. Le logiciel appelle le logiciel. Plus on digitalise le monde, plus il y a de demande. C'est exponentiel. On est déjà dix fois plus productifs aujourd'hui qu'en 2000, et pourtant il n'y a jamais eu autant de besoin de développeurs.
Matthieu Segret : L'IA peut nous aider sur les tâches laborieuses, comme les migrations de versions de frameworks. Si elle peut nous faire gagner du temps là-dessus, c'est génial. On peut aussi imaginer une IA capable d'analyser une stack trace ou une console pour nous aider à débugger visuellement.
Camille Roux : Je m'en sers beaucoup pour le code créatif. Les hallucinations peuvent devenir des qualités : l'inattendu peut devenir esthétique et proposer des palettes de couleurs ou des formes auxquelles je n'aurais pas pensé.
Julien Cretel : Je recommande l'outil "Gandalf" pour s'initier au "Prompt Injection". C'est un petit LLM avec des garde-fous, et le but est de trouver un moyen de les contourner pour obtenir des informations sensibles (comme la recette de la dynamite). C'est ludique et ça montre bien les limitations des LLM.
David Leuliette : Un dernier conseil : les traductions. Personne n'aime traduire les fichiers i18n. Copilot est assez intelligent pour traduire les valeurs sans toucher aux clés de traduction. C'est un super gain de temps.
Vincent Daubry : On s'en sert aussi pour les traductions dynamiques via l'API d'OpenAI ou Anthropic, ça marche extrêmement bien avec un taux d'erreur proche de zéro. Testez, jouez avec les nouveaux outils qui sortent chaque mois !
Matthieu Segret : Merci à tous pour ce super échange. Si vous avez aimé ce podcast, n'hésitez pas à liker ou à nous suivre sur Spotify et Apple Podcasts. Nous construisons ce podcast avec vous, donc n'hésitez pas à proposer des idées de sujets sur notre site ou sur notre Discord. D'ici là, prenez soin de vous et à bientôt pour un prochain épisode !
Informations sur l'épisode
- Date de publication
- Saison
- 2
- Épisode
- 5
- Durée
- 53:10
- Série
- Human Coders Podcast