tricoteuses-legifrance/README.md

117 lines
2.6 KiB
Markdown

# Tricoteuses Legal Explorer
## _Library, Web API & site to browse legal open data from French Direction de l'information légale et administrative (Dila)_
_Tricoteuses Legal Explorer_ is free and open source software.
- [software repository](https://git.en-root.org/tricoteuses/tricoteuses-legal-explorer)
- [GNU Affero General Public License version 3 or greater](https://git.en-root.org/tricoteuses/tricoteuses-legal-explorer/blob/master/LICENSE.md)
Legal data sources:
- https://www.dila.premier-ministre.gouv.fr/repertoire-des-informations-publiques/les-donnees-juridiques
- DOLE: https://echanges.dila.gouv.fr/OPENDATA/DOLE/
- JORF: https://echanges.dila.gouv.fr/OPENDATA/JORF/
- KALI: https://echanges.dila.gouv.fr/OPENDATA/KALI/
- LEGI: https://echanges.dila.gouv.fr/OPENDATA/LEGI/
Main definitions used by these data: https://www.legifrance.gouv.fr/contenu/Media/files/lexique-api-lgf.docx
Some documentation and the DTD of the XML files: https://echanges.dila.gouv.fr/OPENDATA/DTD_LEGIFRANCE/
## Installation
### Create database
Using Debian GNU/Linux, install PostgreSQL, then:
```sh
sudo su - postgres
createuser legi -P # and enter the password
createdb -O legi legi
psql legi
CREATE EXTENSION IF NOT EXISTS pg_trgm;
\q
exit
```
### Install dependencies
```sh
npm install
```
## Server Configuration
Create a `.env` file to set configuration variables (you can use `example.env` as a template). Then:
```sh
npm run configure
```
## Datasets Initialization
```sh
mkdir -p ../dila-data/dole
cd ../dila-data/dole
git init
cd -
mkdir -p ../dila-data/jorf
cd ../dila-data/jorf
git init
cd -
mkdir -p ../dila-data/kali
cd ../dila-data/kali
git init
cd -
mkdir -p ../dila-data/legi
cd ../dila-data/legi
git init
cd -
```
## Datasets Update
```sh
npx tsx src/scripts/download_dila_dataset.ts dole ../dila-data/
npx tsx src/scripts/download_dila_dataset.ts jorf ../dila-data/
npx tsx src/scripts/download_dila_dataset.ts kali ../dila-data/
npx tsx src/scripts/download_dila_dataset.ts legi ../dila-data/
```
## Database Update
```sh
npx tsx src/scripts/import_dole.ts ../dila-data/
npx tsx src/scripts/import_jorf.ts ../dila-data/
npx tsx src/scripts/import_kali.ts ../dila-data/
npx tsx src/scripts/import_legi.ts ../dila-data/
# Note: Assemblee database must be updated before launching this script:
npx tsx src/scripts/associate_dossiers_legislatifs_with_assemblee.ts
```
## Server Launch
In development mode:
```sh
npm run dev
```
In production mode:
```sh
npm run build
npm run preview
```
### Package Generation & Publishing
```sh
npm version patch # or major or minor
npm run package
npm publish
```