Introduction
Qu’est-ce que Rebase ?
Section intitulée « Qu’est-ce que Rebase ? »Rebase est le backend open source pour PostgreSQL, avec un panneau d’administration pour votre équipe, conçu avec React et TypeScript. Il vous offre tout ce dont vous avez besoin pour créer une application prête pour la production au-dessus de PostgreSQL :
- Schema as Code — Définissez vos modèles de données sous forme de collections TypeScript. Rebase génère des tables PostgreSQL, une interface CRUD complète, des points de terminaison d’API REST et un SDK typé à partir d’une source unique de vérité.
- Panneau d’administration instantané — Un panneau moderne et rapide basé sur React avec tableaux de type feuille de calcul, listes, formulaires, tableaux Kanban, édition en ligne et synchronisation en temps réel.
- Backend intégré — Authentification (mots de passe, liens magiques, codes à usage unique, MFA, clés API et douze fournisseurs OAuth/OIDC), stockage de fichiers (local ou S3), Row Level Security, historique des entités et temps réel via WebSocket — tout est intégré nativement.
- Radicalement extensible — Si vous pouvez le construire en React, vous pouvez l’ajouter à Rebase. Champs personnalisés, vues personnalisées, plugins et accès complet aux hooks internes.
Choisissez votre voie
Section intitulée « Choisissez votre voie »Rebase, c’est un backend et un panneau d’administration qui partagent le même serveur. Commencez par celui pour lequel vous êtes venu :
| Je veux… | Commencer ici | Ce que vous obtenez |
|---|---|---|
| Un backend et un panneau d’administration | Quickstart | Des collections en TypeScript, une interface CRUD générée, une API REST, l’authentification, le stockage et le temps réel |
| Uniquement l’API, sur ma propre base de données | Backend only | Une API REST headless et un SDK sur votre base PostgreSQL existante — sans panneau d’administration, sans fichiers de collection |
Aucune de ces options n’est définitive : un projet headless peut intégrer un panneau d’administration en ajoutant simplement des fichiers de collection, et un projet complet peut servir des tables pour lesquelles il n’a pas de collection.
Comment ça marche
Section intitulée « Comment ça marche »┌──────────────────────────────────────────────────────┐│ Client Applications ││ ┌──────────────┐ ┌───────────────────────────────┐ ││ │ Your App │ │ Rebase CMS + Studio │ ││ │ (Any Tech) │ │ Tables / Lists / Kanban │ ││ └──────┬───────┘ └──────────────┬────────────────┘ │└─────────┼──────────────────────────┼─────────────────┘ │ HTTP + WebSocket │ ▼ ▼┌──────────────────────────────────────────────────────┐│ Rebase Backend (Node.js + Hono) ││ ┌─────────┐ ┌──────┐ ┌─────────┐ ┌───────────────┐ ││ │ REST API│ │ Auth │ │ Storage │ │ WebSocket RT │ ││ └────┬────┘ └──┬───┘ └────┬────┘ └──────┬────────┘ │└───────┼─────────┼──────────┼─────────────┼───────────┘ │ │ │ │ ▼ ▼ ▼ ▼┌──────────────────────────────────────────────────────┐│ PostgreSQL (Drizzle ORM) │└──────────────────────────────────────────────────────┘Démarrage rapide
Section intitulée « Démarrage rapide »pnpm dlx @rebasepro/cli init my-appcd my-appinit génère un fichier .env prêt à l’emploi — aucune modification requise. Ensuite :
pnpm installpnpm run devC’est tout ce qu’il faut pour la première exécution. Il n’y a aucune base de données à installer ni d’étape de schéma : en l’absence de DATABASE_URL, rebase dev démarre un PostgreSQL géré (PGlite) dans le répertoire du projet, génère le schéma à partir de vos collections et crée les tables au démarrage.
Lisez les URL affichées dans la sortie. rebase dev choisit un port libre par projet plutôt qu’un port fixe, ils diffèrent donc selon les projets et les machines. Le premier compte que vous enregistrez devient l’administrateur — sur votre machine. Un déploiement en production définit plutôt son administrateur via REBASE_ADMIN_EMAIL et REBASE_ADMIN_PASSWORD (voir Configuration).
Pour utiliser plutôt votre propre instance Postgres, décommentez DATABASE_URL dans .env et relancez pnpm run dev.
→ Suivez le guide Quickstart complet pour un pas-à-pas détaillé, incluant la façon de connecter votre propre base de données.
Fonctionnalités principales
Section intitulée « Fonctionnalités principales »| Fonctionnalité | Description |
|---|---|
| Vues tableur | Tableau virtualisé et rapide avec édition en ligne, filtrage, tri et recherche textuelle |
| Vue en liste | Vue verticale épurée et responsive pour les collections |
| Tableau Kanban | Vue en tableau avec glisser-déposer, groupée par n’importe quelle propriété d’énumération |
| Relations | One-to-one, one-to-many, many-to-many avec tables de jonction et jointures multi-niveaux |
| Row Level Security | Politiques RLS à la Supabase définies directement dans la configuration de votre collection |
| Authentification | JWT + refresh tokens, douze fournisseurs OAuth/OIDC, liens magiques, codes à usage unique, TOTP MFA, clés API avec portée restreinte, contrôle d’accès basé sur les rôles |
| Stockage de fichiers | Système de fichiers local ou compatible S3 avec champs d’upload et explorateur |
| Synchronisation temps réel | Mises à jour en direct via WebSocket sur l’ensemble des clients connectés |
| Historique des entités | Journal d’audit complet pour chaque création, modification et suppression |
| API REST | Endpoints CRUD générés automatiquement pour chaque collection |
| Import / Export de données | Import CSV, JSON et Excel avec mappage de champs ; export CSV/JSON |
| Éditeur de collection | Éditeur visuel de schéma qui génère du TypeScript via manipulation d’AST |
| SDK typé | SDK JavaScript typé pour vos applications frontend |
| Système de plugins | Étendez chaque élément de l’interface — barre d’outils, formulaires, champs, page d’accueil |
| Enrichissement de données par IA | Autocomplétion propulsée par LLM pour les champs textuels |
| Tâches Cron | Tâches de fond planifiées avec surveillance, journalisation et tableau de bord Studio |
| Fonctions personnalisées | Routes Hono basées sur les fichiers, automatiquement montées avec middleware d’authentification et accès DB |
| Service d’e-mails | SMTP intégré pour réinitialisation de mot de passe, vérification et e-mails transactionnels |
| Branching de base de données | Copies instantanées et isolées de votre base de données pour le dev, le staging ou les tests |
| Webhooks | Notifications sortantes signées HMAC sur les événements INSERT, UPDATE, DELETE |
| Canaux de diffusion | Canaux WebSocket pour la messagerie en temps réel entre clients connectés |
| Suivi de présence | Suivi des utilisateurs en ligne et synchronisation de l’état partagé entre les participants |
Prochaines étapes
Section intitulée « Prochaines étapes »- Quickstart — Soyez opérationnel en 2 minutes
- Backend only — L’API headless sur une base de données existante
- Structure du projet — Comprenez le code généré, et les cinq concepts clés supposés connus dans la suite de cette documentation
- Collections — Définissez votre schéma de données
- Backend — Configurez l’authentification, le stockage et l’API
- Architecture — Comprenez comment l’ensemble s’articule