6.9 KiB
title: ChartDB created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, database, design, schema, visualization, diagram, typescript, apache] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Database, https://github.com/chartdb/chartdb]
🗄️ ChartDB
L'éditeur visuel de schémas de base de données : en un clic, importez un schéma SQL existant (PostgreSQL, MySQL, MariaDB, SQLite) → diagramme ER interactif, export DDL, migration scripts. La "Figma du SQL".
📋 Informations Générales
| Champ | Valeur |
|---|---|
| Site web | chartdb.io |
| GitHub | chartdb/chartdb |
| License | Apache-2.0 |
| Langage | TypeScript |
| Étoiles GitHub | 22k ⭐ |
| Dernière MAJ | 2026-06-05 |
| Catégorie | cat-database |
📝 Description
ChartDB est un éditeur visuel de schémas de base de données. Ce n'est pas un SGBD, pas non plus un outil de BI : son unique job est de rendre visible et modifiable la structure de vos bases, sans avoir à lire du DDL à la main.
Le point d'entrée magique de ChartDB est son import "one-click" : collez une URL de connexion à votre base (PostgreSQL, MySQL, MariaDB, SQLite) ou bien un script SQL, et l'outil :
- Reconnaît automatiquement les tables, colonnes, types, index, foreign keys
- Génère un diagramme ER propre et interactif
- Vous laisse le réorganiser visuellement, ajouter des notes
- Exporte le DDL modifié en plusieurs dialectes SQL
- Génère un script de migration entre l'ancien et le nouveau schéma
C'est l'outil idéal pour :
- Documenter une base existante (le "livre de bord" visuel)
- Préparer une migration (voir le diff visuel)
- Onboarder un nouveau développeur sur un projet
- Concevoir un nouveau schéma avant de l'écrire
À comparer à DBeaver (outil de gestion BDD complet, mais pas de visualisation ER intégrée aussi léchée) et à dbdiagram.io (service freemium équivalent, mais en SaaS).
- ✅ One-click import depuis PostgreSQL, MySQL, MariaDB, SQLite (live ou via DDL)
- ✅ Diagramme ER interactif (zoom, pan, drag, layout auto)
- ✅ Export multi-dialectes : PostgreSQL, MySQL, SQL Server, MariaDB, SQLite
- ✅ Migration script generation : détecte les changements, propose un ALTER TABLE
- ✅ Export : image PNG, JSON, DDL SQL
- ✅ Thèmes clair/sombre
- ✅ Responsive : utilisable sur mobile
- ✅ Pas de compte requis pour importer/exporter
- ✅ Optionnel : export vers GitHub Issue / Share via lien
- ✅ Édition en ligne : types, default values, commentaires
Public cible : architectes data, développeurs qui reprennent un projet existant, équipes qui veulent une doc visuelle, homelabs qui veulent documenter leur stack.
🚀 Installation
Option 1 : Docker Compose (recommandé pour self-host)
# docker-compose.yml
version: '3.8'
services:
chartdb:
image: chartdb/chartdb:latest
container_name: chartdb
restart: unless-stopped
ports:
- "8000:80"
labels:
- "traefik.enable=true"
- "traefik.http.routers.chartdb.rule=Host(`chartdb.example.com`)"
- "traefik.http.routers.chartdb.entrypoints=websecure"
- "traefik.http.routers.chartdb.tls.certresolver=letsencrypt"
- "traefik.http.services.chartdb.loadbalancer.server.port=80"
💡 ChartDB tourne en frontal pur (l'import DDL est local, l'import live est direct navigateur → BDD). Pas de BDD ChartDB à sauvegarder.
Option 2 : Cloud (sans installation)
Utiliser chartdb.io directement, sans rien installer. L'import live se fait via une connexion SSL/TLS depuis le navigateur (mécanisme de tunneling sécurisé).
Option 3 : Lancement local (dev)
git clone https://github.com/chartdb/chartdb.git
cd chartdb
npm install
npm run dev
⚙️ Configuration Initiale
- Accéder à l'UI :
https://chartdb.example.com - Importer un DDL : menu "Import" → coller un
pg_dump --schema-onlyou un script CREATE TABLE - Importer depuis une BDD live : "New Diagram" → saisir la connection string (
postgresql://user:***@host:5432/db) → import automatique - Explorer le diagramme : zoom, pan, clic sur une table pour voir les colonnes
- Modifier : double-clic sur une colonne pour changer le type, drag-and-drop pour réorganiser le layout
- Exporter : menu "Export" → choisir le dialecte cible → copier le DDL ou le migration script
🔄 Alternatives
Open Source
- DBeaver — Client SQL complet, visualisation ER basique, multi-BDD
- PgModeler — Spécialisé PostgreSQL, plus puissant, GPL
- draw.io / diagrams.net — Dessin libre, pas d'import auto
- Mermaid — Diagramme-as-code (markdown), ER supportés
- PlantUML — Idem, plus de contrôles
- dbt docs — Auto-généré depuis un projet dbt
Propriétaires / SaaS
- dbdiagram.io — Le concurrent direct freemium, ER visuels
- Lucidchart — Outil de diagramme généraliste
- DbSchema — Outil commercial multi-BDD, ER
- Vertabelo — Modeleur BDD en ligne
- DataGrip (JetBrains) — IDE SQL avec visualisation
Comparaison
| Critère | ChartDB | dbdiagram.io | DBeaver | draw.io |
|---|---|---|---|---|
| Licence | Apache-2.0 | Freemium | Apache-2.0 (community) | Apache-2.0 |
| Self-hosted | ✅ | ❌ | ✅ (desktop) | ✅ |
| Import DDL | ✅ Auto | ✅ Auto | ✅ | ❌ Manuel |
| Import live | ✅ (PG/MySQL/SQLite) | ✅ | ✅ | ❌ |
| Migration script | ✅ | ❌ | ❌ | ❌ |
| Export SQL | ✅ Multi-dialectes | ✅ | ✅ | ❌ |
| Collaboration | ❌ | ✅ | ❌ | ✅ |
| Prix | Gratuit | Freemium | Gratuit / Pro | Gratuit |
Verdict : ChartDB est le meilleur outil gratuit pour visualiser et documenter un schéma BDD en 2026. Pour la collaboration d'équipe, dbdiagram.io reste devant, mais en SaaS payant. Pour un homelab, ChartDB self-hosted est imbattable.
🔐 Sécurité
- HTTPS obligatoire via app-traefik — ChartDB manipule potentiellement des credentials BDD dans le navigateur
- Pas d'auth intégrée : à protéger via Authelia/Authentik en amont si on veut exposer publiquement, ou restreindre à un VPN/Tailscale
- Pas de BDD à sauvegarder : ChartDB est un outil stateless, tout se fait dans le navigateur
- Connection strings sensibles : ne pas laisser les credentials dans les diagrammes exportés
📚 Ressources
Pages Liées
- cat-database — Catégorie Database
- app-postgres — BDD pour importer
- app-mysql — BDD pour importer
- app-traefik — Reverse-proxy HTTPS
- securisation-home-lab — Bonnes pratiques
- glossaire-homelab — Glossaire