Pourquoi Supabase ?
Le backend open-source qui te donne une base de données, une auth et une API en 2 minutes.
1.1Le problème : créer un backend, c'est long
Pour une app full-stack classique, tu dois monter :
- Un serveur (Express, Fastify, NestJS...)
- Une base de données (PostgreSQL, MySQL, MongoDB...)
- Un système d'auth (Passport, NextAuth, sessions...)
- Un ORM (Prisma, Drizzle, Sequelize...)
- Un hébergement pour tout ça (VPS, Docker, AWS...)
C'est facilement 2-3 jours de config avant d'écrire la moindre ligne de logique métier.
1.2Ce que Supabase t'offre
PostgreSQL
Une vraie base relationnelle, pas du NoSQL limité. SQL complet, jointures, triggers, fonctions.
Auth intégrée
Email/password, OAuth (Google, GitHub...), magic links. Tout géré pour toi.
API auto-générée
Chaque table crée automatiquement une API REST et une API temps réel.
Storage & Edge Functions
Upload de fichiers et fonctions serverless Deno inclus.
1.3Supabase vs Firebase vs backend custom
| Critère | Backend custom | Firebase | Supabase |
|---|---|---|---|
| Base de données | SQL ou NoSQL au choix | Firestore (NoSQL) | PostgreSQL (SQL) |
| Open-source | Dépend de ton choix | Non (Google) | Oui (MIT) |
| Vendor lock-in | Aucun | Fort (Google Cloud) | Faible (Postgres standard) |
| Auth intégrée | À configurer | Oui | Oui |
| Temps de setup | 2-3 jours | 30 min | 10 min |
| SQL / Jointures | Oui | Non | Oui |
| Free tier | VPS payant | Généreux | Généreux |
1.4Architecture : où se place Supabase
Supabase n'est pas un serveur que tu héberges. C'est un service cloud (ou self-hosted) que ton frontend appelle directement :
Browser (React/Next.js)
↓ SDK @supabase/supabase-js
Supabase Cloud
├── Auth (JWT automatique)
├── PostgreSQL (tes données)
├── Storage (tes fichiers)
├── Realtime (WebSocket)
└── Edge Functions (logique serveur)Ton app Next.js appelle Supabase directement via le SDK. Pas de proxy, pas de backend Express entre les deux. La sécurité est assurée par les Row Level Security policies (on verra ça au chapitre 5).
1.5Quand choisir Supabase
Parfait pour
- - Apps full-stack avec auth (SaaS, dashboards)
- - MVP / prototypes rapides
- - Projets Next.js / React
- - Apps avec données relationnelles
- - Side projects (free tier généreux)
Moins adapté pour
- - Logique métier très complexe (préfère un vrai backend)
- - Apps avec besoin de queues/workers lourds
- - Systèmes temps réel massifs (millions de connexions)
- - Projets qui exigent zéro dépendance cloud