Romain Costes

Lead dev full-stack & référent technique

Je conçois, je déploie, je sécurise et je surveille des sites en production, du thème sur mesure jusqu'au serveur.

Basé à Lisle-sur-Tarn · Toulouse Disponible en CDI full remote Survolez pour inspecter le code Scroller
Manifeste

Le dev qu'on appelle quand ça doit tenir. Thèmes et modules sur mesure, boutiques migrées sans perdre une commande, serveurs compromis remis d'aplomb, outils maison qui surveillent tout le reste. Un alternant à faire grandir, des agents IA bien cadrés, et une seule règle : rien n'est conclu sans la preuve.

En chiffres
  1. 5+ ans

    de sites en production, du dev au serveur

  2. 100+

    sites clients créés, hébergés et maintenus

  3. 47

    projets clients en six mois, dont je pilote toute la technique

  4. 44

    sites surveillés par mon outil maison, 99,86 % de disponibilité

Cas réel · anonymisé

Une intrusion, de l'alerte à la prod saine.

Une boutique en ligne compromise, un attaquant installé depuis des mois. Faites défiler pour suivre l'enquête.

  1. 01Détecter
  2. 02Enquêter
  3. 03Contenir
  4. 04Reconstruire
  5. 05Surveiller
incident.logALERTE
  1. [détection]Comportement anormal sur le tunnel de paiement.
  2. [enquête]Skimmer bancaire : données sorties par WebRTC, nonce CSP volé. La CSP ne l'arrêtait pas.
  3. [enquête]Variante cachée dans un smart contract Polygon, avec un faux captcha « ClickFix ».
  4. [enquête]5 portes dérobées PHP, reverse shell camouflé en processus système et relancé par cron.
  5. [cause]Identifiants SFTP dans la racine web, un même mot de passe réutilisé sur 5 services.
  6. [contenir]Processus tués, serveurs de l'attaquant bloqués, preuves conservées et hachées.
  7. [audit]360 connexions SSH auditées, 1 204 sessions du back-office purgées.
  8. [décision]Reconstruction sur un hébergement neuf plutôt qu'un nettoyage du serveur compromis.
  9. [surveiller]Contrôle d'intégrité SHA-256 toutes les 15 min sur environ 43 500 fichiers, alertes mail.
  10. [2ᵉ attaque]3 webshells repérés : 278 fichiers en quarantaine, aucune donnée sortie.
  11. [statut]Prod saine. Surveillance active.
Expertise

Ce que je tiens

Six terrains où j'interviens au quotidien, avec des preuves tirées de vrais projets clients.

Sécurité

Réponse à incident

Enquêter, contenir, reconstruire, puis surveiller pour que ça ne recommence pas.

  • 2 intrusions traitées de bout en bout, la seconde stoppée par ma propre détection
  • 17 constats d'audit sur un site avec paiement, dont 5 critiques corrigés
  • Parcs WordPress piratés éradiqués, persistances cachées retrouvées en 2ᵉ passe
CSPCloudflare WAFiptablesPCI DSS
Performance

Rapide, mesuré

Je cherche la vraie cause avant de toucher au code, puis je mesure le gain.

  • API d'ERP de 13,3 s à 0,37 s, environ 8 600 requêtes SQL évitées
  • Temps serveur d'une boutique de 0,81 s à 0,39 s
  • Polices de 490 Ko à 50 Ko, vidéo de 42 Mo à 10,8 Mo
DoctrineSmartyWP RocketPageSpeed
Développement

Sur mesure

Du code maison quand un module payant ou abandonné ne suffit plus.

  • 15+ modules PrestaShop maison, dont un tunnel de livraison et retrait en magasin
  • Thèmes WordPress livrés de la maquette à la mise en ligne
  • Migration d'un thème Twig vers PHP natif : 24 contrôleurs en 2 jours, 0 erreur
PHP 8PrestaShopWordPressACF
E-commerce & data

Zéro perte

Migrations, intégrations et données métier qui doivent rester justes.

  • Montées de version de boutiques et changements d'hébergement sans perte
  • Intégrations Stripe, Meta Conversions et logisticiens, avec reprise des commandes bloquées
  • Reprise d'un ERP Symfony abandonné par son prestataire
SymfonyEasyAdminStripeWooCommerce
Infra & run

La prod sous contrôle

Hébergement, DNS, mail et un outil maison qui surveille tout le parc.

  • Outil de supervision : 44 sites, alertes Slack, coffre-fort chiffré côté navigateur
  • Migrations OVH, Infomaniak et VPS Debian, MySQL vers MariaDB
  • Déploiements atomiques avec retour arrière testé, SPF, DKIM et DMARC
LinuxNginxCloudflareBrevo
IA & équipe

Agents tenus en laisse

L'IA accélère le travail, les garde-fous gardent la prod intacte.

  • Jusqu'à 5 agents Claude Code en parallèle sur une même prod, avec une règle de coordination
  • Permissions minimales, écritures validées d'abord en simulation
  • Je manage un alternant, qui a su gérer seul un incident de sécurité
Claude CodeMCPPlaywright
Parcours

Huit ans de web

mars 2024 → aujourd'hui · CDI

SPKTR agence web, Toulouse

Développeur full-stack · Référent technique

Référent technique de l'agence : je pilote toute la technique des projets (technos, hébergement, estimations, planning), je manage un alternant et je tiens la production de dizaines de sites clients.

sept. 2023 → mars 2024 · 100 % à distance

Freelance

Développeur full-stack

Interfaces React et API Strapi en TypeScript pour des projets variés, intégration de maquettes, optimisation front et back.

févr. 2021 → sept. 2023 · alternance

Aspodelk

Développeur web · Responsable technique

Création, hébergement, maintenance et référencement d'une centaine de sites clients. Mise en place de l'ERP de l'entreprise.

2018 → 2023

Ynov Campus Toulouse

Bachelor Développement, puis Master 2 Expert en Développement Web

Bac+5 : architecture logicielle, web full stack et mobile, tests, gestion de projet IT.

Projets perso

Le soir aussi

MCP · Supabase · Claude

Vigie

Mon agent perso, toujours actif. Serveur MCP hébergé sur Supabase, 4 routines planifiées aux outils cloisonnés, Gmail, Agenda et Notion en lecture seule. Livré en 4 jours, sans serveur à payer.

Expo · React Native · TypeScript

Atlas

App mobile de suivi quotidien : nutrition par scan de codes-barres, sport, tâches. API Claude appelée côté serveur, mini-jeux équilibrés par un bot qui simule des parties.

PHP 8SymfonyLaravelTypeScriptReactReact NativeVue.jsNode.jsStrapiWordPressPrestaShopSupabase
LinuxNginxApacheDockerCloudflareiptablesMariaDBGitPlaywrightStripeClaude CodeMCP
Contact

Parlons remote.

Je cherche un CDI en full remote depuis la France : lead dev full-stack, product engineer, solutions engineer ou developer advocate.

© 2026 Romain Costes · Lisle-sur-TarnCodé à la main · animé avec GSAP