La Petite Ménagère
Le besoin
Que les clients réservent en ligne, directement dans l’agenda Google de la responsable, sans qu’une heure déjà prise puisse leur être proposée, et que la décision lui reste : c’est elle qui confirme chaque rendez-vous.
Ce que nous avons construit
Le site en six langues, le calendrier de réservation, le serveur qui le relie à l’agenda, les e-mails au client et à la responsable, et la mise en ligne automatique.
Le flux
- Le client choisit ses créneaux
- Contrôle : libre, 2 h minimum, trajet compris (Règle)
- Rendez-vous « à confirmer » dans l’agenda Google (Intégration)
- La responsable confirme ou refuse depuis l’e-mail (Personne)
- Confirmation au client, avec le fichier d’agenda (Intégration)
IA ou règles ?
Des règles, sans IA : rien ici ne demande d’interpréter un texte. Cases de 30 minutes, visite de 2 h minimum, 30 minutes de trajet entre deux clients. La grille affichée et l’acceptation de la demande appliquent la même règle : ce qui paraît libre est ce qui est accepté.
Contrôle humain et risques
Chaque jour demandé se décide à part : confirmé à une ou deux personnes (à deux, l’agenda ne bloque qu’environ la moitié du temps), ou refusé, et l’heure redevient libre. Le client reçoit la réponse dans sa langue.
Ce qui est vérifié automatiquement
- Dix clients demandent la même heure au même instant : un seul l’obtient.
- Si l’agenda Google ne répond pas, rien n’est enregistré à moitié et la responsable est prévenue.
- Ce que le client écrit n’est jamais interprété comme du code dans les e-mails.
- Parcours de réservation et accessibilité testés dans un vrai navigateur.
- À chaque mise en ligne, si la nouvelle version ne répond pas, la précédente revient d’elle-même.
- Les tests utilisent la même base de données qu’en production, PostgreSQL. Chaque changement de sa structure est versionné, testé, puis appliqué automatiquement à la mise en ligne.
Réalisé avec
React, TypeScript, Tailwind CSS · Java 17, Spring Boot, PostgreSQL, Flyway · Testcontainers, Docker, Playwright · Google Calendar API · GitHub Actions, Caddy