Tous les projets

É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
  • E-mail
3

langues

83

tests automatisés

0

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