2 points par GN⁺ 2026-03-29 | 1 commentaires | Partager sur WhatsApp
  • 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

 
GN⁺ 2026-03-29
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

    • Catala n’est pas un outil qui « prouve » la loi, mais un langage qui exprime directement la structure logique (default logic) du droit tout en la traduisant sous une forme calculable
      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
    • Voir le nom « Catala » apparaître dans une discussion sur le droit espagnol m’a paru ironique
    • Il y avait déjà une discussion précédente sur ce sujet
    • « Borbaqui est la volonté du peuple ! » — cela ressemble à une blague très française
  • 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

    • L’intention d’une loi est souvent clarifiée par la jurisprudence, donc il serait très utile de superposer les décisions de justice aux articles de loi dans l’ordre chronologique
      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
    • Je me demandais sous quel format le journal officiel publie les lois. En Allemagne, ce n’est encore que du PDF, donc certains disent envier l’Espagne
      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
    • Dans le système romano-napoléonien, les modifications d’articles sont traçables, mais les interactions entre les lois dépendent encore de l’interprétation des juges et des avocats
      Au Royaume-Uni aussi, via legislation.gov.uk, on peut suivre tout l’historique des modifications
    • En Espagne, les textes consolidés ne couvrent pas tout, et le vrai problème est l’absence de données sur les décisions de justice
      Les grands cabinets ont déjà leurs propres bases de données, ce qui réduit l’intérêt commercial des services payants
    • Si le code fiscal américain était lui aussi exporté en Markdown de cette façon, tout le monde pourrait sans doute créer son propre TurboTax
      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 blame pour voir directement qui a fait cette loi

    • Ce serait bien d’y ajouter aussi une notion de tests unitaires
      Par 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

    • Le secteur juridique sait très bien que ce type d’efficacité menace son modèle économique
      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
    • Notre association Open Law Library construit justement ce type de système en collaboration directe avec les pouvoirs publics
      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
    • Les documents juridiques de tradition britannique sont eux aussi rédigés essentiellement sur une base de diff, ce n’est donc pas un secret réservé au secteur tech
    • Entièrement d’accord. C’est vraiment un travail remarquable
  • 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

    • Si l’on veut être cynique, on peut dire que les gouvernements ne veulent peut-être pas que les citoyens comprennent pleinement les lois
      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 blame ne fonctionne pas vraiment ici
    Ce serait bien de savoir qui a voté pour ou contre, mais git n’est pas structuré autour de commits collaboratifs

    • On pourrait sans doute contourner cela en ajoutant les résultats des votes ou des métadonnées dans le log des commits
      Quoi qu’il en soit, mettre l’ensemble du droit d’un pays dans git reste déjà un accomplissement remarquable
    • Git n’est pas optimisé pour les commits collaboratifs, mais on peut compenser avec des conventions communautaires comme Co-Authored-By
      Cette pratique vient du développement du noyau Linux
    • On pourrait aussi mettre le Parlement entier comme auteur principal, puis les partis et les résultats des votes comme coauteurs
    • En réalité, ces informations sont déjà publiques, donc un LLM pourrait aussi répondre. Certains plaisantent en disant que les nerds n’ont pas forcément besoin de git pour ça
    • Quand on squash une PR à plusieurs, elle peut apparaître comme un commit collectif, ce qui permet de conserver une trace de la collaboration
  • 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

    • Petite plaisanterie : « encore du XML ». L’Espagne a d’ailleurs participé un temps à LexML, mais semble depuis être passée à un autre format