Pourquoi Supabase plutôt que Firebase ?

**Firebase** est le produit Google — NoSQL, propriétaire, avec un modèle de tarification qui peut devenir imprévisible à l'échelle.

**Supabase** est open-source, construit sur PostgreSQL (relationnel), avec un modèle de tarification prévisible et la possibilité de self-host si nécessaire.

Pour les applications no-code, Supabase offre plusieurs avantages décisifs :
- **SQL natif** : vous pouvez écrire de vraies requêtes SQL pour des analytics complexes
- **API auto-générée** : Supabase crée automatiquement une API REST et une API GraphQL depuis votre schéma
- **Row-Level Security** : sécurité au niveau des lignes de la base de données
- **Realtime** : subscriptions WebSocket sur les changements de données
- **Stockage** : gestion de fichiers avec politiques de sécurité
- **Edge Functions** : serverless TypeScript pour la logique backend
- **Conformité RGPD** : région EU disponible (Frankfurt)

Créer votre première base de données

Après avoir créé un compte sur supabase.com et un nouveau projet :

**1. Créer une table via l'interface** Table Editor → New Table → Donnez un nom, ajoutez des colonnes.

Colonnes recommandées à toujours inclure :
- `id` : UUID (default: gen_random_uuid())
- `created_at` : timestamp with timezone (default: now())
- `updated_at` : timestamp with timezone
- `user_id` : UUID (clé étrangère vers auth.users)
**2. Insérer des données de test**
Table Editor → Insert Row → Remplissez les champs. Ou via l'éditeur SQL :
```sql
INSERT INTO projects (name, user_id) 
VALUES ('Mon projet', auth.uid());
```

**3. Tester l'API** Supabase génère automatiquement une API REST. Dans la section API de votre dashboard, vous trouvez les URLs et exemples de code pour accéder à vos données depuis WeWeb, FlutterFlow, ou n'importe quel frontend.

L'authentification Supabase

Supabase Auth gère l'authentification complète : inscription, connexion, réinitialisation de mot de passe, et OAuth (Google, GitHub, Apple...).

**Configurer Google OAuth en 5 minutes :**
1. Dashboard Supabase → Authentication → Providers → Google → Enable
2. Créez un OAuth app dans Google Cloud Console, récupérez Client ID et Secret
3. Collez dans Supabase, ajoutez `https://[votre-ref].supabase.co/auth/v1/callback` comme redirect URL dans Google
4. Dans WeWeb, le plugin Supabase gère automatiquement le flow OAuth
**Magic Link (connexion sans mot de passe) :**
Une des fonctionnalités les plus appréciées. L'utilisateur entre son email, reçoit un lien, clique, et est connecté. Zéro mot de passe à gérer. Activer dans Supabase → Authentication → Email → Enable Magic Links.

Row-Level Security : protéger vos données

La RLS (Row-Level Security) est le mécanisme qui garantit que les utilisateurs ne voient que les données auxquelles ils ont le droit d'accéder.

**Activer la RLS sur une table :**
```sql
ALTER TABLE projects ENABLE ROW LEVEL SECURITY;
```
**Politique : chaque utilisateur voit uniquement ses projets :**
```sql
CREATE POLICY "Users see own projects"
ON projects FOR ALL
USING (user_id = auth.uid());
```
**Politique : les membres d'une organisation voient les projets de leur orga :**
```sql
CREATE POLICY "Org members see org projects"
ON projects FOR SELECT
USING (
  org_id IN (
    SELECT org_id FROM memberships
    WHERE user_id = auth.uid()
  )
);
```

**Règle d'or** : activez la RLS sur TOUTES vos tables dès le début. Désactiver la RLS sur une table en production pour déboguer, c'est une fuite de données potentielle.

Supabase avec WeWeb et FlutterFlow

**Avec WeWeb :**
Le plugin Supabase de WeWeb se connecte en entrant votre URL Supabase et votre clé anon. Une fois connecté :
- Créez des Collections liées à vos tables
- Activez Realtime sur les collections qui doivent se mettre à jour en live
- Utilisez les Actions Supabase pour les opérations CRUD
- Les politiques RLS s'appliquent automatiquement selon l'utilisateur connecté
**Avec FlutterFlow :**
FlutterFlow a une intégration Supabase native. Dans Settings → Integrations → Supabase :
- Collez votre URL et clé anon
- FlutterFlow importe automatiquement votre schéma
- Utilisez les Query widgets pour lire les données et les Action flows pour écrire
- L'authentification Supabase est gérée via les composants Auth natifs de FlutterFlow

Tarification Supabase en 2026

**Free tier** : suffisant pour un MVP
- 500 MB de stockage base de données
- 1 GB de stockage fichiers
- 50 000 utilisateurs auth
- 500 000 Edge Function invocations/mois
- Pas de SLA, pause automatique après 1 semaine d'inactivité
**Pro** : 25 $/mois
- 8 GB de base de données
- 100 GB de stockage fichiers
- Pas de pause automatique
- SLA 99.9 %
- Sauvegardes quotidiennes
**Team** : 599 $/mois
- SSO, logs avancés, SLA 99.99 %
- Conformité SOC2

Pour la quasi-totalité des projets en phase de lancement, le Free tier puis le Pro à 25 $/mois est le chemin standard.