Qu'est-ce que le vibe coding ?

Le « vibe coding » est une méthode de développement d'applications qui implique une forte dépendance avec un grand modèle de langage (LLM) pour générer du code.

Objectifs d’apprentissage

Cet article s'articule autour des points suivants :

  • Décrire ce que signifie le vibe coding
  • Comprendre comment les LLM peuvent prendre en charge le développement d'applications
  • Énumérer les avantages et les inconvénients du vibe coding

Copier le lien de l'article

Qu'est-ce que le vibe coding ?

Le vibe coding est une méthode de développement de logiciels qui fait fortement appel aux grands modèles de langage (LLM) pour générer du code. Le terme « vibe coding », qui signifie codage assisté par IA, a été inventé par Andrej Karpathy, cofondateur d'OpenAI, dans un article de février 2025 sur X:

Il existe une nouvelle sorte de codage que j'appelle « vibe coding » (littéralement codage au ressenti) ; il s'agit de se laisser complètement aller en fonction de l'ambiance, d'adopter les tendances exponentielles et d'oublier que le code existe même. C'est possible, car les LLM (par exemple Cursor Composer w Sonnet) deviennent trop performants... Le code va au-delà de ce que je comprends habituellement, et j'aurais vraiment besoin de le lire pendant un moment. Parfois, les LLM ne parviennent pas à corriger un bug, alors je me contente de contourner le bug ou de demander des modifications aléatoires jusqu'à ce que le problème disparaisse… C'est l'idéal pour ruiner les projets du week-end, mais cela reste assez amusant.

Certes, c'est à Andrej Karpathy que l'on doit le nom de vibe coding, toutefois de nombreux développeurs avaient déjà commencé à expérimenter une approche similaire, assistée par l'IA, avec le lancement public de LLM tels que ChatGPT et Copilot.

L'objectif du vibe coding est de lancer plus rapidement des applications fonctionnelles et de nouvelles fonctionnalités. Traditionnellement, le codage est une activité très précise ; dans le cas du vibe coding, les développeurs fournissent des orientations générales à un LLM qui produit ensuite les instructions précises contenues dans le code fonctionnel.

Ressource
Une étude montre que la modernisation des applications rend le retour sur investissement de l’IA 3 fois plus probable

Comment fonctionne le vibe coding ?

À l'instar d'autres cas d'utilisation des LLM, le vibe coding implique de fournir des invites à un modèle qui produit du contenu (dans ce cas, du code) en réponse. Les LLM sont des modèles d'IA générative : ayant été entraînés sur de grandes quantités d'exemples, ils peuvent reconnaître, interpréter et générer du langage. Les LLM sont capables de le faire à la fois en utilisant le langage humain quotidien et en utilisant les langages de programmation. Cette capacité permet aux LLM de générer du code fonctionnel, souvent en quelques secondes.

Le développeur de vibe-coding doit fournir au LLM les bonnes invites pour que le LLM puisse créer le bon type de fonctionnalité ou d'application. En général, ces invites n'ont pas besoin d'être particulièrement précises, même si plusieurs tentatives peuvent être nécessaires pour que le LLM produise un code correspondant à l'intention du développeur.

Les tests et le débogage s'effectuent après que le LLM a produit le code. Il s'agit notamment d'identifier les bugs et les problèmes de sécurité. Des invites sont alors transmise au LLM pour résoudre ces bugs ou, comme l'a décrit Karpathy, pour « contourner le problème ou demander des modifications aléatoires jusqu'à ce qu'il disparaisse » (une approche qui peut ou non fonctionner, en fonction du bug).

Quels sont les outils de vibe coding populaires ?

Un certain nombre de LLM largement utilisés sont à la disposition des développeurs pour réaliser des expériences avec le vibe coding. Copilot, Cursor, Codeium, Qodo, CodeWhisperer et Replit sont tous des outils populaires pour le développement de logiciels assisté par LLM.

Lisez notre article Comment se lancer dans le vibe coding pour démarrer votre premier projet.

Quels sont les avantages et les inconvénients du vibe coding ?

Les avantages du vibe coding sont les suivants :

  • Prototypage quasi instantané : les équipes de développeurs peuvent utiliser le vibe coding pour lancer rapidement des versions bêta de nouvelles idées de produits ou de fonctionnalités et les tester.
  • Moins d'efforts manuels inutiles : le code standard et schématisé peut être généré automatiquement par les LLM par le vibe coding (il a toujours été courant de copier du code standard dans le développement).
  • Développement et lancements plus rapides : l'écriture d'une nouvelle application ou d'une nouvelle fonctionnalité peut prendre du temps, mais le vibe coding peut produire le code nécessaire en quelques secondes ou minutes ; des invites supplémentaires peuvent toutefois s'avérer nécessaires pour faire fonctionner correctement l'application ou la fonctionnalité.

Parmi les inconvénients possibles, citons les suivants :

  • Perte de compréhension des bases de code : il pourrait arriver que les équipes de développement qui proposent des fonctionnalités codées en vibe avec un contrôle minime finissent par ne plus connaître leurs bases de code. La correction de bugs ou de vulnérabilités peut alors s'avérer plus difficile.
  • Difficultés en matière de conformité : parfois, le vibe coding donne lieu à l’envoi de code non fiable. Les développeurs peuvent par exemple perdre de vue la manière dont les applications traitent les données personnelles, ce qui engendre des problèmes de conformité.

Existe-t-il des problèmes de sécurité associés au vibe coding ?

Vulnérabilités : toute application peut contenir des vulnérabilités ou des risques pour la sécurité. Le vibe coding accélérant l'écriture et la mise en œuvre de nouvelles fonctionnalités, il existe un risque de voir un plus grand nombre de problèmes de sécurité parvenir à se glisser à travers les mailles du filet et atteindre le stade de la production. De plus, ces problèmes de sécurité peuvent également être plus difficiles à résoudre si les équipes de développement ne sont pas familières avec le code du problème.

Perte de données : dès lors que des LLM sont utilisés dans un contexte opérationnel il existe un risque que les données contiennent de la propriété intellectuelle qui sera partagée dans des contextes externes. Pour protéger les données internes, les développeurs doivent savoir comment un LLM segmente ses données sur le backend.

Découvrez comment fonctionne un LLM et comment les sécuriser.

FAQ

Quel est le concept de base du « vibe coding » ?

Le vibe coding est une méthode de développement de logiciels dans laquelle du code est créé en faisant largement appel à un grand modèle de langage (LLM). Le terme a été inventé par le cofondateur d'OpenAI, Andrej Karpathy, en février 2025.

Comment les grands modèles de langage (LLM) facilitent-ils le vide coding ?

Les LLM sont des modèles d'IA générative (GenAI) qui ont été entraînés sur de vastes quantités de données au point d'être capables de comprendre et de générer des langages humains et de programmation. Cela leur permet de produire du code fonctionnel, souvent en quelques secondes.

Quels sont certains des principaux avantages liés à l’utilisation du codage vibe dans le développement d’applications?

Le vibe coding présente plusieurs avantages, notamment : le prototypage rapide de nouveaux produits ou fonctionnalités ; l'automatisation du code standard et du code de bas niveau ; et des temps de développement et de lancement plus rapides de manière générale.

Quels sont les inconvénients ou les aspects négatifs potentiels de l'adoption du vibe coding ?

L'un des inconvénients du vibe coding tient au fait que les développeurs risquent de devenir moins familiers avec leurs bases de code, ce qui peut compliquer la correction des bogues et des vulnérabilités. De plus, le vibe coding peut entraîner des problèmes de conformité si le traitement des données personnelles au sein des applications n'est pas surveillé avec attention.

Quels sont les risques pour la sécurité associés au vibe coding ?

Le vibe coding peut faire grandir les inquiétudes en matière de sécurité car avec une telle vitesse de développement les vulnérabilités arrivent plus vite et en plus grand nombre en production. Ces problèmes peuvent être difficiles à résoudre si l'équipe de développement n'est pas familière avec le code généré automatiquement. Il y a aussi un risque de perte de données dans la mesure où de la propriété intellectuelle sensible peut être exposée si les entrées dans le LLM ne sont pas correctement gérées.

Qui a introduit le terme de « vibe coding » ?

Le terme « vibe coding » a été introduit par Andrej Karpathy, cofondateur d'OpenAI, dans un article sur X en février 2025.

Comment les tests et le débogage s'intègrent-ils généralement dans le flux de travail du vibe coding ?

Une fois qu'un LLM a généré le code, un développeur est chargé de tester et de déboguer. Le développeur identifie et corrige les bogues et les failles de sécurité. Le LLM peut être utilisé au moyen d'invites à résoudre ces problèmes, sinon le développeur peut trouver des solutions de contournement ou demander des modifications aléatoires jusqu'à ce que le problème soit résolu.

En quoi le vibe coding diffère-t-il des pratiques de codage traditionnelles ?

Le codage traditionnel nécessite un travail très précis de la part des développeurs. En revanche, le vibe coding permet aux développeurs de donner des instructions très générales à un LLM. Le LLM en tire un code précis nécessaire pour l'application ou la fonctionnalité.

Pourquoi est-il important de savoir comment un LLM gère les données lorsqu'il est utilisé à des fins professionnelles ?

Dans un contexte commercial, l'utilisation d'un LLM présente le risque que la propriété intellectuelle présente dans la saisie soit partagée à l'extérieur. Les développeurs doivent comprendre comment le LLM traite et segmente les données sur son backend afin de protéger les informations internes sensibles.