← RETOUR AUX PROJETS Case Study

DÉSAMIANTEURS.FR

< Marketplace / No-Code / B2B & B2C />

Plateforme de mise en relation entre clients et professionnels certifiés du secteur amiante — conçue et développée dans le cadre de l'examen CDA.

Scroll

Le projet

Un secteur réglementé, sans outil numérique dédié. Une marketplace pour combler ce vide.

En France, l'amiante est interdit depuis 1997 mais demeure présent dans des millions de bâtiments. La réglementation impose des diagnostics obligatoires réalisés exclusivement par des professionnels certifiés (SS3/SS4, Qualibat 1552, COFRAC).

Désamianteurs.fr centralise l'offre et la demande sur une plateforme unique, sécurisée et transparente. Inspirée du modèle Travaux.com, elle est entièrement dédiée au secteur amiante avec des fonctionnalités métier spécifiques : vérification SIRET automatique, contrôle des certifications et algorithme de matching par abonnement.

Trois profils utilisateurs distincts — clients, partenaires PRO et administrateurs — avec des espaces et des droits d'accès séparés via Row Level Security.

Type
Projet client & CDA
Contexte
Examen CDA 2026/2027
Rôle
Full-Stack & Design
Statut
En développement

En chiffres

3
Profils utilisateurs
6
Tables PostgreSQL
4
Tiers d'abonnement
5
Étapes onboarding PRO

Fonctionnalités clés

Formulaire devis multi-étapes
Saisie guidée du besoin (prestation, surface, délai, budget), géolocalisation Google Maps et création de compte en 3 étapes.
Annuaire des partenaires
Recherche filtrée par type de prestation, zone géographique, certification et note moyenne.
Vérification SIRET automatique
Edge Function Supabase proxiant l'API gouvernementale avec cache intégré et gestion des SIRET non diffusibles.
Algorithme de matching
Classement des partenaires basé sur le tier d'abonnement (Élite → Freemium) — invisible pour les clients.
Auth Google OAuth
Connexion sociale avec détection et redirection automatique selon le rôle (client / pro / admin).
Email automation
Notifications transactionnelles via n8n + Resend, hébergé sur VPS OVH (Roubaix, France).

Offres partenaires

Trois niveaux d'abonnement pour les professionnels certifiés — visibilité, leads et outils de suivi adaptés à chaque ambition.

ESSENTIEL
49 €/mois

Je veux tester la plateforme sans risque

  • Présence standard dans l'annuaire
  • Zone locale — 1 département
  • Alertes nouvelles demandes par email
  • 2 visites / 2 devis simultanés
  • 1 utilisateur
  • Statistiques
  • Tableau de bord
  • Budget estimatif (bêta)
  • +10 € / unité — zone supplémentaire
Frais de dossier : 80 €
PERFORMANCE
99 €/mois

Je veux un flux régulier de leads

  • Mise en avant par section / région
  • Zone régionale — 1 région
  • Alertes email + mobile
  • 5 visites / 5 devis simultanés
  • 3 utilisateurs
  • Statistiques détaillées
  • Tableau de bord standard
  • Budget estimatif (bêta)
  • +5 € / unité — zone supplémentaire
Frais de dossier : 80 €

Le classement dans les résultats est basé sur le tier d'abonnement, la note client, la réactivité et la disponibilité locale — ce mécanisme est invisible pour les clients.

Architecture No-Code / Low-Code

Une stack orientée production, chaque outil choisi pour sa robustesse et sa pertinence métier.

⌨ Frontend
WeWeb
Interface SPA no-code avec bindings formule, workflows visuels et collections de données. Déployé sur Vercel.
SPA No-Code Vercel
🎨 Design
Figma
Source de vérité du design system — DM Serif Display + DM Sans, palette noir/rouge, grille 8px.
Design System Composants
🛠 Backend & BDD
Supabase
PostgreSQL, Auth JWT + OAuth Google, Storage, Row Level Security par rôle, RPC fonctions et Edge Functions.
PostgreSQL RLS Edge Functions
🔗 Logique métier
API Gouvernementale
Vérification SIRET via recherche-entreprises.api.gouv.fr avec cache siret_cache.
SIRET Cache
✉ Emails
n8n + Resend
Notifications transactionnelles automatisées. n8n hébergé sur VPS OVH (Roubaix, France), données Supabase AWS eu-west-3 (Paris).
n8n Resend OVH VPS
🗺 Cartographie
Google Maps API
Autocomplete adresse et marqueur interactif dans le formulaire devis multi-étapes.
Maps Geocoding
$ cat stack.txt
→ Frontend : WeWeb (SPA no-code) → Vercel
→ Design : Figma (design system DM Serif + DM Sans)
→ Backend : Supabase (PostgreSQL + Auth + RLS + Edge Functions)
→ Emails : n8n + Resend → VPS OVH Roubaix
→ Maps : Google Maps API (autocomplete + geocoding)
→ SIRET : recherche-entreprises.api.gouv.fr (via Edge Function)

Défis & Solutions

Les points clés de l'implémentation et comment ils ont été résolus.

Défi
RLS + DEFAULT auth.uid()
Les politiques INSERT évaluent WITH CHECK avant l'application des valeurs DEFAULT, bloquant l'insertion automatique de user_id.
Solution
WITH CHECK (TRUE) TO authenticated
Politique permissive qui laisse DEFAULT auth.uid() s'appliquer automatiquement sans passer user_id explicitement depuis WeWeb.
Défi
Préservation d'état entre étapes
WeWeb détruit le DOM lors du Conditional Rendering, effaçant les valeurs saisies dans le formulaire multi-étapes.
Solution
Binding display au lieu de v-if
Binding display avec if(currentStep === 1, "flex", "none") pour masquer sans démonter les composants.
Défi
Migration d'enum PostgreSQL
Impossible de supprimer une valeur d'enum directement en PostgreSQL, bloquant l'évolution du schéma de données.
Solution
Pattern migratoire en 4 étapes
Création d'un nouveau type → migration colonne avec USING cast → DROP ancien type → RENAME. Vues et RLS recréées dans la même migration.
Défi
Syntaxe formule WeWeb
Syntaxe propriétaire distincte de JavaScript : pas de ===, .replace() natif, ni de chaînes de méthodes.
Solution
Maîtrise des helpers WeWeb
filterByKey(), getByIndex(), if() et comparaison avec =. Documentation et expérimentation systématiques.

Apprentissages & Perspectives

Ce que j'ai appris
  • Concevoir un schéma PostgreSQL multi-rôle avec Row Level Security dès la phase de design
  • Utiliser les Edge Functions Supabase comme proxy sécurisé vers des API tierces avec gestion du cache
  • Maîtriser la syntaxe formule WeWeb et ses subtilités vis-à-vis du JavaScript standard
  • Gérer les migrations de types enum PostgreSQL sans casser les relations existantes
  • Orchestrer un pipeline email complet avec n8n + Resend hébergé sur VPS
Prochaines étapes
  • Intégrer le module de paiement des abonnements via Stripe
  • Ajouter un système de messagerie interne entre clients et partenaires
  • Développer le tableau de bord PRO avec suivi des devis entrants et statistiques
  • Intégrer l'API Universalis pour les données de certification en temps réel
  • Lancer la phase bêta avec les premiers partenaires professionnels