Codage Vibe
Qu’est-ce que le codage vibe ?
Le codage vibe est une méthode de programmation alimentée par l’IA, introduite par Andrej Karpathy en 2024/2025. Avec le codage vibe, vous décrivez ce que vous voulez dans des instructions en langage naturel et, en général, les grands modèles de langage (LLM) génèrent la majeure partie, souvent la totalité, du code fonctionnel pour vous. Si vous avez le temps, consultez Art of Vibe Coding, adapté par Rick Rubin, pour en apprendre davantage sur la manière du codage vibe.
Un grand avantage de cette nouvelle méthode est son accessibilité, puisque des personnes sans expérience en codage peuvent construire des projets tandis que des développeurs expérimentés peuvent rapidement prototyper de nouvelles idées avant de s’y engager pleinement. C’est particulièrement utile pour les startups. L’inconvénient est que les développeurs ne comprendront très probablement pas entièrement comment le code généré fonctionne. Pour de petits projets personnels, cela convient, mais pour des logiciels de niveau production, cela peut entraîner des problèmes à long terme et de la dette technique.
Il existe de nombreux outils qui rendent le codage vibe plus fluide. Cursor IDE, Claude Code CLI, GitHub Copilot, Loveable, Replit, v0 et d’autres vous permettent de travailler avec l’IA directement dans votre environnement ou fournissent des interfaces dédiées au codage vibe. Personnellement, je me suis surtout tenu à Cursor IDE et Claude Code CLI pour ces projets.
Voici cependant le point important. Ces outils et modèles coûtent de l’argent. Avec le codage traditionnel, vous payez surtout avec votre temps. Avec le codage vibe, vous payez avec votre portefeuille. Et si vous ne savez pas ce que vous faites, vous payez à la fois avec votre portefeuille et votre temps. Chacun des projets sur cette page coûte environ $10 à $20 à construire. Cela finit par s’additionner si vous expérimentez beaucoup. Je pense que, à mesure que ces modèles s’amélioreront et deviendront plus efficaces, le coût finira par baisser. Pour l’instant, c’est quelque chose qui mérite d’être pris en compte lorsque vous décidez si le codage vibe a du sens pour votre projet.
Curieux de ce qui était possible, j’ai essayé le codage vibe moi-même et j’ai réalisé cette page pour explorer le principe lui-même à travers de vrais projets. Je ne me contente pas de construire des produits, je teste et démontre ce que le codage vibe est réellement capable de faire. C’est juste pour le plaisir, mais cela offre un aperçu de la façon dont le codage pourrait se présenter à l’avenir à mesure que ces modèles continueront de s’améliorer.
Théorème du singe infini
Avez-vous déjà entendu parler du théorème du singe infini ? C’est une expérience de pensée philosophique qui dit que si vous donnez à des singes infinis des machines à écrire infinies et un temps infini, l’un d’eux finira par produire l’intégralité des œuvres de Shakespeare rien qu’en tapant au hasard sur les touches.
Cela a l’air ridicule, n’est-ce pas ? Mais voici la partie folle. Le codage vibe est un peu comme cela, sauf qu’au lieu de singes nous avons des modèles d’IA, au lieu de machines à écrire nous avons des langages de programmation, et au lieu de Shakespeare nous obtenons des logiciels fonctionnels.
Pensez-y. Les grands modèles de langage sont entraînés sur des milliards de lignes de code, de motifs et d’exemples. Quand vous donnez une instruction à un LLM, il ne « pense » pas réellement votre problème étape par étape comme le ferait un développeur humain. À la place, il prédit le prochain jeton le plus probable en se basant sur les motifs qu’il a appris pendant l’entraînement. Il fait essentiellement des suppositions éclairées en générant du code basé sur ce qui semble statistiquement juste.
Et d’une manière ou d’une autre, plus souvent qu’autrement, cela fonctionne. Le modèle produit du code qui se compile réellement, s’exécute et résout votre problème. Non pas grâce à une compréhension, mais grâce à une correspondance probabiliste de motifs à une échelle absolument massive. C’est comme si le générateur de texte aléatoire le plus sophistiqué de l’univers trouvait la « bonne » réponse. Mais ici, la différence, c’est la vitesse. Ces singes auraient besoin d’une infinité littérale. Votre IA ? Elle y arrive en quelques secondes ou quelques minutes.
Ainsi, d’une certaine manière, lorsque vous utilisez le codage vibe, vous exploitez des millions de lignes de motifs de code, distillés dans un modèle, pour générer des solutions. Ce n’est pas une résolution consciente de problèmes, c’est de la magie statistique. Et c’est précisément pour cela que c’est si puissant et, il faut l’admettre, pourquoi comprendre ce que le code fait réellement reste important.
La question compte plus que la réponse
Voici quelque chose d’important qui est souvent négligé. Le codage vibe ne consiste pas à obtenir n’importe quelle réponse, il consiste à poser la bonne question. Pensez au superordinateur Deep Thought de Le Guide du voyageur galactique. Il a passé des millions d’années à calculer la réponse à la question ultime de la vie, de l’univers et du reste, pour finalement donner le nombre 42. La réponse était techniquement correcte, mais inutile parce que le vrai problème était de déterminer quelle question poser en premier lieu.
Le codage vibe fonctionne de la même manière. Vos instructions sont essentielles, mais la gestion du contexte l’est tout autant. Une instruction vague vous donnera du code vague, et si vous ne fournissez pas les bons fichiers, la bonne documentation ou les bons exemples comme contexte, le modèle ne comprendra pas ce dont vous avez réellement besoin. Si vous êtes quelqu’un qui comprend le codage, l’architecture et la conception de systèmes, vous pouvez rédiger des instructions détaillées et sélectionner le bon contexte pour orienter le LLM vers d’excellentes solutions. Mais si vous ne savez pas quoi demander ni quel contexte fournir, l’IA ne le saura pas non plus.
C’est en réalité pourquoi le codage vibe est si puissant pour les développeurs expérimentés. Nous savons à quoi ressemble un bon code, nous comprenons les pièges, et nous pouvons écrire des instructions qui éloignent le modèle de ceux-ci. Pour les débutants sans bagage technique, cela devient une véritable limitation. Vous pouvez obtenir du code fonctionnel, mais sans comprendre ce qui a mal tourné ni quoi demander ensuite, vous êtes bloqué.
Quand le codage vibe ne suffit pas
Les derniers modèles d’IA sont impressionnants, mais ils ne constituent pas une solution miracle. Le codage vibe peut fonctionner en production, mais seulement si vous le prenez au sérieux. Vous avez besoin de tests unitaires robustes. Vous avez besoin de sources de vérité claires sur ce que votre système doit faire. Vous devez détecter quand les choses se cassent ou dérivent. Et vous avez besoin de l’état d’esprit du hacker. Sortez des sentiers battus et essayez de casser votre projet codé en vibe de façons inattendues. Quels cas limites n’avez-vous pas envisagés ? Quelles vulnérabilités de sécurité quelqu’un pourrait-il exploiter ? C’est cela qui sépare le code qui fonctionne simplement du code qui est réellement robuste.
Voici cependant le point important. L’IA ne vous possède pas. C’est vous qui possédez l’IA. N’acceptez pas simplement ce qu’elle génère. Relisez-le. Testez-le. Cassez-le. Et honnêtement, pour certaines parties de votre base de code, vous devrez revenir au codage à l’ancienne. Concentrez-vous, réfléchissez profondément, écrivez-le vous-même. Le codage vibe accélère les choses, mais ce n’est pas un remplacement de la vraie programmation quand cela compte.
Il y a une autre chose que j’ai apprise. Parfois, il faut simplement terminer une session avec l’IA et en commencer une nouvelle. À mesure que l’historique de votre conversation s’allonge de plus en plus, les performances du modèle se dégradent. Il commet davantage d’erreurs, génère un code moins cohérent et commence à halluciner plus fréquemment. Si vous ne le remarquez pas et ne vous arrêtez pas, ces erreurs s’additionnent, rendant les choses progressivement pires. C’est comme essayer de lire un document qui a été photocopié encore et encore. Repartir de zéro garde les choses propres et nettes.
Projets codés en vibe
Ci-dessous se trouvent deux projets, stairs (dépôt) et transcendental (dépôt), que j’ai construits en utilisant la méthodologie du codage vibe. Principalement générés à partir d’instructions, avec un travail manuel limité à fournir du contexte, déboguer et déployer sur GitLab Pages. Ce sont des expériences amusantes de sites statiques qui montrent ce qui est possible lorsque vous combinez des idées créatives avec du code grâce au codage vibe. Les deux sont hébergés sur GitLab.