Le métier. UI moderne, type-safe, sans esbroufe. Et le PHP legacy quand il faut, parce que la prod n'attend pas.
- React 19
- Next.js 16
- TypeScript strict
- Tailwind 4
- shadcn/ui
- Vite 7
- Node / Express
- PHP (ctl.* maison)
- MariaDB / MySQL
- Prisma 7
- OpenAPI 3
Profil opérateur : parcours, stack, règles du jeu. Tenu honnête, mis à jour quand ça bouge. Si une techno n'est pas listée ici, c'est que je ne l'ai pas pratiquée — ou que je préfère la maîtriser avant d'en parler.
Premier vrai projet en juin 2023 : un PacMan en vanilla. Aujourd'hui je suis full-stack chez Montpellier Engineering — React/Next le matin, PHP figé depuis dix ans l'après-midi, et un peu de Tauri / mobile quand le besoin sort du navigateur.
Le soir et le week-end, c'est gamedev (HELLBOUND, Phaser 4) et bas-niveau (firmware C, Vulkan en exploration). Secondaire pour le métier, mais ça structure ma façon de penser le code : perf, données, mémoire.
Ce qui me tient : les projets où il faut apprendre quelque chose. Si je sais déjà tout faire, c'est probablement que c'est trop petit.
// disclaimer : je ne prétends pas tout maîtriser. Ce que je connais bien est marqué comme tel. Le reste, je le dis.
Trié par axe et par tier. PRIMARY = mon quotidien. SECONDARY = solide, utilisé régulièrement en pro ou en perso. ALSO = je sais m'en servir, sans en faire mon cœur de métier.
Le métier. UI moderne, type-safe, sans esbroufe. Et le PHP legacy quand il faut, parce que la prod n'attend pas.
Apps terrain et grand public. Quand la PWA ne suffit plus, je passe natif sans tousser.
Outils internes hors navigateur. Auto-update signé Ed25519, distribution propre.
Anthropic SDK en direct, jamais LangChain. Multi-provider quand le coût ou le routing l'impose.
Mon terrain de pratique. Strategy pattern strict, polish & juice non négociables.
Quand la mission descend au métal : firmware, scripts data, glue Python.
Les 50 % invisibles qui empêchent un projet de dériver.
Chronologie courte, l'essentiel. Du premier PacMan au firmware satellite.
Mes premières vraies lignes. Moche, bancal — mais ça bougeait à l'écran, et je n'ai plus arrêté.
Ethereum et smart contracts. Là où j'ai vraiment compris le coût du gas.
Entrée en alternance. Front React, back PHP, desktop Tauri menés en parallèle.
−87 % sur le coût d'inférence, mesuré sur mon propre SaaS. Routage dynamique vers le modèle le moins cher capable — OpenAI en direct, pas de surcouche.
Design system pensé pour des gants de chantier : gros boutons, contraste dur, mode offline.
Continuité full-stack — React/PHP/Tauri sur le portefeuille industriel.
Survivor Necromancer. Strategy pattern partout, le polish prend autant de temps que le gameplay.
Pile de télémétrie CCSDS/PUS-C. Le premier vrai "je ne sais pas encore, j'apprends en construisant".
Mes règles à moi. Pas universelles — juste tenues, parce qu'elles m'ont sauvé deux ou trois fois.
Pas de god-class à coups de switch de 400 lignes. Du gamedev (HELLBOUND × 3 axes) au SaaS (sélection LLM de CvGen).
Une feature sans retour visuel ou sonore, c'est un bug qui porte un nom. Hit pause, screen shake, particules, audio.
Jamais LangChain. Moins de magie noire, plus de contrôle. Quand un prompt déraille, je sais pourquoi en cinq minutes.
Next 16, React 19, Tailwind 4, Phaser 4, Tauri 2.10 — dès la release stable, jamais avant. Pas d'expérimental en prod.
Le code du projet, c'est 50 %. Le reste : outillage partagé, monitoring, design systems, mocks, doc.
Pas d'overclaim. Vulkan, j'y touche sans le maîtriser : il reste donc côté perso. Apogee, je l'apprends en construisant — et c'est écrit noir sur blanc.
DÉVELOPPEUR FULL-STACK · ALTERNANCE → CDD
Développement full-stack web sur plusieurs projets clients industriels : web, IoT terrain, outils desktop internes. Front React 19 / Vite 7 / Tailwind 4 / shadcn/ui, back PHP maison + MariaDB, desktop Tauri 2 + auto-update Ed25519. En parallèle : audit cybersécurité défensif (EBIOS RM) livré à la direction, config GitLab/LDAP, design system pensé WCAG AA.
▸ END OF DOSSIER
Tu as lu jusqu'ici. Soit le profil t'intéresse vraiment, soit tu procrastines. Dans les deux cas, la suite est de l'autre côté.