Blog
Notes d’un tech lead en temps partagé : architecture logicielle, revues de code, harnais IA, design systems et encadrement de petites équipes de dev.
Produit vibecodé : le premier déploiement n'est que le début
Failles PHP et Next.js, 1 094 correctifs Microsoft, 95 000 CVE en 2026 : un produit vibecodé n'est jamais « fini », sa maintenance commence au déploiement.
Votre prochain side-project : un business pas sexy
La plupart des side-projects de devs échouent parce qu'ils sont purement tech. Mieux vaut attaquer un business pas sexy, avec des associés de ce milieu.
Avec l'IA, j'ai codé un moteur de clips musicaux
Ma femme est chanteuse et ses clips sont un casse-tête. Plutôt qu'un shooting ou une vidéo générée par IA, j'ai codé un moteur de rendu de clips sur mesure.
Et si on utilisait collectivement mal l'IA ?
Recréer la suite Adobe avec l'IA, c'est aller plus vite sur l'existant. Les vrais gagnants l’utiliseront pour faire nouveau et faire mieux, pas juste plus vite.
Review de code par IA : l'arbitre, ce doit être vous
Une IA qui relit son propre code dit que tout va bien ; celui d'un autre agent, elle le critique toujours. Le verdict dépend de la question : arbitrez.
Développer un programme : les questions que l'IA ne tranche pas
Sous-domaines, bounded contexts, archi, data, scale, sécurité, prod : les questions à se poser quand on développe un programme et que l'IA seule ne tranche pas.
« Co-Authored-By: Claude » : les trois camps du débat
Garder ou enlever le « Co-Authored-By: Claude » des commits ? Honnêteté, métrique, bruit visuel, pub gratuite : les arguments du débat, résumés.
« Co-Authored-By: Claude » dans mes commits ? À 100 %
Bosser à fond avec l'IA et en cacher toute trace n'a aucun sens. Le co-authored ne retire rien : le commit reste ma responsabilité.
Faites analyser vos bounded contexts par une IA
Relations, changements, langage, maintenance : des sous-agents IA qui analysent vos bounded contexts peuvent révéler des problèmes profonds de design.
Faire enregistrer à Claude la vidéo de démo d'une feature
Pour faire valider une feature finie en local : Claude écrit un scénario de test, le joue dans le navigateur et l'enregistre en vidéo sous-titrée.
Bounded contexts : pourquoi bien les designer ?
Bien designer ses bounded contexts protège le langage de vos modèles, simplifie l'organisation et, via la context map, guide vos choix techniques.
Subdomains et bounded contexts : le problème et la solution
En DDD, on confond souvent subdomains et bounded contexts. Les premiers existent dans le business, les seconds sont designés pour organiser le software.
Mon workflow agentique : worktrees, TDD, reviews et un master
5-6 sessions en parallèle, un worktree par tâche, un harness poussé, du TDD forcé, 8 agents de review et une session master : mon workflow agentique du moment.
Avec l'IA, on peut apprendre plus vite que jamais
L'IA empêcherait d'apprendre ? Pas si on lui demande de nous apprendre à faire plutôt que de faire à notre place. Avec un peu d'effort, c'est un catalyseur.
Mon workflow de review IA : des agents spécialisés en boucle
Des agents de review spécialisés, un skill qui les relance en sessions fraîches sur plusieurs rounds, puis un artifact final qui présente le travail fait.
Relire une PR GitHub dans un ordre logique, pas alphabétique
GitHub trie les fichiers d'une PR par ordre alphabétique. Un skill qui ordonne le diff en blocs logiques, une extension Chrome qui réordonne la review : 15 min.
L'outbox pattern : la cohérence en dehors de l'agrégat
Un agrégat garde la cohérence à l'intérieur d'une brique métier. Pour ce qui est dehors, comme l'email de facture, l'outbox pattern garantit qu'il part.
L'agrégat en DDD : une frontière de cohérence pour vos invariants
En DDD tactique, l'agrégat regroupe des objets liés derrière une racine unique, pour que vos invariants restent vrais, y compris au moment de la persistance.
Core, supporting, generic : les trois types de subdomains
Analyser le business domain révèle trois types de subdomains : core, supporting et generic. Les identifier, c'est savoir où mettre son temps et son effort.
Fatigué par le rythme de l'IA ? Revenez aux bases
Sorties, workflows, outils : avec l'IA, tous les devs découvrent la fatigue que les devs JS connaissent. Ma parade : rebosser les bases, stables et durables.
Todos et human-todos : rester concentré pendant que l'IA code
Deux fichiers markdown à la racine du repo : l'IA note ce qu'elle repère, je liste ce que moi seul peux faire, et des sessions en arrière-plan vident le todos.
Le Result Pattern : distinguer bug et erreur métier
cancelOrder() peut échouer de plein de façons prévisibles. Le Result Pattern distingue l'erreur métier qu'on renvoie du bug qui part dans Sentry.
Architecture logicielle et craftsmanship à l'ère de l'IA
Transaction Script, DDD, Clean Architecture, CQRS, TDD, SOLID, Big Ball of Mud : bosser l'architecture logicielle n'a jamais été aussi utile ni accessible.
Effort de maintenance = Force × Distance × Volatilité
Vlad Khononov présente à DDD Europe une formule simple : il suffit de ramener une seule dimension à zéro pour que l'effort de maintenance s'effondre.
Le prochain gros achat IT des PME ? Un mini data-center
Modèles locaux enfin crédibles, CLOUD Act américain : la prochaine grosse dépense IT d'une PME pourrait être une machine plutôt qu'un abonnement cloud.
TDD strict avec des agents IA : plus lent, plus cher, et meilleur
Forcer des agents IA à faire du TDD strict donne un meilleur design et des tests plus solides, au prix de lenteur et de coûts. Et au-delà du prompt, des hooks ?
Un bon harnais IA permet d'utiliser des modèles moins chers
Sur une codebase aux règles d'import enfreintes, Opus corrige seul, Haiku s'y fait piéger, jusqu'à ce qu'une règle ESLint le corrige pour 4 à 5 fois moins cher.
La valeur d'un projet tech est dans les règles métier
Les règles métier, pas la technologie, concentrent 80 % de la valeur d'un projet tech. Pourtant la plupart des projets commencent par le code ou les interfaces.
Freelance, full remote : la seule équipe que je recruterais
Si je dois recruter demain, ce sera freelance et full remote : c'est là que se trouve le vivier des meilleurs profils, pas dans un rayon de 30 minutes.
Les ADR racontent à l'IA l'histoire que le code ne raconte pas
README, CLAUDE.md et AGENTS.md ne racontent que l'état actuel du code. Les ADR ajoutent l'histoire : pourquoi cette décision, quelles alternatives écartées.
La première semaine sans écrire une ligne de code
Sur un projet greenfield ou brownfield, ne pas toucher au clavier la première semaine : comprendre, challenger l'architecture, modéliser le métier.
Le 10x à l'ère agentique commence par du 0,3x
Pour livrer 10x plus vite avec des agents IA, il faut d'abord ralentir : harnais solide, parallélisation propre et CI/CD maîtrisée avant d'accélérer.
La boy-scout rule : moderniser une codebase sans big bang
Mettre à jour les conventions d'une codebase sans big bang refacto : à chaque fichier touché, on applique les dernières règles décidées par l'équipe.
Orca : une vue d'ensemble sur mes repos et mes agents
Un ADE qui affiche tous mes repos et leurs worktrees, avec l'état de chaque agent d'un coup d'œil : avec 3 à 6 sessions en parallèle, la visibilité change tout.
Mon accompagnement pour les PME qui codent avec l'IA
Outils internes codés avec l'IA hors de contrôle, non sécurisés, fragiles ? Voici comment je remets les PME d'équerre, progressivement, à leur rythme.
Majuscules-Driven Development : crier sur l'IA ne sert à rien
Crier en majuscules sur une IA pour qu'elle respecte une règle d'architecture ne sert à rien : un outil déterministe la vérifie à votre place.
Autant de setups de développement que de développeurs
IDE, ADE, terminal, clavier ou voix, un ou dix agents : les façons de coder ont explosé avec l'IA. Mon setup du moment, et un appel à comparer le vôtre.
Harness Engineer : le métier de demain ?
Quand on ne code presque plus à la main, le seul vrai garde-fou de l'IA, c'est le harnais. Portrait du Harness Engineer, l'ultime senior de l'ère agentique.
Zéro ligne de code écrite à la main : mon expérience
J'ai relevé le défi d'écrire un programme sans taper une seule ligne moi-même, en poussant le harnais IA à son maximum, inspiré par une expérience d'OpenAI.
Harnais IA : une instance locale fraîche et observable
AGENTS.md et skills ne suffisent pas : pour vérifier son travail au runtime, un agent doit lancer le programme complet en local et tout observer.
Harnais IA : les scripts, ces grands oubliés du déterminisme
Un skill dit à l'IA comment créer des fichiers, un script le fait à sa place, de façon déterministe. Moins cher, plus robuste : un exemple concret avec un CMS.
Pourquoi je demande un ADR avant chaque décision d'architecture
Un ADR tient sur une page : contexte, décision, conséquences. L'idée de Michael Nygard (2011) n'a pas pris une ride, et c'est un guide gratuit pour l'IA.
Un framework opinionated, c'est un harnais pour l'IA
AdonisJS est réputé très opinionated. Discussion avec Jonathan Serra (AI2H) sur pourquoi cette rigidité donne un harnais de plus à l'IA.
Multi-tenant : les quatre niveaux de séparation des données
Un SaaS qui gère des données sensibles doit séparer celles de chaque client. Quatre niveaux, du tenant_id à l’infra dédiée, et celui que je choisis souvent.
Pourquoi je me lance à 100 % sur le développeur un jour par semaine
Cinq profils quasi identiques m’ont demandé la même chose : un développeur qui surveille leurs arrières, sans temps plein. J’en fais mon métier.
Avec l'IA, on va plus vite. Mais surtout, on peut faire mieux
L'IA fait aller plus vite, mais l'essentiel est ailleurs : faire mieux. Les projets moyens vont se noyer, ceux qui montent le niveau iront loin.
Le marché des développeurs est en pleine mutation
Les grosses équipes de dev se réduisent à cause de l’IA. Pendant ce temps, les PME créent leurs outils internes et auront besoin d’experts quelques jours par mois.
Un « Model », c'est quoi ? Deux choses qui n'ont rien à voir
« Model » désigne le Model d’un ORM comme le domain model du DDD. Les confondre fait croire qu’on a modélisé son métier alors qu’on a décrit ses tables.
Functional Core, Imperative Shell : la fin des mocks partout
Le talk Boundaries de Gary Bernhardt (2012) reste un des meilleurs conseils de testing : séparer décisions et actions, ne passer que des valeurs entre les deux.
Architecture saine, features mal faites : vous survivrez
Une architecture saine et des features mal faites, on survit. Une architecture bancale, tout devient un combat. Et c'est le plus compliqué du métier.
Le TJM à l’expérience ne mesure plus rien
La grille de TJM reposait sur les années d’expérience parce que le clavier bornait l’écart entre bons et mauvais développeurs. Avec l’IA, ce goulot saute.
dependency-cruiser : un capteur computationnel pour vos agents IA
dependency-cruiser cartographie les imports et fait échouer la CI quand une frontière est violée. Un capteur pour l’IA, qui exige une architecture claire.
Harnais IA : guides et capteurs, les quatre cases à remplir
Un harnais, c’est tout ce qui, dans un agent, n’est pas le modèle. Deux axes, quatre cases, et une conclusion qui fait mal sur la harnessability d’une codebase.
Créer un produit est simple. La distribution, non.
Construire un produit dépend des développeurs. Vendre, onboarder et retenir des clients, non. Un plan simple pour les porteurs de projet tech.
Vos tests sont verts, mais ça ne prouve rien : le mutation testing
Le coverage mesure les lignes traversées, pas celles vérifiées. Le mutation testing mesure si vos tests détectent, vital quand des agents écrivent les tests.
Le développeur senior à mi-temps : un nouveau modèle de freelancing
Dans les boîtes où le produit n’est qu’un support au business, le vibe-coding atteint vite un mur. Un senior quelques jours par mois suffit souvent à le lever.
Vertical Slice Architecture : ranger le code par requête
Ajouter un champ touche six fichiers dans quatre dossiers ? La fonctionnalité n'est rangée nulle part. La VSA de Jimmy Bogard range le code par requête.
Le prochain goulot d’étranglement du développement, c’est la RAM
L’IA a déplacé le bottleneck de l’écriture vers la relecture. Le suivant est matériel : cinq agents en parallèle demandent une machine que peu auront.
Combien de vos règles d’architecture cassent le build ?
Avec l’IA, une architecture standardisée devient un atout : chaque règle vérifiable par une machine est une contrainte, les autres ne sont que des intentions.
Dummy, stub, spy, mock, fake : cinq doublures, une seule question
Les cinq types de doublures de test se confondent facilement. Une question posée à la doublure, tirée de Meszaros, suffit à les distinguer pour de bon.
Trois questions pour choisir le bon outil pour votre prochain test
Test unitaire pur, intégration, Fake ou doublure qui enregistre les appels : une stratégie simple en trois questions pour choisir sans hésiter.
« A dépend de B » : de quoi parle-t-on exactement ?
Une dépendance peut être vue par le compilateur, par un test, ou par personne. Trois questions pour rester précis, entre développeurs comme face à une IA.
Une « couche » en architecture logicielle, c'est quoi ?
Abstraction, technique, flux d'appel, dépendances, déploiement : « couche » désigne cinq découpages différents, et votre programme les a sans doute tous.
Clean Architecture : la Dependency Rule, et rien d'autre
Ce que Robert C. Martin extrait en 2012 des architectures Hexagonale, Onion et consorts : une seule règle vérifiable dans le code, la Dependency Rule.
L'Onion Architecture : le code métier au centre
Jeffrey Palermo, 2008 : une règle de dépendance unique pour que le code métier ne subisse plus les changements de technologie.
Parnas et Cockburn : comment s'imbriquent leurs deux visions
Le Port/Adapter de Cockburn n'est qu'une application tactique de la stratégie de Parnas : chaque duo Port/Adapter est un module qui cache un choix techno.
Architecture Hexagonale : le pattern Ports & Adapters de Cockburn
Alistair Cockburn, 2005 : penser un programme comme un intérieur métier et un extérieur branché via des ports et des adapters, plutôt qu'en couches.
Parnas, 1972 : selon quel critère découper en modules ?
En 1972, David Parnas propose de découper un programme non pas selon un flowchart, mais pour cacher dans chaque module ce qui est difficile ou va changer.
Le temps gagné grâce à l'IA : plus de quantité ou de qualité ?
Deux façons d'utiliser le temps que fait gagner l'IA : produire plus de MVPs et de features, ou autant mais en mieux. Pourquoi je penche pour la qualité.
Scaler un MVP vibecodé : quand les opérations lourdes explosent
Une opération lourde traitée en mémoire par l'IA tient en prototype, puis explose quand les utilisateurs affluent. Sans queues ni observabilité, bon courage.
Apprendre efficacement : la compétence dev dont personne ne parle
Avec l'IA, la valeur d'un dev tient à l'architecture et au métier. Encore faut-il les apprendre : reformuler, synthétiser, recouper, prendre son temps.
Construire un MVP, c'est simple. Le reste, beaucoup moins
Avec l'IA, construire un MVP n'a jamais été aussi simple. Ce qui est dur : la bonne idée, la distribution, le product-market fit, le churn, la qualité.
Avec l'IA, du code moins sûr et des devs plus confiants
Une étude de Stanford : les devs aidés par l'IA écrivent du code moins sûr et s'en croient plus sûrs. La parade : faire auditer par une IA au contexte neuf.
L'IA fait ce qu'on lui dit, et uniquement ce qu'on lui dit
Sécurité, cohérence avec l'existant, besoins à venir : ce qu'on ne demande pas à l'IA donne une app parfaite en surface, mais truffée de problèmes.
IDOR : la faille que l'IA laisse dans tes routes
L'IA crée une route qui renvoie une facture par son id, mais oublie de vérifier à qui elle appartient. Voici le test en 3 étapes pour repérer une IDOR.
Tes clés API secrètes sont peut-être visibles en public
L'IA met les clés là où ça marche : dans le bundle, donc chez tout le monde. Voici comment vérifier si tes clés API secrètes sont visibles sur ton site.
Supabase et RLS : la vérification de 2 minutes
L'IA oublie parfois d'activer RLS sur les tables Supabase créées en SQL : n'importe qui peut alors lire ta base. Voici comment le vérifier en 2 minutes.
Une CVE sur les apps Lovable : le vrai coût du vibe coding
Une CVE officielle sur les apps Lovable : sans règles d'accès aux données, n'importe qui lit la base. L'app marche, la démo est belle, la porte est ouverte.
Retour forcé au bureau : une aberration managériale
Forcer le retour au bureau en 2026, c'est perdre en résilience au pire moment et perdre les meilleurs profils, ceux qui ont le choix et restent en remote.
Claude Code : un fichier TODOS.md pour les détails hors sujet
Un warning, un pattern non respecté, une petite dette en pleine feature ? Une consigne dans le CLAUDE.md pour que Claude Code les note dans un TODOS.md.
Le meilleur harnais IA : une codebase à l'architecture rigoureuse
DDD, TDD, hexagonale ou conventions maison : peu importe. Une codebase rigoureuse est le meilleur harnais pour qu'une IA suive votre façon de faire.
L'UX compte bien plus que l'UI
L'UX est trop souvent sacrifiée à l'UI, parce que l'UI se voit. Pourtant, un site moche mais fonctionnel sera utilisé bien plus longtemps qu'un site magnifique.
Le bon code paraît simple, le mauvais paraît intelligent
Écrire un code intelligent qui paraît simple est l'une des choses les plus dures en développement : derrière, un découpage propre et des choix invisibles.
Pourquoi 9 side-projects sur 10 meurent après le MVP
Le MVP terminé, les devs délaissent l'opérationnel, l'observabilité, la vente, le support et la maintenance. Mieux vaut finir 2 projets que faire 25 % de 8.
Le dev n'est pas mort : Claude a supprimé son dossier .claude
Au détour d'une feature, Claude a supprimé le dossier .claude : skills et agents envolés. Le git diff relu avant de pousser m'a sauvé. Gare au 100 % automatisé.
Le pipeline dev 100 % agents IA de rêve… et son point faible
Des agents qui font tout, des specs à la prod, sans supervision humaine et 100 % via Claude. Jusqu'au jour où Anthropic rate une mise à jour.
Freelance full remote, mais dans [VILLE] uniquement ?
Exiger qu'un freelance full remote vive dans une ville ou un pays donné n'a aucun sens. Imposer un cadre légal ou des horaires, à la limite.
Écrire du code est facile, construire un système ne l'est pas
Avec l'IA, écrire du code est devenu aussi facile qu'apprendre à écrire. Construire un système complexe, cohérent et durable reste un travail de chef-d'œuvre.
La meilleure feature d'un SaaS : ne rien ajouter
Passé un certain stade, la meilleure feature d'un SaaS est de ne rien ajouter : peaufiner et simplifier l'existant plutôt qu'empiler les fonctionnalités.
Les cinq formes de couplage, de la plus acceptable à la pire
External, common, control, stamp, content : cinq formes de couplage classées de la plus acceptable à la pire, et comment limiter chacune dans une codebase.
Le pire sur une codebase, c'est le couplage
Des modules un peu pourris mais bien découpés, ça ira. Des modules optimisés mais couplés dans tous les sens, c'est un enfer à maintenir.
Allez, je le dis : j'aime bien les daily tous les matins
Pas pour le « j'ai fait ci, je vais faire ça », mais parce qu'en full remote, le daily permet de voir ses collègues et de discuter au moins une fois par jour.
L'IA va réduire le nombre de développeurs… ou l'inverse
L'IA ne réduira le nombre de développeurs que si les projets stagnent. Je parie sur l'inverse : bien plus de projets, meilleurs, et donc plus de développeurs.
DDD + Clean Architecture : mon avis après 3 mois intensifs
Trois mois de DDD et Clean Architecture appliqués à la lettre sur une codebase en production : les pour, les contre, et pourquoi je ne m'en passerai plus.
Anti-chômage : demander à Claude dans quoi il est nul
Une astuce Claude Code anti-chômage : lui demander dans quoi il restera moyen encore un moment, puis travailler ces sujets à fond pour préparer la suite.
Claude Code : vérifier qu'il a bien lu vos CLAUDE.md
Une astuce Claude Code pour vérifier qu'il a bien lu le CLAUDE.md perso et celui du projet : lui faire dire bonjour avec ton prénom en début de conversation.