Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modéliser les alinéas #25

Open
Seb35 opened this issue Feb 6, 2017 · 10 comments
Open

Modéliser les alinéas #25

Seb35 opened this issue Feb 6, 2017 · 10 comments
Labels
enhancement question spec-format Lié à la façon d’organiser les dépôts Git

Comments

@Seb35
Copy link
Member

Seb35 commented Feb 6, 2017

Pour ce faire, il faut surtout des compétences en légistique, il s’agirait de pouvoir segmenter automatiquement les alinéas, c’est-à-dire décrire les règles qui font qu’on change d’alinéas.

Pour commencer simple, un alinéa est bien un paragraphe ?

Peut-on avoir un retour à la ligne ou une ligne vide à l’intérieur d’un alinéa ?

Ensuite, que se passe-t-il si on a une liste ? Les éléments de la liste appartiennent-ils tous au même alinéa ?

Et si on a un tableau ? Comment est-ce compté ?

Il s’agirait d’écrire une petite doc. Pour cette doc, il ne devra pas être utilisé l’expression « ça dépend », car ensuite le programme qui en sera fait n’a pas la capacité de raisonnement et d’analyse d’un humain habitué à lire de la légistique. Ensuite, de cette doc, il pourra être écrit un algorithme.

@Seb35
Copy link
Member Author

Seb35 commented Aug 10, 2018

D’un point de vue légistique, voici la réponse à la question ci-dessus (obtenue d’une juriste), et il y a malheureusement un "ça dépend" dedans.

Deux modes de computation des alinéas ont co-existé, et possiblement co-existent toujours (quoique l’un est devenu la norme) :

  1. mode Conseil d’État : un alinéa = 1 phrase entière, se terminant par un point
  2. mode Parlement : un alinéa = 1 phrase ou partie de phrase délimitée par un retour à la ligne (retour chariot en informatique/typographe – je précise bien que ce n’est pas les adaptations à la largeur de l’écran/de la page)

Depuis le 20 octobre 2000 et sa circulaire PRMX0004462C (publiée le 31 octobre 2000), c’est le mode Parlement qui est la norme (c’est donc pratique d’un point de vue informatique), SAUF exception lorsque les textes utilisaient traditionnellement l’autre mode de computation et qu’il serait compliqué de changer.

Avant cette date, la circulaire PRMX9701883C du 30 janvier 1997 publiée le 1er février 1997 recommandait (avec moins de force) de préférer le mode Conseil d’État, en dehors du travail parlementaire.

Je n’ai pas de référence plus arrière, mais c’est déjà un bon début de réponse.

@Seb35
Copy link
Member Author

Seb35 commented Aug 10, 2018

Je propose de re-définir cette issue en s’assurant sur quelques exemples de textes de vérifier que les retours à la ligne sont toujours bien formatés par des doubles retours à la ligne en Markdown.

À voir dans un second temps s’il serait souhaitable d’inscrire dans le texte le numéro des alinéas. En tous cas si cela venait à se faire, il faudrait d’une part que cela soit activable/désactivable par une option lors du lancement d’Archéo Lex pour laisser le choix en fonction des desideratas, et d’autre part il serait préférable que le code de computation soit une (petite) librairie externe (qui prendrait en paramètre le texte (par exemple en Markdown proprement formaté, le premier point ci-dessus, ou dans un format très contrôlé du fait de la sensibilité de l’opération), la date et le contexte (Parlement ou extérieur)).

Seb35 added a commit that referenced this issue Aug 14, 2018
- Les <br>, <p>, <div>, <span> sont transformés en paragraphes au sens Markdown
- Les listes à puces prennent toujours le format de liste à puces Markdown, y
  compris avec les tirets exotiques (avec une ligne vide précédent la liste à
  puces comme en Markdown originel)
- Maximum de 1 espace consécutive
- Maximum de 2 retours chariots consécutifs
- Le formatage des tableaux reste en HTML pour l’instant, mais la soupe de <tr>,
  <td>, <th> est séparée en les mettant chacun sur une ligne séparée; déjà ça
  rend le tableau plus lisible et les diffs plus lisibles
- Les alinéas sont désormais correctement délimités, par 1 ou 2 retours chariot
  (2 le plus souvent, mais 1 lorsqu’il s’agit de listes à puces), hormis dans
  les tableaux où cela demande un parsing spécifique.

Issue: #54
Issue: #25
@Seb35
Copy link
Member Author

Seb35 commented Aug 14, 2018

Disons que c’est fait, les alinéas sont désormais bien séparés, par 1 ou 2 retours chariot (2 en temps normal, 1 dans les liste à puces). Noter toutefois le cas particulier des tableaux où il faut calculer de façon spécifique (pour l’instant ceux-ci sont en HTML mais ça peut évoluer, voir #54).

@Seb35 Seb35 closed this as completed Aug 14, 2018
@Seb35
Copy link
Member Author

Seb35 commented Aug 14, 2018

Bon, en fait je laisse ouvert pour un éventuel format spécifique avec les alinéas explicitement écrits — oui, j’arrive pas à me décider si c’est vraiment un format qui vaut le coup au sein d’Archéo Lex.

@Seb35 Seb35 reopened this Aug 14, 2018
@RouxRC
Copy link

RouxRC commented Aug 15, 2018

Au sujet des tableaux, il me semble que la règle au Sénat et à l'Assemblée consiste à considérer chaque tableau comme un unique alinéa, par exemple page 12 ici http://www.assemblee-nationale.fr/15/pdf/ta/ta0105.pdf ou pages 2 et 3 là https://www.senat.fr/leg/ppl17-034.pdf Et ça semble consistant aussi dans les lois budgétaires y compris un peu vieilles www.assemblee-nationale.fr/13/pdf/projets/pl1157.pdf
C'est le comportement qu'on essaie de reproduire dans LaFabrique du coup.

@Seb35
Copy link
Member Author

Seb35 commented Aug 16, 2018

Ok, merci de la précision, ça sera utile pour SedLex où les alinéas sont définis comme les lignes non-vides, ce qui est donc inexact dans le cas des tableaux.

Par rapport aux textes générés par Archéo Lex, il faut donc considérer qu’un début de tableau est un alinéa, même s’il y a des lignes vides à l’intérieur, comme c’est le cas dans l’article R40-26 du CPP où les "titres de catégories" dans les tableaux ont des lignes vides les entourant dans la version actuelle de Archéo Lex.

PS: rien à voir, mais par rapport à SedLex ou metslesliens, je viens d’avoir la confirmation que l’expression "du même code" peut apparaître dans un texte modificateur sans que la référence ne soit explicités en interne de l’article : exemple ici dans l’article 3. Ça ne me surprend pas, mais j’espérais secrètement que les règles de bonne légistique interdisent le cas. Cela montre hélas que certains articles ne sont pas autonomes, et cela pourrait introduire des erreurs si des articles intermédiaires sont ajoutés.

@Seb35
Copy link
Member Author

Seb35 commented Aug 16, 2018

Au passage, cette remarque sur les tableaux me conforte dans l’idée qu’il faudrait qu’Archéo Lex ait un format spécifique avec une numérotation explicite des alinéas, a minima pour débuguer la numérotation dont Archéo Lex est responsable.

Et en même temps, je trouve que ça serait utile qu’une petite librairie numérote les alinéas, c’est le genre d’opération qui demande un peu d’expertise pour bien faire et qui peut être mutualisée entre plusieurs projets et notamment Archéo Lex et La Fabrique de la Loi.

@cottinstef
Copy link

Désolé, j'étais en congé et je n'ai pas pu ajouter mon grain de sel dans cette issue, mais je voie que les réponses sont déjà bien avancées.

Le Guide de légistique (document de l'exécutif = SGG + Conseil d'Etat en tant que conseiller du gouvernement, pas en tant que juge, disponible en ligne depuis legifrance ou depuis le site de la documentation française http://www.ladocumentationfrancaise.fr/catalogue/9782111453593/index.shtml ) 2017, présente dans sa fiche 2.2.4 ('Discussion parlementaire des projets de loi'), Page 193, une annexe 1 PRÉSENTATION DES AMENDEMENTS GOUVERNEMENTAUX

Cette annexe renvoie à un document interne (mais disponible en ligne) du Sénat sur la présentation des amendements qui précise en détail le mode de rédaction des amendements (donc le décompte et l'identification des alinéas) www.senat.fr/fileadmin/Fichiers/Images/seance/Guide_amendements_MAJ_Mars__2016.pdf

J'y rajouterai un document plus ancien et plus générique, toujours du Sénat, qui présente non seulement le découpage des textes en alinéas, mais la fameuse méthode du "pastillage", qui en découle, et qui est le fondement de l'unité documentaire des bases de données du Sénat AMELI, Basile et Mona Lisa.
http://www.senat.fr/fileadmin/Fichiers/Images/role/seance/guides_pratiques/PDF/guide_legistique_revu2013.pdf
Voir notamment page 12 et page 21 = cas particulier des tableaux (qui ne constituent qu'un seul alinéa)

Pour mémoire, la personne ressource au Sénat qui a participé à la conception du pastillage dès le début (milieu des années 90) est Sébastien Dubourg (voir http://www.senat.fr/adresse/annuaire-direction-des-systemes-d-information.html )

@cottinstef
Copy link

Pour information, vu du SGG (et de l'exécutif en général), les lois que vous traitez dans LEGI représentent certainement les textes qualitativement les plus importants, mais quantitativement ne représentent que 50 (ou 100 si on compte les articles 53) textes par an, alors que SOLON en traite 30000 et ACTES près de 2 millions. Aussi ne prêtons nous pas une attention particulière à la conception de ces textes qui, par construction, échappent largement à l'exécutif (on a une statistique qui analyse l'évolution du nombre de caractères entre les projets initiaux et les textes adoptés qui est assez symptomatiques, et une autre qui montre que les articles issus d'amendements parlementaires sont largement plus censurés par le Conseil constit que ceux qui proviennent du projet initial)

@cottinstef
Copy link

Autre élément de réflexion apporté au débat : le projet ZAM de betagouv échange régulièrement sur github https://github.com/betagouv/zam des questions très proches de celles que vous évoquez, à propos de son outil d'aide au suivi des amendements (vu du gouvernement, à partir des données de banc, disponibles en open data sur les sites de l'AN et du Sénat) : voir https://github.com/betagouv/zam/wiki

La démo n'est pas encore publique (elle le sera sur https://zam.beta.gouv.fr/ )

@Seb35 Seb35 added the spec-format Lié à la façon d’organiser les dépôts Git label Aug 29, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement question spec-format Lié à la façon d’organiser les dépôts Git
Projects
None yet
Development

No branches or pull requests

3 participants