Python • Data Engineering • EASA

CS-23 Graph – Données réglementaires vers visualisations interactives

Projet de transformation des PDF réglementaires EASA dont la CS-23 en données structurées et visualisations interactives, rendant les exigences de certification plus facilement manipulables.

14 mars 2025

CS-23 Graph – Données réglementaires vers visualisations interactives

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 :

  1. Extraction et structuration des données
  2. 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.

CS-23 en forme de graphe


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.