Motivation
Les documents de certification EASA CS-23 sont longs, denses et difficiles à parcourir. Ils sont distribués principalement sous forme de PDF volumineux, avec des structures fortement imbriquées, des renvois croisés et de multiples amendements.
Ce projet est né d'une frustration simple : comprendre et naviguer efficacement dans ces documents est inutilement difficile.
CS-23 Graph est ma tentative de transformer le texte réglementaire en quelque chose de structuré, explorable et exploitable.
Projet en deux parties
Le projet est volontairement divisé en deux parties distinctes :
- Extraction et structuration des données
- Visualisation et exploration
Chaque partie peut exister indépendamment, mais elles sont conçues pour fonctionner ensemble.
Partie 1 — Du PDF aux données structurées
Le premier défi était de convertir les documents CS-23 en données exploitables.
Cela impliquait :
- Scraping et nettoyage des fichiers PDF EASA complexes
- Suppression des en-têtes, pieds de page et bruit de mise en page
- Détection des structures hiérarchiques (Sous-parties, numéros CS, paragraphes, AMC)
- Attribution d'identifiants stables à chaque exigence
- Export du résultat aux formats JSON et XLSX
Le résultat est un jeu de données structuré qui préserve la hiérarchie réglementaire tout en étant exploitable humainement sous format xlsx par d'autres programmes dans son format JSON.
Modèle de données
Les données extraites suivent une hiérarchie stricte :
- Sous-partie
- Section CS
- Exigences et sous-exigences
- Moyens Acceptables de Conformité (AMC)
Chaque nœud inclut :
- Un identifiant unique
- Un contenu textuel nettoyé
- Des références aux sources réglementaires
- Des métadonnées optionnelles pour un traitement ultérieur
Cette structure permet l'analyse, le filtrage et la visualisation sans retraiter les PDF originaux.
Partie 2 — Visualiser la réglementation
Une fois les données structurées, l'étape suivante était de les rendre explorables au-delà d'un simple tableur.
La couche de visualisation permet :
- De naviguer dans le CS-23 comme dans un arbre repliable
- De basculer entre les sous-parties
- D'étendre ou replier les exigences à la demande
- De saisir la structure globale d'un coup d'œil
Cela rend les relations et le périmètre immédiatement visibles, ce que les PDF statiques ne permettent pas.
Vue graphe alternative
En plus de l'arbre hiérarchique, le projet inclut une vue basée sur les graphes.
Cette représentation :
- Montre les relations entre sections et AMC
- Utilise des layouts à force dirigée pour révéler la structure
- Permet le filtrage et la mise en évidence du voisinage
Elle est particulièrement utile pour repérer les renvois croisés et les zones denses de réglementation.
Stack technique
- Langage : Python
- Traitement PDF : PyMuPDF, pdfplumber
- Données : pandas
- Formats d'export : JSON, Excel
- Visualisation : D3.js, vis.js
- Modélisation graphe : NetworkX
L'outillage a été choisi pour privilégier le contrôle et la transparence plutôt que l'abstraction.
Contraintes et compromis
- La structure des PDF est incohérente et fragile
- Forte dépendance à la détection de motifs et aux heuristiques
- Complexité initiale élevée avant tout résultat visible
- Clarté visuelle versus exhaustivité dans les grands graphes
Ces contraintes ont façonné à la fois le pipeline d'extraction et la conception de la visualisation.
Ce que ce projet explore
Un champ qui concerne moins l'aviation elle-même que :
- La transformation d'informations non structurées en systèmes structurés
- La conception de pipelines de données pour des sources difficiles
- La construction d'outils visuels pour raisonner sur la complexité
Il se situe à l'intersection du data engineering, de l'outillage et de la visualisation.
Résultat
Le projet produit :
- Des jeux de données CS-23 structurés exploitables dans d'autres outils
- Des visualisations interactives qui rendent la réglementation explorable
- Une approche réutilisable pour des documents réglementaires similaires
Il démontre comment une documentation complexe et réelle peut être transformée en systèmes exploitables.
Bilan
CS-23 Graph est un projet personnel motivé par la curiosité et la frustration. Il reflète ma façon d'aborder les problèmes complexes : les décomposer, les structurer soigneusement, et construire des outils qui les rendent compréhensibles.



