Open Data juridique : l’utilisation de la base LEGI

Suite au rapport sur l’ouverture des données publiques que le magistrat à la Cour des comptes et développeur Debian Mohammed Adnène Trojette a remis au Premier ministre le 5 novembre 2013, la majorité des bases de données juridiques de l’administration française ont été rendues disponibles en Open Data.

Ainsi, depuis juin 2014, la base LEGI, composée de l’ensemble des codes, lois et règlements français, est mise à disposition par la DILA, la Direction de l’information légale et administrative. La base complète est fournie environ deux fois par an sous la forme d’un ficher archive compressé, auquel viennent s’ajouter des mises à jour quotidiennes.

La base LEGI est très imposante. La dernière archive complète (Freemium_legi_global_20160406-082840.tar.gz) pèse 745 Mo, et elle se décompresse dans un répertoire legi d’une taille variant entre 9 et 15 Go selon votre système de fichiers.

Une fois que les données sont en Open Data, toutes les initiatives deviennent possibles. Voici les six projets que j’ai pu référencer :

NomArchéo Lexlegi.pyLegi DisplayLegit.jllegifrance-goCodes Droit.org
AuteurSeb35ChangacoSedLexeraviart (Etalab)SteeveHabett
Origine des donnéesLEGILEGILEGILEGILégifrance puis LEGILégifrance puis LEGI
ProductionDépôts GitTest des donnéesPlugin WordPressDépôts GitDépôt GitPDF et ePub
LangagePythonPythonPHPJuliaGoPerl
SGBDSQLite (Peewee)SQLiteMySQL---
LicenceWTFPLCC0GPLMITGPLPropriétaire

Le projet le plus ancien est les Codes pour Droit.org, qui a précédé l’ouverture de la base LEGI. Ce projet avait donc commencé en récupérant directement les données du site web Légifrance.

Le seul projet a avoir bénéficié d’une importante couverture médiatique -d’un gros buzz-, avec articles sur Le Monde et Le Figaro, tweets de Maître Éolas et de la secrétaire d’État chargée du numérique Axelle Lemaire, et en conséquence plus de 2 500 étoiles sur GitHub, est le Code civil que Steeve fournit sous la forme d’un dépôt Git.

Paradoxalement c’est un projet techniquement très limité :

  • seulement deux codes fournis (d’abord le Code civil, puis le Code pénal)
  • récupération des données du site web Légifrance alors que la base LEGI était disponible depuis presque un an
  • logiciel de génération des codes jamais distribué, donc propriétaire

Cependant, il a eu le grand mérite de faire connaître au grand public ce qui est sûrement l’innovation la plus importante que l’informatique peut apporter à l’étude des textes juridiques : une bonne visualisation des changements entre les versions grâce aux diff générés par un logiciel de gestion de versions comme Git.

Diff Article 34 du Code civil

Archéo Lex, un projet complet qui fournit tous les codes de la base LEGI sous la forme de dépôts Git ainsi que le logiciel utilisé pour les générer, était pourtant apparu plusieurs mois avant le Code civil de Steeve…

Enfin, la mission Etalab s’est emparée de la démarche et a fourni tous les codes et toutes les lois non codifiées sous la forme de dépôts Git ainsi que Legit.jl, le logiciel utilisé pour les générer. C’est très bien, mais je trouve que le choix du langage de programmation Julia est contestable, non pas d’un point de vue technique, mais d’un point de vue communautaire. En choisissant un langage aussi confidentiel, on se prive de toute chance de voir des contributeurs extérieurs s’y intéresser…

Concernant la qualité des données de la base LEGI, Seb35 remercie la DILA pour la très bonne qualité des métadonnées tandis que Changaco indique avoir été un peu découragé par la structure médiocre des données.

Personnellement, je pense que le manque de dynamique autour de la base LEGI, qui est pourtant l’une des plus intéressantes de l’Open Data en France, s’explique par la complexité de l’organisation des données qui la rend difficilement exploitable. Ainsi, la dernière version de la base est composée de 1 624 783 fichiers XML, répartis dans une arborescence absconse de 1 537 949 sous-répertoires. Je suis convaincu qu’il reste encore plein de choses à faire pour rendre ces riches données plus accessibles et plus exploitables.

Mise à jour du 16 novembre 2016 : Tous les codes sont présents dans la branche everything du Code civil de Steeve, et ils ont été générés à partir de la base LEGI avec le logiciel libre legifrance-go.

Tags: , , , , , , , , ,

11 Responses to “Open Data juridique : l’utilisation de la base LEGI”

  1. dbkblk dit :

    Bonjour,

    Vraiment merci pour cet article. Je travaille depuis plusieurs mois sur un projet qui permettrait d’améliorer la visualisation des textes.

    Bien qu’utilisant Windows intégralement (à cause des jeux ;)), j’ai 6 ans de culture Debian et je réflechis à le publier en open-source. Pour l’instant, pas d’interface graphique, mais c’est la prochaine étape.

    Si des développeurs sont intéressés, merci de me contacter sur mon profil github éponyme.

    Hadrien.

  2. Changaco dit :

    Merci pour ce billet. 🙂

    Quelques précisions :

    Mon projet legi.py n’était pas voué au test des données. Si cette fonctionnalité a été développée c’est parce que la base LEGI est construite d’une telle manière qu’elle peut être incohérente, et elle l’était, j’ai donc contacté la DILA pour leur signaler les problèmes, et ça les a aidé: https://twitter.com/cottinstef/status/689486466632826880

    legi.py n’est pas terminé, je n’ai juste pas eu le temps de le continuer (car j’ai passé la deuxième moitié de 2015 et tout 2016 à lancer Liberapay). Si un développeur python lit ces lignes et est intéressé par le projet, je l’encourage à le dire (en créant un ticket sur GitHub) et je l’aiderai à faire avancer le projet vers son but originel : la conversion de la base vers un format plus compact et facile à utiliser, actuellement une base SQLite mais peut-être aussi d’autres à l’avenir.

  3. Carl Chenet dit :

    Merci pour ce résumé de la situation. Des évolutions techniques à prévoir pour améliorer la consultation de cette base, par exemple une api rest, ou c’est bloqué à ce niveau-là ?

  4. CL dit :

    De 9 à 15 Go une fois l’archive décompressée ; comment expliquer un tel écart ?

  5. Seb35 dit :

    Merci pour ce tour d’horizon. Dans le panorama il y a aussi Parol [1] plutôt orienté visualisation et La Fabrique de la Loi [2] se concentrant sur le suivi des amendements parlementaires mais qui excelle dans ce domaine.

    Pour ma part, je n’y ai plus consacré de temps depuis plus d’un an. Je reste intéressé par l’idée générale d’améliorer la visualisation des lois, mais je ne peux pas vraiment actuellement y passer du temps. À la suite d’Archéo Lex, j’avais commencé une bibliothèque pour industrialiser le processus, notamment la lecture des diffs, mais ça n’est pas vraiment terminé.

    En tous cas, plein de bonnes idées sont apparues, il resterait à tout rassembler pour en faire une plate-forme aboutie tant technologiquement que dans son utilisabilité, et idéalement qui ne serait pas trop confidentielle / connue des seuls libristes en légistique.

    [1] https://www.lewagon.com/blog/parol-outil-collaboratif-texte-loi
    [2] https://www.lafabriquedelaloi.fr/

  6. Emmanuel Raviart dit :

    Concernant le choix du langage pour Legit.jl : il faut savoir que la conversion de la base LEGI au format Git prend énormément de temps (plusieurs jours actuellement sur mon PC). Si on veut l’actualiser tous les jours, il est donc préférable d’utiliser un langage de programmation rapide comme : C, C++, Go, etc. Comme j’apprenais Julia à l’époque, j’ai choisi ce langage.

    Par ailleurs, il est un peu exagéré de dire que « la mission Etalab s’est emparée » : c’est une initiative personnelle faite sur mon temps libre, que j’ai mise sur les dépôts Git d’Etalab, car cela cadrait avec nos missions. Si cela avait été un projet officiel d’Etalab, je ne l’aurai peut-être pas codé en Julia (bien que ce langage commence à être bien
    utilisé par la communauté scientifique, justement en raison de ses performances).

  7. […] Free (libre) software and free (libre) culture (science and law) « Open Data juridique : l’utilisation de la base LEGI […]

  8. […] je l’indiquais dans mon article sur la base LEGI, cette dernière est assez volumineuse et structurée d’une manière très complexe. Ainsi, […]

Leave a Reply