# 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 ```