Vibe Coding

Miniature

Qu’est-ce que le Vibe Coding ?

Le vibe coding est une méthode de programmation alimentée par l’IA introduite par Andrej Karpathy en 2024/2025. Avec le vibe coding, vous décrivez ce que vous voulez dans des invites en langage naturel et généralement, les grands modèles de langage (LLMs) génèrent la plupart, souvent tout, le code fonctionnel pour vous. Si vous avez le temps, consultez L’Art du Vibe Coding adapté par Rick Rubin pour en savoir plus sur la manière de coder avec le vibe.

Un grand avantage de cette nouvelle méthode est l’accessibilité, car les personnes sans expérience en programmation peuvent créer des projets tandis que les développeurs expérimentés peuvent rapidement prototyper de nouvelles idées avant de s’y engager pleinement. Cela est particulièrement utile pour les startups. L’inconvénient est que les développeurs ne comprendront probablement pas entièrement comment le code généré fonctionne. Pour de petits projets annexes, cela va, mais pour des logiciels de niveau production, cela peut entraîner des problèmes à long terme et une dette technique.

Il existe de nombreux outils qui rendent le vibe coding 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 pour le vibe coding. Personnellement, je me suis principalement concentré sur Cursor IDE et Claude Code CLI pour ces projets.

Voici le truc. Ces outils et modèles coûtent de l’argent. Avec la programmation traditionnelle, vous payez principalement avec votre temps. Avec le vibe coding, vous payez avec votre portefeuille. Et si vous ne savez pas ce que vous faites, vous payez avec votre portefeuille et votre temps. Chacun des projets sur cette page coûte environ 10 $ à 20 $ à construire. Cela s’accumule si vous expérimentez beaucoup. Je pense que, à mesure que ces modèles s’améliorent et deviennent plus efficaces, le coût finira par diminuer. Pour l’instant, c’est quelque chose à considérer lorsque vous décidez si le vibe coding a du sens pour votre projet.

Curieux de savoir ce qui est possible, j’ai essayé le vibe coding moi-même et j’ai créé cette page pour explorer le principe lui-même à travers des projets réels. Je ne fais pas que construire des produits, je teste et démontre ce que le vibe coding est vraiment capable de faire. C’est juste pour le plaisir, mais cela offre un aperçu de ce à quoi la programmation pourrait ressembler à l’avenir à mesure que ces modèles continuent de s’améliorer.

Théorème du Singe Infini

Écrivain

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, finalement l’un d’eux produira les œuvres complètes de Shakespeare juste en frappant aléatoirement sur les touches.

Cela semble ridicule, non ? Mais voici la partie folle. Le vibe coding est un peu comme ça, 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. Lorsque vous donnez une invite à un LLM, il ne “pense” pas réellement à votre problème étape par étape comme le ferait un développeur humain. Au lieu de cela, il prédit le prochain token le plus probable en fonction des 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 correct.

Et d’une certaine manière, plus souvent qu’autrement, cela fonctionne. Le modèle produit du code qui compile réellement, s’exécute et résout votre problème. Pas par compréhension, mais par correspondance de motifs probabilistes à une échelle absolument massive. C’est comme si le générateur de texte aléatoire le plus sophistiqué de l’univers avait trouvé la “bonne” réponse. Mais ici, la différence est la vitesse. Ces singes auraient besoin d’une véritable infinité. Votre IA ? Y parvient en quelques secondes ou minutes.

Donc, d’une certaine manière, lorsque vous utilisez le vibe coding, vous exploitez des millions de lignes de motifs de code, distillées dans un modèle, pour générer des solutions. Ce n’est pas une résolution de problème consciente, c’est de la magie statistique. Et c’est précisément pourquoi c’est si puissant et, il faut l’admettre, pourquoi comprendre ce que le code fait réellement reste important.

La Question Est Plus Importante Que La Réponse

Voici quelque chose d’important qui est souvent négligé. Le vibe coding ne consiste pas à obtenir n’importe quelle réponse, mais à poser la bonne question. Pensez à l’Ordinateur Supercalculateur 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 de tout, pour vous donner le nombre 42. La réponse était techniquement correcte, mais inutile car le véritable problème était de déterminer quelle question poser en premier lieu.

Le vibe coding fonctionne de la même manière. Vos invites sont tout, mais la gestion du contexte l’est aussi. Une invite vague vous donnera un code vague, et si vous ne fournissez pas les bons fichiers, la documentation ou des exemples comme contexte, le modèle ne comprendra pas ce dont vous avez réellement besoin. Si vous êtes quelqu’un qui comprend la programmation, l’architecture et la conception de systèmes, vous pouvez rédiger des invites détaillées et sélectionner le bon contexte pour guider le LLM vers d’excellentes solutions. Mais si vous ne savez pas quoi demander ou quel contexte fournir, l’IA ne le saura pas non plus.

C’est en fait pourquoi le vibe coding 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 rédiger des invites qui éloignent le modèle d’eux. Pour les débutants sans formation technique, cela devient une véritable limitation. Vous pourriez obtenir un code fonctionnel, mais sans comprendre ce qui a mal tourné ou ce qu’il faut demander ensuite, vous êtes bloqué.

Quand Le Vibe Coding N’est Pas Suffisant

Les derniers modèles d’IA sont impressionnants, mais ils ne sont pas une solution miracle. Le vibe coding peut fonctionner en production, mais seulement si vous êtes sérieux à ce sujet. 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 de hacker. Pensez en dehors des sentiers battus et essayez de casser votre projet codé par vibe de manière inattendue. Quels cas limites n’avez-vous pas considérés ? Quelles vulnérabilités de sécurité quelqu’un pourrait-il exploiter ? C’est ce qui sépare le code qui fonctionne simplement de celui qui est réellement robuste.

Voici le truc. L’IA ne vous appartient pas. Vous possédez l’IA. N’acceptez pas simplement ce qu’elle génère. Examinez-le. Testez-le. Cassez-le. Et honnêtement, pour certaines parties de votre code, vous devrez revenir à la programmation à l’ancienne. Concentrez-vous, réfléchissez profondément, écrivez-le vous-même. Le vibe coding accélère les choses, mais ce n’est pas un remplacement pour la programmation réelle quand cela compte.

Il y a une autre chose que j’ai apprise. Parfois, vous devez simplement mettre fin à une session avec l’IA et en commencer une nouvelle. À mesure que votre historique de conversation devient de plus en plus grand, les performances du modèle se dégradent. Il fait plus 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’accumulent, rendant les choses progressivement pires. C’est comme essayer de lire un document qui a été photocopié encore et encore. Commencer frais garde les choses propres et nettes.

Projets Codés par Vibe

Voici deux projets, escaliers (repo) et transcendantal (repo), que j’ai construits en utilisant la méthodologie du vibe coding. Principalement générés à partir d’invites, avec un travail manuel limité à la fourniture de contexte, au débogage et au déploiement sur GitHub Pages. Ce sont des expériences de site statique amusantes qui montrent ce qui est possible lorsque vous combinez des idées créatives avec du code grâce au vibe coding. Les deux sont hébergés sur GitHub.

Voir les Projets

Escaliers

Transcendantal