La base de données du droit et du Parlement
Le Rapporteur vérifie chaque citation contre Canutes, la base unifiée du projet Tricoteuses. Cette page explique ce qu'est cette base, ce que nous avons produit pour la rendre exploitable, et comment ses entités s'articulent.
C'est quoi Tricoteuses ?
Tricoteuses est un projet open-source qui nettoie et republie les données ouvertes du Parlement français (Assemblée nationale, Sénat) et du droit (Légifrance, Service-public), souvent brutes et hétérogènes (XML, dumps PostgreSQL anciens), dans une base PostgreSQL unifiée nommée Canutes, avec une API PostgREST et des serveurs MCP (Moulineuse, Parlement).
Concrètement, Canutes rassemble : articles de codes (Légifrance), textes et amendements de l'AN et du Sénat, débats, scrutins, dossiers législatifs, fiches Service-public. C'est la matière première d'une IA juridique sourcée.
Ce qu'on a fait
- Introspection du schéma réel (253 tables). Les schémas en ligne de Tricoteuses sont derrière un anti-bot, et l'API PostgREST n'expose que 3 tables.
- Production d'une cartographie lisible par un agent ou un LLM : JSON structuré et DBML, pour écrire du SQL correct sans deviner.
- Génération de diagrammes navigables (SchemaSpy) pour les humains.
- Reconstruction des relations implicites (aucune clé étrangère n'est déclarée), clairement étiquetées « déduction ».
Le schéma de base de données
Articles, textes, codes, sections (23 tables).
Ouvrir le diagramme →Acteurs, amendements, dossiers, scrutins (19 tables).
Ouvrir le diagramme →Le fichier DBML se rend aussi sur dbdiagram.io ; le SVG ci-dessus est un export déjà généré (sans service externe).
Comment lire Canutes
- Base dénormalisée : la donnée « riche » vit dans des colonnes
jsonb(data), pas dans des colonnes classiques. - Aucune clé étrangère déclarée → ni SchemaSpy ni dbdiagram ne tracent de relations automatiques. Les liens sont implicites.
- Convention d'identifiants Légifrance (la clé de lecture) :
Préfixe d'id | Entité |
|---|---|
LEGIARTI… | un article de code |
LEGISCTA… | une section (nœud de l'arbre du code) |
LEGITEXT… | un texte / code entier |
JORFARTI… | une version publiée au Journal officiel |
Liens entre les entités
Reconstitués à partir des conventions d'id et du contenu
jsonb (data.CONTEXTE, data.LIENS).