Aller au contenu

Introduction

Rebase est un Backend-as-a-Service (BaaS) open-source et un panneau d’administration construit avec React et TypeScript. Il vous offre tout ce dont vous avez besoin pour construire des applications de back-office prêtes pour la production, basées sur PostgreSQL :

  • Schéma comme code — Définissez vos modèles de données comme des collections TypeScript. Rebase génère des tables PostgreSQL, une interface utilisateur CRUD complète, des points de terminaison d’API REST et des SDK clients typés à partir d’une source unique de vérité.
  • Panneau d’administration instantané — Une interface utilisateur d’administration React élégante et rapide avec des tableaux de type feuille de calcul, des listes, des formulaires, des tableaux Kanban, l’édition en ligne et la synchronisation en temps réel.
  • Backend intégré — Authentification (JWT + Google OAuth), stockage de fichiers (local ou S3), sécurité au niveau des lignes (Row Level Security), historique des entités et temps réel WebSocket — tout est intégré.
  • 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.
┌──────────────────────────────────────────────────────┐
│ Client Applications │
│ ┌──────────────┐ ┌───────────────────────────────┐ │
│ │ Your App │ │ Rebase Admin UI │ │
│ │ (Any Tech) │ │ Tables / Lists / Kanban │ │
│ └──────┬───────┘ └──────────────┬────────────────┘ │
└─────────┼──────────────────────────┼─────────────────┘
│ HTTP + WebSocket │
▼ ▼
┌──────────────────────────────────────────────────────┐
│ Rebase Backend (Node.js + Hono) │
│ ┌─────────┐ ┌──────┐ ┌─────────┐ ┌───────────────┐ │
│ │ REST API│ │ Auth │ │ Storage │ │ WebSocket RT │ │
│ └────┬────┘ └──┬───┘ └────┬────┘ └──────┬────────┘ │
└───────┼─────────┼──────────┼─────────────┼───────────┘
│ │ │ │
▼ ▼ ▼ ▼
┌──────────────────────────────────────────────────────┐
│ PostgreSQL (Drizzle ORM) │
└──────────────────────────────────────────────────────┘
pnpm dlx @rebasepro/cli init my-app
cd my-app

Configurez votre base de données dans .env :

DATABASE_URL=postgresql://user:password@localhost:5432/mydb
JWT_SECRET=your-secret-key

Si vous vous connectez à une base de données existante, vous pouvez l’introspecter pour générer automatiquement vos fichiers de collection :

pnpm rebase schema introspect

Démarrez tout :

pnpm dev

C’est tout. Votre panneau d’administration est disponible à l’adresse http://localhost:5173 et l’API à http://localhost:3001.

→ Suivez le guide de démarrage rapide complet pour une présentation détaillée.

FonctionnalitéDescription
Vues en Feuille de CalculTable rapide et virtualisée avec édition en ligne, filtrage, tri et recherche textuelle
Vue ListeVue liste verticale propre et réactive pour les collections
Tableau KanbanVue tableau par glisser-déposer groupée par n’importe quelle propriété d’énumération
RelationsUn-à-un, un-à-plusieurs, plusieurs-à-plusieurs avec tables de jonction et jointures multi-sauts
Sécurité au Niveau des Lignes (RLS)Politiques RLS de style Supabase définies dans la configuration de votre collection
AuthentificationJWT + jetons de rafraîchissement, Google OAuth, contrôle d’accès basé sur les rôles
Stockage de FichiersSystème de fichiers local ou compatible S3 avec champs de téléchargement et navigateur
Synchronisation en Temps RéelMises à jour en direct basées sur WebSocket pour tous les clients connectés
Historique des EntitésJournal d’audit complet pour chaque création, mise à jour et suppression
API RESTPoints de terminaison CRUD auto-générés pour chaque collection
Import/Export de DonnéesImportation CSV, JSON et Excel avec mappage de champs ; exportation CSV/JSON
Éditeur de CollectionÉditeur de schéma visuel qui génère du TypeScript via manipulation d’AST
SDK ClientSDK JavaScript typé pour vos applications frontend
Système de PluginsÉtendez chaque partie de l’interface utilisateur — barre d’outils, formulaires, champs, page d’accueil
Amélioration des Données par IAAutocomplétion basée sur LLM pour les champs de texte
Tâches Planifiées (Cron Jobs)Tâches d’arrière-plan planifiées avec surveillance, journalisation et tableau de bord Studio