Bonjour,
voilà les derniers progrès/changement dans le développement de DuraLex, le programme qui analyse les projets de loi pour les transformer en code informatique pour produire le texte de loi final avec le suivi des modifications et votable.
Intégration de « La Fabrique de la Loi »
Avant, il fallait installer/récupérer les données d’un projet de loi via the-law-factory-parser avant de pouvoir l’utiliser dans DuraLex.
Maintenant, le code de the-law-factory-parser qui permet d’analyser le projet de loi pour extraire la liste/le texte des alinéas a été intégré dans DuraLex et on peut directement passer l’URL d’un projet de loi au programme. Exemple :
duralex --url http://www.assemblee-nationale.fr/14/propositions/pion1561.asp
va automatiquement télécharger et analyser ce projet de loi pour décrire informatiquement les changements apportés au texte de loi original (la loi n° 77‑729 du 7 juillet 1977).
Tests unitaires
Jusqu’ici, les tests consistaient à comparer le résultat du programme avec des résultats pré-enregistrés sur une série de projets de loi. En cas de régression, il était très long de savoir quel bout/changement de code causait la régression.
Maintenant, le projet utilise des tests unitaires et chaque fonction est testée séparément en gérant un maximum de cas. Si une syntaxe n’est pas/plus correctement gérée, il devrait être simple de l’ajouter dans les tests et de réparer le problème. Exemple de tests pour les différentes syntaxes décrivant une référence à un alinéa:
C’est important car si on veut gérer de plus en plus de syntaxes différentes dans chaque projet de loi traité, il faut être efficace et ne pas casser l’existant.
Les tests passent maintenant à chaque soumission de modification du code et peuvent être suivis ici, et il est donc possible d’accepter/refuser les contributions des développeurs en fonction.
Gestion de nouvelle(s) syntaxe(s)
La syntaxe suivante est maintenant gérée (exemple : proposition N° 1561, Article 2, I) :
un {header1} et un {header2} ainsi rédigés :
{contenu du header1}
{contenu du header2}
Et maintenant ?
Nous allons travailler pour que ce projet de loi soit complètement automatisé dés la semaine prochaine :
- génération d’un dépôt git avec le texte de loi original venant de Legifrance via ArcheoLex
- récupération et analyse du projet de loi pour créer le patch correspondant via DuraLex
- application du patch et soumission pour le visualiser via GitHub
Ca sera donc le premier projet de loi avec un traitement automatisé et le suivi des modifications. Nous essaierons également d’y insérer le bouton de vote et nous aurons un exemple complet sur un cas réel de ce que nous proposerons aux citoyens.