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.
Cet article s'articule autour des points suivants :
Copier le lien de l'article
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.
À 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).
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.
Les avantages du vibe coding sont les suivants :
Parmi les inconvénients possibles, citons les suivants :
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.
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.
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.
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.
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.
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.
Le terme « vibe coding » a été introduit par Andrej Karpathy, cofondateur d'OpenAI, dans un article sur X en février 2025.
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.
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é.
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.