Dmitry Nikolaev - stock.adobe.co

« Ma première expérience de vibe coding » (Tyler Shields, analyste ESG-Omdia)

Tyler Shields, analyste chez Enterprise Strategy Group, filiale d’Omdia, évoque sa première expérience de vibe coding. Selon lui, les gros défauts rémanents des assistants de programmation ne freineront pas cette approche de développement low-code/no-code. À condition d’avoir les connaissances de base et de savoir assister l’assistant.

La première semaine d’avril, j’ai entendu l’expression « vibe coding » pour la première fois. Si l’on met de côté le fait qu’elle semble sortir de la bouche d’un hacker en herbe, elle a suscité mon intérêt. Qu’est-ce que cela signifiait ? De quelle « vibration » parlait-on ?

Andrej Karpathy, cofondateur d’OpenAI et ancien responsable de l’IA chez Tesla, a inventé le terme « vibe coding » sur X en février 2025. L’idée de base est de s’appuyer entièrement sur les LLM et de coder en utilisant uniquement des messages en langage naturel au lieu d’écrire le code soi-même. Karpathy a écrit : « … ce n’est pas vraiment du codage – je vois juste des choses, je dis des choses, j’exécute des choses et je copie-colle des choses, et ça marche la plupart du temps ».

Première session de vibe coding avec Cursor

J’ai commencé à programmer il y a plus de trente ans, mais je n’ai pas développé d’application complète de quelque taille que ce soit, depuis probablement 15 ans. J’ai un master en informatique, mais je deviens de moins en moins technique chaque jour.

Tous les deux ou trois mois, je décide de coder quelque chose dont je pourrais avoir besoin ou que je voudrais. Le plus souvent, je passe environ une heure à mettre en place l’environnement de développement et je jette l’éponge. Mon dépôt GitHub est jonché de prototypes à moitié construits et d’autres déchets incomplets. Honnêtement, il me faut généralement une heure pour me rappeler comment utiliser Git.

Malgré les nombreuses tendances et approches de programmation que j’ai vues défiler tout au long de ma carrière, j’ai décidé de me jeter à l’eau. Comme Alice, j’ai sauté tout droit dans le terrier du lapin. J’ai installé l’outil à la mode : Cursor.

Au départ, il ressemblait à n’importe quel autre environnement de développement intégré (IDE). Ils remplissent tous la même fonction : permettre d’écrire ligne après ligne du code source, de construire le programme, puis de le déployer en production.

Je ne savais pas par où commencer, alors j’ai appelé un ami bien placé dans le domaine de l’IA. Pour les besoins de cet article, je l’appellerai Jay.

Sur mon Mac, Jay m’a dit d’appuyer sur Command+L pour ouvrir la fenêtre de discussion. Ensuite, il m’a aidé à configurer l’environnement avec mes identifiants Google Gemini payants, que je possédais déjà, et j’ai tapé mon premier prompt.

« Je veux créer une application Python qui écoute les requêtes web entrantes, récupère un paramètre nommé “company”, interroge Google Gemini Deep Research, puis renvoie une analyse complète de cette entreprise au format étude de marché. »

Il n’avait aucun moyen de discerner comment faire ce que je venais de lui demander. J’avais une version obsolète de Python et de Pip sur ma machine, et je n’étais même pas dans le bon répertoire afin de construire une structure de fichiers pour la nouvelle application. Je ne lui ai littéralement rien donné d’autre. Mais c’est alors que cela s’est produit. J’ai « vibré ».

Ou peut-être qu’il a vibré – honnêtement, je n’en suis pas sûr.

D’une manière ou d’une autre, quelque chose a vibré, et l’agent s’est mis à créer une application. Il a conçu la structure des répertoires, téléchargé des logiciels et mis à jour l’ensemble de mon environnement de développement. Il m’a posé quelques questions ici et là ; par exemple s’il était possible d’installer un logiciel spécifique ou quelle configuration d’un outil de développement particulier j’avais besoin. J’ai à peine lu les questions et j’ai choisi toutes les options par défaut, parce que je « vibais ». Rien ne devait me ralentir ni me gêner.

Environ 30 minutes après l’installation de l’IDE, j’ai vu jusqu’où allait le terrier du lapin. Je disposais désormais d’un point de terminaison API qui recevait une requête webhook, la transmettait à Gemini Deep Research et répondait avec un blob JSON au format Markdown que je pouvais consulter dans mon système de prise de notes.

Un projet que j’avais voulu construire au moins trois ou quatre fois au cours des deux dernières années était terminé et fonctionnait comme prévu.

Le vibe coding a-t-il une limite ?

J’ai poussé ma chance.

Capture d'écran de la fenêtre de discussion avec l'outil Cursor.
Au moins, Cursor a reconnu ses fautes.

« Hey Cursor, je ne veux plus exécuter ceci sur mon système local, je veux exécuter mon API en tant que fonction serverless dans Google Cloud. Peux-tu le faire pour moi ? »

Bien sûr que c’est possible. Il a installé plus de logiciels dans mon environnement de développement, m’a guidé à travers tout ce que je devais faire pour activer le développement cloud dans mon instance Google Cloud, puis a complètement réécrit mon listener pour qu’il fonctionne comme une fonction cloud-native.

En l’espace d’une heure et demie, ma petite API fonctionnait dans le cloud et était utilisable par tous. C’était incroyable. J’étais à moitié sous le choc. Je n’arrêtais pas de dire à Jay à quel point c’était génial. Je suis sûr qu’il s’est ennuyé et qu’il est retourné à son vrai travail, mais j’ai été inspiré.

« Cursor - ajoute un deuxième point de terminaison pour rechercher des personnes par leur nom et extraire des informations pertinentes de leur LinkedIn pour moi. Fais-en un nouveau point de terminaison pour l’API dans le cloud. »

Cela a été fait en 15 minutes. Cela ne pouvait pas être aussi simple. Il était temps de lui proposer quelque chose de plus complexe.

« Cursor – crée un front-end web pour les API qui permettra à quelqu’un d’entrer sa requête de cette manière au lieu d’utiliser curl. »

Une heure plus tard, j’avais une application web fonctionnelle après avoir fait des allers-retours avec le chatbot.

Et puis c’est arrivé. J’ai explosé le cerveau de mon assistant-développeur.

Le site web renvoyait une erreur de réseau lorsque je remplissais le formulaire. Pourquoi ? J’ai copié-collé le bug, et mon agent a même examiné les logs pour voir s’il pouvait déboguer le problème en mon nom.

« C’était une erreur de ma part. La fonction ne requiert que le champ de l’entreprise dans le corps de la requête. Laissez-moi corriger cela », a répondu Cursor.

Ce n’est pas grave, n’est-ce pas ? Tout le monde commet des erreurs, même mon petit « AImi ». Mais il s’est ensuite transformé en quelque chose d’autre. Il a commencé à avoir des hallucinations et à faire toutes sortes d’erreurs bizarres dans une petite boucle alors qu’il essayait simultanément de corriger le back-end de l’API et les appels frontaux, sans jamais parvenir à les synchroniser l’un avec l’autre. Il est même allé jusqu’à commencer à m’injurier au milieu d’un flot de caractères « AS » qui me montraient clairement qu’il avait perdu les pédales. J’ai dû fermer le chat et en commencer un nouveau.

Le vibe coding est-il l’avenir ?

Ma première session de « vibro-progammation » s’est terminée peu de temps après. En moins de deux heures, j’ai créé une application web de démonstration avec deux API back-end qui appelaient Gemini Deep Research et renvoyaient des données que je pouvais utiliser au format Markdown.

J’ai atteint mes objectifs sans coder et j’ai obtenu les résultats souhaités rapidement et facilement. J’ai également appris qu’au fur et à mesure que la base de code se développe, il est nécessaire d’aider votre agent spécial à rester concentré sur les sections du code qui doivent être modifiées.

Une fois que j’ai appris à cibler le champ d’action de mon assistant, la puissance s’est accrue de manière exponentielle et rapide. Ce n’est pas une véritable panacée pour coder quelque chose à partir de rien, mais cela permet d’obtenir un résultat dix fois supérieur à celui d’un programmeur classique. Le rythme de création des logiciels et les systèmes qui les soutiennent sont sur le point de monter en flèche. Malgré les jurons effrayants et la capacité à s’enflammer du LLM sous-jacent, le vibe coding fonctionne, et si vous avez déjà un niveau de connaissances de base, vous constaterez une augmentation massive de votre productivité.

Depuis cette première heure fatidique de vibe coding, je me réveille avec des idées avec lesquelles je veux « vibrer ». J’ai passé quelques heures de plus sur mon premier projet pour ajouter des fonctions API supplémentaires, nettoyer et modifier le site web, permettre le téléchargement du fichier Markdown depuis l’interface web, et bien plus encore. Une fois que vous avez réalisé ce que vous pouvez accomplir avec des assistants de programmation, vous commencez à voir les choses différemment.

Nous vivons dans un monde qui évolue très rapidement. Les nouvelles capacités basées sur l’IA arrivent plus vite que nous ne pouvons les consommer, et le choc que j’ai ressenti en utilisant quelque chose d’aussi transformateur n’arrive qu’une fois dans une vie.

Je vous recommande vivement de prendre une minute et d’essayer le vibe coding. Si vous manquez cette tendance, vous serez à la traîne.

Tyler Shields est analyste principal chez Enterprise Strategy Group, une filiale d’Omdia, propriété d’Informa TechTarget [également propriétaire du MagIT]. Il a plus de 25 ans d’expérience dans les technologies et les marchés de la cybersécurité, et plus particulièrement dans la gestion des vulnérabilités, l’analyse des risques, l’identification des menaces et les technologies de sécurité offensives.

Enterprise Strategy Group fait partie d’Omdia. Ses analystes entretiennent des relations d’affaires avec des éditeurs et des fournisseurs IT.

Pour approfondir sur IA appliquée, GenAI, IA infusée