Huit vues sur les mêmes lignes
Collaboratives pour toute l’équipe, ou personnelles pour soi seul : chacun choisit sa façon de lire, personne ne copie les données.
La simplicité d’un tableur partagé — grilles, vues, formulaires, droits — et des données
qui vivent dans des tables typées et nommées en clair. Votre équipe travaille dans
l’interface ; vos scripts, vos outils de BI, vos agents IA et psql lisent les mêmes
lignes.
docker compose up -d
Pas de modèle générique, pas de JSON fourre-tout, pas de field_1837 : une base est un schéma, une table est une table, un champ est une colonne typée, nommée en clair.
text, numeric, date, timestamptz, boolean — et de vraies clés étrangères pour les relations. CHECK, adresses web et e-mails vérifiés, relations en FOREIGN KEY. JOURS([Fin]; [Début]) devient une colonne générée, que psql lit comme les autres. ALTER TABLE b_t4z56fq_ventes.opportunites ADD COLUMN montant numeric(38,10); COMMENT ON COLUMN …opportunites.montant IS 'Montant HT du contrat';
| nom | text |
| statut | text |
| montant | numeric(38,10) |
| echeance | date |
| clients_id | uuid → clients |
Les droits s’accordent à des groupes, sur un projet, une base ou une table, et descendent sur tout ce qui est dessous. Une colonne sensible peut être masquée à un groupe, ou rendue non modifiable pour lui.
Session SQL directe a modifié « Migration ERP »
02:46 · connexion locale · psqlMontant : 125 000 → 130 000
Formulaire « Demande de devis » a créé « Refonte de l’intranet »
réponse publique · publié par CamilleLes écritures des autres arrivent en temps réel, on discute d’une ligne là où elle se trouve, et les automatisations font le travail répétitif — avec les droits de qui les a écrites.
@ prévient la personne, la cloche compte ce qui n’est pas lu.
Le serveur MCP donne douze outils aux agents ; l’API REST, les mêmes données à vos programmes. Un seul point de contrôle des droits, les mêmes journaux.
list_records opportunites · statut = Négociation propose_add_field opportunites · Probabilité · number Ajouter le champ « Probabilité » (Nombre) à Opportunités
Proposée par l’agent · jeton « Ventes »
Chaque fonction écrit dans les mêmes tables, sous les mêmes droits, dans le même historique.
Collaboratives pour toute l’équipe, ou personnelles pour soi seul : chacun choisit sa façon de lire, personne ne copie les données.
Un lien public, ou réservé aux membres connectés. Répondre ne donne aucun droit sur la table.
/f/uIPJZ4Ensr_K8V0In0bb… Une base, plusieurs déclinaisons. Comparez la structure, migrez de l’une à l’autre, synchronisez des lignes.
Capturé par déclencheur dans la transaction même : même une écriture faite en SQL direct est tracée, avec ses valeurs d’avant. Ctrl+Z annule une modification, une ligne supprimée se restaure.
Un interrupteur « IA » fait remplir un champ par un modèle, à partir des autres colonnes. OpenAI, Anthropic ou Mistral, avec votre clé.
Résume {{Notes}} en une phrase Demandez un filtre, une requête, des colonnes : chaque proposition arrive en carte, et s’applique d’un clic.
De vraies clés étrangères entre tables, ou des relations multiples ; une valeur d’affichage lisible, des filtres qui traversent la relation.
Des formules en français, calculées par PostgreSQL ; des recherches, cumuls et décomptes à travers les relations.
ARRONDI([Montant HT] * (1 + [Taux de TVA]); 2) Une vue en lecture seule par un lien, intégrable à un autre site ; un calendrier devient un flux pour votre agenda.
Une table tenue à jour depuis un CSV en ligne, un agenda, ou la vue partagée d’un autre basedb.
Dix modèles prêts à l’emploi, une base décrite en une phrase à l’IA, et la vôtre enregistrée comme modèle.
Sur le disque de l’hôte ou dans un stockage compatible S3 : AWS, Scaleway, OVH, Cloudflare R2, Garage, MinIO…
Glissez un fichier : l’import devine les types, crée la table ou complète une table existante, et dit ligne par ligne ce qui est refusé.
Mot de passe ou fournisseur d’identité OpenID Connect ; sessions révocables, élévation pour l’administration.
Chaque écriture peut prévenir un autre système : charges signées, livrées dans l’ordre, réessayées.
Écrivez du SQL dans l’interface, sur les vrais noms, avec la même grille pour lire le résultat.
basedb est un logiciel libre (AGPL-3.0) : une seule image, une base PostgreSQL, et c’est
tout — ni service tiers imposé, ni télémétrie. Sauvegardez-le avec pg_dump, lisez-le avec
n’importe quel client PostgreSQL.
db PostgreSQL 16, vos données basedb L’interface, l’API REST et le serveur MCP, sur un seul port proxy Caddy, HTTPS automatique (option) git clone https://github.com/eodia/basedb.git
cd basedb && cp .env.example .env POSTGRES_PASSWORD=un-mot-de-passe-solide
# openssl rand -base64 32
BASEDB_ENCRYPTION_KEY=… docker compose up -d
# puis http://localhost:3000 : créez votre compte Une autre question ? La documentation y répond sûrement.
Par l’endroit où vivent les données. Là où d’autres rangent vos lignes dans un modèle générique (colonnes numérotées, documents JSON), basedb crée une vraie table PostgreSQL par table, une vraie colonne typée par champ, avec des noms lisibles. Vos données restent exploitables sans basedb.
Oui. Les contraintes (types, obligatoire, listes de choix, clés étrangères) sont tenues par PostgreSQL lui-même, et un déclencheur historise même les écritures faites en SQL direct, avec la session qui les a faites. La console SQL de l’interface et psql lisent les mêmes tables.
Rien tant que vous n’avez pas configuré de fournisseur. Ensuite, pour les brouillons de structure et le copilote, seules la structure et votre phrase partent par défaut ; la lecture de données par le copilote est une case à cocher, par conversation. Un modèle de base demandé à l’IA n’envoie que votre phrase. Un champ IA envoie les colonnes que sa consigne cite, après un consentement explicite.
Oui. Les écritures des autres s’affichent sans recharger, avec leur visage sur la table ou la ligne qu’ils regardent. On commente une ligne, on mentionne quelqu’un avec @, la cloche prévient. Et Ctrl+Z n’annule que vos propres écritures : il refuse plutôt que d’écraser ce qu’un autre a changé depuis.
Par le serveur MCP, avec un jeton d’intégration limité à une base, en lecture seule par défaut. Un agent lit, crée et modifie des lignes selon ses droits ; il ne supprime rien et ne change pas la structure : il la propose, et une personne approuve.
PostgreSQL 16 ou plus récent, avec les extensions pg_trgm et unaccent (disponibles dans l’image officielle). Le docker-compose fourni démarre un PostgreSQL 16 ; vous pouvez aussi pointer DATABASE_URL vers votre propre serveur.
basedb est en développement actif : le noyau, l’API, le serveur MCP et l’interface fonctionnent et sont couverts par plus de mille tests, mais certaines fonctions restent à venir (voir la feuille de route). Essayez-le, et sauvegardez votre base comme toute base PostgreSQL.
AGPL-3.0-or-later. Vous pouvez l’utiliser, le modifier et l’héberger librement ; si vous proposez une version modifiée comme service, vous en partagez les sources.
Installez basedb en quelques minutes, invitez votre équipe, et gardez la main sur chaque ligne.