Premières lignes
Du HTML, du PHP et beaucoup de « mais pourquoi ça marche pas ? ». Spoiler : la question ne m’a jamais quitté.
Lead dev · Vannes, Bretagne Sud · carburé au kouign-amann
Je code depuis 2007. Eux, ce sont mes agents : rapides, motivés, un peu explosifs. Heureusement, je relis tout.
Je suis dev, pas designer : sur ce site, le crayon, c’est le code. Ce qui me rend fier, c’est un outil qu’une équipe ouvre tous les matins sans même y penser.
Et très à l’aise avec l’IA. Mes agents peuvent en témoigner, enfin ceux qui n’ont pas explosé.

Du HTML, du PHP et beaucoup de « mais pourquoi ça marche pas ? ». Spoiler : la question ne m’a jamais quitté.
Un jeu d’élevage en ligne, tout en PHP 5, avec sa base de données et une vraie communauté. Des joueurs qui signalent des bugs : c’est là que je deviens vraiment dev.
Du PHP, beaucoup de PHP : des sites, des outils métier, et du legacy qu’on n’ose pas toucher. L’école de la rigueur, et de la patience. Surtout de la patience.
Au siège de la CMA Hauts-de-France, à Lille : des applis métier en Symfony, et CMAchance, incubé par beta.gouv.fr avec la DINUM. Le service public : ça doit marcher pour tout le monde, même ceux qui impriment leurs mails.
Mon propre chef (très exigeant) et mon propre service client. De l’e-commerce en Symfony, puis React et Web3, jusqu’à la folie des NFT. Les preuves sont plus bas.
Gestion de projet, choix techniques, et un serveur d’une trentaine de sites, du local à la prod. À mon arrivée, chaque site avait son propre Strapi : autant de plantes à arroser. J’ai tout rempoté dans un seul back, notre CRM maison.
Le bon code, c’est celui qu’on relit sans peur. Celui qui tient encore debout le vendredi soir, que le prochain dev comprend sans soupirer, et qui sert à de vraies gens. Les gribouillis autour, c’est du bonus.
Oui, je bosse avec l’IA, et j’assume : mon ego est resté au vestiaire. Ce qu’elle n’a pas, ce sont mes années de terrain : voir plus loin que le site, penser toute l’architecture, du serveur à la base de données, et sentir où ça va casser avant que ça casse. Elle propose, je décide.
$ claude› pourquoi le site rame le lundi ? ● agent enquête · 18 fichiers fouillés ● agent coupable · une photo de 12 Mo ● skill compression · appliquée ✓ site 4× plus rapide, lundi sauvé
Des sous-agents explorent le code et lancent les tests en parallèle. Contrairement à ceux du haut de page, eux ne réclament jamais de café.
Des recettes écrites une fois : conventions, déploiement, revue. Claude les suit à la lettre, même le lundi matin.
Les serveurs MCP, ce sont les rallonges qui relient Claude au repo, à la documentation, à la base de données. C’est moi qui gère la multiprise.
J’apprends à mes collègues à bosser avec l’IA : les bons réflexes, les bons outils, et le réflexe de vérifier ce qu’elle raconte.
Mon autre portfolio : un monde procédural en 3D qu’on explore en volant. Régime réussi : de 826 000 à environ 400 000 triangles, et de 24 à plus de 60 fps sur un MacBook M1.
Next.js 16 · React 19 · Three.js · R3F · ZustandLe site de la maison, ceux de nos clients opticiens et des outils Next.js de type CRM et SaaS. Tout doit être net : c’est le métier des clients. Les bureaux, eux, se visitent en pixel art.
Next.js · Node.js · PostgreSQL · Ubuntu · Apache · PM2Je bosse iciUn CV qu’on parcourt dans la peau d’un petit lapin : on le dirige au clavier, il sautille, et certaines sections réagissent quand il leur rentre dedans. Interpolations et gravité, avec Spline et son moteur Three.js. Enfin un CV qui fait des bonds.
Spline · Three.jsDes personnages NFT à composer soi-même, option par option, frappés sur Ethereum et stockés sur IPFS. Ils devaient vivre dans un jeu de type RPG ; le jeu est tombé aux oubliettes, en même temps que la fièvre des NFT.
React · Node.js · MongoDB · Solidity · IPFSRangé au grenierDes serpents dans ton portefeuille, version gentille : 10 000 serpents en pixel art dessinés à la main, animés sur 12 images, plus de 140 traits (dont 10 uniques). Jetons ERC-721 sur Ethereum, images sur IPFS, un mint gratuit toutes les 24 h.
React · GSAP · Solidity · Ethereum · IPFSEn hibernationUne boutique de démonstration complète en Symfony 5 : catalogue filtrable, panier, paiement Stripe, suivi de commande et back-office EasyAdmin. Tout marche, sauf une chose : rien n’y est vraiment à vendre.
Symfony 5 · EasyAdmin · Stripe · MariaDBRideau baisséCertains tournent en coulisses chez des clients, d’autres ont fini à la corbeille, et c’est elle qui m’a le plus appris. Pour le reste, j’ai des anecdotes (et quelques cicatrices).
Tu racontes, je pose les questions qui fâchent (gentiment). Puis je reformule en périmètre clair et chiffré, rien au doigt mouillé.
Stack, données, découpage. Chaque choix est écrit et expliqué, pour éviter le fameux « mais pourquoi on a fait ça ? ».
Par petites livraisons, testées au fil de l’eau. Tu vois le projet grandir, pas une barre de chargement bloquée à 99 %.
Déploiement, suivi, maintenance. Et si tu reprends la main, une passation propre, doc comprise. Sans « version finale (2) ».
Après le boulot, mes agents ont monté un groupe : batterie, basse, piano, chant et chœurs, tous calés sur le même tempo. Ce soir, c’est toi le lead ! Réveille-les dans l’ordre que tu veux, et lance le dé pour changer de morceau.
En ce moment sur scène
Un projet qui te trotte dans la tête, un site à créer ou à refaire, une app qui grince ? Je suis en poste, mais il reste toujours une place pour un bon projet. Et si tu veux apprendre à bosser avec l’IA, je peux aussi t’y former. Mes agents s’échauffent déjà.