Legifrance Integration

by hurj
5
4
3
2
1
Score: 50/100
New Plugin

Description

Intégration de l'API Légifrance dans Obsidian.md

Reviews

No reviews yet.

Stats

7
stars
downloads
0
forks
0
days
0
days
0
days
2
total PRs
0
open PRs
0
closed PRs
2
merged PRs
0
total issues
0
open issues
0
closed issues
59
commits

Latest Version

5 hours ago

Changelog

README file from

Github

Legifrance Integration

Version 2.0 — votre coffre devient une base de références juridiques

Le module ne sert plus seulement à chercher et à créer des notes : il lit vos notes (sans LLM !) repère les décisions, lois et articles qu'elles citent, les retrouve sur Légifrance, en garde le texte et vous aide à les exploiter.

Nouveautés

  • Références juridiques d'une note (commande « Afficher les références juridiques ») : panneau latéral qui liste les décisions, textes et articles cités dans la note affichée, avec leur lien Légifrance. Sont reconnus les décisions (Conseil d'État, Cour de cassation, Conseil constitutionnel, Tribunal des conflits…) citées par leur numéro, leur date, leur nom, leur identifiant ou leur ECLI ; les lois, par leur date ou leur nom usuel (« loi Informatique et Libertés ») ; les articles de codes ; les textes de l'Union (RGPD, TFUE, DSA…). Une référence introuvable ou erronée se précise ou se corrige depuis le panneau (le choix manuel n'est jamais écrasé).
  • Base de données (legifrance.sqlite, dans le dossier du plugin) : elle enregistre qui cite quoi dans tout le coffre, l'adresse Légifrance, le statut de vigueur et le texte des articles, ainsi que les métadonnées et le texte intégral des décisions. Une fois lues, les décisions et articles se consultent sans nouvelle requête. La vue « Afficher la base de données et cycle » montre l'avancement de chaque étape (analyse des notes, textes retrouvés, décisions complétées, généalogie, fiches), ce qui reste « À faire » et le contenu des tables. Les tâches longues (indexer, compléter, actualiser…) se lancent depuis les réglages.
  • Fiches de décisions : une note dont une propriété désigne une décision est une fiche. Le bouton « Compléter » renseigne ses propriétés depuis Légifrance (date, formation, solution, ECLI…) et la lie à la décision par son identifiant. La décision est cherchée par numéro ou par nom (Légifrance, ArianeWeb, Revue générale du droit). Les écarts entre fiche et Légifrance sont signalés.
  • Analyse de la jurisprudence : statistiques du corpus, chronologie des décisions, articles les plus appliqués (avec la version de l'article en vigueur le jour de la décision), généalogie entre décisions (« revient sur », « précise », « confirme »), recherche plein texte dans les décisions et articles enregistrés.
  • Articles de la note : statut de vigueur, texte, versions, décisions qui appliquent chaque article, et notes d'articles créées et tenues à jour automatiquement (seules les parties balisées sont réécrites).
  • Insertion dans la note (commande « Insérer… ») : table des décisions citées, plan « thème → décisions → articles », bibliographie.
  • Export de la bibliographie (commande « Exporter la bibliographie… ») : Markdown, CSV, BibTeX, RIS, pour la note ouverte ou tout le coffre, avec filtre par thème ou par période.
  • Création de note sans doublon : avant de créer une note depuis un document, le module vérifie que le coffre ne l'a pas déjà (par identifiant Légifrance, ou par numéro). Une note trouvée est ouverte ; en cas de doute, vous choisissez la fiche à lier ou demandez une nouvelle note.
  • Tous les fonds de l'API : recherche et lecture des codes, lois et règlements, Journal officiel, circulaires, conventions collectives et accords d'entreprise, en plus de la jurisprudence.
  • Identifiants PISTE dans le trousseau d'Obsidian : le client ID et la clef secrète ne sont plus écrits dans data.json mais dans le trousseau (Réglages → Légifrance Intégration → Connexion à PISTE). Vos identifiants actuels y sont déplacés automatiquement au premier lancement. Le trousseau est propre à chaque appareil : sur un autre appareil (mobile compris), il faut choisir ou saisir à nouveau les secrets. Nécessite Obsidian 1.13.2 ou plus.
  • Palette de commandes simplifiée : Nouvelle recherche, Afficher les références juridiques, Afficher les articles, Analyse de la jurisprudence, Afficher la base de données et cycle, Insérer…, Exporter la bibliographie…. Les opérations de maintenance sont dans les réglages.

Pour commencer

  1. Installez ou mettez à jour le module, puis ouvrez les réglages.
  2. Section « Base de données » : lancez Indexer le coffre, puis Compléter les décisions, articles et textes (une à deux requêtes par référence ; le débit se règle dans « Requêtes par minute »).
  3. Section « Fiches de décisions » : indiquez la propriété qui désigne vos fiches et celle qui garde l'identifiant Légifrance. Les valeurs par défaut conviennent au modèle de note fourni.
  4. Ouvrez une note et affichez ses références juridiques.

🚨 Après la mise à jour, si le module ne se lance plus, désinstallez-le puis réinstallez-le.

Roadmap

  • Ajout de Judilibre dans les sources
  • Ajout d'autres fonds (si vous avez des idées / besoins, n'hésitez pas !)

Confidentialité et divulgations

  • Réseau : le plugin n'envoie de requêtes qu'à Légifrance (API PISTE : api.piste.gouv.fr, oauth.piste.gouv.fr) et, pour retrouver une décision absente de Légifrance, à ArianeWeb (conseil-etat.fr), à la Revue générale du droit (revuegeneraledudroit.eu, via public-api.wordpress.com) et au site du Conseil constitutionnel (conseil-constitutionnel.fr). Aucune donnée n'est envoyée ailleurs et le plugin n'a ni télémétrie ni publicité. Le contenu de vos notes ne quitte jamais votre ordinateur : seules les références juridiques repérées (« Cass. civ. 1re, 3 mars 2020, n° 19-12.345 ») servent à formuler les requêtes.
  • Identifiants PISTE : conservés dans le trousseau d'Obsidian (SecretStorage), jamais dans data.json.
  • WebAssembly : main.js embarque SQLite compilé en WebAssembly (sql.js, sql-wasm.wasm) pour la base de références. Aucun autre binaire, aucun accès à des fichiers hors du coffre.
  • Parcours du coffre : l'indexation lit les notes Markdown (API Obsidian) pour y repérer les références juridiques. Seules les propriétés des fiches (et les parties balisées des notes d'articles) sont écrites, et toujours par l'API d'Obsidian.
  • Presse-papiers : écrit uniquement à votre demande (export de la bibliographie vers le presse-papiers, bouton « Copier le diagnostic »). Il n'est jamais lu.
  • Stockage du navigateur : le plugin retient seulement quelles rubriques du panneau des références sont repliées.
  • Provenance : les fichiers de chaque release (main.js, styles.css) sont accompagnés d'une attestation GitHub qui prouve qu'ils sortent de ce dépôt (gh attestation verify main.js --repo carnetdethese/legifrance-integration).

Soutien

Si vous souhaitez soutenir le projet, vous le pouvez via ce lien :

Note sur l'utilisation de l'IA pour le développement

La première version du plugin (Légifrance Intégration v1) a été développée sans IA (ou marginalement). J'avais laissé le développement de côté par manque de temps et par blocage technique. L'amélioration des outils d'IA génératifs m'ont permis de redonner vie à ce projet.

La v2 est donc le résultat d'une expérimentation avec Claude code (j'ai utilisé Sonnet 5.5, Medium / Élevé) pour pousser plus loin les capacités du module et intégrer tout ce que j'avais envisagé lorsque j'ai commencé le projet. Je me suis assuré, à chaque étape, que les fonctionnalités ajoutées répondaient correctement à mes attentes, avec un processus itératif complet, la mise en place de tests visant à éviter les régressions, et de plusieurs audits, à différents stades de développement, visant à vérifier l'absence de failles de sécurité, l'amélioration de la performance et le maintien de l'intégrité à tout moment des notes.

Je n'ai intégré, dans le plugin lui-même, aucune fonctionnalité d'IA, par choix. Si les LLM m'aident à développer, je ne souhaite en revanche pas leur soumettre l'intégralité de mes notes.

Je n'ai sans doute pas le worflow parfait, mais je pense m'en être plutôt bien sorti et avoir réussi à produire un module fiable et utile pour le travail des juristes sur Obsidian !