Architecture technique

Architecture Pipeline & Méthodologie
Citizen Analyzer Pipeline
Citizen Analyzer

Documentation complète de chaque étape, des méthodes académiques mobilisées et de leurs adaptations.

① Explorez les tiroirs · ② Cliquez les nœuds de l'organigramme pour voir le détail complet

① Architecture complète — De la page web au fichier de résultats

Vue système complète : utilisateur → extension → backend → pipeline d'analyse → résultats. Cliquez sur un nœud pour afficher le tiroir correspondant ci-dessous.

COUCHE UTILISATEUR TRANSPORT / API PIPELINE D'ANALYSE COUCHE RÉSULTATS 🌐 NAVIGATEUR Chrome / Firefox page web ouverte 📜 CONTENT SCRIPT extension navigateur extraction texte brut 🖥 PANEL / UI interface utilisateur N1 · N2 · N3 · modes 🎛 MODE SÉLECTEUR Discours · Média · Programme auto-détection + override appel API sécurisé ⚙️ SERVEUR D'ANALYSE pipeline sécurisé · API REST détection · développement · fiabilité · enrichissement 🔍 EXTRACTION DOM · PDF.js · texte collé comptage · nettoyage · troncature 🧭 PASSE 1 — DÉTECTION LLM rapide · JSON strict · zéro prose verrou sémantique P1 🎯 Impacts N3 9 domaines · 43 IDs · 23 secteurs CAP · MARPOR · verrou distributional impact analysis 👥 Groupes affectés DIA · 32 types sociaux OCDE 2008 · gagnants / perdants ignorés · exposés 🎭 Rhétorique 28 mécanismes de persuasion Walton · Entman · verrous peur · bouc émissaire · dilemme 🧠 Leviers d'influence 12 leviers psycho & politiques Cialdini · Kahneman · Marcus identifiés et verrouillés 💼 Lobbies & conflits HATVP · Registre UE Freeman 1984 · entités nommées intérêts économiques documentés 🗂 global_key_facts résiduel factuel structurant 20 key_id · verrou sémantique passé intact à P2 et P3 📊 PASSE 2 — ANALYSE APPROFONDIE LLM avancé · 3 couches analytiques s'appuie sur verrous P1 · JSON Super 📈 Scores & Boussole Score /100 · V-Dem polyarchie 16 composants · seuil 5/10 RILE idéo. · 5 axes bipolaires 🔍 Tiroirs analytiques Rhéto · Angles morts · Groupes Lobbies · Conflits d'intérêts expansion narrative P2 📋 Secteurs & Domaines 43 sous-secteurs · CAP taxonomy source analytique unique complet · synthèse · signalé 🌡️ Thermomètre de régime politique Linz · Diamond · V-Dem · 45 grilles × 10 conditions démocratie · hybride · autoritaire tous modes (Discours · Média · Programme) 📋 MARPOR — Radiographie idéologique classification thématique · RILE CAP radar · programme seulement Manifesto Project taxonomy 🔎 PASSE 3 — ANALYSE DE FIABILITÉ LLM avancé · s'appuie sur P1 et P2 analyse Trust · 10 blocs · verdict par dimension 🎙️ 10 BLOCS — DISCOURS & PROGRAMME Ward 2004 · Schedler 1999 · Thurén 2005 Q1 — Auteur & poids réel Q2 — Thèse centrale exacte Q3 — Construction rhétorique Q4 — Impact émotionnel Q5 — Données vérifiables Q6 — Faisabilité / Coût Q7 — Droits & Libertés Q8 — Parallèle discours/données Q9 — Sources à consulter Q10 — Rôle des médias verdict par bloc : fiable · mitigé · non fiable 📰 10 BLOCS — MODE MÉDIA Hallin & Mancini · MPM UE · Weaver 2014 Q1 — Auteur & légitimité journalistique Q2 — Thèse & angle éditorial Q3 — Construction article Q4 — Pluralité des sources Q5 — Vérification affirmations Q6 — Contradictoire Q7 — Cadrage éditorial Q8 — Financement & intérêts Q9 — Angles morts Q10 — À vérifier avant de partager Boussole éditoriale · 5 axes bipolaires 📦 FICHIER DE RÉSULTATS format COQF · hiérarchie N1/N2/N3 export local · partage bibliothèque 🗄️ Base de données base sécurisée · schéma COQF 10 domaines · 114 entités 🌐 Site web CA citizen-analyzer.org bibliothèque · analyzer · indicateurs 💾 Export / Import local JSON local · archive citoyen réimport sans appel API
① Tiroirs méthodologiques
🔍
Extraction du texte source
Avant IA · extraction automatique

Aucun LLM n'intervient. L'extraction est entièrement déterministe. Le texte brut n'est jamais conservé dans le fichier de résultats.

🌐 Pages web — DOM scraping
Chrome · Firefox

Content script injecté dans l'onglet actif. Cible <article> <main> <p> <h1-h4>. Navigation, footer, publicités filtrés. Normalisation UTF-8.

📄 PDF — Lecture PDF + comptage
Extracteur PDF · Compteur de tokens

Lecture vectorielle page par page. Le compteur mesure la taille. Deux seuils déterministes :

  • > 32 000 tokens → troncature + avertissement visible
  • > 16 000 tokens → routage vers le modèle avancé au lieu du modèle rapide
⚠ Limite — OCR non implémenté
PDF scannés : avertissement affiché. OCR non intégré — Complexité technique. Prévu.
✏️ Texte collé manuellement
Input direct

Texte saisi ou collé. Même comptage de tokens. URL source optionnelle fournie comme métadonnée.

📚 Extracteur PDF📚 Compteur de tokens📚 Extension Chrome📚 Extension Firefox
🧭
Passe 1 — Détection structurelle
LLM rapide · JSON strict

P1 ne produit aucune prose — uniquement de la détection structurée. Tout élément doit être explicitement présent dans le texte source. Socle de P2 et P3.

🎯 Impacts N3 — 9 domaines · 43 sous-secteurs
CAP · MARPOR/CMP (WZB Berlin)

Taxonomie issue du CAP (Comparative Agendas Project) et du Manifesto Project (WZB Berlin). 43 IDs canoniques fixes. Aucun ID inventable.

🔒 Verrou anti-faux positifs — 4 règles
  • Hard triggers obligatoires : au moins 1 signal fort explicite. Ex : sovereignty_sec_migration requiert frontières, visas, expulsions, quotas — pas juste "submersion"
  • Cues faibles interdits seuls : termes vagues (invasion, crise) ne déclenchent jamais sans mécanisme explicite
  • Exclusions anti-glissement : chaque ID liste les cas qui ne lui appartiennent pas
  • Désambiguïsation 8 homonymes : migration, sécurité, justice, logement, surveillance, religion, emploi, police — 3-4 IDs possibles chacun selon l'angle
📊 Ordre déterministe — develop / light / identified
  • develop — top 3 détectés → approfondissement complet en P2
  • light — rangs 4 à 8 → analyse légère
  • identified — tous les autres → signalement synthétique obligatoire — 1 phrase

Aucun sous-secteur détecté omis. Aucun inventé. Aucun format mélangé.

⚠ Adaptation — CAP réduit 21→9 domaines
Le CAP original comporte 21 domaines. Réduit à 9 et 43 sous-secteurs pertinents pour un citoyen grand public.
📚 CAP (Comparative Agendas Project)📚 MARPOR / CMP (WZB Berlin)
👥 Groupes affectés — Distributional Impact Analysis
OCDE 2008 · Freeman 1984

DIA (OCDE, 2008) — 32 types, direction positive/negative/mixed/uncertain. Uniquement les groupes explicitement mentionnés. Max 10.

📋 Les 32 types de groupes
  • Socio-éco (16) : travailleurs précaires · chômeurs · classes populaires · classes moyennes · TPE/PME · indépendants · agriculteurs · fonctionnaires · milliardaires · grandes entreprises · multinationales · banques · investisseurs · propriétaires · locataires · artisans
  • Sociales (12) : parents isolés · familles nombreuses · jeunes · étudiants · retraités · personnes âgées · résidents EHPAD · personnes handicapées · migrants · minorités religieuses · minorités ethniques · femmes
  • Institutionnelles (4) : État · collectivités locales · système judiciaire · forces de l'ordre
⚠ Adaptation — Qualification sans quantification
La DIA académique quantifie les impacts. Nous ne produisons que la qualification directionnelle. Inventer des chiffres créerait une fausse précision.
📚 DIA (OCDE, 2008)📚 Freeman (1984)
🎭 Rhétorique — 28 mécanismes verrouillés
Walton 1995 · Entman 1993 · Fairclough 1995
⚖️ 12 logiques fallacieuses (Walton, 1995)
  • Homme de paille · Faux dilemme · Causalité fallacieuse · Cherry picking
  • Glissement sémantique · Fausse symétrie · Argument d'autorité non fondé · Généralisation abusive
  • Raisonnement circulaire · Pente glissante non démontrée · Analogie abusive · Inversion causale
🎬 16 manipulations discursives (Entman 1993 · McCombs 1972)
  • Cadrage orienté · Omission structurante · Flou stratégique · Contradiction interne
  • Chiffres non sourcés · Chiffres décontextualisés · Charge émotionnelle excessive · Simplification abusive
  • Confusion problème/solution · Dramatisation · Victimisation stratégique · Appel à la peur
  • Polarisation discursive · Construction du bouc émissaire · Réduction de l'adversaire · Inversion de charge
⚡ 6 marqueurs idéologiques à risque (Fairclough, 1995 — CDA)
  • Déshumanisation · Hiérarchisation des groupes · Naturalisation des inégalités
  • Nostalgie autoritaire · Réécriture historique instrumentale · Essentialisation identitaire
📚 Walton (1995)📚 Entman (1993)📚 McCombs & Shaw (1972)📚 Fairclough (1995) — CDA
🧠 Leviers d'influence — 12 leviers
Cialdini 1984 · Marcus 2000 · Huddy 2013
📋 Les 12 leviers détectables
  • peur · colère · sentiment_injustice · urgence · menace · protection
  • nostalgie · insécurité · indignation · fierté_identitaire
  • simplification_rassurante · polarisation_nous_eux

Détection textuelle uniquement — aucune analyse d'intention ni psychologie de l'auteur.

📚 Cialdini (1984)📚 Marcus (2000)📚 Huddy, Sears & Levy (2013)
💼 Lobbies & conflits d'intérêts
Freeman 1984 · HATVP · Registre UE · OCDE 2008
📋 5 champs de détection
  • entites_citees — organisations, entreprises, think tanks nommés pouvant avoir un intérêt organisé
  • secteurs_interets_detectes — énergie, finance, pharma, défense, agro, numérique, immobilier…
  • mesures_favorables_detectees — mesures + bénéficiaire probable + lien explicite (oui/non/null)
  • entites_absentes_notables — acteurs majeurs absents sans justification
  • transparence_lien — liens déclarés dans le texte ? (true / false / null)
⚠ Adaptation — Signaux textuels uniquement
La Stakeholder Analysis implique entretiens et cartographies d'acteurs. Nous limitons aux signaux présents dans le texte. Ces détections sont des signaux à investiguer, pas des certitudes.
📚 Freeman (1984)📚 HATVP📚 Registre de transparence UE📚 OCDE (2008)
🗂 global_key — Résiduel factuel structurant
20 key_id verrouillés

Éléments factuels structurants non exploités dans les blocs précédents. Intervient en dernier. Interdit de répéter ce qui est déjà dans un context ou dans summary_structurant.

📋 Les 20 key_id — liste verrouillée
  • content_type · status · cited_law · cited_article · cited_decree · cited_regulation
  • official_title · official_program_name · date_mentioned · period_mentioned
  • geography · named_institutions · named_persons · key_terms
  • numerical_thresholds · referenced_reports · procedural_stage
  • missing_information_explicit · political_party · author_role_explicit

Aucun autre key_id ne peut être inventé. Aucun renommage. Aucun ajout hors liste.

🔬
Passe 2 — Analyse approfondie
IA avancée · 3 couches analytiques

P2 travaille exclusivement sur données P1 (P1) — texte brut jamais ré-injecté. Hiérarchie : N3 source unique → N2 restitution dérivée → N1 tableau de bord.

📋 Secteurs — Source analytique unique
CAP · MARPOR · ordre déterministe

N3 démontre — ne résume pas, n'arbitre pas. Mécanismes causaux strictement depuis données P1. Vocabulaire accessible : un lecteur de 16 ans doit comprendre sans dictionnaire.

📊 3 formats — develop / light / identified
  • develop — top 3 → complet : mécanismes causaux, limites structurelles, aucun verdict
  • light — rangs 4-8 → mécanismes principaux, sans exhaustivité
  • identified — reste → 1 phrase + invitation à approfondir
🔤 Substitutions vocabulaire verrouillées dans le prompt
  • prérogatives régaliennes → "les pouvoirs réservés à l'État"
  • asymétrie informationnelle → "le fait que l'une des parties sait plus"
  • externalités négatives → "les effets secondaires que personne ne paie"
  • subsidiarité → "le principe qui dit que les décisions se prennent au plus près du terrain"
  • RILE / codage MARPORinterdit dans les outputs — logique appliquée, terminologie masquée
🎛 Spécialisations par mode
  • Programme : distingue propose / promet / omet · cohérence budgétaire · faisabilité · MARPOR
  • Média : baromètre 6 indicateurs journalistiques · fiabilité auteur/média · boussole éditoriale (P3)
  • Discours : prompt citizen_v1.txt standard · régime produit dans tous les modes
📚 CAP📚 MARPOR/CMP📚 Entman (1993)
🔍 Tiroirs — Analyses détaillées N2
Dérivé de N3 · Fairclough · DIA OCDE
📋 Tiroirs communs — tous modes
  • Résumé analytique long · Rhétorique développée · Groupes affectés
  • Influence lecteur · Lobbies & conflits · Angles morts · 9 domaines CAP actifs
🎛 Tiroirs spécifiques par mode
  • Programme : cohérence budgétaire · faisabilité juridique · cohérence temporelle · MARPOR radiographie (terminologie masquée)
  • Média : baromètre 6 indicateurs · fiabilité auteur/média · groupes représentés vs absents
🌡️ Régime politique — Thermomètre
Linz 1975 · Diamond 1999 · V-Dem · tous modes

Linz (1975) — totalitaire / autoritaire / démocratique selon 4 critères. Diamond (1999) — démocratie électorale vs libérale vs régime hybride. Le LLM produit un top3 de régimes avec scores de probabilité et contexte historique.

⚠ Adaptation — Classification discursive, pas institutionnelle
V-Dem classe des régimes sur plusieurs années. Nous classons des discours selon leurs tendances rhétoriques. Cette distinction est explicitée dans l’interface.
📚 Linz (1975)📚 Diamond (1999)📚 V-Dem (Gothenburg)
📋 MARPOR / CAP — Radiographie idéologique
Manifesto Project · WZB Berlin · mode programme uniquement

Manifesto Project / CMP (WZB Berlin), financé par la Commission européenne. 56 catégories, 7 domaines. Score RILE (axe gauche-droite). Radar CAP 21 domaines pour les angles morts programmatiques.

⚠ Adaptation — LLM comme codeur unique, sans inter-codeur
Le Manifesto Project utilise des codeurs humains avec Krippendorff's alpha. Nous substituons par le LLM — un seul codeur. Terminologie masquée dans les outputs. Résultats indicatifs.
📚 MARPOR/CMP (WZB Berlin)📚 Budge et al. (2001)📚 RILE index
📊 Scores — Score standardisé & tableau de bord
V-Dem (tous modes) · MARPOR (programme) · calcul backend
📐 Fondements académiques — V-Dem · MARPOR selon mode

V-Dem (Université de Gothenburg) — utilisé par CE, OCDE, ONU. Dimensions : séparation des pouvoirs, pluralisme, droits fondamentaux, transparence. Socle commun aux 3 modes.

  • Programme → V-Dem + MARPOR/CMP
  • Discours → V-Dem + grille rhétorique (Walton, Entman)
  • Média → V-Dem + indicateurs journalistiques (Hallin & Mancini, MPM UE)
🔢 3 familles · 16 composants bruts · LLM évalue · backend agrège
  • blk_scoring_raw_n1 (7) : intensity · portée · factuel · logique · transparence · impact_global (−100→+100) · derive_autoritaire (true/false)
  • blk_author_credibility_raw_n1 (5) : role_public · affaires_judiciaires · historique_fakenews · conflits_interets · coherence
  • blk_demo_thermometer_raw_n1 (4 — V-Dem) : separation_pouvoirs · pluralisme · droits_fondamentaux · transparence_pouvoir — neutre à 50
📚 V-Dem (Gothenburg)📚 MARPOR/CMP📚 Hallin & Mancini (2004)📚 MPM UE (2023)
🔎
Passe 3 — Analyse de fiabilité
IA avancée · 10 blocs · 61 sous-questions

Travaille sur données P2 (P2) et données P1 (P1). Règle : si P1 détecte manipulation → P3 doit approfondir, pas minimiser.

🎙️ 10 blocs — Discours & Programme
Ward 2004 · Schedler 1999 · Thurén 2005

Chaque bloc : answer (3-5 phrases) · sub_questions (4-7 développées) · what_we_know · what_we_dont_know · check_next (sources nommées) · reliability : fiable / mitigé / non_fiable.

Q1 — Qui parle et avec quel poids réel ? (7 sous-questions)
  • Nom, parcours, formation, trajectoire politique
  • Parti, positionnement sur l'échiquier, alliances
  • Rôle exact, mandats, pouvoir décisionnel réel
  • Poids électoral, audience, pouvoir législatif
  • Positions passées similaires ou contradictoires — avec dates
  • Votes spécifiques au Parlement sur ce sujet
  • Affaires judiciaires, conflits d'intérêts documentés — OBLIGATION de mentionner
Q2 à Q10 — Thèse · Construction · Émotions · Données · Faisabilité · Droits · Parallèle · Sources · Médias
  • Q2 Thèse : angle · slogan ou mesure · groupes désignés · angles morts (6 sq)
  • Q3 Construction : faits sourcés vs affirmations · sophismes nommés · ratio argument/émotion (7 sq)
  • Q4 Émotions : peur/colère/urgence — fondés sur faits ou construits ? (5 sq)
  • Q5 Données : chaque chiffre évalué · sources nommées (INSEE, Eurostat) · confirmation ou contradiction (5 sq)
  • Q6 Faisabilité : coût · contraintes EU/Constitution · précédents comparatifs · effets secondaires (7 sq)
  • Q7 Droits : libertés limitées · discrimination indirecte · contre-pouvoirs absents ? (5 sq)
  • Q8 Parallèle : alarme vs données · solutions proportionnées ? (5 sq)
  • Q9 Sources : primaires nommées · experts indépendants · cas comparatifs (5 sq)
  • Q10 Médias : couverture · amplification · propriétaire/financement · sujets éclipsés (9 sq)
⚠ Adaptation — Grille condensée vs fact-checking professionnel
Les organismes pro mobilisent recherches primaires sur plusieurs jours. Notre grille structure les questions en secondes et indique ce qu'il faut vérifier en externe. Elle ne remplace pas le fact-checking.
📚 Ward (2004)📚 Schedler (1999)📚 Thurén (2005)
📰 10 blocs — Mode Média
Hallin & Mancini 2004 · Weaver 2014 · MPM UE 2023
Q1 à Q10 Média — Auteur → À vérifier
  • Q1 Auteur & légitimité : spécialité · expertise · média · propriétaire/actionnariat — OBLIGATION si documenté (7 sq)
  • Q2 Thèse : angle éditorial · fait anecdotique ou représentatif · titre vs contenu (6 sq)
  • Q3 Construction : faits sourcés · causalités établies · choix experts oriente ? (7 sq)
  • Q4 Sources : combien, de quel type · convergence ou diversité · anonymat justifié ? (6 sq)
  • Q5 Vérification : chaque claim · chiffres sourcés · données officielles confirment ? (5 sq)
  • Q6 Contradictoire : parties ont pu s'exprimer · réfutations mentionnées · espace équitable ? (5 sq)
  • Q7 Cadrage : angle choisi parmi d'autres · lexique valorisant/dévalorisant · contexte historique absent ? (6 sq)
  • Q8 Financement : propriétaire identifiable · intérêts liés au sujet · déclaré ou implicite ? (6 sq)
  • Q9 Angles morts : dimensions absentes · acteurs non interrogés · biais structurel ou erreur isolée ? (5 sq)
  • Q10 À vérifier : AFP Fact-check · CheckNews · Les Décodeurs · FullFact — sources primaires nommées (6 sq)
📚 Hallin & Mancini (2004)📚 Weaver (2014)📚 MPM UE (2023)
🧭 Boussole éditoriale — 5 axes bipolaires
Hallin & Mancini 2004 · MPM UE · mode média uniquement

Positionne l'article sur 5 axes bipolaires (−2 à +2). Principe : situer sans juger.

📏 Les 5 axes — score · label · justification
  • Critique ↔ Pro-institution : −2 très critique · +2 très favorable aux institutions
  • Émotionnel ↔ Factuel : −2 registre émotionnel dominant · +2 registre factuel dominant
  • Monolithique ↔ Pluraliste : −2 voix unique · +2 pluralité sources et points de vue
  • Engagé ↔ Neutre : −2 prise de position explicite · +2 neutralité revendiquée
  • Opaque ↔ Transparent : −2 sources cachées · +2 transparence éditoriale totale
⚠ Adaptation — MPM réduit à 5 axes sur 20 indicateurs
Le MPM UE comporte 20 indicateurs sur 4 domaines. Réduit à 5 axes bipolaires directement lisibles sans formation préalable.
📚 Hallin & Mancini (2004)📚 MPM UE (2023)
📦
Fichier de résultats — Format canonique
Format ouvert · 15–40 KB · 4 usages

Un seul format pour tout : export, import, partage observatoire, site web. Zéro conversion, zéro recalcul. Texte brut jamais inclus.

🏗️ Structure complète
JSON RFC 8259 · format ouvert
📋 Toutes les clés racines
  • identifiant outil · version · mode d'analyse (discours / programme / média)
  • _analysis_date — horodatage ISO 8601 côté serveur (jamais côté client)
  • _source_url — URL de la page analysée si disponible (absent pour PDF local et texte collé)
  • données P1 — sortie P1 complète
  • résultats — scores · tiroirs · secteurs — sortie P2
  • trust — 10 blocs P3 + boussole_editoriale (mode média)
  • regime — top3 + scores · marpor_n3 (mode programme uniquement)
⚠ Ce qui n'est PAS dans le JSON
Texte source brut (jamais stocké) · IP utilisateur (hashée SHA-256+sel, non incluse) · données identifiantes. Le JSON est entièrement anonyme et partageable.
⏳ Temporalité & pertinence — malus fiabilité
Règle opérationnelle interne · IFCN · cycles MARPOR/V-Dem
📅 Les 4 paliers
  • ✅ < 3 mois — dans le cycle d'actualité immédiate, analyse considérée fiable telle quelle
  • 🟡 3–6 mois — avertissement affiché : position ou contexte peut avoir évolué, vérification recommandée
  • 🟠 6 mois–1 an — avertissement fort : cycle électoral ou législatif peut avoir changé la donne, relance suggérée
  • 🔴 > 1 an — malus appliqué au score de pertinence actuelle · proposition de relancer l'analyse automatiquement affichée
⚠ Ce que le malus touche — et ce qu'il ne touche pas

Le malus ne porte pas sur la validité de l'analyse elle-même — la rhétorique détectée était réelle au moment du document. Il porte sur la pertinence actuelle : ce discours représente-t-il encore la position de l'auteur ?

Mention systématique dans l'UI : "L'analyse est valide pour ce document à la date indiquée. Sa pertinence actuelle peut avoir évolué."

📚 Base de justification

Il n'existe pas de méthode académique standardisée pour la dégradation temporelle d'une analyse de discours politique. Cette règle est une règle opérationnelle interne, justifiée par :

  • Pratiques IFCN — les fact-checkers re-vérifient à chaque événement majeur lié ; durée de vie implicite liée au cycle électoral/législatif
  • Cycles MARPOR/V-Dem — révisions annuelles ; implication : un positionnement politique se recalcule au moins tous les ans
  • Information decay (Sanderson & Croft, 1999) — dégradation de pertinence des documents web, ici transposée au contenu politique
⚠ Honnêteté académique
Cette règle n'est pas une méthode académique établie. Elle est documentée comme règle opérationnelle assumée dans les limites de l'outil.
🔗 Cache URL — lien avec _source_url

Quand _source_url est présente, l'extension effectue un appel /check?url=... avant de lancer le pipeline. Si un JSON existe déjà pour cette URL en bibliothèque → renvoyé instantanément, palier temporel affiché selon _analysis_date. L'utilisateur peut forcer une nouvelle analyse.

  • URL connue + en bibliothèque → instantané, zéro LLM
  • URL connue + absente → pipeline 6–12 min, JSON indexé ensuite
  • Pas d'URL (PDF local, texte collé) → pipeline 6–12 min, résultat redirigé vers analysis.html?file=ID sur le site
② Organigramme — Du texte au fichier de résultats

Cliquez sur un nœud coloré pour afficher le tiroir complet correspondant ci-dessous.

TEXTE SOURCE web · PDF · collé 🔍 EXTRACTION extraction texte · PDF · comptage > 32 000 tokens ? oui ⚠ Troncature avertissement · partiel non ✓ Texte complet prêt pour analyse PDF >16K tokens ? modèle avancé mini → modèle avancé contexte étendu → modèle rapide standard MODE DÉTECTÉ ? discours programme média 🎙 Discours citizen_detect_v1.txt 📋 Programme detect_programme_v1.txt 📰 Média detect_media_v1.txt 🧭 PASSE 1 — DÉTECTION LLM rapide · JSON strict 🎯 Impacts N3 9 domaines · 43 IDs CAP · MARPOR · verrou 👥 Groupes DIA · 32 types OCDE 2008 🎭 Rhétorique 28 mécanismes Walton · Entman 🧠 Leviers 12 leviers Cialdini · Marcus 💼 Lobbies HATVP · Registre UE Freeman 84 🗂 global_key résiduel factuel 20 key_id 🔬 PASSE 2 — ANALYSE LLM avancé · 3 couches analytiques 📊 Scores Score /100 · V-Dem 16 composants LLM évalue · backend agrège 🔍 Tiroirs Tiroirs analytiques Rhéto · Groupes Lobbies · Angles morts 📋 Secteurs Source analytique unique complet · synthèse · signalé 43 sous-secteurs · CAP 🌡️ Régime Thermomètre politique Linz · Diamond · V-Dem tous modes 📋 MARPOR Radiographie idéo. RILE · CAP radar programme seulement programme 🔎 PASSE 3 — FIABILITÉ LLM avancé · s'appuie sur P2 et P1 MODE DISCOURS ? discours / programme média 🎙️ 10 blocs — Discours & Programme Ward 2004 · Schedler 1999 · Thurén 2005 Q1 Auteur & poids réel Q2 Thèse exacte Q3 Construction rhétorique Q4 Impact émotionnel Q5 Données vérifiables Q6 Faisabilité / Coût Q7 Droits & Libertés Q8 Parallèle discours/données Q9 Sources à consulter Q10 Rôle des médias 📰 10 blocs — Média Hallin & Mancini · MPM UE · Weaver 2014 Q1 Auteur & légitimité journalistique Q2 Thèse & angle éditorial Q3 Construction article Q4 Pluralité des sources Q5 Vérification affirmations Q6 Contradictoire Q7 Cadrage éditorial Q8 Financement & intérêts Q9 Angles morts Q10 À vérifier avant de partager 🧭 Boussole éditoriale 5 axes bipolaires · −2 → +2 Hallin & Mancini · MPM UE 📦 Fichier de résultats fichier de résultats · 15–40 KB export · import · partage · site web ⬇ Export local ↩ Import outil 🌐 Site web 📤 Observatoire
🔍
Extraction du texte source
Avant LLM · déterministe · 3 types d'entrée
Aucun LLM n'intervient à cette étape. L'extraction est entièrement déterministe. Le texte brut n'est jamais conservé dans le fichier de résultats.
🌐 Pages web — DOM scraping
Module d'extraction injecté dans l'onglet actif. Cible les balises sémantiques <article> <main> <p> <h1–h4>. Navigation, footer, scripts et publicités filtrés systématiquement. Normalisation UTF-8 avant envoi.
📄 PDF — Lecture PDF + comptage
Lecture vectorielle page par page via Extracteur PDF. Comptage tokens via Compteur de tokens avant tout envoi au LLM.

Deux seuils déterministes appliqués :
> 32 000 tokens : troncature forcée + avertissement affiché
> 16 000 tokens : routage automatique vers le modèle avancé au lieu du modèle rapide
⚠ OCR non implémenté — PDF entièrement scannés (images) : avertissement affiché, analyse impossible. Complexité technique. Documenté, prévu en version future.
✏️ Texte collé manuellement
Saisie ou collé direct dans l’interface. Même comptage de tokens appliqué. URL source optionnelle fournie comme métadonnée uniquement — non analysée.
📚 Extracteur PDF📚 Compteur de tokens📚 Extension Chrome📚 Extension Firefox
🧭
Passe 1 — Détection structurelle
LLM rapide · JSON strict
P1 ne produit aucune prose. Uniquement de la détection structurée. Tout élément détecté doit être explicitement présent dans le texte source — rien inventé, rien inféré. Ce JSON est le socle unique de P2 et P3.
🎯 Impacts N3 — 9 domaines · 43 sous-secteurs
Taxonomie issue du CAP (Comparative Agendas Project) et du Manifesto Project / CMP (WZB Berlin). 43 IDs canoniques fixes — aucun ID inventable.

Verrou anti-faux positifs (4 règles) :
1. Hard triggers obligatoires : au moins 1 signal fort explicite requis
2. Cues faibles interdits seuls : un terme vague seul ne déclenche jamais rien
3. Exclusions anti-glissement : chaque ID liste les cas qui ne lui appartiennent pas
4. Désambiguïsation 8 homonymes : migration, sécurité, justice, logement, surveillance, religion, emploi, police — 3-4 IDs possibles chacun selon l'angle

Ordre déterministe : develop top 3 → light rangs 4-8 → identified reste (1 phrase obligatoire)
⚠ CAP réduit 21 → 9 domaines. Domaines hors scope citoyen écartés (défense nucléaire, commerce international…).
👥 Groupes affectés — 32 types
DIA (OCDE, 2008) + Stakeholder Analysis (Freeman, 1984). Direction obligatoire : positive / negative / mixed / uncertain. Max 10 groupes. Uniquement les groupes explicitement mentionnés dans le texte.

16 socio-éco : travailleurs précaires, chômeurs, classes populaires, classes moyennes, TPE/PME, indépendants, agriculteurs, fonctionnaires, milliardaires, grandes entreprises, multinationales, banques, investisseurs, propriétaires, locataires, artisans
12 catégories sociales : parents isolés, familles nombreuses, jeunes, étudiants, retraités, personnes âgées, résidents EHPAD, personnes handicapées, migrants, minorités religieuses, minorités ethniques, femmes
4 institutionnelles : État, collectivités, système judiciaire, forces de l'ordre
⚠ Qualification directionnelle uniquement — pas de quantification (ampleur, durée, probabilité chiffrée).
🎭 Rhétorique — 28 mécanismes verrouillés
12 logiques fallacieuses (Walton, 1995) : homme de paille · faux dilemme · causalité fallacieuse · cherry picking · glissement sémantique · fausse symétrie · argument d'autorité non fondé · généralisation abusive · raisonnement circulaire · pente glissante non démontrée · analogie abusive · inversion causale

16 manipulations discursives (Entman 1993, McCombs & Shaw 1972) : cadrage orienté · omission structurante · flou stratégique · contradiction interne · chiffres non sourcés · chiffres décontextualisés · charge émotionnelle excessive · simplification abusive · confusion problème/solution · dramatisation · victimisation stratégique · appel à la peur · polarisation discursive · construction du bouc émissaire · réduction de l'adversaire · inversion de charge

6 marqueurs idéologiques à risque (Fairclough, 1995 — CDA) : déshumanisation · hiérarchisation des groupes · naturalisation des inégalités · nostalgie autoritaire · réécriture historique instrumentale · essentialisation identitaire
🧠 Leviers d'influence — 12 leviers
Cialdini (1984) · Marcus (2000) · Huddy, Sears & Levy (2013). Détection textuelle uniquement — aucune analyse d'intention ni psychologie de l'auteur.

peur · colère · sentiment_injustice · urgence · menace · protection · nostalgie · insécurité · indignation · fierté_identitaire · simplification_rassurante · polarisation_nous_eux
💼 Lobbies & conflits d'intérêts
Freeman (1984) · HATVP · Registre de transparence UE · OCDE (2008)

5 champs détectés :
entites_citees — organisations, entreprises, think tanks nommés
secteurs_interets_detectes — énergie, finance, pharma, défense, agro, numérique…
mesures_favorables_detectees — mesure + bénéficiaire probable + lien explicite
entites_absentes_notables — acteurs majeurs absents sans justification
transparence_lien — true / false / null
⚠ Signaux textuels uniquement — pas d'entretiens ni de cartographie d'acteurs. Résultats à investiguer, non conclusifs.
🗂 global_key — 20 key_id verrouillés
Résiduel factuel structurant non exploité dans les blocs précédents. Intervient en dernier dans le prompt. Interdit de répéter ce qui figure déjà dans un context ou summary_structurant.

Liste verrouillée : content_type · status · cited_law · cited_article · cited_decree · cited_regulation · official_title · official_program_name · date_mentioned · period_mentioned · geography · named_institutions · named_persons · key_terms · numerical_thresholds · referenced_reports · procedural_stage · missing_information_explicit · political_party · author_role_explicit

Aucun autre key_id ne peut être inventé. Aucun renommage.
🔬
Passe 2 — Analyse approfondie
IA avancée · s'appuie sur les données P1 · texte brut jamais ré-injecté
Hiérarchie stricte : N3 source analytique unique → N2 restitution dérivée → N1 tableau de bord citoyen. Tout élément N1/N2 doit être rattachable à un N3. Aucune extrapolation inter-niveaux.
📋 Secteurs — Source analytique unique
N3 démontre — ne résume pas, n'arbitre pas politiquement, n'exprime aucun verdict. Explicite les mécanismes causaux strictement depuis données P1.

3 formats déterministes :
develop — top 3 : développement approfondi, mécanismes causaux explicités, limites structurelles intégrées, aucun résumé
light — rangs 4-8 : mécanismes principaux, sans exhaustivité
identified — reste : 1 phrase de signalement + invitation à approfondir

Règle vocabulaire : 25 mots max par phrase. Lecteur de 16 ans sans dictionnaire. Substitutions verrouillées dans le prompt : "prérogatives régaliennes" → "les pouvoirs réservés à l'État" · "asymétrie informationnelle" → "le fait qu'une partie sait plus" · "externalités négatives" → "les effets secondaires que personne ne paie". RILE et codage MARPOR interdits dans les outputs.
Spécialisation programme : distingue propose / promet / omet + cohérence budgétaire + faisabilité + MARPOR. Spécialisation média : baromètre 6 indicateurs + boussole (P3).
🔍 Tiroirs — Analyses détaillées N2
Dérivé de N3 exclusivement (Fairclough 1995, DIA OCDE).

Tiroirs communs tous modes : résumé analytique long · rhétorique développée · groupes affectés · influence lecteur · lobbies & conflits d'intérêts · angles morts · 9 domaines CAP actifs (1 tiroir par domaine)

Mode programme : + cohérence budgétaire · faisabilité juridique et technique · cohérence temporelle · MARPOR radiographie (terminologie masquée dans l'output)

Mode média : + baromètre 6 indicateurs de fiabilité · auteur/média · groupes représentés vs absents
📊 Scores — Score standardisé /100
Rendu 100% mécanique par le backend — zéro appel LLM supplémentaire. Le Le LLM évalue les composants en appliquant une grille normative documentée au texte et à sa connaissance encyclopédique des entités. Le backend agrège selon des formules pondérées transparentes. Le score est une évaluation argumentée et traçable — pas une mesure externe indépendante.

blk_scoring_raw_n1 (7) : intensity · portée · factuel · logique · transparence · impact_global (−100 → +100) · derive_autoritaire (true/false)
blk_author_credibility_raw_n1 (5) : role_public · affaires_judiciaires · historique_fakenews · conflits_interets · coherence
blk_demo_thermometer_raw_n1 (4 — V-Dem) : separation_pouvoirs · pluralisme · droits_fondamentaux · transparence_pouvoir — point neutre à 50

Score ancré sur 2 références académiques : V-Dem (Université de Gothenburg, utilisé par CE, OCDE, ONU) pour tous les modes · MARPOR/CMP (WZB Berlin) pour le mode programme uniquement.
🌡️ Régime politique — Thermomètre
Actif dans les 3 modes.

Linz (1975) — classe selon 4 critères : totalitaire / autoritaire / démocratique.
Diamond (1999) — démocratie électorale vs libérale vs régime hybride.
V-Dem (Gothenburg) — 5 dimensions : séparation des pouvoirs, pluralisme, droits fondamentaux, transparence, participation.

Le LLM produit un top 3 de régimes avec scores de probabilité (0-100) et un contexte historique comparatif.
⚠ Classification discursive, pas institutionnelle. V-Dem et Freedom House classent des régimes sur plusieurs années. Citizen Analyzer classe des discours selon leurs tendances rhétoriques détectées — distinction explicitée dans l’interface.
📋 MARPOR / CAP — Radiographie idéologique
Mode programme uniquement.

Manifesto Project / CMP (WZB Berlin), financé par la Commission européenne. 56 catégories sur 7 domaines. Score RILE (Right-Left Index) pour positionner sur l'axe gauche-droite. Radar CAP 21 domaines pour visualiser la couverture sectorielle et les angles morts programmatiques.

Terminologie technique (RILE, codes CMP) masquée dans les outputs — logique appliquée, jargon interdit.
⚠ LLM comme codeur unique sans fiabilité inter-codeurs. Le Manifesto Project utilise des codeurs humains entraînés avec mesure Krippendorff's alpha. Résultats indicatifs, non comparables aux données officielles CMP.
📚 V-Dem (Gothenburg)📚 MARPOR/CMP (WZB Berlin)📚 Linz (1975)📚 Diamond (1999)📚 Hallin & Mancini (2004)📚 MPM UE (2023)
🔎
Passe 3 — Analyse de fiabilité
IA avancée · données P2 + données P1 · synthèse de fiabilité
Travaille sur le données P2 (condensé P2) et données P1 (P1). Le texte brut n'est jamais ré-injecté. Règle absolue : si P1 détecte manipulation → P3 doit l'approfondir, jamais minimiser. Chaque bloc produit : answer · sub_questions · what_we_know · what_we_dont_know · check_next (sources nommées) · reliability : fiable / mitigé / non_fiable.
🎙️ 10 blocs — Discours & Programme
Ward (2004) · Schedler (1999) · Thurén (2005)

Q1 Qui parle avec quel poids réel ? (7 sq) — nom, parcours, rôle exact, votes spécifiques au Parlement, positions passées contradictoires, affaires judiciaires et conflits d'intérêts documentés — obligation de mentionner
Q2 Que dit exactement ce discours ? (6 sq) — thèse principale, mesures réelles ou slogans, groupes désignés, angles morts
Q3 Construction rhétorique (7 sq) — faits sourcés vs affirmations générales, sophismes nommés et cités, ratio argument/émotion
Q4 Impact émotionnel (5 sq) — peur / colère / urgence : fondés sur faits ou construits de toutes pièces ?
Q5 Données vérifiables (5 sq) — chaque chiffre évalué individuellement, sources nommées (INSEE, Eurostat…)
Q6 Faisabilité (7 sq) — coût estimé, contraintes constitutionnelles et européennes, précédents comparatifs, effets secondaires
Q7 Droits & Libertés (5 sq) — libertés limitées ou supprimées, discrimination indirecte, contre-pouvoirs affaiblis
Q8 Parallèle discours / données (5 sq) — l'alarme est-elle proportionnée aux données disponibles ?
Q9 Sources à consulter (5 sq) — primaires nommées, experts indépendants, cas comparatifs
Q10 Rôle des médias (9 sq) — couverture, amplification, propriétaire et financement, sujets éclipsés par ce discours
⚠ Grille condensée — structure les questions à poser et indique ce qu'il faut vérifier en externe (check_next avec sources nommées : votewatch.eu, HATVP, INSEE, Eurostat…). Ne remplace pas le fact-checking professionnel (AFP Factuel, CheckNews, Les Décodeurs).
📰 10 blocs — Mode Média
Hallin & Mancini (2004) · Weaver (2014) · MPM UE (2023)

Q1 Auteur & légitimité journalistique (7 sq) — spécialité, ancienneté, expertise reconnue sur le sujet, appartenance média, propriétaire et actionnariat — obligation si documenté
Q2 Thèse & angle éditorial (6 sq) — fait anecdotique ou tendance de fond, titre vs contenu réel
Q3 Construction article (7 sq) — causalités établies ou suggérées, choix des experts orienté ?
Q4 Pluralité des sources (6 sq) — combien, de quel type, convergence ou diversité, anonymat justifié ?
Q5 Vérification affirmations (5 sq) — chaque claim évalué, données officielles confirment ou contredisent ?
Q6 Contradictoire (5 sq) — parties concernées ont pu s'exprimer, espace équitable accordé ?
Q7 Cadrage éditorial (6 sq) — angle choisi parmi d'autres possibles, lexique valorisant/dévalorisant, contexte historique absent ?
Q8 Financement & intérêts (6 sq) — propriétaire identifiable, intérêts liés au sujet traité, dépendance publicitaire, déclaré ou implicite ?
Q9 Angles morts (5 sq) — dimensions absentes, acteurs non interrogés, biais structurel ou erreur isolée ?
Q10 À vérifier avant de partager (6 sq) — sources primaires nommées, AFP Fact-check, CheckNews, Les Décodeurs, FullFact
🧭 Boussole éditoriale — 5 axes bipolaires (−2 → +2)
Hallin & Mancini (2004) · MPM UE (2023) — mode média uniquement

Critique ↔ Pro-institution : −2 très critique des pouvoirs · +2 très favorable aux institutions
Émotionnel ↔ Factuel : −2 registre émotionnel dominant · +2 registre factuel dominant
Monolithique ↔ Pluraliste : −2 angle et voix uniques · +2 pluralité sources et points de vue
Engagé ↔ Neutre : −2 prise de position explicite · +2 neutralité revendiquée
Opaque ↔ Transparent : −2 sources cachées, conflits non déclarés · +2 sources citées, transparence totale

Principe fondamental : situer sans juger. Un article engagé peut être de très grande qualité journalistique.
⚠ MPM UE original : 20 indicateurs sur 4 domaines. Réduit à 5 axes bipolaires directement lisibles sans formation préalable. Simplification volontaire et documentée.
📚 Ward (2004)📚 Schedler (1999)📚 Thurén (2005)📚 Hallin & Mancini (2004)📚 MPM UE (2023)📚 Weaver (2014)📚 IFCN
📦
Fichier de résultats — Format canonique
15–40 KB · format ouvert · 4 usages · texte brut jamais inclus
Un seul format pour tout : export local, import restauration, partage observatoire, affichage site web. Zéro conversion, zéro recalcul. Le texte source brut n'est jamais stocké ni inclus.
🏗️ Structure complète — clés racines
_citizen_analyzer: true — marqueur de format
_version — version du schéma
mode d'analyse — discours / programme / média

données P1 — sortie P1 complète (impacts · groupes · rhétorique · leviers · lobbies · global_key)

scores — score /100 · résumé citoyen · 9 domaines
tiroirs — analyses détaillées dérivées de N3
secteurs — analyse démonstrative par sous-secteur (complet · synthèse · signalé)

fiabilité — 10 blocs P3 avec sous-questions · ce qu'on sait · ce qu'on ne sait pas · sources · niveau de fiabilité
boussole_editoriale — 5 axes −2/+2 (mode média uniquement)
regime — top3 régimes + scores de probabilité + contexte historique
marpor_n3 — radiographie idéologique RILE + radar CAP (mode programme uniquement)
4 usages du même fichier — zéro conversion
⬇ Export local — sauvegarde hors-ligne, archivage personnel ou institutionnel

↩ Import outil — restauration complète de l'analyse dans l'extension, aucun recalcul LLM

🌐 Site web — lecture du fichier de résultats, routage automatique selon le mode d'analyse

📤 Observatoire — partage vers la base communautaire, format identique, agrégation pour l'observatoire
⚠ Ce qui n'est PAS dans le JSON : texte source brut (jamais stocké) · IP utilisateur (hashée SHA-256+sel, non incluse) · aucune donnée identifiante. Le JSON est entièrement anonyme et partageable tel quel.
③ Logique du site web — Tiroirs

Du fichier de résultats à chaque élément affiché — architecture de rendu, navigation et boucle citoyenne.

⚙️
Moteur d'affichage — rendu citoyen
JSON → renderer · zéro LLM · zéro recalcul

Fonction pure de rendu. Détecte le mode d'analyse et affiche le bon rendu. Aucun appel réseau, aucun calcul.

Logique de routage — 3 chemins
3 modes · rendu automatique
  • discourse → renderer discours · tabs N1 / N2 / N3 / Trust
  • programme → renderer programme · + tab MARPOR (radar idéologique)
  • media → renderer média · + tab Boussole (5 axes)
Slots remplis côté client

Toutes les valeurs viennent du fichier de résultats en mémoire. Rendu pur — jamais de requête réseau, jamais de LLM supplémentaire. Les clés racines lues : scores → hero · tiroirs → accordéons · secteurs → détail N3 · fiabilité → 10 blocs · régime → thermomètre · marpor → radar (programme).

🎬
Hero — Bannière principale
première chose vue · résumé 30 sec · 5 éléments

Le hero donne la lecture complète en 30 secondes sans ouvrir aucun onglet. Tout vient des scores calculés en Passe 2.

🏷 Badge mode — couleur unique par mode
mode détecté automatiquement
  • 🎙 Discours → violet #a78bfa
  • 📋 Programme → bleu #3b82f6
  • 📰 Média → vert #22c55e

Présent sur toutes les pages : hero, entity.html, cards observatoire.

📊 Score bar /100 — seuils visuels
V-Dem · MARPOR · backend calcule
  • < 40 → rouge · alerte forte
  • 40–70 → orange · vigilance
  • > 70 → vert · fiable

Mini-barres détaillées par famille (scoring · crédibilité · V-Dem). Tooltip au survol.

📝 Résumé citoyen N1 — vocabulaire contrôlé
scores.résumé_structurant

25 mots max/phrase. Lecteur 16 ans. Substitutions verrouillées : "prérogatives régaliennes" → "pouvoirs réservés à l'État" · "asymétrie informationnelle" → "une partie sait plus que l'autre". RILE et codes MARPOR jamais visibles dans l'output.

🌡️ Thermomètre régime + ⚠️ Alerte dérive
Linz · Diamond · V-Dem · derive_autoritaire

Régime top1 affiché avec probabilité. Survol → top3 complet avec contexte historique. Si blk_scoring_raw_n1.derive_autoritaire = true → bandeau rouge avec explication citoyenne + lien vers thermomètre. Note systématique : "ceci classe un discours, pas un régime institutionnel."

📑
Tabs — Navigation N1 / N2 / N3 / Trust
onglets actifs selon mode · smooth scroll · deeplink

Navigation principale. Les tabs disponibles changent selon le mode.

🟢 Tab N1 — Vue citoyen
Scores
  • Score /100 + barres détaillées 3 familles
  • Résumé structurant 3–5 phrases
  • 9 domaines en pills cliquables (vert develop · bleu light · gris identified)
  • Top 3 impacts en fiches résumées
  • Thermomètre régime + alerte dérive
🔵 Tab N2 — Analyse complète
Tiroirs · Fairclough · DIA OCDE

Accordéons communs (tous modes) : résumé analytique long · rhétorique développée (28 mécanismes) · groupes affectés · influence lecteur · lobbies & conflits · angles morts · 9 domaines CAP (1 accordéon/domaine).

Mode programme : + cohérence budgétaire · faisabilité juridique · MARPOR (terminologie masquée).

Mode média : + baromètre 6 indicateurs · fiabilité auteur/média.

Fermeture auto des frères au clic. Mémorisation état en session. Deeplink via URL hash.

🟣 Tab N3 — Source analytique
Secteurs · complet · synthèse · signalé
  • develop — 3 fiches complètes : mécanismes causaux, limites structurelles, aucun verdict
  • light — 5 fiches condensées : mécanismes principaux
  • identified — liste de signalements + bouton "approfondir ce sujet"

N3 est la source de vérité — N2 et N1 en dérivent intégralement.

🟡 Tab Trust — Fiabilité
trust · Q1-Q10 · reliability chip

10 blocs P3. Chaque bloc affiche : réponse · sous-questions · ce qu'on sait / ne sait pas · check_next (liens sources nommées cliquables : votewatch.eu, HATVP, INSEE, AFP…) · chip reliability colorée (vert / orange / rouge).

Règle de cohérence forcée

Si P1 détecte des sophismes en Q3 → Q3 ne peut pas afficher "fiable". Si affaires judiciaires détectées en Q1 → Q1 ne peut pas afficher "fiable". Cohérence forcée par le prompt P3, visible dans l'UI.

🧩
Modules spéciaux
actifs selon mode · injectés dans les tabs

5 modules activables selon le mode d'analyse détecté. Jamais affichés dans un mode qui ne les concerne pas.

📋 Radar MARPOR — programme uniquement
marpor_n3 · RILE · CAP radar · WZB Berlin
  • Axe gauche-droite RILE (barre positionnée sur l'échelle)
  • Radar des 21 domaines CAP — couverture programmatique
  • Angles morts mis en évidence (domaines non couverts)
⚠ Terminologie RILE et codes CMP jamais visibles. Langage citoyen uniquement dans l'UI.
🧭 Boussole éditoriale — média uniquement
boussole_editoriale · 5 axes · Hallin & Mancini · MPM UE

Radar pentagonal sur 5 axes bipolaires (−2 → +2). Mention systématique : "situer sans juger — un article engagé peut être de grande qualité journalistique."

💼 Lobbies UI — tous modes
données P1.lobbies · HATVP · Registre UE
  • Entités citées → liens vers entity.html + HATVP.fr
  • Secteurs d'intérêts détectés (chips)
  • Mesures favorables + bénéficiaire probable
  • Entités absentes notables signalées
  • Mention obligatoire : "signaux textuels uniquement — non conclusifs"
🎭 Rhétorique UI — tous modes
données P1.rhetorique · Walton · Entman · Fairclough
  • Chips par famille : rouge (fallaces Walton) · orange (manipulation Entman) · violet (CDA Fairclough)
  • Survol : définition + extrait du texte source
  • Compteur par famille affiché
🎯 Actions citoyennes — Et moi ?
Level 5 · droits_rules.js · mesdroitssociaux.gouv.fr
  • Matching client-side statique via droits_rules.js (~15–20 aides)
  • Basé sur profil citoyen (chips formulaire)
  • Zéro appel API supplémentaire
  • Liens directs : mesdroitssociaux.gouv.fr · mes-aides.gouv.fr · service-public.fr
  • Champ actions du JSON enrichi par LLM pour les liens contextualisés
🌐
Autres pages du site
entity · contributions · methodologie · observatoire

Toutes les pages partagent le même JSON. Navigation croisée via params URL (?id= · &back=).

🏛 entity.html — Fiche entité
?id= · &back= · Country → Type → Entity → Document
  • Nom · type · description de l'entité
  • Toutes les analyses où l'entité est citée
  • Liens HATVP / Registre UE si disponibles
  • Signalements citoyens liés à l'entité
  • Navigation hiérarchique : bibliothèque → fiche
✍️ contributions.html — Signalement citoyen
contribute.php · queue pending · admin/api.php
  • Lobbies détectés par LLM → validation humaine
  • Nouvelles personnes citées → ajout bibliothèque
  • Signalements citoyens sur une analyse

Pipeline : contribute.php → queue pending → admin onglet 🎯 Entités → validation → intégration.

🌍 Observatoire — Fichier communautaire agrégé
OCRI · agrégation · taxonomie · dashboard
  • Analyses individuelles agrégées en données communautaires (mêmes clés, même format)
  • Taxonomie : Country → Type → Entity → Document
  • Dashboard tendances · quiz éducation civique · export communautaire
⚠ Données totalement anonymes avant partage. IP hashée, texte source absent.
📤
Export & Partage — 4 actions
même JSON · depuis toutes les pages · anonyme

Un seul fichier JSON pour tout. Aucune conversion, aucun recalcul.

⬇ Télécharger JSON · 🖨 Export PDF
Blob · download() · PDF citoyen + rapport technique
  • JSON : génère un Blob, déclenche download() avec nom horodaté. Permet restauration complète via import.
  • PDF résumé citoyen : hero + N1 + top3 domaines + trust résumé
  • PDF rapport technique : tous niveaux + références académiques + méthodes
🔗 Partager lien · 📤 Envoyer à l'observatoire
URL ?file= · anonyme · Données agrégées · OCRI
  • Lien : URL analysis.html?file=ID — entièrement anonyme, partageable tel quel
  • Observatoire : envoie les résultats (sans texte source, sans IP) vers la base communautaire → agrégé dans l'observatoire OCRI
④ Organigramme — Du fichier de résultats au citoyen

Cliquez un nœud pour afficher sa carte de détail avec tiroirs imbriqués. Les fils pointillés montrent les liens logiques.

📦 Fichier de résultats fichier de résultats · 15–40 KB mode · analyses · fiabilité · régime ⚙️ Moteur d'affichage détecte le mode → affiche le bon rendu · sans IA discours programme média 🎙 Discours renderer interface · onglets N1/N2/N3/Trust 📋 Programme renderer + tab MARPOR · radiographie idéo 📰 Média renderer + tab Boussole · 5 axes 🎬 HERO — Bannière principale badge · score /100 · résumé citoyen · régime · dérive 🏷 Badge modediscours/prog/médiacouleur unique 📊 Score /100V-Dem · seuilsrouge/orange/vert 📝 Résumé N130 sec · 25 mots/phvocab contrôlé 🌡️ Thermomètretop3 régimesLinz · Diamond · V-Dem ⚠️ Alerte dérivederive_autoritairebandeau rouge 📑 TABS — N1 / N2 / N3 / Trust actifs selon mode · smooth scroll · deeplink hash 🟢 N1 — Vue citoyenscore · résumé · 9 domaines 🔵 N2 — Analyseaccordéons · lobbies · angles 🟣 N3 — Sourcedevelop/light/identified 🟡 Trust — Fiabilité10 blocs P3 · reliability 🧩 MODULES SPÉCIAUX actifs selon mode · injectés dans les tabs 📋 Radar MARPORRILE axe G-Dprogramme onlyvocab masqué 🧭 Boussole5 axes radarmédia only−2 → +2 💼 Lobbies UIentités · HATVPRegistre UEtous modes 🎭 Rhétorique UIchips coloréesrouge/orange/violettous modes 🎯 Et moi ?droits_rules.jsmesdroitssociauxtous modes 🌐 AUTRES PAGES DU SITE entity · contributions · methodologie · observatoire 🏛 entity.htmlfiche entité · analyses liées?id= · &back= · HATVP ✍️ contributions.htmlsignalement citoyen3 modes · queue pending 📚 methodologie.htmltransparence · tiroirsorganigrammes · académique 🌍 ObservatoireDonnées agrégées · OCRIdonnées communautaires 📤 EXPORT & PARTAGE 4 actions · même JSON · anonyme · depuis toutes les pages ⬇ JSON localBlob · download()restauration complète 🖨 Export PDFcitoyen + technique2 formats 🔗 Lien ?file=URL anonymepartageable direct 📤 → ObservatoireDonnées agrégées · OCRIaucune donnée ident. 👤 CITOYEN comprend · vérifie · partage · contribue boucle citoyenne fermée
📦
Fichier de résultats — point d'entrée
mode · analyses · fiabilité · régime

Le site lit un seul fichier JSON. Aucun recalcul, aucun LLM. Zéro conversion.

Clés racines lues par le site
  • mode → routage affichage
  • scores → hero + score
  • tiroirs/secteurs → tabs N2/N3
  • trust → 10 blocs P3
  • regime · marpor_n3
⚠ Jamais stocké : texte source, IP, données identifiantes.
⚙️
Moteur d'affichage
fonction pure · zéro réseau · zéro LLM
3 chemins de routage
  • discourse → tabs N1/N2/N3/Trust
  • programme → + tab MARPOR
  • media → + tab Boussole
🎬
Hero — Bannière principale
première chose vue · 5 éléments · 30 secondes
5 éléments du hero
  • 🏷 Badge mode coloré
  • 📊 Score /100 + barres familles
  • 📝 Résumé citoyen N1 (25 mots/phrase)
  • 🌡️ Thermomètre régime (top1 + top3 survol)
  • ⚠️ Bandeau rouge si derive_autoritaire
🏷
Badge mode
couleur unique · présent sur toutes les pages
  • 🎙 Discours → violet #a78bfa
  • 📋 Programme → bleu #3b82f6
  • 📰 Média → vert #22c55e
📊
Score bar /100
V-Dem · MARPOR · seuils rouge/orange/vert
Seuils visuels
  • <40 → rouge · alerte forte
  • 40–70 → orange · vigilance
  • >70 → vert · fiable

Mini-barres 3 familles + tooltip détail.

📝
Résumé citoyen N1
summary_structurant · vocabulaire contrôlé

25 mots max/phrase. Substitutions verrouillées : "prérogatives régaliennes" → "pouvoirs réservés à l'État". RILE et codes MARPOR jamais visibles dans l'output.

🌡️
Thermomètre régime
Linz · Diamond · V-Dem · tous modes

Régime top1 + probabilité. Survol → top3 avec contexte historique. Mention obligatoire : "ceci classe un discours, pas un régime institutionnel."

📚 Linz (1975)📚 Diamond (1999)📚 V-Dem
⚠️
Alerte dérive autoritaire
derive_autoritaire = true → bandeau rouge

Déclenché par blk_scoring_raw_n1.derive_autoritaire = true. Bandeau rouge en haut du hero + explication citoyenne + lien vers thermomètre.

📑
Tabs — navigation principale
N1/N2/N3/Trust · actifs selon mode
Tabs selon mode
  • Discours → N1 · N2 · N3 · Trust
  • Programme → + MARPOR
  • Média → + Boussole
🟢
Tab N1 — Vue citoyen
score · résumé · 9 domaines · thermomètre
  • Score /100 + barres 3 familles
  • Résumé structurant 3–5 phrases
  • 9 domaines en pills cliquables (vert/bleu/gris)
  • Top 3 impacts en fiches résumées
  • Thermomètre + alerte dérive
🔵
Tab N2 — Analyse complète
accordéons · dérivé de N3 · Fairclough · OCDE
Accordéons communs
  • Résumé long · Rhétorique développée
  • Groupes affectés · Influence lecteur
  • Lobbies & conflits · Angles morts
  • 9 domaines CAP (1 accordéon/domaine)
Spécifiques par mode
  • Programme : cohérence budgétaire · MARPOR masqué
  • Média : baromètre 6 indicateurs
🟣
Tab N3 — Source analytique
develop/light/identified · mécanismes causaux
3 formats d'affichage
  • develop → fiche complète : mécanismes + limites + contexte
  • light → fiche condensée : mécanismes principaux
  • identified → 1 ligne + bouton "approfondir"

N3 est la source de vérité — N2/N1 en dérivent intégralement.

🟡
Tab Trust — Fiabilité
10 blocs P3 · Q1-Q10 · reliability chip
Rendu de chaque bloc
  • answer · sub_questions · what_we_know
  • check_next — liens cliquables (HATVP, INSEE, AFP…)
  • Chip reliability : vert / orange / rouge
Cohérence forcée : sophismes détectés → reliability ne peut pas être "fiable".
🧩
Modules spéciaux
5 modules · actifs selon mode · injectés dans tabs

5 modules activables. Jamais affichés dans un mode qui ne les concerne pas.

📋
Radar MARPOR
RILE · CAP 21 domaines · programme uniquement
  • Axe G-D RILE (barre sur échelle)
  • Radar CAP 21 domaines — angles morts en évidence
⚠ Terminologie RILE et codes CMP jamais visibles. Langage citoyen uniquement.
🧭
Boussole éditoriale
5 axes radar · −2→+2 · média uniquement
  • Critique ↔ Pro-institution · Émotionnel ↔ Factuel
  • Monolithique ↔ Pluraliste · Engagé ↔ Neutre · Opaque ↔ Transparent

Mention : "situer sans juger".

📚 Hallin & Mancini (2004)📚 MPM UE (2023)
💼
Lobbies UI
entités · HATVP · Registre UE · tous modes
  • Entités citées → liens entity.html + HATVP.fr
  • Secteurs d'intérêts (chips) · Mesures favorables + bénéficiaire
  • Entités absentes notables signalées
⚠ Signaux textuels uniquement — non conclusifs. Mention obligatoire dans l'UI.
🎭
Rhétorique UI
28 mécanismes · chips · rouge/orange/violet
  • Rouge : fallaces (Walton 1995)
  • Orange : manipulation (Entman 1993)
  • Violet : CDA (Fairclough 1995)
  • Survol : définition + extrait texte source
🎯
Actions citoyennes — Et moi ?
droits_rules.js · mesdroitssociaux · Level 5
  • Matching client-side ~15–20 aides (droits_rules.js)
  • Profil citoyen via chips formulaire · zéro API
  • mesdroitssociaux.gouv.fr · mes-aides.gouv.fr
🌐
Autres pages du site
navigation croisée · ?id= · &back=
🏛
entity.html — Fiche entité
?id= · &back= · HATVP · Registre UE
Contenu de la fiche
  • Nom · type · description · toutes analyses liées
  • Liens HATVP / Registre UE si disponibles
  • Taxonomie : Country → Type → Entity → Document
✍️
contributions.html
signalement citoyen · 3 modes · queue pending
  • Lobbies LLM → validation humaine
  • Nouvelles personnes citées → ajout bibliothèque
  • Signalements sur une analyse

Pipeline : contribute.php → admin onglet 🎯 → validation → intégration.

📚
methodologie.html
transparence totale · tiroirs · organigrammes

Vous y êtes ! Page de transparence académique complète. Tiroirs pipeline + tiroirs site web + deux organigrammes interactifs.

🌍
Observatoire citoyen — OCRI
Agrégation · données citoyennes · loi 1901
Fichier communautaire agrégé

Analyses individuelles agrégées (même format, même structure). Dashboard tendances · quiz éducation civique · taxonomie Country → Type → Entity → Document.

⚠ Données anonymes : texte source absent, IP hashée.
📤
Export & Partage
4 actions · même JSON · depuis toutes les pages
Télécharger JSON
Blob · download() · restauration complète

Génère un Blob depuis le JSON en mémoire. download() avec nom horodaté. Aucun serveur. Permet restauration complète via import dans l'extension.

🖨
Export PDF — 2 formats
résumé citoyen · rapport technique
  • Résumé citoyen : hero + N1 + top3 domaines + trust résumé
  • Rapport technique : tous niveaux + références académiques
🔗
Partager lien
URL ?file= · anonyme · partageable

URL analysis.html?file=ID ou JSON encodé base64. Entièrement anonyme.

📤
Envoyer à l'observatoire
Données agrégées · OCRI · anonyme

Envoie les résultats sans texte source ni IP. Agrégé dans l'observatoire OCRI. Aucune donnée identifiante transmise.

👤
Citoyen — boucle fermée
comprend · vérifie · partage · contribue
4 actions citoyennes
  • Comprend — lit N1/N2/N3 + Trust
  • Vérifie — suit les check_next vers sources nommées
  • Partage — exporte PDF ou envoie le lien
  • Contribue — signale via contributions.html ou observatoire
Élargissements méthodologiques · 2026

Acteurs d'influence élargis

Nouveau sous-type · Institution
Instituts de sondage
Intégrés dans le type Entité Institution existant. Dimensions spécifiques détectées par le pipeline :
commanditaire méthode taille_echantillon dates_terrain medias_relayeurs
Territoire · Sous-secteur ajouté
Outre-mer & DOM-COM
Sous-secteur statut_institutionnel_outremer dans le domaine Territoire. Groupe N2 : populations_ultramarines.
Guadeloupe Martinique Réunion Guyane Mayotte Polynésie Nouvelle-Calédonie
Traçabilité IA Act · Champs JSON
Champs ajoutés à chaque analyse
"validated_by": "01",
"validated_at": "2026-03-11T14:32:00Z",
"version_modele": "[modèle IA]",
"version_prompt": "detect_v3.2",
"statut_publication": "certifié_OCRI"
validated_by — ID numérique validateur (registre OCRI hors système)
validated_at — Horodatage ISO 8601 · CNIL / RGPD art. 9
version_modele — Version exacte du LLM · exigence IA Act (identification en cas de dérive)
version_prompt — Version du prompt detect · audit et correction en masse