La stack marketplace
Pour une marketplace de services ou de produits : — Frontend : WeWeb (web) + FlutterFlow (mobile, si nécessaire) — Base de données : Supabase (PostgreSQL avec RLS) — API : Xano (logique de réservation, disponibilité, recherche, notifications) — Paiements : Stripe Connect (versements marketplace) — Recherche : recherche full-text Supabase ou Algolia — Automatisation : Make (emails de confirmation, notifications, workflows de litiges)
Pour une marketplace de produits, remplacez Xano par des APIs Supabase + Stripe directes si la logique est simple. Pour le marché français, vérifiez les obligations légales d'enregistrement auprès de la DGCCRF pour les marketplaces qui mettent en relation des particuliers, et les obligations de facturation électronique pour les transactions B2B.
Le schéma de base de données
Les tables principales pour une marketplace de services : CREATE TABLE listings ( id bigserial PRIMARY KEY, seller_id uuid REFERENCES auth.users(id), title text, description text, category text, price_cents integer, currency text DEFAULT 'eur', images jsonb, location text, is_active boolean DEFAULT true, created_at timestamptz DEFAULT now() );
CREATE TABLE bookings ( id bigserial PRIMARY KEY, listing_id bigint REFERENCES listings(id), buyer_id uuid, seller_id uuid, status text DEFAULT 'pending', amount_cents integer, stripe_payment_intent_id text, created_at timestamptz DEFAULT now() );
Notez que currency est défini par défaut sur 'eur' pour les marketplaces françaises. Stockez les montants en centimes (price_cents) pour éviter les erreurs d'arrondi liées aux décimales — une bonne pratique indispensable pour les transactions en euros.
Recherche et découverte
Pour la plupart des marketplaces, la recherche full-text de Supabase est suffisante au lancement. Dans Xano :
GET /api/listings/search Paramètres : query (texte), category, min_price, max_price, location Logique : utilisez to_tsvector() de Supabase pour la recherche full-text sur title + description, combiné avec des filtres de catégorie et de prix.
Pour des catalogues plus importants (10 000+ annonces) ou la recherche géographique (trouver des prestataires près de chez moi), ajoutez Algolia. Le plugin WeWeb Algolia rend cette connexion simple. Pour les marketplaces françaises avec une dimension géographique forte, intégrez également le référentiel géographique officiel de l'INSEE pour la normalisation des codes postaux et des noms de communes.
Stripe Connect pour les paiements marketplace
Les paiements marketplace utilisent Stripe Connect — les vendeurs ont des comptes Stripe, les acheteurs paient via votre plateforme, et Stripe gère le partage.
Flux : 1. Onboarding vendeur : redirection vers l'onboarding Stripe Connect Express. Stocker leur stripe_account_id dans votre base de données. 2. Paiement acheteur : créer un Stripe PaymentIntent avec application_fee_amount (votre commission). Le paiement va sur le compte Stripe du vendeur moins vos frais. 3. Versement : Stripe verse automatiquement sur le compte bancaire du vendeur selon un calendrier régulier.
Pour les marketplaces françaises, notez que Stripe Connect Express gère automatiquement la TVA et les obligations de déclaration fiscale pour les vendeurs professionnels. Vérifiez avec un expert-comptable les obligations spécifiques de la directive DAC7 (déclaration des revenus des vendeurs plateformes) qui s'applique aux marketplaces européennes depuis 2023.
Onboarding et tableau de bord vendeur
Expérience vendeur : 1. Inscription → compléter l'onboarding Stripe Connect 2. Créer des annonces (titre, description, images, prix, disponibilité) 3. Gérer les réservations (accepter/refuser les demandes, voir le calendrier de réservations) 4. Suivre les revenus (total versé, versements en attente, historique des réservations) 5. Gérer les avis
Tout cela est construit dans WeWeb connecté aux endpoints API Xano. Le tableau de bord vendeur ajoute typiquement 2 à 3 semaines à la portée d'un MVP. Pour les vendeurs professionnels français, ajoutez une section de gestion des documents légaux (SIRET, attestation d'assurance, certificats de qualification) — les marketplaces B2B françaises en ont généralement besoin pour la conformité.
Checklist de lancement
Avant de lancer une marketplace : ☑ Politiques RLS sur toutes les tables (les acheteurs ne peuvent pas voir les données privées des autres acheteurs, les vendeurs ne peuvent pas voir le stripe_account_id des uns des autres) ☑ Gestionnaire de webhooks Stripe pour les événements de paiement (confirmation, litiges, remboursements) ☑ Notifications par email pour tous les changements d'état de réservation (automatisation Make) ☑ Tableau de bord admin pour la résolution des litiges ☑ CGU et politiques de la marketplace (conformes au droit français de la consommation) ☑ Politique de confidentialité conforme au RGPD et consentement cookies ☑ Test de charge avec 100 utilisateurs simultanés avant le lancement
Une erreur courante : lancer sans le tableau de bord admin. Dans la première semaine d'une marketplace live, vous aurez besoin de résoudre manuellement un litige de réservation. Construisez les outils admin avant de mettre en ligne.