Signification du champ pointeurFragmentTexte dans un Amendement

Le champ pointeurFragmentTexte est très peu documenté. Il est trop complexe pour être analysé sans programme. Il faudrait faire un script de validation qui vérifie toutes les hypothèses.

  • Si le champ alinea est non null, alors le champ division.avantAApres est “A”

     find ../data/assemblee-nettoye/Amendements_XV_nettoye -name '*.json' | xargs jq 'select(.pointeurFragmentTexte.alinea != null and .pointeurFragmentTexte.division.avantAApres != "A") | .uid'
    "AMANR5L15PO420120B2296P0D1N665"
    "AMANR5L15PO420120B2296P0D1N495"
     

    Les deux exceptions AMANR5L15PO420120B2296P0D1N665 et AMANR5L15PO420120B2296P0D1N495 sont irrecevables (champ etat) au titre de l’article 98 parce qu’il manque les champs dispositif et exposeSommaire. On peut avancer l’hypothèse que les amendements irrecevables ne suivent donc pas une logique prévisible pour le champ pointeurFragmentTexte.

  • La documentation du champ divisionRattachee se lit Dans le cas ou l’on vise une annexe. (article qui introduit l"annexe que l’on vise). On ne peut amender QUE une annexe visée, citée par un article. Renseigné donc toujours et uniquement dans le cas d’un amendement sur une annexe mais AMANR5L15PO744107B0806P0D1N142 pointe vers un article et non une annexe, comme on peut le vérifier sur le texte visé par l’amendement. La documentation est donc fausse. En réalité le champ divisionRattachee contient le texte exact du chapeau de l’amendement. Par exemple le champ divisionRattachee de AMANR5L15SEA717460BTC2454P0D1N1505 contient APRÈS L'ARTICLE 5, insérer l'article suivant: que l’on retrouve sur le site de l’assemblée nationale.

  • Pour tout amendement (et non un sous amendement reconnaissable à la présence du champ .amendementParent) dont .division.avantAApres est “Avant” ou “Apres”, .chapitreAdditionnel ou .articleAdditionnel sont à “1”. Autrement dit, lorsqu’un amendement vise ce qui précède un article, annexe ou titre, c’est exclusivement pour y ajouter quelque chose.

    find ../data/assemblee-nettoye/Amendements_XV_nettoye -name '*.json' | xargs jq '. as $doc | .pointeurFragmentTexte.division | select((.avantAApres == "Apres" or .avantAApres == "Avant") and .chapitreAdditionnel != "1" and .articleAdditionnel != "1" and $doc.amendementParent == null) | $doc.uid'
    "AMANR5L15SEA717460BTC0106P0D1N163"
    

    La seule exception (AMANR5L15SEA717460BTC0106P0D1N163) demande de rétablir un titre qui avait été supprimé. Une autre particularité de cet amendement est le champ qui pointe vers un id qui n’existe pas. Le guide pour la rédaction des amendements (document interne de l’assemblée nationale) propose par ailleurs que dans le “CAS PARTICULIER DES DISPOSITIONS NON MODIFIÉES OU SUPPRIMÉES […]Pour des dispositions supprimées que l’on souhaite rétablir : À l’alinéa 7, rétablir le VI dans la rédaction suivante : « … »”. Or la rédaction particulière de AMANR5L15SEA717460BTC0106P0D1N163 demande AVANT L’ARTICLE 2 TER B. Rétablir l’intitulé du titre II bis A dans la rédaction suivante mais aurait du être rédigé ainsi Titre II BIS A. Rétablir l’intitulé du titre II bis A dans la rédaction suivante. On peut donc en conclure que cette exception est en fait un bug: elle ne correspond pas à la logique des fichiers JSON ni à celle du guide de l’assemblée.

  • Pour tout amendement dont .division.avantAApres est “Avant”, le guide de rédaction des amendements de l’assemblée nationale (non publié), précise en outre que Un article additionnel ne doit être inséré avant un autre article que s’il se place au
    début d’une subdivision (titre, chapitre, section,…).
    . Dans tout les autres cas l’article additionnel doit être ajouté “Apres” la division visée par l’amendement. Cette convention explique qu’on trouve une minorité de “Avant”:

    find ../data/assemblee-nettoye/Amendements_XV_nettoye -name '*.json' | xargs jq '.pointeurFragmentTexte.division | .avantAApres' | sort | uniq -c
     86428 "A"
     39571 "Apres"
     2125 "Avant"
    
  • Le champ titre est toujours renseigné, quel que soit le type de l’amendement.

    • type == “ARTICLE”: contient le texte du titre que l’amendement modifie
      find ../data/assemblee-nettoye/Amendements_XV_nettoye -name '*.json' | xargs jq '. as $d | .pointeurFragmentTexte.division | select(.type == "TITRE") | "\($d.uid) \(.titre)"'
      ...
      "AMANR5L15SEA717460BTC2454P0D1N2060 relatif à la lutte contre le gaspillage et à l’économie circulaire."
      ...
      
      et le champ avantAApres est toujours “A”
      find ../data/assemblee-nettoye/Amendements_XV_nettoye -name '*.json' | xargs jq '.pointeurFragmentTexte.division | select(.type == "TITRE" and .avantAApres != "A") | "\(.uid) \(.titre)"' 
      
      On peut vérifier sur AMANR5L15SEA717460BTC2454P0D1N2060 que le texte de l’amendement porte sur un texte dont le titre avant modification par l’amendement correspond au champ titre c’est à dire “relatif à la lutte contre le gaspillage et à l’économie circulaire”.

    Le champ titre est le libellé de la division (en fonction du type il peut s’agir d’un titre, chapitre, article, annexe) qui est visé par l’amendement. Il y a confusion parce que le champ titre ne concerne pas le titre du projet et devrait être nommé libelleDivision pour plus de clareté.

  • Le champ missionVisee existe uniquement pour les projets de loi de finance (PLF). Il précise la mission du projet de loi de finance visé par l’amendement. Le codeMissionPLF (B, C ou D) est la partie du PLF ou les montants attribués à chaque mission sont présentés sous forme de tableau et libelleMissionPLF est l’équivalent lisible par un humain. Le libelleMission est la ligne du tableau qui est concernée par l’amendement. Pour éviter toute confusion il faut considérer codeMissionPLF comme une liste de montants pour toutes les missions et non pour une mission particulière.
    Par exemple AMANR5L15SEA717460B1490P0D1N390 porte sur l’article 74 bis (voir l’amendement en HTML) du PLF 2019. Et comme l’article 74 bis aurait un impact sur la mission Cohésion des territoires qui se trouve dans l’ETAT B (dont le libellé est RÉPARTITION, PAR MISSION ET PROGRAMME, DES CRÉDITS DU BUDGET GÉNÉRAL), le champ missionVisee précise cette relation.
    La signification du champ idMissionAN est indéfinie.

1 « J'aime »