Lonn


Contexte
SaaS B2B pour centres de bien-être, avec un module de gestion du planning des salariés côté manager (façon pré-paie, règles horaires) et un système de prise de rendez-vous côté client final. Le MVP a été construit en équipe via Le Collectif 40, et j'étais responsable de l'architecture backend, du modèle de données et des choix techniques côté serveur.
Mon approche
Le cœur du projet côté serveur, c'était de poser une archi qui tient : modéliser une base propre pour faire cohabiter deux scopes, le planning RH et les RDV clients, sans les mélanger, puis exposer tout ça via une API BFF Symfony sur mesure. J'étais en échange continu avec le client, qui faisait office de product owner, et chaque arbitrage de scope, chaque règle métier, était discuté avant d'être tranché. On a gardé une discipline MVP stricte : trancher ce qui ne rentre pas dans la première version plutôt que de livrer en retard.
- Archi backend et modèle de données pensés pour faire cohabiter deux scopes, le planning des salariés et la prise de RDV client, sans qu'ils s'écrasent l'un l'autre.
- Une API BFF Symfony pensée pour un seul client, le front Vue, avec agrégation des données, des contrats clairs et les validations métier centralisées côté serveur.
- Le scope MVP a tenu : on a tranché fonctionnalité par fonctionnalité pour poser des bases propres, prêtes à être étoffées ensuite.
Stack & choix techniques
Symfony était demandé par le client, un cadre solide pour porter de la logique métier. PostgreSQL pour la persistance, avec un ORM mature et des garanties relationnelles utiles dès qu'on mélange RH et calendaire. Côté front, Vue et TypeScript étaient développés par un autre membre de l'équipe, avec un contrat d'API stable et typé pour éviter qu'un front duplique la logique métier.
Résultat & apprentissages
Le MVP a été livré, sans plus de bruit que ça : l'enjeu, c'était de poser les bases proprement et de tenir le scope. Pour moi, c'est le projet où la discipline du « qu'est-ce qui ne rentre pas dans la V1 » a été au cœur du brief, et où l'archi posée au départ a directement conditionné la vitesse de delivery.