tricoteuses-legifrance/README.md

118 lines
2.6 KiB
Markdown
Raw Normal View History

2024-12-20 21:53:34 +01:00
# Tricoteuses Légifrance
2024-12-20 21:53:34 +01:00
## _Library, Web API & site to browse Légifrance legal open data from French Direction de l'information légale et administrative (Dila)_
2024-12-20 21:53:34 +01:00
_Tricoteuses Légifrance_ is free and open source software.
2024-12-20 21:53:34 +01:00
- [software repository](https://git.tricoteuses.fr/logiciels/tricoteuses-legifrance)
- [GNU Affero General Public License version 3 or greater](https://git.tricoteuses.fr/logiciels/tricoteuses-legifrance/LICENSE.md)
2022-08-13 15:40:13 +02:00
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/
2022-08-13 18:44:43 +02:00
- KALI: https://echanges.dila.gouv.fr/OPENDATA/KALI/
2022-08-13 15:40:13 +02:00
- LEGI: https://echanges.dila.gouv.fr/OPENDATA/LEGI/
2022-08-14 09:04:16 +02:00
Main definitions used by these data: https://www.legifrance.gouv.fr/contenu/Media/files/lexique-api-lgf.docx
2024-12-03 22:49:34 +01:00
Some documentation and the DTD of the XML files: https://echanges.dila.gouv.fr/OPENDATA/DTD_LEGIFRANCE/
2022-08-14 09:04:16 +02:00
## Installation
2022-08-09 19:47:51 +02:00
### 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
2022-08-09 19:47:51 +02:00
```sh
npm install
```
## Server Configuration
Create a `.env` file to set configuration variables (you can use `example.env` as a template). Then:
2022-08-09 19:47:51 +02:00
```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
2022-11-15 16:05:44 +01:00
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
2022-11-15 16:05:44 +01:00
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:
2022-08-09 19:47:51 +02:00
```sh
npm run dev
```
In production mode:
2022-08-09 19:47:51 +02:00
```sh
npm run build
npm run preview
```
### Package Generation & Publishing
```sh
npm version patch # or major or minor
npm run package
2023-05-19 14:45:08 +02:00
npm publish
```