Firebase à 25 USD/mois plan Blaze sans surcharge, escalade vite à 200-500 USD/mois en production sérieuse. AWS Amplify similaire. Vendor lock-in massif. Supabase est l’alternative open source révolutionnaire : Postgres + Auth + Storage + Realtime + Edge Functions + Vector embeddings. Auto-hébergé sur Hetzner CCX13 (15 €/mois) pour usage illimité. Souveraineté complète, conformité naturelle ARTCI/CDP/NESA.
Sommaire
- Pourquoi Supabase en 2026
- Concepts fondamentaux
- Vue d’ensemble pratique
- Tutoriels du cluster
- Cas d’usage
- Adaptation au contexte ouest-africain
- Erreurs fréquentes
- FAQ
Pourquoi Supabase en 2026
Cinq raisons concrètes.
Postgres-first. Vraie base SQL relationnelle, pas une wrapper NoSQL comme Firestore. Joins, transactions, contraintes, full-text search natifs. Migration vers Postgres standard triviale (juste un autre Postgres).
Auth complet. Email/password, OAuth (Google, GitHub, Apple, Discord), magic links, SMS OTP. JWT tokens, RLS (Row Level Security) au niveau Postgres. Sécurité enterprise dès le démarrage.
Storage S3-compatible. Upload fichiers (photos, PDFs, vidéos) avec policies. CDN inclus. Resize images automatique.
Realtime via WebSocket. Subscribe à changements Postgres en temps réel. Apps réactives type Notion, Figma sans Pusher payant.
Edge Functions Deno. Logique serverless en TypeScript. Webhooks, CRON, intégrations APIs externes.
Concepts fondamentaux
Architecture multi-conteneurs
Supabase self-hosted = stack Docker Compose : Postgres, GoTrue (Auth), PostgREST (REST API), Realtime, Storage, Studio (admin UI), Kong (API gateway), Imgproxy (image transform), Vector (logs), Functions (Deno).
RLS (Row Level Security)
Policies SQL Postgres au niveau ligne. Exemple : users only see their own posts. Sécurité côté DB, pas côté application. Imposée même via API REST.
JWT et anon/service keys
Trois keys : anon (public, RLS appliquée), service_role (admin, bypass RLS), JWT secret. Frontend utilise anon, backend service_role.
PostgREST API auto-générée
Chaque table Postgres = endpoint REST auto. GET /rest/v1/products, POST, PATCH, DELETE. Filters, sort, pagination. RLS appliquée.
Storage policies
Buckets avec policies SQL : qui upload, qui read, taille max, types MIME. Public ou privé.
Edge Functions
Functions Deno TypeScript déployées via CLI. Cold start <50ms. Idéal Stripe webhooks, scheduled jobs, intégrations.
Vue d’ensemble pratique
1. Déploiement
Hetzner CCX13 (15 €/mois) recommandé. Supabase via docker-compose officiel. Voir Déployer Supabase sur VPS.
2. Premier projet et schéma
Studio admin → SQL editor → CREATE TABLE. Voir Schéma et RLS Postgres.
3. Auth et social login
Voir Auth OAuth et magic links.
4. Storage et images
Voir Storage et upload images.
Tutoriels du cluster Supabase
- Déployer Supabase sur VPS et Coolify
- Schéma Postgres et Row Level Security
- Auth OAuth et magic links
- Storage S3 et upload images
Cas d’usage
SaaS B2B avec auth
SaaS à Abidjan : Supabase Auth gère signup/login. RLS pour multi-tenant (chaque org voit ses données). Stripe webhook via Edge Function.
App mobile native
App à Dakar : SDK Supabase iOS/Android natif. Auth + Postgres + Storage tout-en-un. Pas besoin backend custom.
Marketplace e-commerce
Marketplace à Casablanca : produits Postgres, RLS par vendeur, photos Storage, recherche full-text intégrée.
Plateforme RH
RH PME à Tunis : profils employés, documents (Storage), permissions RLS strictes. Conformité CDP naturelle.
Application IA RAG
Doc IA à Abidjan : pgvector intégré pour embeddings. RAG avec Claude/GPT direct depuis Supabase.
Adaptation au contexte ouest-africain
Quatre adaptations.
Coût. Supabase Cloud Pro = 25 USD/mois. Self-hosted = 15 €/mois illimité. À scale, économies massives.
Souveraineté. Hetzner Falkenstein = données européennes. Conformité ARTCI, CDP marocaine, NESA. Vendor lock-in zéro.
Mobile first. SDK Supabase optimisé pour 4G/5G. Cache local, sync différée. Apps Dakar/Abidjan responsive.
Edge functions multi-région. Pour latence min, déployer Edge Functions sur Cloudflare Workers en complément.
Erreurs fréquentes
| Erreur | Cause | Solution |
|---|---|---|
| RLS bloque tout | Pas de policy | Toujours créer policy au minimum SELECT pour anon ou authenticated |
| Storage upload échoue | Bucket policy manquante | INSERT policy pour role authenticated |
| Auth email non envoyé | SMTP pas configuré | GoTrue env vars SMTP |
| Performance dégradée | Postgres connection pool | PgBouncer en façade |
| Realtime pas actif | Replication slot manquant | ALTER PUBLICATION supabase_realtime ADD TABLE |
| Edge Function cold start lent | Première invocation | Warm avec cron 5min |
| Service role exposé frontend | Variable mal préfixée | NEXT_PUBLIC_ uniquement sur anon key |
FAQ
Supabase vs Firebase ? Supabase = SQL + open source + self-host. Firebase = NoSQL + closed + cloud only. Supabase préféré sauf besoin Google scale.
Capacité CCX13 ? 50 000 users + 1M req/jour confortable. Au-delà CCX23.
SDK officiels ? JS/TS, Python, Dart (Flutter), Swift, Kotlin. Tous matures.
pgvector pour IA ? Oui inclus. RAG natif possible.
Migration Firebase ? Outils communautaires firebase-to-supabase. Comptez 1-2 semaines.
Edge Functions limites ? Self-hosted illimité. Cloud 500k invocations/mois plan Pro.
Backup ? pg_dump + Storage rclone. Cron quotidien obligatoire.
Pour aller plus loin
- Démarrer maintenant : Déployer Supabase sur VPS
- Documentation : supabase.com/docs/self-hosting
- GitHub : github.com/supabase/supabase