Le Cerveau Artificiel Institutionnel : Graphes Causaux, Inférence Structurelle et IA Constitutionnelle.
- Manifeste Épistémologique : La Rupture des Silos
- L'Équilibre et l'IA Constitutionnelle
- L'Architecture de la CGIP (Couches A à H)
- La Modélisation Mathématique (Les 5 Algorithmes d'IA)
- Modèle de Données et Ontologie (Neo4j)
- L'Infrastructure Distribuée (Enterprise Stack)
- Structure du Dépôt Open-Source
- Guide d'Installation Locale
- Simulation End-to-End : Démonstration Mathématique
Le projet Cass / CGIP (Civic Graph Intelligence Platform) est né d'un constat implacable et systémique sur le fonctionnement de l'appareil public moderne (Justice, Police, Éducation Nationale, Services Sociaux).
Régulièrement, les sociétés font face à des tragédies à risques (comme l'affaire tragique que nous nommerons "Affaire L."). L'audit post-mortem de ces affaires révèle une vérité structurelle : toutes les informations pré-existaient, mais l'administration était incapable de les relier.
Voici comment l'information se perd mathématiquement dans le modèle français actuel :
LE PARADOXE DES SILOS (Pourquoi l'administration est aveugle)
[ ÉVÉNEMENT INITIAL T=0 ]
│
├─> 👩🏫 École (Signalement) ────────> [ Fichier ASE / Éducation ] (Silo 1)
│
├─> 👮 Police (Plainte Classée) ───> [ Fichier TAJ ] (Silo 2)
│
└─> ⚖️ Justice (Information) ──────> [ Casier Judiciaire ] (Silo 3)
⚠️ RÉSULTAT : Le suspect n'a pas 1 profil de risque global. Il a 3 fragments de données invisibles les uns pour les autres.
- La Genèse du Projet (PRD) : Les 9 blocs de fondation, les failles systémiques de l'administration (Affaire L.), et la doctrine éthique.
- Benchmark International : Étude comparative des systèmes étrangers et français. Analyse des outils individuellement, versus la France, et recherche des similitudes/schémas transversaux entre pays pour prouver la nécessité technologique de la CGIP.
- Spécifications Techniques : L'architecture de la "Machine à Détecter", les contraintes des silos (Cassiopée, FIJAISV, SALVAC) et l'intégration Civil Tech.
- Le Socle Mathématique : Les équations pures (GNN, Processus de Hawkes, Time Decay, DPIA Kill-Switch) qui gouvernent le système sans boîte noire.
- Gap Analysis (Déperdition) : Pourquoi l'approche Graphe surpasse l'approche SQL historique de l'administration.
- Pistes Non Explorées (Le Frigo) : Le backlog intellectuel recensant 100% des concepts théoriques évoqués mais laissés en attente.
La CGIP implémente une architecture à 5 couches qui ne juge rien, mais qui fusionne, détecte et priorise :
graph TD
subgraph "🌐 1. Sources (Silos Institutionnels)"
P[Police / Gendarmerie <br/> LRPPN / TAJ]
J[Justice <br/> Cassiopée]
S[Social / École <br/> Signalements]
end
subgraph "🛡️ 2. Ingestion & Sécurité (SecNumCloud)"
API_GW[API Gateway / Firewalls]
KAFKA[Kafka Event Streaming <br/> Flux d'événements brut]
end
subgraph "🗄️ 3. Data Lake (Entity Resolution) [🟢 ZONE VERTE]"
BRONZE[(Bronze: Raw JSON)]
ER[Entity Resolution Engine <br/> Déduplication & Anonymisation]
SILVER[(Silver: Cleaned Entities)]
end
subgraph "⚖️ 4. La Dualité de la Vérité (Stockage)"
SQL[(PostgreSQL <br/> Vérité Administrative <br/> Événements factuels)]
NEO4J[(Neo4j Graph DB <br/> Vérité Analytique <br/> Réseau & Trajectoires)]
end
subgraph "🧠 5. IA Multi-Model Layer [🟡 ZONE JAUNE]"
FEAT[Feature Store <br/> Fenêtres glissantes 30j/90j]
ANOMALY[Isolation Forest <br/> Alerte Immédiate]
TEMP[Hawkes Process <br/> Escalade Temporelle]
GNN[Graph Neural Network <br/> Centralité Sociale]
SCORE[Scoring & SHAP <br/> Calcul du S_risk]
end
subgraph "🖥️ 6. Décision Humaine [🔴 LE MUR DE DÉCISION]"
FASTAPI[FastAPI Backend <br/> RBAC & Kill-Switch]
DASH[React Dashboard <br/> Explicabilité visuelle]
MAGISTRAT((Magistrat / Juge))
end
%% Flux de données
P --> API_GW
J --> API_GW
S --> API_GW
API_GW --> KAFKA
KAFKA --> BRONZE
BRONZE --> ER
ER --> SILVER
SILVER --> SQL
SILVER --> NEO4J
%% Streaming temps réel
KAFKA -.-> ANOMALY
%% Batch / Micro-batch
SQL --> FEAT
NEO4J --> FEAT
FEAT --> TEMP
FEAT --> GNN
ANOMALY --> SCORE
TEMP --> SCORE
GNN --> SCORE
SCORE --> FASTAPI
SQL --> FASTAPI
NEO4J --> FASTAPI
FASTAPI --> DASH
DASH --> MAGISTRAT
style SCORE fill:#f9e79f,stroke:#f1c40f
style MAGISTRAT fill:#f5b7b1,stroke:#e74c3c
style ER fill:#abebc6,stroke:#2ecc71
L'architecture classique souffre de 8 Points de Rupture Institutionnels (Les "Casses") :
- Casse #1 (École) : Le signal faible initial est souvent un texte libre non standardisé, inutilisable par une machine classique.
- Casse #2 (Filtrage Administratif) : La priorisation humaine fait disparaître de nombreux signaux avant même la police.
- Casse #3 (Silo Policier) : La police agit en "affaire locale", sans vision inter-départementale globale.
- Casse #4 (Silo Judiciaire) : Cassiopée stocke par "dossier", incapable de tisser le réseau d'un individu.
- Casse #5 (Absence de Boucle de Retour) : L'école ou la police qui signale n'est jamais alertée en retour de l'évolution judiciaire.
- Casse #6 (Mémoire Fragmentée) : Il n'existe aucune timeline centralisée des événements pour un individu.
- Casse #7 (Identités Multiples) : Les orthographes varient ("J. Dupont" vs "Jean Dupont"), empêchant la liaison des dossiers.
- Casse #8 (Séparation Souverain) : Le RGPD et le Droit Pénal bloquent structurellement le croisement des données pour éviter la surveillance de masse.
La CGIP propose une rupture totale d'épistémologie de la donnée. La réalité à risque n'est pas une table SQL. C'est un Graphe Orienté.
🧠 LE CHANGEMENT DE PARADIGME (Réseau de Victimes et de Contextes)
[ SUSPECT ]
│
┌────────────────────┼────────────────────┐
│ │ │
[Milieu scolaire] [Domicile] [Espace public]
│ │ │
Victime A Victime B Victime C
(Signalement) (Plainte classée) (Disparition)
👉 En modélisant des "Contextes" (Lieux, Écoles), la machine relie des affaires sans avoir besoin d'une connexion judiciaire explicite.
Le benchmark international montre deux extrêmes :
- Le modèle ultra-centralisé (ex: Royaume-Uni, Danemark), redoutablement efficace pour la détection, mais critiqué pour le risque de "sur-fichage".
- Le modèle extrêmement segmenté (France), qui protège les libertés mais crée des angles morts.
La CGIP construit une troisième voie : une Architecture de Graphe Fédéré, alliée au Privacy by Design.
Pour éviter le cauchemar de la police prédictive ("Minority Report"), la loi est encodée directement dans les mathématiques :
- Le Confidence Score : Le système pondère la gravité. (Condamnation =
1.0, Plainte =0.8, Signalement École =0.4, Rumeur =0.1). - Le Droit à l'Oubli (Time Decay Function) : La force d'un lien diminue avec le temps. Un signalement vieux de 10 ans sans récidive n'a presque plus de poids.
- Le Kill-Switch Moteur DPIA : Un interrupteur logiciel bloque en temps réel toute computation qui dévierait vers du profilage illégal.
RÈGLE D'OR JURIDIQUE : La CGIP ne prédit jamais des individus (Zone Rouge RGPD), elle détecte des trajectoires et des situations à risque (Zone Jaune). Le système fait de la Fusion d'Information pour générer une recommandation :
REVUE HUMAINE RECOMMANDÉE. L'IA ne prend aucune décision légale.
Le vrai bloqueur souverain n'est pas technologique, c'est la Gouvernance des données. Dans les pays nordiques, un identifiant unique (Personnummer) connecte tout. En France, c'est inconstitutionnel. La CGIP utilise l'Entity Resolution (IA d'appariement) pour recréer virtuellement le lien entre les silos administratifs, sans jamais construire un Registre National Unique illégal.
- Technologie :
Neo4j(Cypher). - Rôle : Ingestion standardisée des flux issus de bases diverses via l'introduction des
[ContextNode](École, Domicile).
- Rôle : L'Entity Resolution utilise les LLMs pour "dé-bruiter" la donnée et savoir si "Victime A" et "A." sont la même personne.
- Rôle : Remplacer la corrélation statistique par du Do-Calculus, forçant le système à vérifier le lien de causalité chronologique.
- Rôle : L'auto-blocage légal. Avant chaque requête GNN, si le risque d'atteinte à la vie privée est trop haut, le processus python est intercepté.
- Rôle : Agrégation des scores de risque pour déclencher l'alerte finale.
- Rôle : L'IHM pour l'enquêteur. Un graphe visuel interactif expliquant pourquoi un lien latent est suspecté (Explainable AI).
Le Cerveau Central repose sur 5 tâches de Machine Learning précises :
- Entity Resolution (NLP) : Dédoublonner et rapprocher les dossiers de systèmes distincts (comme en détection de fraude bancaire).
- Scoring de Risque (Accumulation de Signaux Faibles) : Un Random Forest mesurant la récurrence spatiale et temporelle.
- Détection d'Anomalies (Isolation Forest) : Repérer un profil statistiquement atypique par rapport à la population de référence.
- Analyse de Séquences Temporelles (Processus de Hawkes) : Modéliser la fréquence et l'"escalade" des événements pour détecter l'urgence.
- Graph Analytics (GNN - PyTorch Geometric) : Calcul du Cosine Similarity latent pour découvrir le chaînon manquant dans l'hyper-espace de plongement.
L'ontologie du Graphe est conçue pour respecter le secret de l'instruction et le droit à la vie privée.
type Person {
id: ID!
hashed_identifier: String! # Privacy by design
}
type Event {
id: ID!
timestamp: DateTime!
is_official_judicial_procedure: Boolean! # Séparation Pénal / Administratif
}
type ContextNode {
id: ID!
type: String! # "School", "Home", "Public_Space"
}
# Relations avec Poids (Weights)
(Person)-[:VISÉ_PAR {confidence_score: 1.0, time_to_live_days: 3650}]->(Event)
(Event)-[:HAPPENED_IN]->(ContextNode)- Ingestion Streaming (Kafka) : Absolument indispensable pour l'architecture fédérée.
- Graph Storage (Neo4j HA Cluster) : Le socle de vérité.
- Model Registry (MLflow) : Assure la traçabilité algorithmique et la Reproductibilité Judiciaire.
- Observabilité (Prometheus / Grafana) : Expose les métriques du Kill-Switch RGPD.
Le projet est structuré pour accueillir du code concret (Python, ML, Graph).
/
├── data/
│ ├── raw/ # (Vide) Données brutes de simulation (strictement anonymes)
│ └── processed/ # Matrices nettoyées (ex: person_event_window.csv)
├── docs/ # Documentation fondamentale (Genèse, Technique, Math)
├── src/
│ ├── ingestion/ # Pipelines NLP (LLM to Graph) et parsing
│ ├── graph/ # Connexion Neo4j, Cypher, Ontologie
│ ├── ml_engine/ # Modèles XGBoost, GNN, Processus de Hawkes, XAI (SHAP)
│ └── utils/ # Kill-Switch, Time Decay, RGPD constraints
├── tests/ # Tests unitaires et E2E
├── requirements.txt # Dépendances (Neo4j, PyTorch, XGBoost, SHAP...)
└── simulate_case.py # Script de démonstration End-to-End
Si vous souhaitez contribuer ou expérimenter avec l'architecture :
-
Cloner le dépôt et installer les dépendances :
git clone https://github.com/votre-org/cgip.git cd cgip pip install -r requirements.txt -
Lancer la base Neo4j (via Docker) : Le moteur causal a besoin d'une base de données graphe locale pour tourner. (Un fichier
docker-compose.ymlsera bientôt disponible pour instancier Neo4j avec APOC en 1 commande). -
Exécuter la simulation (À venir) :
python simulate_case.py
Le script simulate_case.py situé à la racine démontre le moteur en action.
Il simule une suite chronologique complexe illustrant l'incapacité humaine à faire le lien.
SIMULATION CHRONOLOGIQUE GÉRÉE PAR LE MOTEUR (L'Affaire L.)
2017 ─ ⚠️ Signalement (Mineure A) → Classé sans suite
2020 ─ ⚠️ Alerte comportementale (Mineure B) → Sanction disciplinaire non judiciaire
2022 ─ ⚖️ Plainte (Victime C) → Enquête en cours
2026 ─ 🚨 Disparition d'une victime D
👉 Dans la vraie vie : 4 dossiers étanches.
👉 Dans la CGIP : Entity Resolution + Processus de Hawkes détectent l'escalade dès 2022 et lèvent une alerte critique.
Le simulateur va :
- Appliquer l'usure du temps (Time Decay) sur le fait de 2017.
- Utiliser l'Entity Resolution pour relier l'alerte institutionnelle de 2020 au suspect.
- Passer la douane éthique (DPIA) sans profiler.
- Lever l'alerte de
REVUE HUMAINE RECOMMANDÉEau moment où la corrélation mathématique dépasse le seuil critique (en 2022), évitant le drame final.
"Le code fait loi (Lessig). Dans la CGIP, la loi fait le code."
Le système n'est pas un fichier centralisé (Big Brother), mais un Réseau Fédéré sur Cloud Souverain.
┌────────────────────────────────────────────────────────┐
│ CLOUD SOUVERAIN (SecNumCloud) │
├─────────────┬───────────────────┬──────────────────────┤
│ JUSTICE │ POLICE / INTÉRIEUR│ SOCIAL / ÉDUCATION │
│ (Niveau 0/1)│ (Niveau 1) │ (Niveau 2) │
└─────┬───────┴────────┬──────────┴────────┬─────────────┘
│ │ │
▼ ▼ ▼
┌────────────────────────────────────────────────────────┐
│ SECURE DATA FABRIC & KAFKA STREAMING (Event-Driven) │
└──────────────────────┬─────────────────────────────────┘
▼
┌────────────────────────────────────────────────────────┐
│ GRAPH ENGINE (Neo4j) - Topologie et Liens Anonymisés │
└──────────────────────┬─────────────────────────────────┘
▼
┌────────────────────────────────────────────────────────┐
│ ML SANDBOX (Isolée) - Aide à la décision (Non Auto) │
└────────────────────────────────────────────────────────┘
L'Intelligence Artificielle de la CGIP ne décide jamais. Elle agit dans une Sandbox isolée pour générer des signaux de priorisation humaine, basés sur le clustering et la topologie.
L'Intelligence Artificielle ne score pas les individus. Son rôle principal est le Link Prediction : détecter les affaires isolées qui partagent une empreinte topologique (Même mode opératoire, même réseau étendu) pour suggérer des rapprochements de dossiers aux magistrats.
La plateforme convertit une chronologie fragmentée en un graphe dynamique :
[E1 Disparition]
│
▼
[E2 Ouverture enquête]
│
▼
[E3 Perquisition domicile]
/ ▼ ▼
[L1 domicile] [P_Suspect]
(Ce graphe permet au modèle ML de repérer la concentration spatiale et l'accélération temporelle d'une crise).
- ✅ Human-In-The-Loop : L'IA ne prend aucune décision judiciaire.
- ✅ Privacy by Design : Pseudonymisation par hachage avant tout calcul.
- ✅ AI Act Compliant : Classifié comme "Aide à l'enquête documentaire", aucun scoring individuel automatisé.
La CGIP implémente le modèle Hybride Européen :
[SOURCES (Police, Justice, Social)]
│ │ │
▼ ▼ ▼
[DATA LAKE SÉCURISÉ (Cloud Souverain)]
│
[KNOWLEDGE GRAPH (Relations & Topologie)]
│
[ML SANDBOX (Modèles Non Décisionnels)]
│
[LEGAL FIREWALL (Anti-IA Autonome)]
│
[INTERFACE MAGISTRAT (Explicabilité visuelle)]