📖 Le Contexte : "L'indépendance a un visage"
Pour un institut de beauté haut de gamme, l'image de marque ne s'arrête pas à la porte de la boutique ; elle se joue dès la prise de rendez-vous. Les solutions standards comme Planity, bien qu'efficaces, imposent un carcan visuel rigide et un modèle d'abonnement coûteux sur le long terme.
Le projet Manon Daniel est né d'une volonté de rupture : créer un outil propriétaire, évolutif et sans frais récurrents cachés. Initialement développé avec succès par Mathieu Rio, j'ai par la suite rejoint le projet pour l'accompagner dans sa croissance et faire évoluer l'infrastructure pour répondre à de nouveaux enjeux de mise à l'échelle.
💅 L'Exigence Client : Le Premium sans compromis
L'enjeu n'était pas seulement de permettre la prise de rendez-vous, mais de sécuriser l'activité de l'institut. Le système intègre une gestion fine des acomptes via Stripe pour lutter contre les "no-shows" (rendez-vous non honorés), tout en offrant une interface mobile-first fluide pour une clientèle exigeante.

🎯 Mon Rôle : Maintenance, Évolution & DevOps
En reprenant le projet après la phase initiale, ma mission a évolué vers un rôle de Lead Maintainer & DevOps. J'ai ainsi pu m'approprier une stack moderne (Nuxt.js, Prisma, Kinde) pour la pérenniser et l'enrichir.
1. Refonte UI & Identité
J'ai mené une refonte esthétique profonde pour coller au nouveau branding de l'institut. Pour anticiper les futurs besoins (déménagement, changement de nom), j'ai centralisé toute l'identité visuelle dans une configuration unique, permettant de modifier l'âme du site (couleurs, logos, variables) en une seule ligne de code.

2. Souveraineté Technique
Face aux coûts croissants des services managés, j'ai pris la décision stratégique de sortir de l'écosystème Supabase. J'ai migré et auto-hébergé la base de données PostgreSQL sur un VPS dédié, tout en reconstruisant de zéro les services essentiels : gestion des tâches chronométrées (Cron) pour les rappels de RDV et système d'envoi d'emails sécurisé.

🧠 Sous le capot : Architecture & Défis Techniques
Le projet est passé d'une application "cloud-dependent" à une solution conteneurisée et autonome.
⚙️ Le virage DevOps : Docker & Lean CI/CD
Pour un projet indépendant, la simplicité est une forme de sécurité. J'ai fait le choix de supprimer l'instance Jenkins (trop gourmande et complexe à maintenir) au profit d'un workflow Docker Compose + GitHub Actions. L'ensemble de l'application (App, DB, Nginx) est désormais conteneurisé, garantissant que "ça marche sur ma machine" signifie "ça marche en production".

🚧 Le Défi Technique : La transition du projet à l'échelle industrielle
Lors de la reprise du projet, le défi n'était pas seulement d'ajouter de nouvelles fonctionnalités, mais d'accompagner une base de code qui avait grandi très vite suite à un lancement réussi. Pour faciliter les futures évolutions, il est devenu pertinent d'adapter l'architecture en séparant davantage la logique métier des composants d'interface (Vue).
L'enjeu était particulièrement stimulant : faire évoluer l'architecture et introduire des tests automatisés sur une base de code riche que je découvrais, le tout sans interrompre le service.
💡 La Solution : "Refactoring de Confiance" et Architecture Modulaire
Pour accompagner la montée en charge du projet et consolider les fondations existantes, j'ai instauré une méthodologie en trois étapes :
- Sécurisation par les Tests (E2E & Unitaires) : Avant de toucher à la moindre ligne de code, j'ai déployé une suite de tests de non-régression avec Playwright. L'objectif : "figer" le comportement attendu des fonctionnalités critiques (réservation, paiement) pour pouvoir refactoriser sereinement.
- Découplage et Clean Architecture : J'ai entrepris un chantier d'extraction systématique de la logique métier hors des composants Vue. J'ai mis en place des handlers et des services dédiés côté backend et frontend. Cette séparation des responsabilités rend le code non seulement plus lisible, mais surtout testable unitairement et réutilisable.
- Standardisation du Workflow : J'ai harmonisé la structure des dossiers et les conventions de nommage (TypeScript, ESLint, Prettier). Ce "rangement" à grande échelle a permis de réduire drastiquement la charge cognitive nécessaire pour chaque nouvelle modification, transformant une codebase complexe en un environnement de travail fluide.
🔭 La Vision et la Suite
Le site est aujourd'hui le moteur principal de l'institut Manon Daniel. La suite du projet s'articule autour d'une maintenance rigoureuse : suivi constant des mises à jour de sécurité, garantie d'un uptime maximal pour éviter toute perte de réservation, et ajout régulier de fonctionnalités de "confort" pour l'administratrice afin de simplifier sa gestion quotidienne.