Étude de cas · Contrôle technique (ITV) de Formentera · Consell Insular · 2026
Rendez-vous au contrôle technique sans files d'attente ni appels
Système public de prise de rendez-vous pour la station de contrôle technique des véhicules, avec vérification par code PIN, justificatif en PDF et interface pour l'équipe de la station.
- Réservations
- Back-office
langues
tests automatisés
double réservation, par conception
Le défi
Les rendez-vous étaient gérés par téléphone et à la main, avec des créneaux perdus, des doubles réservations et aucun rappel. Il fallait un site simple pour les citoyens et un outil agile pour les opératrices, avec la garantie que deux personnes ne puissent pas occuper le même créneau.
La solution
Une application Node.js sur Cloud Run avec Firestore. Chaque créneau horaire possède son document d'occupation et les réservations se font en transaction, ce qui empêche les doubles réservations même sous charge simultanée. Le citoyen confirme avec un code PIN reçu par e-mail, télécharge son justificatif en PDF et peut gérer ses rendez-vous. L'interface interne affiche la grille quotidienne et hebdomadaire, permet les blocages, la liste noire et l'export CSV. Cloud Scheduler déclenche les rappels et les expirations, et la documentation d'exploitation, de restauration et de sécurité permet au Consell d'opérer le service en toute autonomie.
Points clés du projet
- 01
Sans doubles réservations
Transactions dans Firestore et test de concurrence automatisé.
- 02
Sécurité pratique
Helmet, limitation de débit, JWT, bcrypt, Secret Manager et chiffrement des données.
- 03
Sauvegardes et restauration
Restauration à un instant donné sur sept jours et exports quotidiens et hebdomadaires vers Cloud Storage avec alertes.
- 04
Qualité mesurable
83 tests, smoke test de 24 vérifications en staging et passation documentée par phases.
Technologie
- Node.js
- Express
- Firestore
- Cloud Run
- Cloud Scheduler
- Secret Manager
- nodemailer
- pdfkit
- helmet
- JWT
- bcrypt
- Cloud Monitoring
- node --test
Vous avez besoin de quelque chose de similaire ?
Parlons de votre projet