Configurer Supabase
PostgreSQL hébergé, authentification intégrée,
stockage de fichiers. Le backend qui s'oublie.
Firebase open source, version PostgreSQL
Supabase est un Backend-as-a-Service open source. Il vous donne une base de données PostgreSQL hébergée, un service d'authentification, une API REST générée automatiquement, du stockage de fichiers, et des Edge Functions — le tout accessible via une interface claire et une SDK JavaScript.
PostgreSQL complet
Pas un sous-ensemble limité. PostgreSQL complet, avec relations, triggers, fonctions, full-text search, et extensions.
Intégré
Email/mot de passe, magic links, OAuth (Google, GitHub, etc.). Gestion des sessions, tokens JWT. Prêt à l'emploi.
PostgREST
Une API REST est générée automatiquement depuis votre schéma de base. Pas de backend Express à écrire pour les CRUD de base.
Gratuit jusqu'à 2 projets actifs
Le plan Free couvre largement le développement et les projets de taille modeste. Pas de carte bleue pour commencer.
Cinq minutes pour être prêt
supabase.com. Connexion via GitHub recommandée — ça évite un compte de plus, et Supabase et GitHub sont déjà liés dans la plupart des stacks.La distinction critique
Supabase fournit deux clés. Confondre leur usage est une erreur de sécurité grave. Il faut comprendre la différence une fois pour toutes.
Clé côté client
Exposable dans le navigateur. Permet l'accès à la base avec les politiques RLS appliquées. C'est la seule clé utilisée côté front.
Clé côté serveur
Bypass complet de RLS. Accès admin total à toutes les données. Ne jamais exposer côté client — ni dans le code front, ni dans le HTML.
Dans le .env
NEXT_PUBLIC_SUPABASE_URL=...NEXT_PUBLIC_SUPABASE_ANON_KEY=... (côté client)SUPABASE_SERVICE_ROLE=... (côté serveur uniquement)
service_role = serveur uniquement
Si vous voyez service_role dans du code React ou Vue, c'est une faille de sécurité critique. À corriger immédiatement.
La sécurité au niveau des données
Le RLS est la fonctionnalité de sécurité la plus importante de Supabase. Il définit, au niveau de la base de données, qui peut lire ou modifier quelle ligne. Même si quelqu'un exploite une faille de votre code, les données restent protégées.
auth.uid() = user_id. Supabase propose des templates pour les cas courants.SDK JavaScript en deux lignes
# 1. Installer le SDK $ npm install @supabase/supabase-js // 2. Initialiser le client (fichier lib/supabase.js) import { createClient } from '@supabase/supabase-js' const supabase = createClient( process.env.NEXT_PUBLIC_SUPABASE_URL, process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY ) export default supabase // 3. Exemple de requête const { data, error } = await supabase .from('missions') .select('*') .eq('user_id', userId)
Une fois le client initialisé, vous pouvez demander à Claude Code de générer des requêtes Supabase à partir de descriptions en français. « Écris une fonction qui récupère toutes les missions actives de l'utilisateur connecté, triées par date décroissante. » Claude connaît l'API Supabase JS et génère du code correct dans la grande majorité des cas.
Ce que Claude fait très bien sur Supabase
Génération de tables
Décrivez votre schéma en français, Claude écrit le SQL CREATE TABLE avec les types, contraintes, clés étrangères, index.
Filtres et jointures complexes
Les requêtes Supabase JS avec .select(), .filter(), .join() peuvent devenir complexes. Claude les génère à partir d'une description métier.
Politiques de sécurité
Décrivez la règle métier (un manager peut voir les missions de son équipe), Claude écrit la politique RLS correspondante.
Évolutions du schéma
Ajouter une colonne, renommer une table, gérer les données existantes. Claude écrit la migration SQL et la procédure de rollback.
Cap sur la leçon 09
Votre backend Supabase est prêt. La leçon suivante installe shadcn-ui pour construire des interfaces professionnelles sans partir de zéro.
Exercice — appropriation
Créez votre projet Supabase en région Frankfurt. Récupérez les deux clés (anon et service_role) et placez-les dans votre fichier .env. Créez une première table correspondant à votre projet de référence en activant RLS dessus. Connectez le SDK JavaScript et vérifiez la connexion avec une requête simple.
Quiz · Configurer Supabase
8 questions · une seule bonne réponse par question · vous pouvez recommencer autant de fois que nécessaire.