IA et développement : de la pelle au tractopelle (mais avec un permis)
Introduction : L’analogie du terrassier
J’ai lu récemment sur LinkedIn une analogie brillante : un développeur qui refuse d’utiliser l’IA aujourd’hui, c’est comme un terrassier qui s’obstine à creuser avec une pelle alors qu’il y a un tractopelle disponible juste à côté.
L’image est frappante. Et vraie.
Mais.
On ne file pas un tractopelle de 25 tonnes à quelqu’un qui n’a jamais conduit. On ne confie pas un engin capable de déplacer 15 m³ de terre par cycle à un débutant sur un terrain complexe avec des canalisations enterrées.
C’est exactement pareil pour l’IA en développement.
L’IA générative (Claude Code, Cursor, GitHub Copilot, Aider) est un multiplicateur de force incroyable. Un senior avec une IA agentic bien calibrée peut produire en quelques semaines ce qu’une équipe complète mettrait plusieurs mois à faire.
Mais un junior sans fondations qui utilise la même IA va générer une dette technique massive, des failles de sécurité, et un code impossible à maintenir.
Dans cet article, je vais partager mon retour d’expérience avec Claude Code sur un projet chatbot souverain, expliquer l’échelle des outils IA (de la pelle au tractopelle 25 tonnes), et pourquoi les fondations métier sont indispensables avant d’utiliser l’IA de manière avancée.
L’échelle des outils IA : pelle, minipelle, tractopelle
Comparons les niveaux d’assistance IA avec l’équipement d’un terrassier.
1. La pelle classique = Pas d’IA (2020-2022)
Caractéristiques :
- Développement 100% manuel
- IDE classique (VS Code, IntelliJ)
- Autocomplétion basique (IntelliSense)
- Documentation StackOverflow
Puissance : 1x (référence)
Prérequis : Connaissances de base du langage
Analogie : Creuser à la pelle. Lent, laborieux, mais on sait exactement ce qu’on fait.
2. La minipelle = GitHub Copilot (autocomplétion ligne par ligne)
Caractéristiques :
- Suggestions inline (ligne par ligne)
- Autocomplétion de fonctions simples
- Génération de boilerplate (getters/setters, CRUD basique)
- Pas de contexte multi-fichiers
Puissance : 2-3x (gain modéré sur tâches répétitives)
Prérequis : Savoir valider les suggestions (syntaxe, logique)
Analogie : Minipelle (1-2 tonnes). Plus rapide que la pelle, maniable, mais limitée en puissance. Parfaite pour des tâches simples (tranchées, fondations légères).
Risques : Faibles. Les suggestions sont locales, faciles à relire.
3. Le tractopelle 25 tonnes = IA agentic (Claude Code, Cursor Composer, Aider)
Caractéristiques :
- Génération multi-fichiers
- Compréhension du contexte complet du projet
- Refactoring d’architecture
- Génération de tests, documentation, CI/CD
- Capacité à implémenter des features complètes de bout en bout
Puissance : 5-10x (voire plus sur certains projets)
Prérequis :
- Maîtrise de l’architecture logicielle
- Connaissances approfondies en sécurité
- Capacité à valider du code complexe
- Expérience en debugging et monitoring
Analogie : Tractopelle 25 tonnes. Peut déplacer 15 m³ par cycle. Extrêmement puissant, mais nécessite un permis CACES (formation spécialisée) et de l’expérience. Sur un terrain complexe, un débutant va causer des dégâts massifs (canalisations coupées, effondrement de terrain, accidents).
Risques : ÉLEVÉS si utilisé sans expertise.
Mon retour d’expérience avec Claude Code : Chatbot souverain
Le projet
J’ai récemment développé un chatbot d’entreprise respectant les contraintes de souveraineté, auditabilité et confidentialité.
Stack technique :
- Frontend : React (TypeScript)
- Backend : .NET Core avec Semantic Kernel (orchestration LLM)
- Infrastructure : OVH (région France, conformité RGPD)
- Sécurité : Authentification Azure AD, logs auditables, chiffrement end-to-end
Contraintes :
- Données sensibles (conversations métier)
- Auditabilité complète (qui a demandé quoi, quand)
- Conformité RGPD (droit à l’oubli, portabilité)
- Architecture modulaire (évolution future vers RAG + fine-tuning)
Résultat avec Claude Code
Temps de développement : Quelques semaines (seul avec Claude Code)
Équivalent sans IA : Une équipe complète (3-4 devs) aurait passé plusieurs mois sur ce projet.
Gain de productivité estimé : 8-10x.
Ce que Claude Code a fait (et très bien)
✅ Génération de l’architecture de base : Structure React + .NET Core, intégration Semantic Kernel
✅ Boilerplate : Controllers, services, repositories, models
✅ Intégration Azure AD : Authentification/autorisation avec les bonnes bibliothèques
✅ Génération de tests unitaires : Après calibrage (voir ci-dessous)
✅ Documentation : README, diagrammes d’architecture, ADRs (Architecture Decision Records)
Ce que j’ai DÛ cadrer (sinon ça partait en vrille)
❌ Tests sans valeur : Claude générait des tests qui mockaient tout et ne testaient rien. J’ai dû lui donner des guidelines précises :
- Tester les comportements métier, pas l’implémentation
- Privilégier l’intégration testing pour les flux critiques
- Pas de mock sur les abstractions métier (seulement infra externe)
❌ Sécurité insuffisante : Premières propositions sans rate limiting, sans validation des entrées utilisateur, sans sanitization des prompts LLM (risque de prompt injection). J’ai dû :
- Imposer un middleware de rate limiting
- Valider toutes les entrées (OWASP Input Validation)
- Implémenter un système de filtrage des prompts malveillants
❌ Architecture non scalable : Claude proposait un monolithe avec tout dans le même projet. J’ai dû redéfinir :
- Séparation frontend/backend/orchestration LLM
- Abstraction du provider LLM (demain on peut passer d’Azure OpenAI à un modèle local)
- Découplage via interfaces (SOLID)
❌ Logs non auditables : Logs basiques sans contexte métier (user ID, conversation ID, timestamp). J’ai dû spécifier :
- Structured logging (JSON)
- Correlation IDs pour tracer les requêtes
- Logs conformes RGPD (anonymisation des données sensibles)
Le verdict
Sans expérience, ce projet aurait été :
- ❌ Non maintenable (code monolithique)
- ❌ Non sécurisé (failles OWASP)
- ❌ Non conforme RGPD (logs non auditables)
- ❌ Non scalable (architecture rigide)
Avec mon expertise + Claude Code, j’ai obtenu :
- ✅ Architecture propre et modulaire
- ✅ Sécurité production-ready
- ✅ Conformité RGPD/audit
- ✅ Évolutivité (RAG, fine-tuning)
- ✅ Livrée en quelques semaines au lieu de plusieurs mois
L’IA a multiplié ma force. Mais c’est MOI qui ai piloté.
Pourquoi on ne donne pas une 25 tonnes à un débutant
Danger #1 : Code généré sans compréhension = Dette technique massive
Un junior utilise Claude Code pour générer une API REST complète.
Résultat : Ça marche en démo. Bravo.
Problème :
- Pas d’authentification (n’importe qui peut appeler l’API)
- Pas de rate limiting (vulnérable au DDoS)
- Pas de validation des entrées (injection SQL possible)
- Pas de logs structurés (impossible à débugger en prod)
- Pas de tests (régression au moindre changement)
6 mois plus tard, quand il faut ajouter une feature ou débugger un incident production :
- Personne ne comprend le code
- Refactoring = réécrire from scratch
- Dette technique = 3-4x le temps initial gagné
Analogie terrassier : Un débutant avec un tractopelle 25 tonnes creuse “vite”, mais sans vérifier les plans. Résultat : canalisation de gaz coupée, quartier évacué, 500k€ de dégâts.
Danger #2 : Architecture bancale car pas de vision d’ensemble
L’IA génère du code localement optimal mais globalement incohérent.
Exemple : Un junior demande à Claude de générer :
- Un service d’authentification (JWT)
- Un service de paiement (Stripe)
- Un service de notification (email)
Problème : Les 3 services utilisent des patterns différents :
- Auth : Architecture hexagonale
- Paiement : Layered architecture
- Notification : Procédural
Résultat : Codebase schizophrène. Impossible à maintenir, à tester, à faire évoluer.
Un senior aurait imposé :
- Un pattern unique (ex: Clean Architecture)
- Une structure de dossiers cohérente
- Des abstractions communes (interfaces, DTOs)
Danger #3 : Sécurité (les OWASP Top 10 ignorés)
L’IA ne pense pas “sécurité” par défaut. Elle génère du code fonctionnel, pas sécurisé.
Exemples concrets que j’ai vus (ou corrigés) :
- ❌ Secrets hardcodés dans le code (API keys, DB passwords)
- ❌ Injection SQL (concatenation de strings dans les requêtes)
- ❌ XSS (affichage de données utilisateur sans sanitization)
- ❌ CORS mal configuré (allowOrigin: “*”)
- ❌ JWT sans expiration (tokens valides à vie)
Un senior sait :
- ✅ Secrets dans un vault (Azure Key Vault, AWS Secrets Manager)
- ✅ Requêtes SQL via ORM ou parameterized queries
- ✅ Sanitization des entrées/sorties
- ✅ CORS restrictif (whitelist des origines)
- ✅ JWT avec expiration courte + refresh tokens
Danger #4 : Pas de maintenance (code incompréhensible 6 mois après)
L’IA génère du code verbeux, sur-engineered, ou avec des patterns obscurs.
Exemple : Claude génère une factory de factory de builder pour instancier un simple service.
Résultat :
- Complexité accidentelle
- Junior ne comprend pas son propre code 6 mois après
- Refactoring impossible (risque de tout casser)
Un senior aurait :
- Simplifié (KISS : Keep It Simple, Stupid)
- Documenté les choix d’architecture (ADRs)
- Imposé des revues de code
Les fondations nécessaires avant la 25 tonnes
Avant d’utiliser une IA agentic puissante comme Claude Code, il faut maîtriser :
✅ 1. Architecture logicielle
Savoir :
- Découper un système en composants (frontend, backend, infra)
- Choisir le bon pattern (Clean Architecture, Hexagonal, CQRS)
- Identifier les abstractions (interfaces, DTOs, repositories)
- Éviter le couplage fort (SOLID, DDD)
Pourquoi : L’IA génère du code, mais c’est vous qui définissez l’architecture. Si l’architecture est bancale, l’IA ne fera qu’amplifier le problème.
Analogie terrassier : Savoir où creuser sans toucher les canalisations, les câbles électriques, les fondations existantes.
✅ 2. Bonnes pratiques de développement
Savoir :
- Clean Code (nommage, fonctions courtes, Single Responsibility)
- SOLID (principes de conception orientée objet)
- DRY (Don’t Repeat Yourself)
- Tests (unitaires, intégration, end-to-end)
Pourquoi : L’IA génère du code fonctionnel, mais pas forcément maintenable. C’est à vous de lui imposer les standards.
✅ 3. Sécurité (OWASP Top 10)
Savoir :
- Authentification/Autorisation (OAuth, JWT, RBAC)
- Validation des entrées (sanitization, whitelisting)
- Protection des données (chiffrement, hashing)
- Rate limiting, CORS, CSP
- Gestion des secrets (vaults, environnement variables)
Pourquoi : L’IA ne pense pas “attaquant”. Vous devez valider chaque ligne générée sous l’angle sécurité.
Analogie terrassier : Savoir stabiliser le terrain avant de creuser profond, pour éviter les effondrements.
✅ 4. Infrastructure & DevOps
Savoir :
- Déploiement (CI/CD, pipelines)
- Monitoring (logs, métriques, alertes)
- Observabilité (traces distribuées, correlation IDs)
- Scalabilité (load balancing, auto-scaling)
Pourquoi : Un code qui marche en local ≠ un code production-ready. L’IA peut générer un Dockerfile ou un pipeline CI/CD, mais c’est vous qui devez valider qu’il est adapté à votre infra.
✅ 5. Code review (même du code généré par IA)
Savoir :
- Relire du code critiquement
- Identifier les smells (code trop complexe, couplage fort, duplication)
- Valider les tests (coverage ≠ qualité)
- Questionner les choix techniques
Pourquoi : L’IA se trompe. Souvent. Vous devez savoir détecter quand et pourquoi.
Mon expérience : Sur le projet chatbot, Claude a généré des tests avec 95% de coverage… qui ne testaient rien (mocks partout). J’ai dû réécrire 70% des tests.
✅ 6. Debugging en production
Savoir :
- Lire des logs structurés
- Analyser des stack traces
- Utiliser des APM (Application Performance Monitoring)
- Investiguer des incidents (post-mortems)
Pourquoi : Quand l’IA génère un bug en production (et ça arrivera), c’est vous qui devez le fixer. Rapidement.
Analogie terrassier : Savoir quoi faire quand le tractopelle s’enlise ou quand le terrain s’effondre.
L’IA comme multiplicateur, pas comme remplacement
La formule magique
Senior dev + IA agentic = 5-10x productivité
Junior dev + IA agentic = chaos organisé
Exemples concrets
Migration Terraform
Contexte : Migrer 50 ressources Azure de scripts Bash vers Terraform.
Avec IA :
- Claude génère 80% du code Terraform (ressources, modules, variables)
- Je valide : architecture réseau, sécurité (Network Security Groups), naming conventions, tags FinOps
- Je teste : terraform plan, déploiement sur environnement staging
- Je documente : README, ADRs, runbooks
Résultat : Gain de temps 6-7x. Mais sans mon expertise, le code généré aurait été :
- Non conforme aux standards entreprise
- Non sécurisé (ports ouverts en trop)
- Non optimisé coûts (instances surdimensionnées)
Refactoring legacy (Node.js → TypeScript)
Contexte : Refactoriser une API Node.js JavaScript legacy (15k lignes) vers TypeScript.
Avec IA :
- Claude génère les types TypeScript
- Je valide : cohérence des types, null safety, gestion des erreurs
- Je refactorise : découpage en modules, ajout de tests
- Je déploie : progressivement (feature flags)
Résultat : Gain de temps 5x. Mais sans mon expérience, le refactoring aurait introduit :
- Des bugs silencieux (types
anypartout) - Une architecture toujours monolithique (juste avec du TypeScript)
Debug production (incident chatbot)
Contexte : Le chatbot répond lentement (>10 secondes) après 100 requêtes.
Avec IA :
- Claude analyse les logs, suggère “Memory leak dans le service de cache”
- J’analyse : Monitoring Azure (CPU, RAM, requêtes/sec)
- Je diagnostique : Cache Redis mal configuré (pas de TTL, accumulation infinie)
- Je fixe : Ajout TTL + LRU eviction policy
Résultat : IA utile pour hypothèses, mais c’est moi qui ai diagnostiqué et fixé en regardant les métriques réelles.
Les risques business : Vélocité vs Dette technique
Le piège de la vélocité court terme
Scénario : Une startup embauche 3 juniors et leur donne Claude Code.
Résultat à J+3 mois :
- ✅ Features livrées rapidement
- ✅ Démos impressionnantes
- ✅ Investisseurs satisfaits
Résultat à J+12 mois :
- ❌ Codebase ingérable (10 patterns différents)
- ❌ Bugs en cascade (pas de tests)
- ❌ Incidents production fréquents (sécurité bancale)
- ❌ Turnover (juniors partent, personne ne comprend le code)
- ❌ Réécriture complète nécessaire : 6-9 mois, 500k€+
Dette technique accumulée : 3-4x le temps “gagné” initialement.
Le calcul rationnel
Option A : Junior + IA agentic
- Coût développement : 40k€/an (junior)
- Vélocité : 3-4x
- Dette technique : +200% (refactoring futur)
- Coût caché : Incidents production, turnover, réécriture
Option B : Senior + IA agentic
- Coût développement : 70k€/an (senior)
- Vélocité : 8-10x
- Dette technique : +20% (code propre dès le départ)
- Pas de coût caché (ou minime)
ROI réel sur 2 ans : Option B = 2-3x moins cher (même avec un salaire senior).
Ce que les CTOs doivent comprendre
❌ Mauvais calcul : “3 juniors + IA = productivité d’une équipe senior”
✅ Bon calcul : “2 seniors + IA = productivité de 10-15 devs, avec code maintenable”
L’IA ne remplace pas l’expertise. Elle l’amplifie.
Donner une IA puissante à des juniors sans supervision = hypothéquer l’avenir pour une démo aujourd’hui.
La progression recommandée
Niveau 1 - Débutant (0-2 ans)
Outils recommandés :
- ✅ Minipelle : GitHub Copilot (autocomplétion ligne par ligne)
- ❌ Pas d’IA agentic (trop puissant, trop risqué)
Pourquoi :
- Apprendre les bases SANS IA d’abord
- Comprendre la syntaxe, les patterns, les erreurs courantes
- Développer les réflexes de debugging
Utilisations OK :
- Génération de boilerplate (getters, constructeurs)
- Autocomplétion de fonctions simples
- Recherche de documentation
Supervision nécessaire :
- ✅ Code review systématique par un senior
- ✅ Pair programming régulier
- ✅ Formation continue (sécurité, architecture)
Analogie terrassier : Apprendre à conduire une minipelle sur terrain simple (tranchées, fondations légères). Supervision par un chef de chantier.
Niveau 2 - Intermédiaire (2-5 ans)
Outils recommandés :
- ✅ Minipelle + tractopelle léger : Copilot + IA agentic (tasks limitées)
Pourquoi :
- Fondations solides acquises
- Capacité à valider du code généré
- Expérience de debugging
Utilisations OK :
- Génération de CRUD complets
- Migrations (JavaScript → TypeScript)
- Refactoring de modules isolés
- Génération de tests unitaires
Supervision recommandée :
- ✅ Code review par senior sur architecture et sécurité
- ✅ Validation des choix techniques avant implémentation
Analogie terrassier : Conduire un tractopelle léger (8-10 tonnes) sur chantiers standards. Supervision occasionnelle.
Niveau 3 - Senior (5+ ans)
Outils recommandés :
- ✅ Tractopelle 25 tonnes : Claude Code, Cursor Composer, Aider (full power)
Pourquoi :
- Maîtrise de l’architecture, sécurité, DevOps
- Capacité à cadrer l’IA (guidelines, validation)
- Expérience de production (incidents, debugging, scaling)
- Savoir quand l’IA se trompe et pourquoi
Utilisations OK :
- Génération de features complètes (multi-fichiers)
- Refactoring d’architecture
- Migrations complexes (cloud, infra as code)
- Création de projets from scratch
Supervision :
- Autonomie complète
- Code review par pairs (validation collective)
Analogie terrassier : Conduire un tractopelle 25 tonnes sur terrains complexes (canalisations, fondations sensibles, stabilisation). Permis CACES + expérience terrain.
Mon avis sur les juniors qui utilisent l’IA
Constat : Les juniors avec IA agentic vont vite. Très vite.
Problème : Ils n’apprennent pas les bases.
Exemples concrets que j’ai observés :
- ❌ Junior ne sait pas écrire une boucle sans Copilot
- ❌ Junior ne comprend pas la différence entre
let,const, etvar(JavaScript) - ❌ Junior ne sait pas débugger (attends que l’IA corrige le bug)
- ❌ Junior ne connaît pas les OWASP Top 10 (sécurité)
Pire encore : Ils ne se rendent pas compte de leurs erreurs.
Exemple réel :
- Junior génère une API avec Claude
- API livrée en production
- Incident 3 jours après : faille XSS (données utilisateur non sanitizées)
- Junior : “Mais Claude a généré le code !”
Résultat : Incident production, client mécontent, réputation entamée.
Ce que je recommande aux juniors
1. Apprendre les bases SANS IA (6-12 mois)
- Syntaxe, algorithmes, structures de données
- Debugging, tests, Git
- Comprendre pourquoi le code fonctionne (pas juste “ça marche”)
2. Utiliser l’IA comme un assistant, pas un remplaçant
- Copilot pour boilerplate : OK
- Copilot pour logique métier : Réfléchir d’abord, valider ensuite
3. Lire le code généré ligne par ligne
- Ne JAMAIS copier-coller sans comprendre
- Questionner : “Pourquoi ce pattern ? Pourquoi cette bibliothèque ?”
4. Faire des code reviews avec des seniors
- Apprendre à identifier les smells
- Comprendre les choix d’architecture
5. Étudier la sécurité (OWASP Top 10)
- Injection SQL, XSS, CSRF, secrets management
- L’IA ne protège pas contre les attaques
Ce que je recommande aux CTOs
1. Ne pas recruter uniquement des juniors + IA
- Ratio recommandé : 1 senior pour 3-5 juniors
- Le senior cadre, valide, forme
2. Imposer des code reviews systématiques
- Valider architecture, sécurité, maintenabilité
- Pas de merge sans validation senior
- Partage de la connaissance et des bonnes pratiques
3. Former les équipes
- Sécurité (OWASP)
- Architecture (Clean Architecture, SOLID)
- DevOps (CI/CD, monitoring, logs)
4. Mesurer la dette technique
- Pas seulement la vélocité (features livrées)
- Aussi : bugs production, incidents, temps de refactoring
Conclusion : Le futur du métier
L’IA ne remplace pas l’expertise. Elle l’amplifie.
Un développeur senior avec Claude Code en 2025, c’est comme un terrassier expérimenté avec un tractopelle 25 tonnes :
- 10x plus productif qu’avec une pelle
- Capable de réaliser seul des projets complexes (chatbot souverain, migrations cloud, refactoring d’architecture)
- Mais toujours avec un permis (architecture, sécurité, DevOps)
Un développeur junior avec Claude Code sans fondations, c’est comme un débutant avec un tractopelle sans formation :
- Illusion de productivité à court terme
- Dégâts massifs à long terme (dette technique, incidents production, réécriture complète)
Les 3 vérités de l’IA en développement
1. Refuser l’IA = se limiter à la pelle
- Inefficace
- Lent
- Non compétitif en 2025
2. Utiliser l’IA sans fondations = tractopelle sans permis
- Dangereux
- Dette technique massive
- Coûts cachés énormes
3. Expertise + IA = multiplicateur de force
- Productivité 5-10x
- Code maintenable
- Vélocité durable
Mon message final
Aux développeurs : Apprenez votre métier d’abord. L’IA ensuite.
Maîtrisez l’architecture, la sécurité, les bonnes pratiques. Puis utilisez l’IA pour multiplier votre force.
Aux CTOs : Investissez dans l’expertise.
Un senior + IA vaut 10 juniors + IA. Sur le long terme, c’est 3x moins cher (dette technique évitée).
Aux juniors : Ne brûlez pas les étapes.
Copilot pour le boilerplate : OK. Claude Code pour générer une architecture complète : attendez 2-3 ans. Sinon, vous allez générer du code que vous ne comprendrez pas, que personne ne pourra maintenir, et qui finira réécrit.