Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Duralex Sedlex

BlueHats
December 06, 2018

Duralex Sedlex

BlueHats

December 06, 2018
Tweet

More Decks by BlueHats

Other Decks in Technology

Transcript

  1. A propos de moi • Entrepreneur • Contributeur à Légilibre

    (https://github.com/legilibre) • Différents projets OS “civictech” ◦ Cocorico (https://github.com/promethe42/cocorico), plateforme de vote en ligne sur la blockchain ◦ assemblee-nationale.sh (https://framagit.org/parlement-ouvert/assemblee-nationale.sh), drop-in pour transformer le site de l’Assemblée Nationale en XML ◦ DuraLex/SedLex, compilateur de projet de loi vers git/diff ▪ https://github.com/legilibre/DuraLex ▪ https://github.com/legilibre/SedLex
  2. La légistique : exemple d’amendement Article 4, Alinéa 6 Remplacer

    les mots : "et qui ne font pas" par les mots : "le cas échéant après concertation entre les administrations mentionnées au premier alinéa de l’article L. 300-2 du présent code lorsqu’elles font déjà”
  3. Parallèle avec git • Codes / loi en vigueur =>

    dépôt • Projet de loi => branche • Lecture / vote => merge request • Amendement => commit Est-ce que cette équivalence s’applique dans la réalité ?
  4. Mais des différences pratiques & historiques • En programmation, on

    modifie le code existant pour produire un diff. • Les diffs sont écrits dans un format structuré. • L’application des patchs est automatisées. • L’application du patch est déterministe. • On rédige un amendement pour modifier le code existant. • Les amendements sont rédigés en français naturel. • L’application d’un amendement est manuel. • L’application d’un amendement n’est pas déterministe. VS git légistique
  5. Objectifs de DuraLex/SedLex • Transformer l’existant légistique pour le rendre

    automatisable. • Compatibilité avec les outils utilisés dans le développement ◦ git ◦ diff ◦ patch • Moderniser/automatiser la légistique et la navette législative • Permettre de créer des outils de traitement (automatisé) des projets de loi • Rendre automatiquement accessibles aux citoyens
  6. Article 4, Alinéa 6 Remplacer les mots : "et qui

    ne font pas" par les mots : "le cas échéant après concertation entre les administrations mentionnées au premier alinéa de l’article L. 300-2 du présent code lorsqu’elles font déjà" Amendement ID : 3 Edit Type: replace Article Reference ID : 4 Alinéa Reference ID : 6 Words Reference “et qui…” Words “le cas échéant…” DuraLex, le “frontend” français => arbre sémantique DuraLex
  7. SedLex, le “backend” : arbre sémantique => git Exemple: https://legilibre.fr/loi_77-729/

    AST DuraLex GitHub GitLab GitBook HTML • Création automatique de diff avec le texte original, commits, patch, etc... • Création automatique d’issues, de merge requests, etc… • Création automatique de diff visuel en HTML. • Reformulation de l’amendement en français naturel. • Création automatique de liens bidirectionnels entre amendements et textes impactés. git
  8. Comment contribuer ? • https://github.com/legilibre/duralex • https://github.com/legilibre/sedlex • Développé en

    Python 3 • Refonte en utilisant une grammaire PEG • Mettre en place une stratégie de tests • Outils connexes ◦ ArcheoLex (https://github.com/Legilibre/Archeo-Lex)