Le Contexte et le Problème
Binovya nettoie à la vapeur haute température (120 à 140 °C) les bacs à déchets et le mobilier urbain, directement sur site, sans produits chimiques. L'entreprise intervient en Moselle et au Luxembourg auprès de deux publics très différents : les particuliers, qui veulent réserver une intervention en quelques clics, et les professionnels ou collectivités, qui passent par un devis.
Le site devait donc être à la fois une vitrine qui inspire confiance et un véritable outil de vente : réservation, paiement, suivi des interventions. J'ai pris en charge l'ensemble du projet, de la définition de l'infrastructure jusqu'à la mise en production.
Architecture et Choix Techniques
Le front repose sur Nuxt et Tailwind CSS, avec une version française et une version anglaise. Supabase fournit la base PostgreSQL, l'authentification de l'espace client et le stockage des photos d'intervention.
Le paiement des réservations, ponctuelles ou par abonnement, passe par Stripe. Les emails transactionnels de confirmation sont envoyés avec Resend.
Le site est hébergé sur Hostinger. Sur le serveur, Caddy sert de reverse proxy devant l'application Nuxt : il reçoit les requêtes HTTPS et les transmet à l'application. En amont, Cloudflare proxifie le domaine : DNS, certificat SSL et pare-feu applicatif (WAF) filtrent le trafic avant qu'il n'atteigne le serveur.
Défis Techniques et Solutions
Le premier défi a été de garantir qu'une réservation corresponde toujours à un paiement réellement encaissé. La confirmation ne dépend pas du retour du navigateur après le paiement, mais des webhooks Stripe, reçus et vérifiés côté serveur.
- —Création de la réservation uniquement après confirmation du paiement par Stripe
- —Vérification de la signature de chaque webhook
- —Gestion distincte des interventions ponctuelles et des abonnements
Le second défi concernait la confidentialité des données clients. Chaque client accède à son historique et aux photos de ses bacs : les règles Row Level Security de Supabase garantissent, au niveau de la base de données elle-même, qu'un utilisateur ne peut lire que ses propres réservations et photos.
Enfin, la mise en production : Caddy en reverse proxy devant l'application sur le serveur Hostinger, et Cloudflare en amont (DNS proxifié, SSL, règles WAF) pour protéger le site et les formulaires contre le trafic malveillant, sans dégrader les performances.
Conclusion et Apprentissages
Binovya m'a permis de porter un projet seul de bout en bout : choix de l'infrastructure, développement, paiement, sécurité et déploiement. C'est le projet sur lequel j'ai le plus travaillé la partie DevOps, en particulier la chaîne Cloudflare, Caddy puis application, devant un hébergement classique.
Il m'a aussi rappelé qu'un site de service local vit avant tout de sa simplicité : un tunnel de réservation court, des prix clairs et une preuve visuelle du résultat (le slider avant/après) valent plus que n'importe quelle fonctionnalité avancée.



