ONDEV Logo

Expert en acquisition client digitale. Création de sites web et applications sur-mesure qui convertissent.

Services
  • Création de Sites Web
  • Applications Sur-Mesure
  • Publicité Digitale
  • Référencement SEO
  • Développeur Web Marseille
  • Création de Logo
  • Design UX/UI
  • Refonte d'Application
  • Maintenance Applicative
  • Audit de Code
  • Agence Vibe Coding
  • Logiciel Métier Sur-Mesure
  • Agence No Code
  • Portail Client & Extranet
  • Intranet Sur-Mesure
  • Refonte Site WordPress
  • Migration Angular vers React
Navigation
  • Accueil
  • Réalisations
  • Expertise
  • Qui sommes-nous
  • Blog
  • Contact
Guides
  • Nos guides
  • Comment créer un site internet
  • Pourquoi créer un site internet
  • Coût d'un site internet
  • Choisir son prestataire web
Contact

Mathieu Rabissoni

06 01 37 20 21WhatsAppmathieu@ondev.fr

Marseille, France

Suivez-nous

LinkedInInstagramFacebook
Zones d'intervention
Marseille|Aix-en-Provence|Aubagne|La Ciotat|Cassis|Allauch|Gardanne|Marignane|Vitrolles|Toutes nos zones

© 2026 ONDEV. Tous droits réservés.

Mentions légalesPolitique de confidentialitéPlan du site
ONDEV Logo
Réalisations
Contact
On en discute

Expertise

Création de Sites WebSite Vitrine MarseilleSite E-Commerce MarseilleRéférencement SEOOptimisation GEOApplications Web & MobileAgence CommunicationPublicité en LigneDéveloppeur Web Marseille
Réalisations

Ressources

Qui sommes-nous ?BlogGuides
Contact
AppelerWhatsApp
On en discute
  1. Accueil
  2. Blog
  3. Construire un SaaS avec Supabase
Développement
3 août 202611 mn

Construire un SaaS avec Supabase

Auth, RLS et Edge Functions : Supabase réunit tout pour lancer un SaaS multi-tenant fiable. Architecture et bonnes pratiques concrètes.

Mathieu Rabissoni

Mathieu Rabissoni

Expert Acquisition Client Digitale

Sommaire

01.Un SaaS qui isole ses clients dès le premier jour, c'est ça la vraie fondation02.Pourquoi Supabase est idéal pour construire un SaaS03.L'architecture multi-tenant : une base, isolation par RLS04.La colonne tenant_id, puis la RLS05.La facturation : brancher Stripe proprement06.Les Edge Functions : où vit la logique métier07.Du MVP au produit : la trajectoire technique08.Les erreurs à éviter absolument09.FAQ : construire un SaaS avec Supabase10.Conclusion : la bonne fondation change tout

Un SaaS qui isole ses clients dès le premier jour, c'est ça la vraie fondation

9 projets SaaS sur 10 ne dépassent jamais leurs 10 premiers clients payants, et l'architecture bancale y est souvent pour beaucoup. La bonne nouvelle : avec Supabase, vous posez un socle solide (Postgres managé, authentification, sécurité au niveau des lignes) sans monter une équipe infrastructure. Encore faut-il l'architecturer correctement.

Dans cet article, vous allez découvrir :

  • •Comment isoler les données de chaque client sur une seule base, sans faille de sécurité
  • •L'architecture multi-tenant qui tient la charge de 1 à 10 000 comptes
  • •Où brancher la facturation Stripe et la logique métier sensible
  • •La trajectoire concrète du MVP au produit, illustrée par Wiloq et Swap&Share
Un SaaS, ce n'est pas une liste de fonctionnalités. C'est d'abord la garantie que le client A ne verra jamais la donnée du client B.

Pourquoi Supabase est idéal pour construire un SaaS

Un SaaS a quatre besoins non négociables : gérer des comptes, isoler les données, réagir en temps réel et exécuter de la logique sécurisée. Supabase couvre les quatre nativement, là où une stack maison demanderait plusieurs services à assembler et à maintenir.

Le cœur, c'est Postgres, une vraie base relationnelle, pas un entrepôt NoSQL propriétaire. Vous gardez le SQL, les relations, les transactions et les contraintes. Le jour où votre SaaS grossit, vous ne repartez pas de zéro.

Besoin d'un SaaSBrique SupabaseCe que ça remplace
Comptes et connexionSupabase AuthAuth0, Firebase Auth
Isolation des donnéesRow Level SecurityMiddleware maison
Notifications liveRealtimeSocket.io, Pusher
Logique sécuriséeEdge FunctionsServeur Node dédié
Fichiers clientsStorageAWS S3
Cette intégration, c'est ce qui permet à un petit studio de sortir un produit complet. Pour une vue d'ensemble de la plateforme, consultez notre guide complet sur Supabase.

A lire aussi : Supabase et Next.js : le combo qui accélère vos projets - pourquoi ce duo est devenu la référence pour les SaaS modernes.

L'architecture multi-tenant : une base, isolation par RLS

Le multi-tenant, c'est la capacité à servir plusieurs clients (tenants) depuis une même application. La question centrale : comment garantir que chaque client ne voit que ses données ?

Il existe trois stratégies. La plupart des SaaS n'ont besoin que de la troisième.

StratégieIsolationCoûtComplexitéPour qui
Une base par clientMaximaleÉlevéÉlevéeGrands comptes, contraintes réglementaires
Un schéma par clientForteMoyenMoyenneQuelques dizaines de clients B2B
Table partagée + RLSBonneFaibleFaibleLa grande majorité des SaaS

La colonne tenant_id, puis la RLS

L'approche recommandée : une seule base, une colonne tenant_id (ou organization_id) sur chaque table métier, et des règles Row Level Security qui filtrent automatiquement.

La RLS s'exécute au niveau de Postgres. Même si un développeur oublie un filtre where dans une requête, la base bloque l'accès. C'est une sécurité par défaut, pas une politesse applicative.

sql
create policy "tenant_isolation"
on public.projects
for select
using ( tenant_id = (auth.jwt() ->> 'tenant_id')::uuid );

Ici, chaque utilisateur ne peut lire que les lignes de son organisation, celle inscrite dans son jeton. Pour maîtriser cette brique en profondeur, lisez notre article dédié à la Row Level Security de Supabase.

La faille numéro 1 des SaaS multi-tenant sur Supabase : activer la RLS sur certaines tables et l'oublier sur d'autres. Règle d'or : RLS activée partout, aucune exception, testée tenant par tenant.

La facturation : brancher Stripe proprement

Un SaaS sans facturation n'est qu'une démo. Stripe reste la référence, et il se marie bien avec Supabase à condition de respecter une règle : la source de vérité de l'abonnement, c'est Stripe, pas votre interface.

Le schéma qui fonctionne :

  1. 1.Le client choisit un plan et paie via Stripe Checkout
  2. 2.Stripe envoie un webhook à une Edge Function
  3. 3.L'Edge Function met à jour la table subscriptions (plan, statut, date de fin)
  4. 4.La RLS et votre application lisent ce statut pour ouvrir ou fermer l'accès aux fonctionnalités

Ne stockez jamais de numéro de carte : Stripe s'en charge. Vous ne gardez que l'identifiant client Stripe et l'état de l'abonnement.

C'est exactement le modèle que nous avons mis en place sur Swap&Share, une plateforme SaaS d'échange de compétences où Stripe gère les paiements entre professionnels. Voir l'étude de cas Swap&Share.

Les Edge Functions : où vit la logique métier

Tout ne doit pas vivre dans le navigateur. La logique sensible (vérifier un paiement, envoyer un email transactionnel, appeler une API tierce avec une clé secrète) doit tourner côté serveur. C'est le rôle des Edge Functions de Supabase, des fonctions Deno déployées à la périphérie du réseau.

Quand utiliser une Edge Function :

  • •Webhooks : recevoir les événements Stripe, GitHub, etc.
  • •Clés secrètes : appeler OpenAI, un service SMS ou un CRM sans exposer la clé
  • •Traitements lourds : générer un PDF, agréger des données, envoyer un lot d'emails
  • •Règles métier critiques : ce que le client ne doit jamais pouvoir contourner depuis le front

La règle simple : si un utilisateur mal intentionné ne doit pas pouvoir le déclencher ou le falsifier, ça passe par une Edge Function, pas par le client.

Du MVP au produit : la trajectoire technique

L'erreur classique : sur-architecturer avant d'avoir un seul client. Supabase permet de commencer simple et de durcir progressivement.

Phase MVP (0 à 1) : Auth, quelques tables et une RLS de base. Objectif : valider que des gens veulent le produit. Pas de multi-région, pas de microservices.

Phase traction (1 à 100 clients) : Stripe branché, Edge Functions pour les webhooks, index Postgres sur les colonnes tenant_id, surveillance des requêtes lentes.

Phase produit (100+ clients) : rôles et permissions fins, plusieurs plans tarifaires, sauvegardes vérifiées, éventuellement des read replicas.

C'est la trajectoire suivie pour Wiloq, un SaaS de vestiaire numérique pour l'événementiel, en production sur Next.js et Supabase avec plus de 12 fonctionnalités et trois interfaces. Le socle Supabase a permis de livrer vite, puis d'ajouter les briques une par une. Découvrez la réalisation Wiloq.

Si vous partez d'une page blanche, notre guide pour créer une application avec Supabase détaille les premières étapes concrètes.

Les erreurs à éviter absolument

  • •RLS partielle : une seule table oubliée et l'isolation tombe.
  • •Logique métier dans le front : tout ce qui est côté client est falsifiable.
  • •Pas d'index sur tenant_id : les requêtes ralentissent dès les premiers milliers de lignes.
  • •État d'abonnement stocké à la main : toujours le dériver des webhooks Stripe.
  • •Aucun test d'isolation : créez deux comptes de test et vérifiez qu'ils ne se voient jamais.

Besoin d'un partenaire pour cadrer tout ça ? Notre agence spécialisée Supabase accompagne les studios et les entreprises du MVP jusqu'au produit financé.

FAQ : construire un SaaS avec Supabase

Supabase convient-il vraiment à un SaaS en production ?
Oui. Supabase repose sur Postgres, une base éprouvée, et gère l'authentification, la sécurité au niveau des lignes et le temps réel. Des SaaS comme Wiloq tournent en production sur cette stack. La clé, c'est une architecture multi-tenant propre dès le départ.
Faut-il une base séparée par client pour du multi-tenant ?
Rarement. Pour la grande majorité des SaaS, une base partagée avec une colonne tenant_id et des règles RLS suffit. La base par client est réservée aux grands comptes ou aux contraintes réglementaires fortes.
Comment gérer les abonnements et la facturation ?
Avec Stripe comme source de vérité. Un webhook branché sur une Edge Function met à jour la table des abonnements, et votre application lit ce statut pour ouvrir les fonctionnalités. Vous ne stockez jamais de donnée de carte.
Combien coûte Supabase pour un SaaS qui démarre ?
Le plan gratuit permet de valider un MVP, puis le plan Pro couvre la phase de traction. Nous détaillons tout dans notre article sur les prix et tarifs de Supabase.
Peut-on migrer plus tard si le SaaS explose ?
Oui, c'est justement l'avantage de Postgres. Vous pouvez passer sur un Postgres auto-hébergé ou un autre fournisseur sans réécrire votre modèle de données, contrairement à une base NoSQL propriétaire.

Conclusion : la bonne fondation change tout

Construire un SaaS avec Supabase, c'est gagner des mois de développement infrastructure tout en gardant une base solide et portable. La recette tient en quelques principes : isolation par RLS, facturation pilotée par Stripe, logique sensible dans les Edge Functions, et une montée en puissance progressive du MVP au produit.

Le plus dur n'est pas la technique, c'est de faire les bons choix d'architecture au bon moment. C'est précisément là qu'un partenaire expérimenté fait la différence.

Vous avez un projet de SaaS et vous voulez partir sur des fondations saines ? Demandez votre devis gratuit et discutons de votre architecture Supabase.

Auteur

Mathieu Rabissoni

Mathieu Rabissoni

Expert Web

Infos

3 août 2026
11 mn
Développement

Service lié

Création site internet

Site sur-mesure avec SEO intégré, livré en 30 jours.

Découvrir

Travailler avec ONDEV

On construit pour vous un site sur mesure, adapté à vos enjeux business.

  • Sans dépendance technique
  • Sans frais de maintenance inutiles
On en discute ?

Avec nous c'est simple, rien n'est compliqué !

Nos réalisations

Refonte & SEO - Amadeus Centre d’Affaires
Refonte & Stratégie SEO

Refonte & SEO - Amadeus Centre d’Affaires

Wiloq - Application SaaS Vestiaire Numérique
Application SaaS

Wiloq - Application SaaS Vestiaire Numérique

Voir toutes les réalisations

Un SaaS qui isole ses clients dès le premier jour, c'est ça la vraie fondation

9 projets SaaS sur 10 ne dépassent jamais leurs 10 premiers clients payants, et l'architecture bancale y est souvent pour beaucoup. La bonne nouvelle : avec Supabase, vous posez un socle solide (Postgres managé, authentification, sécurité au niveau des lignes) sans monter une équipe infrastructure. Encore faut-il l'architecturer correctement.

Dans cet article, vous allez découvrir :

  • •Comment isoler les données de chaque client sur une seule base, sans faille de sécurité
  • •L'architecture multi-tenant qui tient la charge de 1 à 10 000 comptes
  • •Où brancher la facturation Stripe et la logique métier sensible
  • •La trajectoire concrète du MVP au produit, illustrée par Wiloq et Swap&Share
Un SaaS, ce n'est pas une liste de fonctionnalités. C'est d'abord la garantie que le client A ne verra jamais la donnée du client B.

Pourquoi Supabase est idéal pour construire un SaaS

Un SaaS a quatre besoins non négociables : gérer des comptes, isoler les données, réagir en temps réel et exécuter de la logique sécurisée. Supabase couvre les quatre nativement, là où une stack maison demanderait plusieurs services à assembler et à maintenir.

Le cœur, c'est Postgres, une vraie base relationnelle, pas un entrepôt NoSQL propriétaire. Vous gardez le SQL, les relations, les transactions et les contraintes. Le jour où votre SaaS grossit, vous ne repartez pas de zéro.

Besoin d'un SaaSBrique SupabaseCe que ça remplace
Comptes et connexionSupabase AuthAuth0, Firebase Auth
Isolation des donnéesRow Level SecurityMiddleware maison
Notifications liveRealtimeSocket.io, Pusher
Logique sécuriséeEdge FunctionsServeur Node dédié
Fichiers clientsStorageAWS S3
Cette intégration, c'est ce qui permet à un petit studio de sortir un produit complet. Pour une vue d'ensemble de la plateforme, consultez notre guide complet sur Supabase.

A lire aussi : Supabase et Next.js : le combo qui accélère vos projets - pourquoi ce duo est devenu la référence pour les SaaS modernes.

L'architecture multi-tenant : une base, isolation par RLS

Le multi-tenant, c'est la capacité à servir plusieurs clients (tenants) depuis une même application. La question centrale : comment garantir que chaque client ne voit que ses données ?

Il existe trois stratégies. La plupart des SaaS n'ont besoin que de la troisième.

StratégieIsolationCoûtComplexitéPour qui
Une base par clientMaximaleÉlevéÉlevéeGrands comptes, contraintes réglementaires
Un schéma par clientForteMoyenMoyenneQuelques dizaines de clients B2B
Table partagée + RLSBonneFaibleFaibleLa grande majorité des SaaS

La colonne tenant_id, puis la RLS

L'approche recommandée : une seule base, une colonne tenant_id (ou organization_id) sur chaque table métier, et des règles Row Level Security qui filtrent automatiquement.

La RLS s'exécute au niveau de Postgres. Même si un développeur oublie un filtre where dans une requête, la base bloque l'accès. C'est une sécurité par défaut, pas une politesse applicative.

sql
create policy "tenant_isolation"
on public.projects
for select
using ( tenant_id = (auth.jwt() ->> 'tenant_id')::uuid );

Ici, chaque utilisateur ne peut lire que les lignes de son organisation, celle inscrite dans son jeton. Pour maîtriser cette brique en profondeur, lisez notre article dédié à la Row Level Security de Supabase.

La faille numéro 1 des SaaS multi-tenant sur Supabase : activer la RLS sur certaines tables et l'oublier sur d'autres. Règle d'or : RLS activée partout, aucune exception, testée tenant par tenant.

La facturation : brancher Stripe proprement

Un SaaS sans facturation n'est qu'une démo. Stripe reste la référence, et il se marie bien avec Supabase à condition de respecter une règle : la source de vérité de l'abonnement, c'est Stripe, pas votre interface.

Le schéma qui fonctionne :

  1. 1.Le client choisit un plan et paie via Stripe Checkout
  2. 2.Stripe envoie un webhook à une Edge Function
  3. 3.L'Edge Function met à jour la table subscriptions (plan, statut, date de fin)
  4. 4.La RLS et votre application lisent ce statut pour ouvrir ou fermer l'accès aux fonctionnalités

Ne stockez jamais de numéro de carte : Stripe s'en charge. Vous ne gardez que l'identifiant client Stripe et l'état de l'abonnement.

C'est exactement le modèle que nous avons mis en place sur Swap&Share, une plateforme SaaS d'échange de compétences où Stripe gère les paiements entre professionnels. Voir l'étude de cas Swap&Share.

Les Edge Functions : où vit la logique métier

Tout ne doit pas vivre dans le navigateur. La logique sensible (vérifier un paiement, envoyer un email transactionnel, appeler une API tierce avec une clé secrète) doit tourner côté serveur. C'est le rôle des Edge Functions de Supabase, des fonctions Deno déployées à la périphérie du réseau.

Quand utiliser une Edge Function :

  • •Webhooks : recevoir les événements Stripe, GitHub, etc.
  • •Clés secrètes : appeler OpenAI, un service SMS ou un CRM sans exposer la clé
  • •Traitements lourds : générer un PDF, agréger des données, envoyer un lot d'emails
  • •Règles métier critiques : ce que le client ne doit jamais pouvoir contourner depuis le front

La règle simple : si un utilisateur mal intentionné ne doit pas pouvoir le déclencher ou le falsifier, ça passe par une Edge Function, pas par le client.

Du MVP au produit : la trajectoire technique

L'erreur classique : sur-architecturer avant d'avoir un seul client. Supabase permet de commencer simple et de durcir progressivement.

Phase MVP (0 à 1) : Auth, quelques tables et une RLS de base. Objectif : valider que des gens veulent le produit. Pas de multi-région, pas de microservices.

Phase traction (1 à 100 clients) : Stripe branché, Edge Functions pour les webhooks, index Postgres sur les colonnes tenant_id, surveillance des requêtes lentes.

Phase produit (100+ clients) : rôles et permissions fins, plusieurs plans tarifaires, sauvegardes vérifiées, éventuellement des read replicas.

C'est la trajectoire suivie pour Wiloq, un SaaS de vestiaire numérique pour l'événementiel, en production sur Next.js et Supabase avec plus de 12 fonctionnalités et trois interfaces. Le socle Supabase a permis de livrer vite, puis d'ajouter les briques une par une. Découvrez la réalisation Wiloq.

Si vous partez d'une page blanche, notre guide pour créer une application avec Supabase détaille les premières étapes concrètes.

Les erreurs à éviter absolument

  • •RLS partielle : une seule table oubliée et l'isolation tombe.
  • •Logique métier dans le front : tout ce qui est côté client est falsifiable.
  • •Pas d'index sur tenant_id : les requêtes ralentissent dès les premiers milliers de lignes.
  • •État d'abonnement stocké à la main : toujours le dériver des webhooks Stripe.
  • •Aucun test d'isolation : créez deux comptes de test et vérifiez qu'ils ne se voient jamais.

Besoin d'un partenaire pour cadrer tout ça ? Notre agence spécialisée Supabase accompagne les studios et les entreprises du MVP jusqu'au produit financé.

FAQ : construire un SaaS avec Supabase

Supabase convient-il vraiment à un SaaS en production ?
Oui. Supabase repose sur Postgres, une base éprouvée, et gère l'authentification, la sécurité au niveau des lignes et le temps réel. Des SaaS comme Wiloq tournent en production sur cette stack. La clé, c'est une architecture multi-tenant propre dès le départ.
Faut-il une base séparée par client pour du multi-tenant ?
Rarement. Pour la grande majorité des SaaS, une base partagée avec une colonne tenant_id et des règles RLS suffit. La base par client est réservée aux grands comptes ou aux contraintes réglementaires fortes.
Comment gérer les abonnements et la facturation ?
Avec Stripe comme source de vérité. Un webhook branché sur une Edge Function met à jour la table des abonnements, et votre application lit ce statut pour ouvrir les fonctionnalités. Vous ne stockez jamais de donnée de carte.
Combien coûte Supabase pour un SaaS qui démarre ?
Le plan gratuit permet de valider un MVP, puis le plan Pro couvre la phase de traction. Nous détaillons tout dans notre article sur les prix et tarifs de Supabase.
Peut-on migrer plus tard si le SaaS explose ?
Oui, c'est justement l'avantage de Postgres. Vous pouvez passer sur un Postgres auto-hébergé ou un autre fournisseur sans réécrire votre modèle de données, contrairement à une base NoSQL propriétaire.

Conclusion : la bonne fondation change tout

Construire un SaaS avec Supabase, c'est gagner des mois de développement infrastructure tout en gardant une base solide et portable. La recette tient en quelques principes : isolation par RLS, facturation pilotée par Stripe, logique sensible dans les Edge Functions, et une montée en puissance progressive du MVP au produit.

Le plus dur n'est pas la technique, c'est de faire les bons choix d'architecture au bon moment. C'est précisément là qu'un partenaire expérimenté fait la différence.

Vous avez un projet de SaaS et vous voulez partir sur des fondations saines ? Demandez votre devis gratuit et discutons de votre architecture Supabase.

Mathieu Rabissoni

Mathieu Rabissoni

Expert Web

3 août 2026
11 mn
Développement

Service lié

Création site internet

Site sur-mesure avec SEO intégré, livré en 30 jours.

Découvrir

Travailler avec ONDEV

On construit pour vous un site sur mesure, adapté à vos enjeux business.

On en discute ?
Mathieu Rabissoni

Mathieu Rabissoni

Expert Acquisition Client Digitale

Passionné par le web depuis toujours, j'aide les entreprises à acquérir des clients grâce au digital. Sites web, applications, SEO : je transforme vos idées en solutions performantes.

En savoir plus

Services ONDEV liés à cet article

Création site internet Marseille•Application web sur-mesure•Refonte de site internet•Expert Next.js Marseille•Agence web Marseille•Nos réalisations

Besoin d'aide pour votre projet ?

Discutons de vos objectifs et voyons comment je peux vous aider à les atteindre.

Prendre rendez-vousAppelerWhatsApp