Skip to content

Latest commit

 

History

History

legi.js

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

legi.js experimental

npm license github-issues

nodei.co

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

Install

npm install legi

Usage

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

A propos

  • 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.

Todo

  • gestion dates/versions
  • gestion textes type JORF, decrets...

Related