La vérité sur le Vibe Coding

Le Vibe Coding, supposément une technologie d’IA multi-agents capable de développer et publier de manière autonome des applications complètes, peut gérer des applications simples comme un jeu Snake ou un site web basique. C’est tout.
Si vous avez de la chance, une telle application pourrait fonctionner étonnamment bien après une itération autonome. Cependant, si vous commencez à essayer de l’améliorer, de la modifier ou d’ajouter des fonctionnalités, vous découvrirez rapidement que c’est lourd et coûteux.
Ne vous méprenez pas : je pense que le Vibe Coding est une excellente technologie qui peut déjà être très utile, tant que vos attentes correspondent à ce qu’elle peut réellement faire.
Quand j’ai commencé à développer mon plugin Nexus Polyglot pour WordPress, j’ai utilisé Bolt à partir d’une page blanche. La première itération m’a donné un plugin de traduction basique mais entièrement fonctionnel. Je n’avais qu’à ajouter ma clé API Claude et cliquer sur le bouton de traduction. Pourtant, c’était une approche très basique qui n’apporterait aucune valeur à un utilisateur WordPress. J’ai donc décidé d’approfondir pour créer un véritable plugin commercial prêt à l’emploi et à valeur ajoutée. Bolt a rapidement montré ses limites.
J’ai alors essayé différents outils. J’utilisais déjà Continue, une extension Visual Studio Code qui permet d’utiliser n’importe quel modèle LLM localement ou à distance avec vos clés API. C’était très bogué. Je suis passé à Augment Code et Cline, et j’ai finalement opté pour Claude Code. Aujourd’hui, je sélectionne mon outil de Vibe Coding en fonction de ce que je sens qu’il peut gérer de manière fiable.
Étape par étape, j’ai pu améliorer le plugin Nexus Polyglot avec mes compétences de développement basiques, et j’ai beaucoup appris en cours de route. Mais cela m’a coûté du temps et des frais d’IA.
Aujourd’hui, j’ai un parfait exemple de ce qui se passe à chaque itération : cela coûte beaucoup d’argent et de temps, et montre pourquoi il est obligatoire de comprendre et réviser le code proposé. Sinon, vous risquez de tomber dans un puits sans fond où le Vibe Coding ajoute des bugs, du code redondant et du code mort, rendant cauchemardesque le fait de s’y fier.
Mon plugin Nexus Polyglot pour WordPress a deux fonctionnalités principales (et bien d’autres qu’il n’est pas nécessaire de détailler ici) :
- Automatiser les traductions (ajout de codes de langue et scores d’évaluation de qualité)
- Automatiser le regroupement des traductions (attribution d’IDs de groupe aux articles liés)
Ces fonctionnalités sont liées mais distinctes. Par exemple, je peux vouloir supprimer un groupe sans perdre les métadonnées de traduction comme les codes de langue ou les scores de qualité.
J’ai demandé à Claude Code de :
- Ajouter une fonction « supprimer le groupe », permettant à un utilisateur de supprimer un groupe sur demande sans supprimer les articles de ce groupe.
- Ajouter une fonction « retirer l’article du groupe », permettant à un utilisateur de retirer un article d’un groupe.
Voici une partie du plan d’exécution qu’il a proposé :
Si l’utilisateur supprime un groupe, retirer la référence du groupe, le code de langue et l’évaluation de qualité de tous les articles de ce groupe.
Traduit en code :
if ($group_id) {
delete_post_meta($post_id, '_nexus_polyglot_group_id');
delete_post_meta($post_id, '_nexus_polyglot_language');
delete_post_meta($post_id, '_nexus_polyglot_quality_assessment');
}
Si je n’avais pas lu le code, j’aurais eu une mauvaise surprise lors des tests, avec des données critiques supprimées des articles.
L’approche correcte devrait être :
Si l’utilisateur supprime un groupe, retirer uniquement la référence du groupe.
if ($group_id) {
delete_post_meta($post_id, '_nexus_polyglot_group_id');
}
La sensation est la même avec le Vibe Coding qu’avec les outils de chat comme ChatGPT ou Claude AI : c’est comme si ces outils étaient programmés pour être trop zélés, essayant de donner une impression de « je vais vous en donner plus pour votre argent » aux utilisateurs, alors qu’en réalité, le résultat est souvent l’inverse : désinformation, manque de fiabilité et perte de confiance.
Au final, comme avec n’importe quel outil, il est impératif d’apprendre et de comprendre comment il fonctionne, son comportement et — assez amusant — avec les LLM comme avec les humains, comprendre leur caractère et agenda privé pour mieux gérer vos interactions avec eux.