DOCUMENTATION

Documentation d'Espobase

Espobase est en accès anticipé. Ces pages décrivent le fonctionnement de la plateforme ; les guides détaillés et les références d'API sont rédigés au fur et à mesure de la sortie de chaque fonctionnalité.

← AccueilAller au tableau de bord →

Premiers pas

  1. Créez un compte et une organisation.
  2. Créez un projet. Il dispose de sa propre base de données dédiée.
  3. Créez des tables dans l'Éditeur de tables ou décrivez votre app au générateur IA.
  4. Appelez votre API REST avec la clé publiable du projet.
curl "<project URL>/rest/v1/todos?select=*" \
  -H "apikey: <publishable key>"

Projets

Un projet est le backend d'une app : sa propre base de données PostgreSQL, son API REST, ses clés d'API et ses utilisateurs (App Authentication). Les projets appartiennent à une organisation.

Base de données

Chaque projet reçoit une base de données PostgreSQL 18 dédiée. Les tables du schéma public sont exposées via l'API REST ; les politiques de sécurité au niveau des lignes décident qui peut lire ou modifier chaque ligne.

API REST

Chaque table a des endpoints sous l'URL REST de votre projet (…/project/<project-ref>/rest/v1, affichée sur la page API du projet). Envoyez une clé publiable (eb_pk_…) depuis les navigateurs et les apps ; ses requêtes sont anonymes et la sécurité au niveau des lignes décide de ce qu'elles peuvent voir. Ajoutez le jeton d'accès d'un utilisateur connecté en Authorization: Bearer pour exécuter les requêtes en tant que cet utilisateur. Les clés secrètes (eb_sk_…) contournent les contrôles d'accès par utilisateur et ne doivent être utilisées que sur des serveurs de confiance.

Authentification

App Authentication d'Espobase permet aux utilisateurs de votre app de s'inscrire et de se connecter par e-mail et mot de passe, indépendamment de votre compte Espobase. Les utilisateurs sont stockés dans la base de données de votre projet. La connexion renvoie un jeton d'accès de courte durée (signé avec la clé propre à votre projet) et un jeton de rafraîchissement renouvelé à chaque usage ; le SDK @espobase/client les maintient à jour et envoie le jeton avec chaque requête, de sorte que la sécurité au niveau des lignes voit l'utilisateur comme authentifié. Sans jeton utilisateur, les requêtes faites avec la clé publiable sont anonymes. Les clés secrètes agissent comme un rôle de service côté serveur et ne doivent être utilisées que sur des serveurs de confiance.

Sécurité au niveau des lignes

La sécurité au niveau des lignes est activée sur chaque nouvelle table, que vous la créiez dans l'Éditeur de tables, l'Éditeur SQL, une migration ou le générateur IA. Tant que vous n'ajoutez pas de politiques dans Base de données → Politiques, les clés publiables ne voient aucune ligne ; les clés secrètes (côté serveur uniquement) voient tout. Vous relisez toujours le SQL généré avant son exécution. Lecture publique fonctionne pour tout le monde. Utilisateurs connectés uniquement, L'utilisateur possède la ligne, Appartenance à l'organisation et Administrateurs uniquement s'appliquent aux utilisateurs connectés avec App Authentication : espobase.user_id() est l'id de l'utilisateur connecté et espobase.app_role() son rôle dans l'app, tous deux tirés du jeton vérifié. Appartenance à l'organisation nécessite aussi votre propre table d'appartenances (avec une politique qui permet aux utilisateurs de lire leurs propres appartenances), et Administrateurs uniquement nécessite des rôles d'app que vous attribuez côté serveur.

Stockage

Les buckets contiennent des fichiers. L'accès suit le même modèle de sécurité au niveau des lignes que vos tables.

Temps réel

Des mises à jour en direct pour votre app avec espobase.realtime. Envoyez des messages à tout un canal, voyez qui est en ligne grâce à la présence et recevez les modifications des lignes des tables que vous activez dans Temps réel, dans le tableau de bord. Chaque abonné reçoit uniquement les lignes que son utilisateur peut lire selon les règles de sécurité de la table, et les suppressions n'envoient que la clé primaire de la ligne. Guide complet sur espobase.com/docs/realtime.

Edge Functions

Votre propre code serveur avec espobase.functions : des fonctions TypeScript que vous déployez depuis le tableau de bord ou la CLI, pour les webhooks, les paiements, les e-mails et d'autres tâches serveur. Les fonctions de chaque projet tournent dans leur propre bac à sable ; les secrets sont stockés chiffrés, les utilisateurs connectés sont vérifiés pour vous et la sortie de chaque appel apparaît dans les Journaux. Guide complet sur espobase.com/docs/functions.

Hébergement

Publiez le front end de votre app à côté de son backend. Compilez votre site, publiez le dossier depuis le tableau de bord ou avec `espobase deploy`, et il est en ligne sur `https://<nom>.espohost.com` en HTTPS. Chaque déploiement est conservé, ce qui permet de revenir en arrière en un clic. Disponible avec Pro et Group. Guide complet sur espobase.com/docs/hosting.

Générateur de backend IA

Décrivez votre app et Espobase propose des tables, des relations et des politiques. Vous relisez chaque instruction ; rien ne s'exécute sans votre accord.

Recherche vectorielle

Chaque projet inclut pgvector : stockez des embeddings dans des colonnes vector, indexez-les avec HNSW et recherchez par similarité avec une fonction de base de données appelée via l'API REST ou espobase.rpc(). La sécurité au niveau des lignes s'applique. Consultez le guide complet sur espobase.com/docs/vector.

CLI

npx espobase login, puis npx espobase init : liez un dossier à un projet, générez des types TypeScript, lancez des requêtes en lecture seule et consultez les journaux et l'utilisation depuis votre terminal. Consultez le guide complet sur espobase.com/docs/cli.

Connecter des outils d'IA (MCP)

Utilisez Espobase depuis Claude, ChatGPT, Cursor ou VS Code : ils lisent votre schéma, la référence d'API, les journaux et l'utilisation, lancent des requêtes en lecture seule et proposent des modifications que vous approuvez. Consultez le guide complet sur espobase.com/docs/ai-tools.