Library, Web API & site to browse Légifrance legal open data from French Direction de l'information légale et administrative (Dila)
Find a file
2025-01-09 21:48:17 +01:00
.forgejo/workflows Fix order of arguments 2025-01-09 21:48:17 +01:00
.vscode Improve configuration & README. Add license. 2022-08-09 11:15:42 +02:00
src Fix test of boolean in action 2025-01-09 21:40:28 +01:00
static Add JSON Schemas of Légifrance datasets. Fix #5 2025-01-02 23:15:03 +01:00
tests Upgrade packages 2023-08-05 21:50:39 +02:00
.gitignore Migrate to ESLint 9 2024-09-16 11:14:06 +02:00
.gitlab-ci.yml Remove obsolete configuration 2023-02-24 06:40:32 +01:00
.npmrc Migrate to ESLint 9 2024-09-16 11:14:06 +02:00
.prettierignore Don't prettify bits-ui files 2024-12-22 23:40:52 +01:00
.prettierrc Upgrade packages 2024-11-25 18:41:42 +01:00
components.json Migrate from DaisyUI to Shadcn (WIP) 2024-12-01 23:55:52 +01:00
eslint.config.js Migrate from DaisyUI to Shadcn (WIP) 2024-12-01 23:55:52 +01:00
example.env Add ssh configuration of gitify action 2025-01-08 23:36:03 +01:00
LICENSE.md Add 2025 to copyright 2025-01-02 22:56:21 +01:00
package-lock.json Upgrade packages 2025-01-09 20:23:29 +01:00
package.json Upgrade packages 2025-01-09 20:23:29 +01:00
playwright.config.ts Upgrade packages, update configuration 2023-07-19 11:45:22 +02:00
postcss.config.js Migrate to ESLint 9 2024-09-16 11:14:06 +02:00
README.md Add JSON Schemas of Légifrance datasets. Fix #5 2025-01-02 23:15:03 +01:00
svelte.config.js Migrate to ESLint 9 2024-09-16 11:14:06 +02:00
tailwind.config.ts Migrate from DaisyUI to Shadcn (WIP) 2024-12-01 23:55:52 +01:00
tsconfig.json Upgrade packages 2024-11-29 10:10:39 +01:00
vite.config.ts Upgrade SvelteKit 2023-05-19 14:26:43 +02:00

Tricoteuses Légifrance

Tricoteuses Légifrance is free and open source software.

Legal data sources:

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:

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

npm install

Server Configuration

Create a .env file to set configuration variables (you can use example.env as a template). Then:

npm run configure

Datasets Initialization

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

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

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:

npm run dev

In production mode:

npm run build
npm run preview

Development

JSON Schemas Generation

npx tsx src/scripts/generate_legifrance_json_schemas.ts
# Prettify generated JSON file.
npm run format

Note: JSON schemas are generated in file static/schemas.json

Package Generation & Publishing

npm version patch # or major or minor
npm run package
npm publish