Introduction
Avant de parler de Supabase, revenons à notre besoin de base: développer une application Web qui nécessite des données. En effet, nous aurons besoin de stocker et récupérer des informations: la liste des serveurs, les messages, etc.
Pour cela, on utilise généralement une base de données et un serveur Web.
Une base de données est un système qui permet de stocker, organiser et retrouver ces informations de façon structurée.
Le serveur Web permet quant à lui de traiter les requêtes, lire le contenu de la base de données et retourner l'information.
Traditionnellement, gérer tout cela nécessite:
- D'installer et configurer un serveur de base de données (vous le verrez dans votre cours de BD!)
- D'installer, configurer et programmer un serveur Web
- De créer et maintenir la structure des données
- De gérer la sécurité et les accès
- De s'occuper des sauvegardes
- D'écrire des requêtes pour sauvegarder et extraire les données
- Etc.
Supabase est une plateforme qui simplifie l'utilisation des bases de données pour les développeurs. L'outil fournit tous les services dont vous avez besoin pour stocker des données et les récupérer via des requêtes HTTP (API).
Les services principaux de Supabase
1. Base de données PostgreSQL
- Supabase utilise PostgreSQL, une base de données relationnelle robuste et populaire
- Vous créez vos tables (structure de données) via une interface graphique
- Pas besoin d'installer ou configurer quoi que ce soit
- Il n'est pas nécessaire de connaitre PostgreSQL pour utiliser Supabase.
2. API REST
- Supabase génère automatiquement une API REST
- Vous pouvez donc lire, ajouter, modifier ou supprimer des données via des requêtes HTTP simples
3. Authentification intégrée
- Gestion complète des utilisateurs (inscription, connexion, mots de passe oubliés)
- Sécurité intégrée avec gestion des rôles et permissions
4. Stockage de fichiers
- Upload et gestion de fichiers (images, documents, etc.)
- Génération automatique d'URLs publiques ou privées
... et bien d'autres fonctionnalités
L'outil est gratuit dans sa version de base et sera utilisé comme source de données pour la première moitié du cours.