Archéo Lex – Pure Histoire de la Loi française – permet de naviguer facilement entre les différentes versions d’un texte législatif français, et vient en complément à la mise à disposition des textes offerte par Légifrance.
Ainsi, chaque texte législatif (loi, code, constitution, etc.) est :
Pour l’exemple, le code de la propriété intellectuelle peut être consulté sur Github : https://github.com/Seb35/CPI/blob/master/Code%20de%20la%20propriété%20intellectuelle.md. Il est affiché ici dans sa dernière version.
Vous pouvez voir l’historique des versions du code en cliquant sur History
dans l’en-tête du fichier, sur la droite, puis cliquer sur une des versions pour afficher les changements effectués et entrés en vigueur ce jour-là.
Sur une page affichant les différences entre versions (exemple), il est surtout affiché les modifications faites sur le texte, mais pas l’entièreté du texte. Les lignes sur fond blanc sont le contexte, identique entre une version et la suivante, et cela sert à se situer dans le texte. Il peut être ajouté plus de contexte en cliquant sur la flèche à côté des numéros de lignes. Les lignes sur fond rose correspondent au texte de l’ancienne version et celles sur fond vert correspondent au texte entrant en vigueur à partir de cette version. Pour voir l’entièreté de cette version (à cette date d’entrée en vigueur), cliquez sur View
dans l’en-tête du fichier, à droite.
apt-get install -y libarchive13 python3-pip git htop sqlite3
apt-get install -y python3-dev libxml2-dev libxslt1-dev zlib1g-dev python3-setuptools python3-wheel
git clone https://github.com/Legilibre/Archeo-Lex.git
sudo pip3 install -r requirements.txt
Pour information, les paquets suivants sont disponibles sur Debian stretch :
La liste complète des modules utilisés est disponible au moyen de scripts/liste-paquets.sh
(sauf lxml, optionnel mais recommandé).
L’utilisation du programme legi.py est désormais obligatoire.
Les données nécessaires (textes de loi et métadonnées associées) sont disponibles sur http://rip.journal-officiel.gouv.fr/index.php/pages/juridiques (données LEGI), données qui seront téléchargées au cours du processus (attention : environ 5 Gio).
La première étape est de télécharger la base LEGI et de créer la base de données avec legi.py:
python3 -m legi.download ./tarballs
python3 -m legi.tar2sqlite cache/sql/legi.sqlite ./tarballs
Le programme principal se lance en ligne de commande :
./archeo-lex --textes=LEGITEXT000006069414
La liste complète des paramètres s’affiche avec la commande ./archeo-lex --aide
.
Chacune des étapes peut être appelée de façon indépendante :
--exporterlegi
: assemble les textes et créer les versionsNoter que Archéo Lex avait auparavant plusieurs étapes, mais une grande partie a désormais été déléguée à legi.py.
Ce programme a été initialement (début août 2014) développé en 5 jours avec l’ambition d’être un prototype opérationnel et de qualité correcte. Toutefois, pour rendre ce programme et son résultat plus agréable à utiliser, les points suivants devraient être travaillés (par ordre d’importance approximatif) :
from __future__ import unicode_literals
import marcheolex.exports, legi.utils, datetime
from marcheolex.FabriqueArticle import FabriqueArticle
from marcheolex.FabriqueSection import FabriqueSection;
# Syntaxe utilisée
md = marcheolex.exports.Markdown()
# Organisation des fichiers utilisée
fu = marcheolex.exports.FichierUnique()
fu.syntaxe = md
fu.fichier = 'truc'
fu.extension = '.md'
# Stockage des fichiers utilisé
sf = marcheolex.exports.StockageGitFichiers()
sf.organisation = fu
db = legi.utils.connect_db('cache/sql/legi.sqlite')
fa = FabriqueArticle( db, sf, True )
fs = FabriqueSection( fa );
fa.obtenir_texte_article( 3, 'LEGIARTI000030127268', datetime.date(1970,1,1), datetime.date(2038,1,1), 'VIGUEUR')
fs.obtenir_texte_section( 3, 'LEGISCTA000018048141', 'LEGITEXT000006069565', datetime.date( 1997, 7, 27 ), None )
Les dépôts Git résultats de ce programme n’ont en aucune manière un caractère officiel et n’ont reçu aucune reconnaissance de quelque sorte que ce soit d’une instance officielle. Il n’ont d’autre portée qu’informative et d’exemple. Pour les versions d’autorité, se référer au Journal officiel de la République française.
Ce programme est sous licence WTFPL 2.0 avec clause de non-garantie. Voir le fichier COPYING pour les détails.
Sébastien Beyou (courriel) (site)