Le Vibe Coding

Le nouveau concept à la mode, le ‘vibe coding’. Tout un concept néo-futuriste où Monsieur l’ordinateur répond à toutes nos interrogations de développeurs modernes. On est pas là pour souffrir et passer des heures à lire des tutoriels et des forums pour pouvoir programmer, d’accord. L’ordinateur est assez grand pour faire ce qu’on lui demande. 

Nouveau concept ? Les commerciaux sont des professionnels du recyclage. Je n’avais pas commencé mes études que j’entendais déjà qu’il ne servait à rien d’apprendre à programmer. Les ordinateurs le feraient à notre place. Et puis, les outils étaient tellement évolués que même une secrétaire pouvait créer des applications. 

Après le low-code et le no-code voici le ‘vibe coding’. Le concept ? Le code est écrit par une intelligence artificielle. Les plus grandes sociétés d’IA s’y sont lancées et proposent leurs modèles spécialisés dans le domaine. Alors jeune programmeur ? Entre perdre des heures à chercher ou finir ton travail quotidien en 5 minutes que préfères-tu ?

La question est vite répondue. Les promesses n’engagent que ceux qui y croient. Mais afin de ne pas faire mon vieux con, j’ai voulu tester le concept. J’en ai déjà parlé dans la chronique du jour. Le test était simple. Aucune difficulté. Une démonstration commerciale où tout se passe bien parce que le cadre est maîtrisé. 

Recommençons le test dans un cadre que je ne maîtrise pas. Dans le cadre professionnel, je reçois un fichier XML. La structure de ce fichier ne correspond pas à ce qu’attend l’application suivante. Modifier le fichier d’origine pour faire que sa structure corresponde. Et comme on est en informatique tout doit être automatique. 

Bienvenue dans le monde des ETL. Les ETL, pour “Extract, Transform and Load” ou en bon français “Extraire, Transformer et Charger”, sont des logiciels qui se chargent de transformer les flux de données avant de les renvoyer vers les applications clientes. Dans mon cas, seule la partie de transformation m’intéresse. 

Et étant déjà dans une chaîne de traitement, les marges de manœuvre sont limitées. Je n’ai droit qu’au mécanisme de transformation XSL ou XSLT. Ma formation à ces mécanismes se résume à une présentation de 2 jours il y a 8 ans sur laquelle 3 heures ont été consacrées au XSLT. Niveau expert pour tout collaborateur de SSII.

Mais puisque j’expérimente le ‘vibe coding’, tout devrait bien se passer. Premier candidat, Copilot. Le besoin exprimé sur un chat, il me renvoie immédiatement une feuille de style qui permet la transformation de mon flux XML. Il me montre en plus un exemple d’exécution. Méfiant, je lui demande comment je peux le valider de mon côté.

Je prends un fichier XML et la feuille XSL proposé par l’IA. Je passe le tout à la moulinette et … çà échoue. Et avec mes connaissances de ‘vibe codeur’, je ne comprends pas pourquoi. Pas grave, le ‘vibe codeur’ sait demander à l’IA d’où vient le problème. Moi, j’interroge une autre IA, Le chat, qui me renvoie une autre feuille XSL qui elle passe le test.  

On peut être incompétent dans une technologie et produire du code qui fonctionne ? C’est un espoir pour de nombreux informaticiens ! Que nenni ! Certes, dans ce cas le résultat fourni est correct et mes flux XML peuvent continuer leur chemin dans le système informatique. Mais mon second test va se révéler plus troublant. 

Nouveau besoin, nouvelle demande à une IA. Et cela ne fonctionne pas. Je peux interroger l’IA, sa réponse est la même. Et le flux en sortie de la moulinette ne correspond pas à ce que je veux. Je finis ma journée sur un échec. Et je déteste cela. En même temps, difficile de prendre du temps sur un sujet quand on est sollicité en continue par ses collègues. 

Le ‘vibe coding’ ne sert à rien si on ne comprend pas ce qu’il produit. Mais pour comprendre, il me faut apprendre les mécanismes que je veux utiliser. J’enchaîne donc les tutoriels. W3schools me rappellent les bases. Et j’ai oublié que pour transformer un XML, il faut savoir s’y déplacer. Et pour cela il faut connaître le XPath.

Si W3schools est un bon départ pour apprendre, ces exemples sont trop basiques. Je questionne donc la référence : Mozilla. Pas très pédagogue mais très précis. Les concepts se précisent. Et je peux enfin comprendre le code créé lors de la session de ‘vibe coding’. Le chat était pertinent mais la réponse est incomplète. 

Une dernière recherche me conforte sur les mécanismes à utiliser. En 2 heures dans un cadre tranquille j’arrive à débugger un code généré en 5 secondes par une IA. Voici l’image actuelle du ‘vibe coding’ si on veut arriver à un résultat fonctionnel. Les promoteurs de cette vague argueront que dans 10 ans, ce travail en aval ne sera plus nécessaire. 

En me confrontant à un échec de ‘vibe coding’, j’ai appris des mécanismes qui m’étaient alors étrangers. Je ne serai jamais aussi rapide qu’une IA. Mais ayant conscience des enjeux complets des outils que je crée, j’assure à mes clients des outils fonctionnels. Les ‘vibe codeurs’ ne peuvent en dire autant. 

Partager l'article !!

J’ai de la chance !!!