CaveSB SupabasePièce 1/7Débutant

Découvrir Supabase

Ce qu'est Supabase, comment créer un projet et une première table de recettes, et quelle clé peut être publique.

Ce que tu vas apprendre

  • Ce que Supabase apporte à un site : une base de données et un accès prêt à l'emploi.
  • Créer un projet et une table recettes depuis le tableau de bord.
  • Distinguer la clé publique (publishable) de la clé secrète, qui ne doit jamais sortir du serveur.

Un backend déjà installé

Un site de recettes doit garder ses recettes quelque part. Il faut une base de données, un moyen d'y accéder et une gestion des comptes.

Supabase est un service qui fournit tout cela. Sa base est PostgreSQL, la même que dans le cours SQL, hébergée chez Supabase.

Tu ne codes pas de serveur pour lire ou écrire des lignes. Supabase expose la base par une API (une porte d'accès par Internet) et un client JavaScript, supabase-js, qui l'utilise pour toi.

Ce que contient un projet

Un projet Supabase regroupe plusieurs services :

ServiceRôle
Base de donnéesTes tables PostgreSQL.
AuthentificationInscription, connexion, sessions.
StockagePhotos et fichiers.
Temps réelRecevoir les changements de la base en direct.

Ce cours-ci s'occupe de la base. Les autres services arrivent dans la suite de la ligne.

Créer un projet

  1. Crée un compte sur supabase.com.
  2. Dans le tableau de bord, crée un nouveau projet dans ton organisation.
  3. Donne-lui un nom, par exemple recettes, choisis un mot de passe pour la base et une région proche de tes visiteurs.
  4. Attends la fin de la création.
Le mot de passe de la base est un secret. Garde-le dans un gestionnaire de mots de passe, jamais dans un fichier du dépôt.

Créer une table dans l'éditeur

La table recettes se crée sans écrire de SQL :

  1. Ouvre Table Editor.
  2. Clique sur New table et nomme-la recettes.
  3. Garde les colonnes id et created_at créées par l'éditeur.
  4. Ajoute une colonne titre de type text et une colonne duree_minutes de type int8.
  5. Enregistre.

Le même résultat s'obtient en SQL :

create table recettes (
  id bigint generated by default as identity primary key,
  titre text not null,
  duree_minutes int,
  created_at timestamptz default now()
);

La colonne id utilise generated by default as identity : PostgreSQL numérote chaque ligne tout seul.

Ajoute ensuite deux recettes à la main dans l'éditeur pour avoir des données de test.

Deux types de clés

Pour parler à ton projet, un programme présente une clé d'API. Supabase en propose deux types :

Clé publishableClé secrète
Préfixesb_publishable_sb_secret_
Ancien nomanonservice_role
Dans le navigateurOui, elle est faite pour être publiqueNon, jamais
DroitsLimités par les règles de la baseContourne ces règles

Tu les trouves dans Settings, puis API Keys. Le dialogue Connect affiche l'adresse du projet et la clé publishable.

Supabase remplace les anciennes clés anon et service_role par ces deux-là d'ici la fin de 2026. Tu croiseras encore les anciens noms dans des tutoriels.

Pourquoi la clé publique est sans danger

Le site que tu publies contient la clé publishable : n'importe qui peut la lire dans le navigateur. Elle est sans danger seulement si la base se protège elle-même.

Cette protection s'appelle Row Level Security (RLS), la sécurité au niveau des lignes. Elle décide qui peut lire ou modifier chaque ligne. Le cours 05 lui est consacré.

Retiens déjà la règle : une table exposée sans RLS est lisible et modifiable par tout le monde. L'éditeur du tableau de bord l'active à la création d'une table. Une table créée en SQL n'a pas cette protection tant que tu ne l'actives pas.

À retenir

  • Supabase fournit une base PostgreSQL, des comptes, du stockage et du temps réel.
  • Un projet se crée depuis le tableau de bord, une table depuis le Table Editor ou en SQL.
  • La clé publishable (sb_publishable_) peut aller dans le navigateur.
  • La clé secrète (sb_secret_) contourne toute protection : serveur uniquement, jamais dans Git.
  • La clé publique n'est sûre que si la RLS est activée sur chaque table exposée.

Pour aller plus loin

Sources officielles

Ensuite

Projet
Lignes de code
Niveau
Cave
Appartement
Supabase
Pièce
1/7
Plan n°
supabase/01.decouvrir-supabase
Lignes de code · fiches rédigées à partir des documentations officielles, sources citées en bas de chaque page.