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 le terrain raconte une autre histoire :
- De nombreux responsables techniques rapportent des incidents en production causés par du code IA accepté sans relecture
- Le code généré par l'IA contient en moyenne plus de bugs et de failles que le code relu par un humain (validations oubliées, fonctions inventées, secrets en clair)
- Un usage non encadré érode les réflexes de debug et la compréhension de son propre code : c'est le « délestage cognitif » mesuré par plusieurs études récentes
Vibe coding vs vibe engineering
Simon Willison (co-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 ne peux pas expliquer chaque ligne,
tu ne 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.
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 field tells a different story:
- Many tech leads report production incidents caused by AI code accepted without review
- AI-generated code on average carries more bugs and vulnerabilities than human-reviewed code (missing validation, invented functions, hard-coded secrets)
- Unsupervised use erodes the reflexes of debugging and the understanding of your own code: it's the "cognitive offloading" measured by several recent studies
Vibe coding vs vibe engineering
Simon Willison (Django co-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.
🎯 Pratique
S'entraîner (clique pour ouvrir) :
✨ Prompt IA
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.
💬 Ré-explique sans regarder
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.
⚖️ Juge le code de l'IA
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.🧠 Rappel libre
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é →