Juricaf est une base de données de décisions de justice en français accessible gratuitement à l’adresse http://www.juricaf.org/. Créée à l’initiative de l’AHJUCAF, l’association des cours de cassation francophones et réalisée par le Laboratoire Normologie, linguistique et informatique du Droit de l’Université de Paris I, elle publie en février 2013 près de 800 000 documents issus de 42 pays et institutions francophones. Elle bénéficie également du soutien de l’Organisation internationale de la Francophonie.
Initiée en 2004, Juricaf a fait l’objet d’une refonte complète en novembre 2011.
Le cahier des charges était exigeant du fait des contraintes suivantes :
- Financières : le montant alloué était modeste pour un type de projet,
- Temporelles : une mise en ligne rapide en mois de huit mois,
- En volumétrie : 650 000 décisions initialement à intégrer,
- Techniques : des formats d’importation de décision hétérogènes (du XML jusqu’au fichier texte à numériser),
- Juridiques : respect des données personnelles.
Avec une équipe de documentalistes et d’informaticiens confirmés dans la manipulation des données publiques, le projet a pu être mené en moins de six mois. L’objectif a été de permettre la réalisation d’un outil parfaitement adapté aux usages des documentalistes juridiques et d’utiliser les dernières technologies libres en matière de moteur de recherche.
Juricaf a été lauréat en 2012 du prix I-Expo et du site Internet de l’année de l’International association of Law Librairies (IALL). Sa fréquentation est en progression constante avec près de 6 000 visiteurs uniques par jour.
Quels sont les facteurs-clés pour la réussite d’un tel projet ?
Le moteur de recherche est au cœur d’un tel outil. Ses performances sont liées à l’utilisation d’outils en Open source (I). Trois autres critères sont déterminants pour que le projet soit crédible :
- Une alimentation en décisions de justice et une mise à jour automatisée (II),
- L’ajout d’innovations documentaires (III),
- Une exposition maximale des métadonnées (IV).
I. L’utilisation d’outils en Open source
Ce qui distingue Juricaf des bases de données juridiques existantes, c’est son moteur de recherche et sa base de données.
A. Le choix d’un outil Open Source
La première raison de procéder à tel choix est le constat d’échec de la première version de Juricaf développée en 2004 avec la combinaison Windows Server/Oracle/Asp. Ce type de combinaison, face au nombre de documents n’était pas satisfaisante. En effet, l’affichage de la recherche était lente et la pertinence des résultats n’était pas assurée.
Au vu de cette première expérience, il a été décidé de faire un tour d’horizon des outils pouvant diffuser le droit. Les critères de sélection étaient :
- le coût de développement et de maintenance,
- la rapidité de recherche,
- la qualité de l’indexation,
- la nécessaire flexibilité des processus d’importation.
Les outils spécifiques à la gestion de la jurisprudence, au moment de la prise de décision, n’existaient pas. Nous nous pouvions que constater la présence de solutions développées spécifiquement, comme Légifrance, CanLii (pour le Canada), le site Internet du Tribunal fédéral suisse ou des solutions commerciales (Dalloz, LexisNexis Juriclasseur).
Apache Solr est apparu rapidement comme une évidence. En effet, il répondait à tous les critères de sélection et nous avons également constaté que ce moteur de recherche est intégré à des systèmes de gestion de contenu comme Drupal.
Après un appel à propositions, nous avons choisi une formule basée sur un partenariat fort avec le Laboratoire Normologie, linguistique et informatique du Droit de l’Université de Paris I. Ce laboratoire de recherche a mis à notre disposition deux informaticiens travaillant en free-lance et ayant d’excellentes références en matière de manipulation de données publiques et de conception de moteur de recherche.
B. Le moteur de recherche : Apache Solr
Pour le moteur de recherche, l’équipe de développement a utilisé Apache Solr qui permet une affichage par facettes des résultats de la recherche.
Les caractéristiques principales qui répondaient à notre projet sont les suivantes:
- la possibilité de recherche en full-text,
- le système dédié à un fort trafic,
- l’utilisation de standards ouverts : XML, JSON,
- le système de présentation des résultats en facettes,
- l’indexation des documents en base de données en temps réel (ajout, modification, suppression),
- une gestion du cache performante,
- Cette technologie open source a été intégrée dans un environnement Linux et programmé au moyen du langage PHP.
L’interrogation en plein texte des 800 000 décisions se fait dans un temps très court en raison du système d’indexation et de la mise en cache des recherches. Le système est configuré de façon à supporter un grand nombre de consultations.
C. La base de données : CouchDb
La base de données utilisée est CouchDb. Également en Open source, elle a la particularité d’être sous le format NoSQL. Ce format est tout à fait différent des bases de données classiques, dites SQL, présentes dans des outils comme Access ou Mysql.
Dans un système SQL, chaque base de données comprend des tables, qui sont elles-mêmes divisées en colonnes. Chaque enregistrement a pour caractéristiques les valeurs de chaque colonne.
Dans un système NoSQL, chaque base de données ne comprend que des enregistrements qui sont eux-mêmes divisés en champs. Chaque enregistrement est en fait un seul fichier texte JSON écrit en JavaScript.
Exemple de document en NoSQL (version avec les champs) :
Exemple de document en NoSQL (version texte enregistrée au format JSON) :
Comparatif entre SQL et NoSQL :
Alors que les tables font l’objet de relations dans un système SQL, ce n’est pas le cas dans un système NoSQL. Chaque document est indépendant.
Quatre avantages par rapport aux systèmes SQL :
- Un système de versions est installé nativement, permettant de garder chaque mise à jour du document. Il est possible de prévoir la suppression de versions antérieures automatiquement (par exemple, après dix versions),
- Il est possible de répliquer la base de données de façon automatique. Cette fonctionnalité est très utile pour gérer une version en cours de développement,
- En cas de changement de format de document et des champs des métadonnées, il n’est pas nécessaire, contrairement à Mysql, de changer toutes les colonnes et d’optimiser la base de données. C’est le grand avantage du système NoSql : en cas d’évolution des formats ou de montée en charge en nombre de documents, aucun changement technique n’est nécessaire. Il suffit simplement de modifier le code permettant de lire la base de données. Par exemple, dans Juricaf, malgré l’existence de champs différents pour les décisions de la Cour européenne des Droits et de l’Homme, des décisions françaises ou du Canada, ces particularités sont gérées lors de l’affichage du document et non dans la base de données.
- Il est possible d’interroger directement la base de données par l’URL et avoir une restitution au format JSON. Couplées à la librairie Jquery, il est très facile de mettre en œuvre certaines fonctionnalités, comme l’autosuggestion dans une interface de recherche même avec un nombre de données très important. Ce système permet de créer pour Juricaf des webservices, permettant notamment une interrogation pour la version IPhone de la base de données.
De même, à partir de la version JSON, il est facile de générer des versions XML, PDF, Excel, Epub du document. Il suffit d’appliquer une transformation XSLT.
D. Intérêt du couplage
Il s’agit de la meilleure solution pour gérer efficacement un grand nombre de données structurées et pouvoir faire facilement la maintenance du site Internet :
- Modifier la base de données se fait rapidement par un l’outil CouchDb Futon qui permet de retrouver facilement chaque document et de modifier chaque champ. La sauvegarde des versions et très appréciable,
- Interroger CouchDb par le biais de Solr et une interface en Php est à la portée de nombreux informaticiens. La configuration de Solr est relativement facile,
- La maintenance est quasi-nulle et il n’a été constaté à ce jour aucun dysfonctionnement majeur, ni pertes de performances.
II. Une alimentation et une mise à jour automatisée des décisions de justice
Juricaf a dû s’adapter à la grande diversité des modes de diffusion des décisions de justice. Ainsi, il a été développé différents systèmes pour s’adapter à un grande nombre de situations.
Par exemple :
- Pour la France, les décisions au format XML sont récupérées automatiquement sur un serveur FTP tous les matins. Cela représente environ 50 à 200 décisions par jour qui viennent ajouter, modifier ou supprimer des entrées dans la base de données,
- Pour la Suisse, les fichiers sont envoyés par le Tribunal fédéral directement sur notre serveur,
- Pour le Canada, un script Perl récupère automatiquement toute nouvelle page du site de publication des jugements,
- Pour le Luxembourg, les décisions sont à récupérer à une adresse précise une fois tous les trois mois sur un serveur FTP,
- Pour la Belgique, les décisions sont en pièces jointes d’un message envoyé périodiquement par le Ministère de la justice à tous les éditeurs juridiques,
- Pour les pays africains, les décisions sont transmises dans des fichiers Word et un logiciel récupère, grâce aux trames de jugements, les métadonnées.
Toutes ces décisions sont transformées dans un format XML d’importation propres à Juricaf puis intégrées à CouchDb, avant d’être immédiatement indexées par Solr.
III. Des outils documentaires innovants
L’exploitation documentaire des décisions de justice a été particulièrement étudiée pour permettre un usage professionnel. Les fonctions spécifiquement développées concernent à la fois l’affichage des résultats de la recherche que l’affichage de la décision en elle-même.
A. Sur la recherche
La recherche s’effectue par les opérateurs booléens avec :
- un OU qui est pondéré (comme pour Google),
- un ET qui classera les résultats par proximité.
Le moteur recherche directement les termes sous forme lemmatisée et ne tient pas compte des accents ou des pluriels.
La grande innovation provient de la recherche avancée qui permet de faire des requêtes croisées sur le texte et toutes les métadonnées. Cela permet d’affiner la recherche et de combiner, pour la première fois aussi facilement dans une base de données juridiques, tous les champs possibles.
Exemple de recherche : les arrêts de cassation rendus par la Première chambre civile, publiés au bulletin ayant pour avocat Me Spinosi.
Les combinaisons de recherche permettent notamment la réalisation de statistiques détaillées pour suivre l’activité juridictionnelle ou la fréquence d’occurrences de certains mots clés.
B. Un affichage des résultats de la recherche sous forme de facettes
- Exposée,
- Triée selon un ordre défini (pertinence, chronologique ou alphabétique).
Il est possible ainsi de :
- Restreindre la recherche,
- Combiner des tris entre métadonnées.
L’affichage des résultats est innovant car :
- chaque recherche peut faire l’objet d’une veille par le biais d’un flux Rss. C’est une fonction qui est inédite sur une base de données gratuite.
- les facettes permettent de filtrer ou de combiner les résultats selon le pays ou la juridiction,
- l’ordre de classement peut être choisi : on peut ainsi privilégier l’affichage par pertinence,
- il est possible d’utiliser un moteur de recherche OpenSearch, intégré à Firefox.
C. Sur l’affichage de l’arrêt
Les fonctionnalités développées sont les suivantes :
- la navigation dans les niveaux supérieurs de la hiérarchie des plans de classement, qui deviennent « cliquables » ce qui donne une version dynamique des plans de classements et indexations,
- la proposition d’une citation juridique. Sur ce point, cela fait gagner un temps important pour l’intégration de la référence dans un texte juridique,
- au moyen d’expressions régulières (Regexp), il est possible de consulter la loi citée, l’article du code sur Légimobile (seule base de données interopérable et gratuite), ou des jurisprudences,
- la publication du numéro unique européen de jurisprudence ECLI et à titre expérimental de la numérotation mondiale URN-LEX,
- le partage de la décision sur les réseaux sociaux les plus courants et les outils de partage de signets comme Delicious,
- l’affichage des articles libres de doctrine commentant la décision de justice.
IV. L’exposition maximale des métadonnées des décisions de justice
Afin de concourir à une démarche dite Open Data ou d’ouverture des données publiques, les métadonnées des documents sont publiés de la façon la plus extensive qu’il soit.
A. L’exposition par Dublin Core
Ainsi, dans le code source, les métadonnées sont exposées à la fois :
- au format Dublin Core,
- au format Ogg (afin d’imposer aux personnes partageant la décision sur Facebook un titre de décision correction et le logo de Juricaf),
- au format requis pour être exploité par des outils de gestion de bibliographie.
B. L’exposition par les microdonnées
L’utilisation de microdonnées dans les pages Html est un aspect redouté par les concepteurs de sites Internet. Ce tutoriel peut vous donner une idée de ce langage : http://tcuvelier.developpez.com/tutoriels/web-semantique/html5-microdonnees/introduction/. Elles font partie d’un courant en vogue : le web sémantique.
Si le langage HTML est intuitif, répandu et facile d’utilisation, les microdonnées, préconisés par Bing, Google, Yahoo! et Yandex dans le site http://schema.org/ sont difficiles à appréhender. Cette complexité ne vient pas de la mise en œuvre de simple balises <div> auxquelles on ajoute des propriétés, mais sur la modélisation des informations publiées.
Pour les bases de données juridiques, c’est particulier, car aucun modèle n’existe : on a beau chercher dans la documentation (http://schema.org/docs/full.html), rien ne convient.
Par exemple, pour la décision du Conseil d’Etat suivante : http://www.juricaf.org/arret/FRANCE-CONSEILDETAT-20120709-356749, entrons dans son code source. En italique est proposé les balises correspondant aux microdonnées.
1. L’application d’un schéma
Type de données | Code | Observations |
Article | http://schema.org/Article | Catégorie la plus proche. Plus tard, j’envisage d’enrichir ce modèle, en ajoutant « Caselaw ». Cette initiative restant expérimentale.(http://www.schema.org/docs/extension.html). |
Date de création | dateCreated | |
A propos | about | |
Mots-clés | keywords | |
Texte de la décision | articleBody | |
Contributeurs | http://schema.org/Person | |
Profession | jobTitle | Président, avocat, rapporteur |
Auteur | http://schema.org/Organization | Juridiction ayant rendu la décision |
http://schema.org/PostalAddress | Adresse Postale | |
addressCountry | Pays | |
Responsable de la publication | publisher | Légifrance pour les données française |
2. Les effets
Il suffit de vérifier : http://www.google.com/webmasters/tools/richsnippets?url=http%3A%2F%2Fwww.juricaf.org%2Farret%2FFRANCE-CONSEILDETAT-20120709-356749
On voit ainsi interprétation que Google fait de la page. On constate bien la hiérarchie des contenus structurés.
Ce n’est un secret pour personne : l’avenir du web passe par les métadonnées et les informations structurées. Pour l’instant, je ne vois pas l’utilité, à part quelques gains au niveau des statistiques avec une augmentation de 5 à 10% de la fréquentation issue de Google.
L’indexation de ces pages se constate dans les outils pour webmasters de Google (https://www.google.com/webmasters/tools/) :
Apparemment, cette structuration permettrait également la conception de meilleurs moteurs de recherches personnalisés : http://www.google.com/webmasters/tools/richsnippets?url=http%3A%2F%2Fwww.juricaf.org%2Farret%2FFRANCE-CONSEILDETAT-20120709-356749&view=cse et notamment pour filtrer les résultats de la recherche.
Le résultat également est visible pour une page en particulier :
C. La compatibilité Zotero
Juricaf est parfaitement compatible avec Zotero (http://www.zotero.org), l’outil libre de gestion de bibliographie. La mise en compatibilité a été réalisée par la création d’un translator spécifique. Un compte-rendu d’expérience sur ce point a été publiés à l’adresse http://donneesjuridiques.wordpress.com/2012/10/02/rendre-juricaf-parfaitement-compatible-avec-zotero-compte-rendu-dexperience/.
Ainsi, les fonctionnalités réalisées sont les suivantes :
- reconnaissance des occurrences multiples dans le résultat de la recherche,
- détection des décisions en tant que « case » pour Zotero,
- ajout automatique des mots-clés issus des nomenclatures,
- ajout des fichiers d’origine de Légifrance (au format RTF),
- ajout de la proposition de citation.
Dès lors, pour chaque arrêt, une icône apparaît :
permettant la récupération de toutes les métadonnées, mais aussi le lien vers la version Word de la décision publiée sur Légifrance et les mots-clés :
La récupération des informations est également possible en présence de nombreuses occurrences :
Remerciements à Stéphane Cottin pour la relecture.
Table des matières