Le site

Ce site peut changer assez fréquemment.

Les sections qui suivent sont autant de conseils que j’ai envie de partager sans pour autant me poser en figure d’autorité.

J’ai eu des résultats variables avec les LLMs (Large Language Models) et les mauvaises surprises venaient bien souvent de mauvais prompts ou d’un mauvais choix d’outil, mais très rarement des limites de la technologie elle-même.

Testez

Mes sites personnels me servent de terrains de jeu pour expérimenter l’IA tout en progressant côté front.

Les bonnes pratiques sont globalement les mêmes que côté backend.

Si certaines paraissent évidentes, lorsqu’on a le “nez dans le code”, on peut facilement passer à côté.

Soyez précis

Des prompts comme “améliore le code” ou “change le style” sont beaucoup trop génériques et vont souvent détériorer les résultats, voire engendrer des erreurs en série.

Petits objectifs

Procédez par petites itérations sur des fonctionnalités bien délimitées comme “ajouter un formulaire d’inscription et une authentification avec un compte Google”.

Cette approche vous permettra aussi de mieux écrire vos prompts de manière générale.

Good Vibes

Le Vibe Coding n’est pas le Mal.

En revanche, dans sa forme actuelle, le code produit par ces plateformes est souvent difficile à évaluer, surtout si vous débutez, et il peut même masquer des erreurs importantes sous l’apparence d’un rendu qui vous convient à peu près.

En ce sens, c’est suffisant pour un prototype rapide mais assez risqué sur un produit final en production.

Il faut noter que la différence de qualité est nette entre l’offre gratuite et les plans payants.

Tous les outils ne se valent pas non plus suivant les buts recherchés, y compris ceux qui sont spécialisés dans le code.

Automatisez

On n’a pas attendu l’IA pour scripter tout ce que l’on pouvait et ainsi s’éviter des manipulations fastidieuses.

Certaines équipes développent même avec des plateformes d’automatisation qui existaient bien avant la vague IA.

Cependant, les technos s’intègrent de mieux en mieux aux plateformes de code comme GitHub (ou d’autres) et peuvent parfaitement reconnaître vos scripts, les améliorer, en créer de nouveaux, et ce, beaucoup plus rapidement que vous.

Des outils comme Copilot ou Jules intègrent la création de mini-scripts dans leurs plans détaillés.

Cela peut leur permettre de tester et résoudre automatiquement les erreurs générées par leurs propres modifs sans qu’on ait à copier-coller l’erreur en question dans le client (ex: Claude Desktop).

Il faut superviser et valider toutes les opérations bien sûr et les erreurs sont encore fréquentes mais, avec une utilisation raisonnée, les gains pourraient bientôt devenir significatifs.

Les erreurs persistantes des IA codeuses

Conditions logiques et vitesse d’exécution

C’est moins le cas avec Claude et les formules payantes, mais il faut faire attention aux conditions logiques dans le code pondu par l’IA.

Que ce soit via une interface web ou en agent de codage sur le projet, vous pouvez aboutir au contraire exact de ce que vous souhaitez mettre en place.

Ces derniers temps ChatGPT se propose de “révéler” des bugs cachés ou des “secrets méconnus des devs”, par exemple.

Dans ce cas, revoyez vos prompts, car l’outil a pu se perdre.

Pour un dev expérimenté, c’est suspect. Pour un débutant, la promesse est tentante.

Il faut accepter une certaine marge d’erreur mais la vitesse est un piège récurrent, quel que soit votre niveau d’expérience.

Code mort

Très courant.

L’outil part dans une direction. Vous le recadrez. Le code généré jusqu’ici n’est pas nettoyé.

Pour éviter ces situations pénibles :

  • imposez des commits atomiques : multiples commits bien délimités et portant sur très peu de fichiers voire un seul.
  • demander explicitement un clean du code non utilisé après chaque étape ou retour en arrière (ou écrivez-le dans la TODO du README pour l’agent)
  • tester automatiquement et manuellement le code fourni (la QA c’est vous)

Deprecated

Encore trop fréquent.

Vous demandez du code pour un composant Svelte, par exemple, l’outil n’est pas à jour avec les dernières techniques, notamment Svelte 5 en ce moment.

Le nouveau code est déjà déprécié.

C’est transposable à d’autres frameworks et langages de programmation.

C’est souvent pire sur la partie backend. Pas de miracle.

Solution :

  • demander explicitement du code compatible avec la version de vos dépendances
  • utilisez des outils de migration (humains) pour le code existant avant intervention des agents

Quelques ressources

La liste est volontairement restreinte et pourra évoluer fortement mais voici des liens à mettre en favoris :