SocialGouv / kali-data

Apache License 2.0
7 stars 1 forks source link

Comportement étrange #308

Open m-maillot opened 4 days ago

m-maillot commented 4 days ago

Comportement étrange remonté par le métier.

Sur les alertes de cdtn-admin, on remarque que pour la CC 1979, dans la v3.121.0, on a des vieux textes qui ont été supprimés:

image004

Puis dans la release suivante, v3.122.0, on a ces textes qui sont à nouveaux réapparus :

image003

Idem pour la CC 16 dans une release plus ancienne :

image005

m-maillot commented 4 days ago

La DILA a été contacté et n'a pas réalisé de modifications sur ces textes là.

m-maillot commented 4 days ago

Explications du processus avec pour exemple la CC 1979 :

  1. Récupération du KALICONT

On appelle l'API consult/kaliCont de la DILA avec comme l'id : KALICONT000005635534 qui est celui de la CC 1979 (https://www.legifrance.gouv.fr/conv_coll/id/KALICONT000005635534/)

  1. Récupération des textes attachés

On va récupérer la section qui nous intéresse via l'ID présent dans texteBaseId. Ici, on va récupérer le premier élément du tableau dans sections. On valide que sont etat commence par le mot VIGUEUR. Ce sera la section principale.

On va ensuite prendre les autres sections et on va itérer sur leurs sections. Si elles ont ont un etat commençant par VIGUEUR. On va récupérer ces sections (où le tableau est vide par rapport à la section principale) via l'API consult/kaliText.

A la fin, on va avoir le json ci dessus mais avec les tableaux des sous-sections renseignés pour chaque section.

  1. Astify 🪄

Le principe est de passé d'un json sous le format actuel à un AST tree (https://github.com/syntax-tree/unist#nodes) Ce format crée une structure générique sous le format :

|- children
  |- children
  |- data
  |- type
|- data
|- type
  1. Clean astify

Dans cette dernière étape, on va parcourir car noeud et retirer les noeuds où etat ne commence pas par VIGUEUR. On va également faire un mapping des données.

m-maillot commented 4 days ago

On identifie 2 cas possibles :