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

init génère pour vous un fichier .env prêt à l’emploi (secrets, mot de passe de base de données, un port local libre) — aucune modification n’est nécessaire pour commencer. Démarrez le conteneur PostgreSQL inclus, créez les tables, puis lancez les serveurs de développement :

docker compose up -d db # démarrer la base de données
pnpm run db:push # créer les tables à partir de vos collections
pnpm dev # démarrer le backend + le frontend

Votre panneau d’administration est disponible à l’adresse http://localhost:5173 et l’API à http://localhost:3001. Le premier compte que vous enregistrez devient l’administrateur.

→ Suivez le guide de démarrage rapide complet pour une présentation détaillée, y compris comment connecter votre propre base de données.

Fonctionnalité Description
Vues en Feuille de Calcul Table rapide et virtualisée avec édition en ligne, filtrage, tri et recherche textuelle
Vue Liste Vue liste verticale propre et réactive pour les collections
Tableau Kanban Vue tableau par glisser-déposer groupée par n’importe quelle propriété d’énumération
Relations Un-à-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
Authentification JWT + jetons de rafraîchissement, Google OAuth, contrôle d’accès basé sur les rôles
Stockage de Fichiers Système de fichiers local ou compatible S3 avec champs de téléchargement et navigateur
Synchronisation en Temps Réel Mises à jour en direct basées sur WebSocket pour tous les clients connectés
Historique des Entités Journal d’audit complet pour chaque création, mise à jour et suppression
API REST Points de terminaison CRUD auto-générés pour chaque collection
Import/Export de Données Importation 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 Client SDK 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 IA Autocomplé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