C'est quoi le vibe coding ?
En février 2025, Andrej Karpathy (co-fondateur d'OpenAI, ex-directeur IA de Tesla) a inventé le terme vibe coding : "oublier que le code existe" et laisser l'IA tout générer en se contentant de valider le résultat visuellement.
L'idée est séduisante : pourquoi perdre du temps à comprendre le code si l'IA peut le produire ? Le prototype marche, le client est content, on passe à la suite.
Sauf que les chiffres racontent une autre histoire :
- 16 CTOs sur 18 interrogés rapportent des incidents en production causés par du code IA non reviewé
- L'IA produit en moyenne 1,7 fois plus d'erreurs que le code écrit manuellement
- Les développeurs qui "vibe codent" perdent leurs capacités de debugging en quelques semaines
Vibe coding vs vibe engineering
Simon Willison (créateur de Django, expert IA) fait une distinction cruciale :
Vibe coding
- "Ça marche, je shippe"
- Pas de tests
- Pas de review
- Pas de compréhension
- Zéro responsabilité
Vibe engineering
- "Ça marche ET je comprends"
- Tests automatisés
- Code review systématique
- Explication ligne par ligne
- Responsabilité totale
La différence ? La responsabilité. Le vibe engineer utilise l'IA pour aller plus vite, mais il reste responsable de chaque ligne. Il comprend le code, il le teste, il peut l'expliquer. Le vibe coder croise les doigts et espère que ça tienne.
L'atrophie des compétences
C'est le piège le plus insidieux : plus vous déléguez à l'IA, plus vous perdez vos compétences de base. Et la compétence qui s'atrophie le plus vite ? Le debugging.
C'est logique : si vous ne debuggez jamais vous-même, vous perdez l'intuition de "où chercher". Et le jour où l'IA ne trouve pas le bug (ce qui arrive souvent sur les problèmes complexes), vous êtes coincé.
La solution : le "No-AI Sprint". Périodiquement (une demi-journée par semaine, un jour par mois), codez sans IA. Pas de Copilot, pas de Claude, pas de ChatGPT. Juste vous, votre éditeur et la documentation.
C'est comme un athlète qui fait des exercices de base : ce n'est pas sexy, mais c'est ce qui vous garde compétent quand ça compte.
La règle d'or
"Si tu peux pas expliquer chaque ligne,
tu l'as pas appris."
Cette règle s'applique à tout : le code que vous écrivez, le code que l'IA génère, le code que vous trouvez sur Stack Overflow. Si vous ne pouvez pas expliquer pourquoi chaque ligne existe et ce qu'elle fait, vous n'avez pas le droit de la shipper.
Conclusion : vous n'êtes plus un débutant
Si vous avez suivi ce parcours (HTML, CSS, JavaScript, PHP, Python, Go, et maintenant la méthode IA) vous n'êtes plus un débutant. Vous êtes un développeur qui utilise l'IA comme un outil, pas comme une béquille.
Le bâtiment est construit, l'électricité fonctionne, et vous savez maintenant comment utiliser les meilleurs outils du marché pour continuer à construire, toujours plus vite, toujours mieux.
La seule limite, c'est votre curiosité.
Pour aller plus loin
What is vibe coding?
In February 2025, Andrej Karpathy (OpenAI co-founder, former Tesla AI director) coined the term vibe coding: "forget that the code even exists" and let AI generate everything while just validating the result visually.
The idea is seductive: why spend time understanding code if AI can produce it? The prototype works, the client is happy, move on.
Except the numbers tell a different story:
- 16 out of 18 CTOs surveyed report production incidents caused by unreviewed AI code
- AI produces on average 1.7 times more errors than manually written code
- Developers who "vibe code" lose their debugging abilities in a few weeks
Vibe coding vs vibe engineering
Simon Willison (Django creator, AI expert) makes a crucial distinction:
Vibe coding
- "It works, I ship it"
- No tests
- No review
- No understanding
- Zero accountability
Vibe engineering
- "It works AND I understand"
- Automated tests
- Systematic code review
- Line-by-line explanation
- Full accountability
The difference? Accountability. The vibe engineer uses AI to go faster, but remains responsible for every line. They understand the code, test it, can explain it. The vibe coder crosses their fingers and hopes it holds.
Skill atrophy
This is the most insidious trap: the more you delegate to AI, the more you lose your core skills. And the skill that atrophies fastest? Debugging.
It makes sense: if you never debug yourself, you lose the intuition of "where to look". And the day AI cannot find the bug (which happens often on complex problems), you are stuck.
The solution: the "No-AI Sprint". Periodically (half a day per week, one day per month), code without AI. No Copilot, no Claude, no ChatGPT. Just you, your editor, and the documentation.
It is like an athlete doing basic exercises: not glamorous, but it is what keeps you competent when it matters.
The golden rule
"If you can't explain every line,
you haven't learned it."
This rule applies to everything: the code you write, the code AI generates, the code you find on Stack Overflow. If you cannot explain why every line exists and what it does, you do not have the right to ship it.
Conclusion: you are no longer a beginner
If you followed this path — HTML, CSS, JavaScript, PHP, Python, Go, and now the AI method — you are no longer a beginner. You are a developer who uses AI as a tool, not a crutch.
The building is constructed, the electricity works, and you now know how to use the best tools on the market to keep building, always faster, always better.
The only limit is your curiosity.
Going further
Demandez à Claude d'évaluer vos pratiques actuelles :
Je suis développeur et j'utilise l'IA quotidiennement. Voici mes pratiques actuelles : [décrivez comment vous utilisez l'IA]. Évalue-moi sur une échelle de 'vibe coder' à 'vibe engineer'. Sois honnête. Pour chaque point faible, donne-moi une action concrète à mettre en place cette semaine.
Sans relire l'évaluation de l'IA : avec tes mots, quelle seule chose transforme un vibe coder en vibe engineer, et pourquoi ?
Écrivez vos propres règles pour utiliser l'IA de façon responsable. Au moins 3 règles concrètes que vous vous engagez à suivre. Pensez à : compréhension, tests, review, compétences.
Tu demandes à l'IA une fonction de remise et tu reçois ceci. Le navigateur affiche le bon prix sur ton panier de test. Ton rôle de relecteur : tu l'acceptes telle quelle et tu la shippes, ou tu la rejettes ?
function applyDiscount(price, code) {
if (code === "WELCOME") return price * 0.9;
if (code === "VIP") return price * 0.75;
return price - price * 0.05;
}
return final applique 5% à tout code inconnu (faute de frappe, code expiré, chaîne vide) : un client tape n'importe quoi et obtient une remise. Aucun test ne couvre ce cas, et personne n'a su l'expliquer avant de lire le verdict. Si tu ne peux pas justifier la branche par défaut, tu ne shippes pas.Sans remonter dans la leçon : qu'est-ce que le « No-AI Sprint », et quelle compétence cherche-t-il à protéger ?
Le vibe coding fait des dégâts d'autant plus quand on ne peut pas revenir en arrière. La prochaine leçon, Git le filet de sécurité, vous donne le réflexe qui change tout : commiter souvent pour pouvoir laisser l'IA tenter des choses sans jamais perdre votre travail.
Leçon 11 : Git, le filet de sécurité →