
Pourquoi Supabase remplace Firebase dans mes projets
Le problème avec Firebase
Firebase a longtemps été mon choix par défaut pour le backend. Base de données temps réel, authentification clé-en-main, hosting intégré — tout semblait parfait.
Jusqu'au jour où j'ai voulu :
- Faire une requête SQL complexe (impossible avec Firestore)
- Exporter mes données proprement (vendor lock-in)
- Comprendre ma facture (tarification opaque)
Supabase : le PostgreSQL augmenté
Supabase, c'est essentiellement PostgreSQL avec des super-pouvoirs :
1. SQL natif = requêtes puissantes
-- Top 10 des articles les plus lus ce mois
SELECT title, view_count, published_at
FROM blog_posts
WHERE published_at >= now() - interval '30 days'
ORDER BY view_count DESC
LIMIT 10;
Essayez de faire ça en NoSQL. Avec Supabase, c'est naturel.
2. Row Level Security (RLS)
La sécurité au niveau des lignes est un game-changer :
-- Les utilisateurs ne voient que leurs propres données
CREATE POLICY "Users see own data"
ON profiles FOR SELECT
USING (auth.uid() = user_id);
Plus besoin de gérer la sécurité côté application — la base de données se protège elle-même.
3. Temps réel inclus
const channel = supabase
.channel('messages')
.on('postgres_changes', { event: 'INSERT', schema: 'public', table: 'messages' },
(payload) => console.log(payload.new)
)
.subscribe();
Même expérience temps réel que Firebase, mais avec la puissance de PostgreSQL derrière.
4. Edge Functions (Deno)
Les Edge Functions de Supabase tournent sur Deno (le successeur de Node.js) et se déploient en quelques secondes :
Deno.serve(async (req) => {
const { email } = await req.json();
// Logique métier ici
return new Response(JSON.stringify({ success: true }));
});
5. Storage intégré
Upload de fichiers avec CDN et transformations d'images intégrées. Plus besoin de configurer un S3 séparé.
Migration Firebase → Supabase
Étapes clés
- Exporter les données Firebase (JSON)
- Mapper le schéma Firestore → tables PostgreSQL
- Migrer les données avec un script Node.js
- Configurer RLS pour chaque table
- Adapter le code client (le SDK Supabase est très similaire)
Temps estimé
- Projet simple (auth + CRUD) : 1-2 jours
- Projet moyen (+ storage + realtime) : 3-5 jours
- Projet complexe (+ edge functions + migrations) : 1-2 semaines
Comparatif rapide
| Critère | Firebase | Supabase |
|---|---|---|
| Base de données | NoSQL (Firestore) | PostgreSQL |
| Requêtes | Limitées | SQL complet |
| Open source | Non | Oui |
| Self-hosting | Non | Oui |
| Pricing | Opaque | Transparent |
| Vendor lock-in | Fort | Faible |
| Temps réel | Excellent | Excellent |
| Auth | Excellent | Excellent |
Conclusion
Supabase n'est pas juste "l'alternative open-source à Firebase". C'est une plateforme supérieure pour la majorité des projets modernes. Le SQL natif, le RLS, et l'absence de vendor lock-in en font mon choix par défaut pour tout nouveau projet.
Besoin d'aide pour migrer vers Supabase ? Contactez-moi pour un accompagnement personnalisé.