Legilibre / legi.py

Outils de manipulation des archives LEGI (lois françaises)
56 stars 19 forks source link

Nettoyage des numéros d'articles #35

Closed Changaco closed 5 years ago

Changaco commented 6 years ago

Similairement aux titres de textes, les numéros d'articles fournis par LEGI ne sont pas propres. Outre les articles mal découpés (#34), on a aussi :

Seb35 commented 6 years ago

(Pour ceux qui n’ont pas de base legi.py sous la main et qui veulent se faire une idée, cette page donne une liste assez complète d’exceptions, mais la liste ci-dessus de @Changaco donne les principaux types d’exceptions.)

Que compte-tu faire une fois le constat posé ? Créer une colonne "numéro propre" ? Je préfèrerais que le numéro d’origine reste disponible, mais bien sûr ça me va tout à fait si tu rajoutes une colonne.

Pour le type *R111-1, il faudrait vérifier que c’est bien une erreur. Je dis ça car il y a aussi des R*111-1 ou R**111-1, je me demande si ça n’a pas une signification légistique.

À noter que OpenLaw commence à travailler aussi sur la création de liens et notamment dans les cas tordus, par des méthodes d’apprentissage automatique. Je n’ai pas plus de détails, mais ça doit être cette page de présentation.

Changaco commented 6 years ago

Conserver les numéros non-nettoyés ne me semble pas souhaitable. Les applications qui ont besoin des données LEGI brutes peuvent et doivent utiliser l'option --raw de tar2sqlite afin qu'aucun nettoyage ne soit effectué. (Je viens de me rendre compte que j'ai oublié d'expliquer ça dans le README.)

Retirer l'astérisque qui précède un numéro ne poserait réellement problème que s'il existait le même numéro sans astérisque, je ne crois pas que ce soit le cas, reste à vérifier ça automatiquement.

Seb35 commented 6 years ago

Merci pour l’option --raw.

Pour les astéristiques :

cottinstef commented 6 years ago

Sujet épineux que les astérisques dans les codes. Le problème est censé être réglé par la circulaire du Premier ministre du 30 mai 1996 (et il l'est pour l'avenir), mais il reste effectivement des R** (qui ne doivent plus être créés) dans le stock.

Pour une raison qui s'explique par une mauvaise gestion d'une balise SGML, le passage intéressant de la circulaire (2.1.2. Parties L., R. et, éventuellement, D. et A.) n'est pas passé en HTML, il n'est visible que sur la partie imprimée au JO (donc en pdf image ici. La circulaire ne parle pas des R**, mais, par un a contrario, interdit d'en créer de nouveaux.

Voici reproduit le passage de la circulaire qui parle des lettres dans les numéros d'articles de code : 2.1.2. Parties L., R. et, éventuellement, D. et A La codification a pour objet à la fois de classer les textes dans un sens logique, d'où l'importance du plan du code, et de renseigner l'usager sur la valeur législative ou réglementaire de chacune des dispositions conformément aux articles 34 et 37 de la Constitution. C'est pourquoi, les codes distinguent des articles L.O. (lois organiques) et L (lois) qui sont regroupés dans la partie Législative et R. (décrets en Conseil d'Etat et décrets simples) qui sont regroupés dans la partie Réglementaire. Il est également possible de prévoir une partie A. (arrêtés). La codification par décret en Conseil d'Etat ne vaut pas transformation des décrets simples en décrets en Conseil d'Etat. C'est pourquoi il convient de différencier décrets simples et décrets en Conseil d'Etat. Il faut également distinguer clairement les décrets pris en conseil des ministres car, en vertu de la jurisprudence du Conseil d'Etat, ils ne peuvent être modifiés que dans la même forme. Dans un souci de clarification, il convient à l'avenir que chaque article fasse l'objet des distinctions suivantes:

En résumé, chaque article de partie réglementaire devrait faire l'objet d'une des quatre formules suivantes:


La gestion des lettres pour les articles de code et incidemment 'explication (incomplète, je le reconnais) de ce qui reste de R** se trouve dans le guide de légistique, à deux endroits :

Notice 1.3.3. Différentes catégories de décrets (Pages 61-62)

La codification des différentes catégories de décrets Dans les codes récents, préalablement soumis à la Commission supérieure de codification, les articles de la partie réglementaire relevant d’un décret en Conseil d’Etat et en conseil des ministres sont identifiés par un « R. », tandis que ceux relevant d’un décret en conseil des ministres mais non du Conseil d’Etat le sont par un « D. ». Les articles relevant d’un décret en Conseil d’Etat sont signalés par la lettre « R » tandis que ceux qui relèvent du décret simple sont signalés par la lettre « D » (voir fiche 1.4.2). La signification de ces différentes mentions, fixée par la circulaire du Premier ministre du 30 mai 1996 relative à la codification des textes législatifs et réglementaires, est explicitement rappelée dans le décret approuvant la partie réglementaire du code. Il peut s’avérer opportun, lorsque l’on modifie la partie réglementaire d’un tel code, ou des articles relevant de ces différents niveaux sont imbriqués, de procéder par un seul décret. En ce cas il est admis, la signification des mentions « R. », « R. », « D. » et « D. » étant dépourvue d’ambiguïté : −− que les dispositions d’un décret délibéré en conseil des ministres modifiant des articles d’un tel code relevant d’un décret en Conseil d’Etat ou d’un décret simple et portant respectivement les lettres R et D, ou y insérant des articles ainsi signalés, ne confèrent pas, implicitement, aux dispositions modifiées ou nouvelles le statut de décret délibéré en conseil des ministres ; et −− pareillement, que les dispositions d’un décret en Conseil d’Etat modifiant des articles d’un tel code relevant d’un décret simple et portant la lettre D, ou y insérant des articles ainsi signalés, ne confèrent pas, implicitement, aux dispositions modifiées ou nouvelles le statut de dispositions prises « Le Conseil d’Etat entendu, ». Par dérogation aux indications données plus haut, il n’y a donc pas lieu, dans un tel décret, d’introduire de mention destinée a parer l’effet de « cliquet » résultant des décisions du 10 septembre 1992, Meyet, et du 3 juillet 1998, Syndicat national de l’environnement CFDT et autres (voir CE, Rapport public - 2011, EDCE, p. 176, et CE, 2 juillet 2014, Association autonome des parents d’élèves de l’école Emile Glay et Fédération Sud Education, no 367179). Pour les codes plus anciens, tels que le code général des impôts, le code électoral, le code de la construction et de l’habitation, le code de la sécurité sociale ou le code de l’urbanisme, les formules mentionnées ci-dessus doivent en revanche être insérées dans tout décret modifiant des articles relevant de plusieurs niveaux (pour un exemple relatif au code général des impôts, voir le décret no 2015-1136 du 14 septembre 2015 relatif au paiement des impôts recouvrés par voie de rôle).


Notice 1.4.2. Codification (Page 113)

Pour la partie réglementaire, la codification distingue selon les différents niveaux de décrets (voir fiche 1.3.3) : −− décrets en Conseil d’Etat : R, ou R s’il est pris en conseil des ministres ; −− autres décrets : D, ou D s’il est pris en conseil des ministres. Il convient de veiller à ne pas faire remonter au niveau du décret en Conseil d’Etat délibéré en conseil des ministres des dispositions dont le contenu ne justifie pas un tel niveau normatif. Dans la présentation du code, l’usage actuel est que les articles « LO » et « L. », pour la partie législative, et les articles « R », « R », « D » et « D », pour la partie réglementaire, ne sont pas regroupés mais suivent une numérotation continue. Il doit être signalé que certains codes réalisés avant la mise en place de la Commission supérieure de codification retiennent des règles différentes, par exemple une mention R** pour les décrets en Conseil d’Etat délibérés en conseil des ministres, ou encore une séparation des parties R et D. Toute modification substantielle de ces codes doit être l’occasion de mettre en œuvre les règles contemporaines d’identification du niveau de l’article et, dans toute la mesure du possible, de procéder a une mise a jour générale du code a cet égard. Ne sont codifiés ni les textes constitutionnels, ni les textes internationaux et de l’Union européenne (qui font parfois l’objet d’une codification au niveau de l’Union européenne). Il peut s’avérer nécessaire dans le souci d’une bonne information de l’usager de procéder a la codification des arrêtés ministériels ou interministériels, identifiés sous des articles en « A » (voir, par exemple, le code de commerce). Cette partie peut alors être jointe au code selon la matière. Le projet n’est pas soumis a la Commission supérieure de codification. La codification des arrêtés relève de la compétence du ministre et s’opère par arrêté ministériel ou interministériel.