Accueil/Projets
Ce que j’ai construit, et pourquoi.
Projets menés en entreprise et projets personnels ou associatifs. Par respect de la confidentialité, les réalisations professionnelles sont présentées sans nom de client ni de produit : le contexte est décrit fonctionnellement, la technique et mon rôle exactement.
Portail client B2B multi-sociétés
L’espace web par lequel les clients d’un éditeur logiciel font tout : ouvrir et suivre leurs tickets, consulter contrats et factures remontés de l’ERP, télécharger les versions des logiciels, gérer leurs licences et leurs machines, accéder à la documentation. Trois langues, quatre rôles applicatifs, et une contrainte structurante : un utilisateur peut être rattaché à plusieurs sociétés d’un même groupe.
Je suis arrivé sur une application existante. Première étape : la lire, la comprendre, corriger les points instables : appels d’API défaillants, rattachement multi-sociétés fragile. Puis deux grosses vagues de fonctionnalités, et enfin la bascule en production : ma première mise en ligne menée seul, correctifs de la veille compris.
Module de génération assistée par IA
Un travail jusque-là manuel et fastidieux transformé en pipeline automatisé en cinq étapes : initialisation, analyse du document source, insertion des éléments, prévisualisation, validation. L’utilisateur dépose un fichier par glisser-déposer, suit l’avancement en temps réel, consulte les aperçus générés et compare deux versions côte à côte.
Mon périmètre : toute l’interface, le contrôleur et l’entité côté serveur, les migrations de base, et l’intégration avec le service d’analyse développé par un collègue.
Système de quotas & de crédits
Un service d’IA n’est pas en libre-service : il fallait en maîtriser la consommation. J’ai mis en place un modèle de quotas stocké dans l’ERP : limite journalière, consommation courante, remise à zéro automatique en début de journée, crédits bonus en cas de dépassement ponctuel.
Plus deux garde-fous métier : seul le souscripteur du service peut l’utiliser, et un écran d’administration permet de suivre la consommation, avec filtres.
Refonte d’un module de gestion de licences
Le module existait mais montrait ses limites : un seul mode d’affichage, des filtres capricieux, aucun export. Refonte complète avec double affichage : cartes visuelles ou tableau dense filtrable colonne par colonne, bascule d’un clic selon ce que l’utilisateur cherche.
Ajout d’options masquables dont le choix est conservé en base entre deux sessions, copie de la configuration technique en un clic, et export CSV multilingue qui respecte les filtres actifs. Le vrai défi technique : comprendre en profondeur le comportement des filtres de la bibliothèque de composants pour les faire fonctionner.
Visites guidées & système de thèmes
Comment rendre utilisable une application métier dense sans passer par une formation ? Une visite guidée intégrée, écran par écran, disponible en français et en anglais, étendue ensuite à l’ensemble de l’application.
En parallèle, un système de thèmes CSS permettant de personnaliser l’apparence et d’améliorer l’accessibilité, puis la refonte complète de la charte couleur du produit.
Modules d’ERP interne & migration d’interfaces
Développement et maintenance de modules spécifiques sur l’ERP open source utilisé en interne : gestion des licences, accès au support, rapports d’activité. Du PHP au contact direct du besoin des équipes.
En parallèle, participation à la migration progressive d’interfaces historiques vers Symfony et PostgreSQL : reprise des écrans de consultation et de saisie, lot après lot.
Yggame CMS, « un WordPress en plus simple »
Une association gaming montpelliéraine avait un site codé en dur : chaque changement de texte demandait un développeur. J’ai écrit pour elle un mini-CMS sur mesure, en PHP pur, zéro dépendance (pas de Composer, pas de framework) pour qu’il s’installe sur n’importe quel hébergement mutualisé et reste simple à maintenir dans cinq ans.
L’installation se fait comme celle d’un ERP : on dépose les fichiers, un assistant vérifie le serveur, demande la base de données, crée le compte administrateur et se verrouille tout seul. Ensuite, l’équipe gère tout depuis un back-office : pages construites avec un éditeur visuel par blocs, articles, événements, médiathèque, menus en glisser-déposer, comptes et rôles, formulaire de contact anti-spam, SEO et plan de site automatique.
La partie dont je suis le plus satisfait : la conversion fidèle entre le mode blocs et le mode code HTML. On bascule de l’un à l’autre sans rien perdre, et un bandeau de réparation prévient quand quelque chose ne peut pas être reconverti, à la manière de WordPress, mais en cent fois plus léger.
Site de scoring de tournoi esport
J’ai porté l’organisation du premier tournoi Rocket League du BDE Informatique : format 2v2 en ligne, gratuit, diffusé en direct sur Twitch. J’ai développé l’application de scoring qui l’a fait tourner. Côté organisateur, une interface protégée par mot de passe pour saisir les résultats ; côté public et côté régie, un affichage en lecture seule dont le classement se met à jour tout seul pendant les matchs.
Base de données en fichier unique, application monopage servie par le back-end : rien à installer le jour J, ça démarre en deux minutes sur n’importe quel poste.
Et aussi
Événements & défis collectifs
Des projets courts, en équipe, souvent la nuit. C’est là qu’on apprend à trancher vite et à livrer quelque chose qui tourne.
La Nuit de l’Info
Une nuit entière pour répondre à un sujet imposé, en équipe. Cadrage express, répartition des rôles, livraison au matin.
Code Game Jam
Créer un jeu en temps limité. Contraintes fortes, périmètre qu’il faut savoir réduire pour finir.
Capture The Flag
Épreuves de cybersécurité, côté participant et côté organisation. La meilleure école pour coder défensivement.
Une question sur un projet ?
Je détaille volontiers l’architecture, les arbitrages techniques et ce que je referais autrement. Écrivez-moi.