- Un dépôt qui gère en fichiers Markdown plus de 8 600 lois depuis 1960, collectées via l’API publique du BOE du gouvernement espagnol
- Chaque loi est stockée avec des métadonnées YAML, et tout l’historique des révisions est suivi via des commits Git
- Il inclut l’ensemble du corpus législatif consolidé au niveau national, comme la Constitution, les lois organiques, les lois ordinaires et les décrets-lois royaux, et chaque commit enregistre un lien vers la source officielle
- Les textes juridiques sont fournis dans le domaine public, et le dépôt ajoute des fonctions de structuration, gestion de versions et comparaison
- Le projet doit s’intégrer à l’API Legalize.dev pour offrir à terme des fonctions étendues comme la recherche juridique, la comparaison de versions et les alertes sur les changements
Aperçu
- Un projet qui gère l’ensemble du droit espagnol sous forme de dépôt Git, où chaque loi est constituée d’un fichier Markdown et où tout l’historique des révisions est enregistré sous forme de commits
- Il comprend plus de 8 600 lois depuis 1960, avec des données récupérées via l’API publique du BOE (Boletín Oficial del Estado) du gouvernement espagnol
- Ce dépôt fait partie du projet Legalize et permet la gestion de versions, la comparaison et le suivi des textes juridiques
- Les textes juridiques sont fournis dans le domaine public, et le dépôt apporte des fonctions de structuration, métadonnées et gestion de versions
Structure des fichiers
- Toutes les lois sont stockées sous forme de fichiers Markdown dans le répertoire
spain/
- Ex. :
BOE-A-1978-31229.md correspond à la Constitution espagnole, BOE-A-1995-25444.md au Code pénal, BOE-A-2015-11430.md au Statut des travailleurs, BOE-A-2000-323.md à la loi de procédure civile
- Chaque fichier commence par des métadonnées frontmatter au format YAML
- Inclut des champs comme
titulo, identificador, pais, rango, fecha_publicacion, ultima_actualizacion, estado, fuente
- L’exemple indique pour la Constitution (
Constitución Española) la date de publication, la date de dernière mise à jour, le statut (vigente) et l’URL de la source officielle
Périmètre des lois incluses
- Inclut tous les textes consolidés classés au niveau national dans le BOE
- Constitution, lois organiques (
Leyes Orgánicas), lois ordinaires (Leyes ordinarias), décrets-lois (Decretos-ley), décrets législatifs royaux (Reales Decretos Legislativos)
- Chaque révision est enregistrée comme un commit indépendant, dont la date reflète la date officielle de publication
- Les messages de commit incluent l’identifiant de la révision et le lien vers la source officielle
Exemples d’utilisation
- Après avoir cloné le dépôt, il est possible de rechercher un article précis d’une loi ou de consulter son historique des modifications
- Ex. : rechercher l’article 135 de la Constitution avec la commande
grep
- Vérifier l’historique des modifications de cet article avec
git log
- Comparer les changements détaillés de la réforme de stabilité budgétaire de 2011 avec
git diff
Source des données et licence
- Toutes les données proviennent de l’API de législation consolidée du BOE
- Les textes juridiques relèvent du domaine public, et le dépôt ajoute uniquement des fonctions de structuration et de gestion de versions
- La structure du dépôt, les métadonnées et les outils sont distribués sous licence MIT
API et plans d’extension
- L’API Legalize doit bientôt être proposée sur legalize.dev
- Elle doit prendre en charge la recherche juridique, le filtrage, la comparaison de versions et les alertes sur les changements
Comment contribuer
- En cas d’erreur dans un texte consolidé ou de révision manquante, il est possible d’ouvrir une issue en indiquant le nom de la loi, l’article concerné et la source officielle pour proposer une correction
Créateur
- Le projet a été créé par Enrique Lopez
- Il s’inscrit dans le cadre du projet Legalize et est lié à legalize.dev
1 commentaires
Commentaires sur Hacker News
En France, les lois ne sont pas seulement versionnées, elles peuvent aussi être formellement prouvées
Le langage Catala permet de traiter le droit comme du code
Édition : il y a aussi pas mal de Français ici. Au moins cinq personnes parlent de gestion de versions en citant Légifrance
Lorsqu’on implémente la logique de calcul des impôts ou des prestations sociales, cela permet de vérifier bien plus précisément que dans un langage généraliste si le résultat correspond réellement au droit applicable
J’ai construit un pipeline qui convertit l’ensemble de la législation nationale espagnole en un dépôt Markdown versionné
Chaque loi est un fichier, et chaque modification est enregistrée comme un commit git avec sa date réelle. Il y a au total 8 642 lois et 27 866 commits
Au fond, le droit n’est qu’une « succession de patchs », donc je pense que git est déjà la solution. Au lieu de formulations du type « supprimer l’alinéa 3… », on peut voir les changements réels sous forme de diff
La source utilise l’API des textes consolidés du journal officiel espagnol (BOE), et j’ai monté le tout en environ 4 heures avec Claude Code
J’explore maintenant s’il serait possible d’en faire une API juridique ou une plateforme open data
On pourrait aussi analyser quelles lois sont les plus souvent citées, ou quelles formulations ont nécessité des interprétations répétées
Avec une API officielle comme en Espagne, ce serait bien plus efficace, alors qu’en Allemagne des organismes privés vont jusqu’à revendiquer des droits d’auteur
Au Royaume-Uni aussi, via legislation.gov.uk, on peut suivre tout l’historique des modifications
Les grands cabinets ont déjà leurs propres bases de données, ce qui réduit l’intérêt commercial des services payants
Voir ce lien vers le code fiscal de l’IRS
Ce type de projet est une excellente avancée pour améliorer la transparence des données juridiques
Cela pourrait servir de base pour relier l’IA à la compréhension et à l’explication du droit
J’espère voir des initiatives similaires apparaître dans d’autres pays
Ce serait encore plus intéressant si l’auteur des commits était le responsable politique de la modification
On pourrait alors utiliser
git blamepour voir directement qui a fait cette loiPar exemple, transformer les failles en cas de test, puis lancer des tests de régression à chaque changement de la loi pour vérifier que rien ne casse
Je trouve que c’est une idée géniale. J’aimerais qu’un tel système existe pour les lois de tous les pays
Comme dans les cas de lobbying pour maintenir la déclaration d’impôts compliquée, le monde des avocats pourrait aussi chercher à freiner la transparence et l’efficacité
Voir cet article connexe
L’État du Maryland l’a déjà adopté sur regs.maryland.gov,
et le dépôt GitHub est lui aussi public
Nous aidons les communautés locales à publier leurs textes officiels sur GitHub
Je suis moi aussi en train de faire quelque chose de similaire pour les projets de loi de l’État de Californie
Je pense que cette approche devrait devenir la méthode standard. Je me suis toujours demandé pourquoi l’original de ce type de documents n’était pas dans un dépôt git
Dans une lecture plus charitable, cela vient peut-être simplement du fait qu’il y a très peu de gens dans le monde juridique capables de comprendre ou de mettre en œuvre ce genre de technologie
Excellent projet. La plupart des lois de l’époque franquiste ont été abrogées en 1978, mais il y a encore des lois antérieures au XIXe siècle
En revanche, la source commence en 1960 avec un seul commit, donc il n’y a pas d’historique détaillé des modifications antérieures
Le BOE a même numérisé des documents remontant au XVIIe siècle, ce qui montre un niveau de conservation des archives impressionnant
La limite de Git, c’est que
git blamene fonctionne pas vraiment iciCe serait bien de savoir qui a voté pour ou contre, mais git n’est pas structuré autour de commits collaboratifs
Quoi qu’il en soit, mettre l’ensemble du droit d’un pays dans git reste déjà un accomplissement remarquable
Co-Authored-ByCette pratique vient du développement du noyau Linux
C’est l’auteur du post (OP). Je ne m’attendais pas à une réaction d’une telle ampleur
Comme beaucoup l’ont demandé, j’ai publié le code → GitHub: legalize-dev
Le pipeline a été conçu avec une architecture multi-pays. La France (données Légifrance) fonctionne déjà,
et pour ajouter un nouveau pays, il suffit d’implémenter 4 interfaces Python
J’ai aussi rédigé un guide de contribution
J’ai déjà reçu des marques d’intérêt d’Allemagne, du Portugal, de Suède, de Finlande, des Pays-Bas, du Brésil, etc.
Si vous connaissez des sources ouvertes de données juridiques dans votre pays, ce serait formidable d’aider via une PR
Comme le projet grandit, il faut désormais de l’infrastructure, donc je prépare un financement via Open Collective
Il existe aussi un site où l’on peut voir les lois et les diff en temps réel
Ce n’est pas encore très stable, mais la vision d’ensemble est ambitieuse
Félicitations ! C’est vraiment un très beau projet
Il y avait autrefois une initiative similaire appelée gitlaw, et au Brésil il existe le standard LexML, qui exprime techniquement les évolutions du droit
C’est assez complexe, mais l’approche est intéressante