Allison Fiorentino
Un programme qui vérifie les renvois qu'un code fait à lui-même. Il ne connaît pour l'instant que deux codes, celui du travail et celui de la sécurité sociale.
Vérificateur de renvois internes
Le point de départ est banal. Un article renvoie au « deuxième alinéa de l'article L. 1234-5 ». Que cet alinéa soit récrit quelques années plus tard, et la cohérence entre les deux textes n'est plus assurée. À l'échelle d'un code entier, ces décalages sont nombreux, et personne n'en tient le compte.
L'autrice étant travailliste, le programme a été réglé sur les deux codes qu'elle connaît le mieux : le code du travail et le code de la sécurité sociale. L'extension aux autres codes est possible, mais demanderait un peu plus de travail et, surtout, la vérification de spécialistes de la matière.
Ce que fait le programme
Il charge le code, travail ou sécurité sociale, tel qu'il est en vigueur, en dresse l'annuaire, puis relit chaque article avec une loupe réglée sur la forme des numéros propre à ce code — quatre chiffres avant le tiret dans le code du travail, trois dans celui de la sécurité sociale. Il repère au passage les mots qui annoncent un ancrage précis, « au troisième alinéa de », « au 3° de », puis confronte chaque renvoi à sa cible : l'article cité existe-t-il encore, est-il promis à l'abrogation, l'alinéa ou le numéro visé existe-t-il toujours, la cible a-t-elle été récrite après le texte qui la cite.
Chaque réponse embarrassante devient une fiche, avec l'extrait de l'article citant, le numéro visé surligné, le diagnostic et la place de l'article dans le plan du code. Le relevé est une page HTML rangée sur le poste, consultable hors ligne, dotée d'un champ de filtre.
Ce que donnent les six onglets
Les résultats sont rangés en six onglets, répartis en trois régimes que signale une couleur.
- En rouge, l'anomalie avérée — l'article cité ne figure plus dans le code, ou bien il existe encore mais l'alinéa ou le numéro visé n'y est plus. Il n'y a rien à vérifier : le renvoi ne mène nulle part ; reste à décider ce qu'il faut lire à la place.
- En ambre, l'anomalie à échéance — la cible est promise à l'abrogation à une date connue, que la fiche indique ; ou le texte nomme une institution supprimée, DIRECCTE, Pôle emploi, comité d'entreprise, caisse régionale d'assurance maladie. Rien n'est faux aujourd'hui, mais la correction est écrite d'avance.
- En bleu, la simple vérification — la cible a été récrite après le texte qui la cite, ce qui fait peser un doute sans rien prouver. Le doute est sérieux quand le renvoi vise un point précis, puisque la récriture a pu le déplacer ; il est plus ténu quand le renvoi vise l'article entier. Les fiches y sont classées de la récriture la plus récente à la plus ancienne.
Un relevé, pour voir
Une fois le code téléchargé, l'examen prend moins de deux secondes, qu'il porte sur un chapitre ou sur le code entier. Le mieux est d'ouvrir un relevé : on y voit aussitôt de quoi il retourne, et combien de renvois un code peut compter qui ne tombent plus juste.
Ce qu'il faut pour le faire marcher
Le programme est un fichier Python, qui s'exécute lorsqu'on double-clique dessus. Python doit être installé sur la machine : toute version 3 à partir de la 3.7 convient, celle que propose la page d'accueil de python.org étant recommandée. Rien d'autre n'est nécessaire : aucune bibliothèque à ajouter, aucune clé d'accès, aucun compte, aucun serveur. Le programme n'utilise que ce que Python contient d'origine, fenêtre comprise. La connexion Internet ne sert qu'au téléchargement du code.
Il fonctionne sous Windows comme sous macOS, et sous Linux au besoin ; l'autrice ne l'a éprouvé que sous Windows.
La fenêtre, en trois étapes
On choisit le code, travail ou sécurité sociale ; on choisit dans son plan la partie à examiner, du code entier jusqu'au chapitre ; on lance. Une ligne indique en permanence de quand date le code téléchargé. Un bouton demande s'il en existe une version plus récente ; un autre l'actualise, et dit alors ce qui a changé depuis la fois précédente — articles récrits, nouveaux, disparus.
Les pages produites à chaque utilisation se rangent à côté du programme, dans deux dossiers visibles : les codes téléchargés d'un côté, les relevés de l'autre, de sorte qu'on puisse faire le ménage à la main. Un bouton supprime du disque un code téléchargé sans toucher aux relevés.