Une API NodeJS pour requêter les textes de loi bruts issus d'une base legi.py
Utilise knex pour exploiter les données d'une base PostgreSQL avec legi-postgres et le standard unist pour représenter les textes sous forme d'arbre, de HTML, ou de markdown.
Par défaut l'API utilisateur utilise un serveur de dev public pour fournir les textes.
Vous pouvez utiliser votre propre base de données en montant votre serveur PostgreSQL avec legi-postgres
npm install legi
Promise-based API
const Legi = require("legi");
const legi = new Legi();
// liste des codes disponibles
legi.getCodesList().then(console.log);
// code du travail (~1min)
legi.getCode({ cid: "LEGITEXT000006072050", date: "2012-03-05" }).then(console.log);
// section d'un texte
legi.getSection({ id: "LEGISCTA000006132321", date: "2018-05-03" }).then(console.log);
// conversion en markdown
const markdown = require("legi/src/markdown");
legi
.getCode({ cid: "LEGITEXT000006069414", date: "2012-03-05" })
.then(markdown)
.then(console.log);
// conversion en html
const html = require("legi/src/html");
legi
.getCode({ cid: "LEGITEXT000006069414", date: "2012-03-05" })
.then(html)
.then(console.log);
Pour utiliser votre propres serveur PostgreSQL :
const legi = new Legi({
client: "pg",
connection: {
host: "127.0.0.1",
port: 5432,
user: "user",
password: "pass",
database: "legi"
},
pool: { min: 0, max: 50 }
});
Plus d'exemples dans ./examples
-
legi.py est un module python qui génère une base sqlite à partir de la base LEGI, normalise et consolide les données.
-
legi-postgres convertit cette base dans une base PostgreSQL.
-
legi.js permet d'interroger cette base avec une API JavaScript.
- gestion dates/versions
- gestion textes type JORF, decrets...