Lonn


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