CLAIR DocsCLAIR Docs
  • clair.vote
  • GitHub
  • Nous soutenir
Nous soutenir
  • Accueil
  • Plateforme & Guide
  • Données & Base de Données
  • Explorateur API
CLAIR

Plateforme citoyenne de transparence politique. Données 100% publiques, 0% d'opinion.

Explorer

  • Députés
  • Sénateurs
  • Groupes politiques
  • Sujets
  • Dossiers législatifs
  • Scrutins
  • Agenda
  • Lobbying

Ressources

  • Nous soutenir
  • À propos
  • Méthodologie
  • Contact
  • Comprendre
  • Guide pratique
  • API ouverte

Légal

  • Mentions légales
  • Confidentialité
  • CGU

© 2026 CLAIR. Sources : Assemblée nationale · Sénat · HATVP · Ministère de l'Intérieur · DILA

Vue d'ensembleCommandes CLIEnrichissement IAModèle PrismaOrchestrateur d'IngestionQualité des DonnéesSchémas ERDSources Open DataSuivi des Modifications
Données & Base de Données

Schémas Entité-Relation (ERD)

Diagrammes entité-relation de la base, générés depuis apps/api/prisma/schema.prisma par pnpm docs:erd. Ils utilisent les noms SQL des tables et colonnes, ceux qu'on écrit dans une requête. Le catalogue commenté des tables est sur la page Modèle Prisma.

Lecture : PK clé primaire, FK clé étrangère, UK valeur unique, nullable colonne facultative. ||--o{ : un parent, zéro ou plusieurs enfants ; |o--o{ : le parent est facultatif (clé étrangère nullable) ; --o| : au plus un enfant par parent. L'étiquette d'une relation est la colonne qui porte la clé étrangère. Les types sont ceux de PostgreSQL (text, int, bool, timestamp, jsonb, float, text[]). Une table sans colonnes dans un diagramme est détaillée dans un autre.


🧭 Les domaines

Liaisons entre les domaines

À retenir avant de lire les diagrammes :

  • parlementaires contient la personne, mandats_parlementaires chaque siège (législature, circonscription, groupe d'époque) ; parlementaires_identifiants garde l'identifiant de la chambre quittée.
  • textes_articles stocke les articles de chaque version de texte AN (initial, texte de commission…), une ligne par (texte_ref, numero). Les versions ne sont pas chaînées entre elles : un article renuméroté d'une version à l'autre n'est pas suivi. Un amendement retrouve son article par texte_ref et article_vise (« ART. PREMIER » ↔ « PREMIER »), sans clé étrangère. Le Sénat n'est pas couvert.
  • avis_commission enregistre ce qu'une commission de l'Assemblée recommande de chaque amendement avant la séance (réunions tenues au titre des articles 86, 88 ou 91 du Règlement), là où amendements.sort dit ce que l'hémicycle a décidé.
  • intervention_scrutin relie une prise de parole au scrutin qu'elle précède ; via dit comment (voir Modèle Prisma).
  • Toutes les tables portent created_at et updated_at, sauf les deux tables de jointure implicites : updated_at est tenu par la base et ne bouge que si le contenu de la ligne change (voir Suivi des modifications).

🗺️ Vue d'ensemble des relations

Les 56 relations entre tables, sans les colonnes. Les 7 tables sans clé étrangère (evenements_institutionnels, candidats_mandats_locaux, legi_textes, legi_articles, sync_logs, source_states, feedbacks) n'y figurent pas ; elles sont détaillées plus bas.

Toutes les relations

Parlementaires, mandats et groupes

Parlementaires, mandats et groupes

Gouvernements et présidence de la République

Gouvernements et présidence de la République

Travail législatif : dossiers, scrutins, amendements, débats, sujets

Travail législatif : dossiers, scrutins, amendements, débats, sujets

Commissions, réunions et agenda

Commissions, réunions et agenda

Lobbying (HATVP)

Lobbying (HATVP)

Élections sénatoriales : candidatures et résultats

Élections sénatoriales : candidatures et résultats

Index de la base LEGI (DILA) et renvois des amendements

Sans clé étrangère : legi_articles.cid désigne le cid commun aux versions d'un texte de legi_textes, qui n'est pas unique. amendements_renvois désigne articles et textes de l'index par leurs identifiants, dans son JSON.

Index de la base LEGI (DILA) et renvois des amendements

Tables techniques

Sans relation avec les autres tables.

Tables techniques

🔗 Liens logiques sans clé étrangère

Plusieurs rapprochements se font par des identifiants de la source, sans contrainte en base. Ils ne figurent donc pas dans les diagrammes.

ColonneCorrespond àRemarque
amendements.auteur_refparlementaires.source_id, ou parlementaires_identifiants.source_id pour un député devenu sénateurIdentifiant d'acteur AN (PA…) ; parlementaire_id en est la résolution
amendements.amendement_parent_refamendements.uidRéférence du parent publiée par la source ; amendement_parent_id en est la résolution
amendements.texte_ref + amendements.article_visetextes_articles.texte_ref + textes_articles.numeroVersion du texte et article visé (clé unique de textes_articles)
amendements.seance_discussion_refreunions.uidSéance de discussion (AN), quand elle figure à l'agenda
mandats.organe_refcommissions.uidOrgane AN (PO…) ; commission_id en est la résolution
reunions.organe_refcommissions.organe_refConservé même quand la commission n'est pas résolue
scrutins.seance_refséance du compte renduSert au rattachement des débats
interventions.seance_uidcompte rendu AN (CRSANR5L17…)Avec ordre_absolu, situe la prise de parole dans la séance
interventions.amendements_visesamendements.numeroNuméros d'amendement nommés dans le paragraphe
interventions.texte_numero, scrutins.texte_numeronuméro de dépôt du texteinterventions.dossier_id en est la résolution
avis_commission.numeroamendements.numeroamendement_id en est la résolution, quand elle réussit
resultats_listes.liste_source_uidcandidatures_listes.source_uidVolontairement sans clé étrangère : les résultats ne dépendent pas de la vie des lignes de candidature (une liste retirée du fichier ne doit pas emporter ses voix)
candidats_mandats_locaux (scrutin, nom, prenom, date_naissance)candidatures (même identité)Clé d'identité du candidat, indépendante des lignes de candidature
Qualité des DonnéesSources Open Data
On this page
  • 🧭 Les domaines
  • 🗺️ Vue d'ensemble des relations
  • Parlementaires, mandats et groupes
  • Gouvernements et présidence de la République
  • Travail législatif : dossiers, scrutins, amendements, débats, sujets
  • Commissions, réunions et agenda
  • Lobbying (HATVP)
  • Élections sénatoriales : candidatures et résultats
  • Index de la base LEGI (DILA) et renvois des amendements
  • Tables techniques
  • 🔗 Liens logiques sans clé étrangère