Bonjour,
voilà les derniers progrès/changement dans le développement de DuraLex/SedLex.
DuraLex est le programme qui analyse les projets de loi pour les transformer en code informatique pour en automatiser le traitement. SedLex est un second programme qui utilise le code généré par DuraLex pour produire automatiquement le texte de loi final pour le rendre compréhensible et donc votable par tous les citoyens.
Cette semaine, un nouveau pas important a été franchi : SedLex a été créé (déjà c’est pas mal) et fournit déjà un premier résultat fonctionnel et utilisable par tous. Voila un lien pour tester le résulat obtenu à partir de la prosition de loi 14-44 :
http://legilibre.fr/loi_77-729/
C’est important parce queque le texte original du projet de loi sur lequel il est impossible de se décider, par exemple :
est transformé en un affichage intuitif de la modification dans le texte original :
qui est donc lisible, compréhensible et peut donc être voté par tous. DuraLex / SedLex transforme donc automatiquement un projet de loi officiel en un site Web visualisable et votable par tous avec un suivi détaillé et intuitif des modifications.
Plus de détails ci-après.
Re-définition de DuraLex vs SedLex
DuraLex se limite désormais à l’annalyse du projet de loi, mais ne crée/génère aucun contenu. C’est maintenant le travail de SedLex.
Les intégrations à GitHub et Git décrites ici ont donc été transférées dans SedLex.
Intégration de GitBook dans SedLex
GitBook est une technologie française, open source et libre pour créer un site Web statique à partir de fichiers texte au format Markdown.
SedLex utilise GitBook pour générer un site Web à partir des données générées par DuraLex. Pour un projet de loi donné, voilà comment ça fonctionne :
- DuraLex transforme le texte original du projet de loi en une structure automatisable qui décrit les changements apportés par ce dernier
- SedLex récupère cette structure et le texte original des lois à modifier pour appliquer ces changements sous forme de patchs
- SedLex génère des fichiers texte au format Markdown décrivant chaque article et chaque texte modifié
- SedLex appelle GitBook pour génèrer un site Web à partir de ces fichiers
Par exemple, pour la proposition de loi 14-44, DuraLex/SedLex va générer le site Web suivant :
http://legilibre.fr/loi_77-729/
Le site Web généré par GitBook inclut :
- un lien vers le texte original du projet de loi
- pour chaque article du projet de loi :
- le texte de cet article
- le lien vers l’issue GitHub correspondante pour avoir une vue « expert » du suivi des modifications
- pour chaque modification apportée par cet article
- la référence à la section de l’article qui décrit la modification
- une description de la modification telle qu’interprétée par DuraLex
- un affichage intuitif de la modification dans le texte
- pour chaque texte de loi modifié :
- le texte de loi original avec affichage intuitif des modifications
- pour chaque modification de ce texte, un lien vers la section de article/la modification détaillée
Le site ainsi généré propose donc des liens projets de loi <=> modifications <=> texte de loi original. Il est également relié à GitHub pour une visualisation approfondie et détaillée ainsi que les commentaires.
Autres fonctionnalités :
- un moteur de recherche temps-réel
- des boutons de partage sur les réseaux sociaux (Facebook, Twitter, Google+…)
- une interface « responsive » qui fonctionne aussi sur smartphone et tablette
- une interface de configuration du texte (taille, style, couleurs…)
Toute la génération se fait via un sytème de templates utilisant jinja2. Il est donc très facile de modifier comment le site Web est généré et même d’imaginer d’autres types d’export (PDF ou ebook par exemple).
Affichage intuitif des modifications
Un affichage intuitif des modifications a été implémenté au format HTML.
Voilà un exemple pour montrer deux suppressions de texte :
Hébergement sur GitHub
Le site Web généré par GitBook est hébergé directement sur GitHub via la fonctionnalité GitHub Pages. Concrètement, ça veut dire que ça nous coûte 0 et c’est l’infrastructure de GitHub qui prend la charge, quel que soit le nombre de visiteurs.
Le nom de domaine legilibre.fr a été configuré pour rediriger vers GitHub Pages. Donc on peut accéder au site hébergé par GitHub Pages mais avec le nom de domaine que l’on veut. Le site http://legilibre.fr/loi_77-729/ est donc bien hébergé par GitHub !
On pourrait faire de même avec mavoix.info, par exemple projet.mavoix.info ou plateforme.mavoix.info.
Le fait d’héberger d’utiliser GitHub comme hébergeur veut également dire que les pages du site Web sont versionnées et qu’elles seront facilement automatiquement mise à jour (avec les amendements par exemple) tout en permettant un suivi des modifications (un suivi des modifications du site qui permet de faire le suivi des modifications de la loi… oui oui…).
Prochaines étapes ?
- intégration de Cocorico (la plateforme de vote) dans SedLex pour générer automatiquement un vote et ajouter un lien pour voter / voir les résultats de ce vote
- automatiser la récupération des textes de loi originaux via ArcheoLex
N’hésitez pas si vous avez des questions