URL:     https://linuxfr.org/users/patu/journaux/mcdview-un-schema-sql-en-diagramme-entite-association-interactif-en-un-fichier-html-statique
Title:   MCDView : un schéma SQL en diagramme entité-association interactif, en un fichier HTML statique
Authors: Patu
Date:    2026-09-01T21:50:32+02:00
License: CC By-SA
Tags:    diagramme, sql, génie_logiciel et slop
Score:   1


Je partage un petit outil libre que j'ai écrit, sous licence MIT : **mcdview**. On lui donne un schéma (SQL, dump PostgreSQL/MySQL/SQLite, modèle pgModeler `.dbm`, DBML ou Prisma) et il produit un diagramme entité-association interactif, dans **une seule page HTML autonome**.

![Le schéma Chinook rendu en une page](https://blog.mcdview.dev/assets/overview.png)

# Libre et auto-hébergeable

Le générateur est un script Python en ligne de commande, sous licence MIT :

    mcdview schema.sql -o sortie.html

`mcdview.dev` n'est que l'instance publique ; rien n'oblige à l'utiliser, tout se fait en local. Code : <https://github.com/Gheop/mcdview>

# Zéro traçage, zéro runtime

La page produite est un fichier statique : rien ne s'exécute à l'ouverture, aucune connexion à une base, aucun script tiers, aucune inscription. Seule la structure est lue, une fois, à la génération. Elle est donc sûre à héberger, à archiver, à rouvrir hors ligne dans dix ans.

# Interactif quand même

Cliquer une table pour l'isoler avec ses relations, repérer les tables centrales et les cycles, basculer clair/sombre. Export en SVG, en Mermaid `erDiagram`, ou en dictionnaire de données Markdown.

![Isoler une table et ses relations](https://blog.mcdview.dev/assets/isolate.gif)

# Intégration CI

Une action GitHub et un composant GitLab régénèrent le diagramme à chaque push, derrière un lien stable, avec un badge README (identité par OIDC, sans clé à stocker). Chaque push devient une version : on peut comparer deux états (diff) ou dérouler un time-lapse du schéma.

![Diff entre deux versions du schéma](https://blog.mcdview.dev/assets/diff.png)

# Ce que ça ne fait pas

Ce n'est pas un éditeur visuel de schéma (on visualise un schéma existant, on ne le dessine pas), et ça ne se connecte pas à une base vivante (on lui fournit le fichier).

Instance publique : <https://mcdview.dev> . Notes techniques : <https://blog.mcdview.dev/fr/> .

Retours et critiques bienvenus, notamment sur le parsing des dialectes SQL et l'intégration CI.

