Dans cet épisode, nous explorons l’univers des assistants de code AI. Comment ces outils transforment-ils notre façon de coder ? Quels sont leurs atouts et leurs limites ? Nos invités Philippe Charrière et Kevin Aubry nous éclairent sur ces technologies qui bouleversent les pratiques des développeurs.
Enregistré le 8 avril 2025
Téléchargement de l’épisode LesCastCodeurs-Episode-326.mp3 ou en vidéo sur YouTube.
Interview
Ta vie ton oeuvre
- Peux-tu te présenter brièvement à nos auditeurs?
- Quelle est ton expérience personnelle avec ces outils?
- Tu l’utilises chez ton employeur ou juste pour tes projets personnels?
- Qu’est-ce qui t’a attiré dans ce domaine en particulier?
Introduction à la techno
- Qu’est-ce qu’un assistant de code AI exactement? Comment le définirais-tu?
- Quels sont les principaux assistants de code disponibles aujourd’hui sur le marché?
- Quand et pourquoi ces outils ont-ils commencé à émerger?
- Quelle est la différence entre un assistant de code AI et un simple outil de complétion de code?
La techno en concepts
- Quels sont les fondements technologiques des assistants de code actuels?
- Quels sont les différences de flow entre un outil dédié genre CursorAI, GitHub Copilot, un chat LLM générique de type Claude ou un outil à la Devoxx Genie?
- Il y a aussi des outils de terminal, en ligne de commande ou en desktop dédié genre Goose de Block - comment ceux-ci se positionnent-ils?
- Quelles sont les différentes approches d’intégration dans les environnements de développement?
- Comment se positionnent les assistants par rapport à d’autres outils d’aide au développement?
- Quels sont les modèles économiques actuels (open source vs propriétaire, SaaS vs on-premise)?
- Qu’en est-il de la confidentialité du code analysé par ces outils?
- Comment un développeur Java typique intègre-t-il un assistant de code dans son workflow quotidien?
- Quels sont les assistants les plus adaptés à l’écosystème Java spécifiquement?
- Vous utilisez plutôt VSCode? Ça marche bien dans IntelliJ IDEA?
- Quelles sont les bonnes pratiques pour formuler des requêtes efficaces à un assistant?
- Quelles tâches répétitives ou complexes sont particulièrement bien gérées par ces assistants?
- Quels sont les tâches aujourd’hui où l’assistant de code excelle: squelette de code initial, ajout de fonctionnalité, écrire les tests, corriger un bug, la sécurité, grosse migration de version ou de framework?
- Comment évaluer la qualité du code généré? Quelles vérifications faire systématiquement?
- Quelle est ton expérience des hallucinations? Des trucs rigolos à raconter?
- Comment évoluent les pratiques de pair programming avec ces outils?
- C’est quoi ton budget code assistance / LLM?
Sous le capot
Pas sûr de pouvoir faire cette partie sous le capot si on a des interview orienté utilisateur.
- Comment ces assistants sont-ils entraînés spécifiquement pour comprendre le code?
- Quelle est la différence entre le fine-tuning pour le code et pour le langage naturel?
- Comment fonctionnent les techniques de retrieval augmentation pour le contexte du projet?
- Comment les assistants gèrent-ils les dépendances et la structure des projets complexes?
- Quels sont les défis techniques majeurs pour analyser du code Java avec ses spécificités?
- Comment les modèles réussissent-ils (ou écho