JuriTJ est une brique applicative du projet Judilibre qui permet de passer en Open Data les décisions des tribunaux judiciaires.
JuriTJ-Collect est une API qui a pour objectif de collecter les décisions de justice de tribunaux judiciaires, afin de leur appliquer le traitement Judilibre (pseudonymisation et publication en Open Data).
Le batch de Normalisation est un programme qui a pour objectif de récupérer, traiter et stocker en base de données les décisions reçues au préalable par JuriTJ-Collect.
L'application nécessite node ainsi qu'un bucket S3, une connexion à une API de pseudonymisation (nlp-api) et une connexion à une API de sauvegarde (dbsder-api), n'hésitez pas à jeter un coup d'oeil à juridependencies.
La version de Node utilisée par ce projet est indiquée dans le fichier .nvmrc.
Pour installer les packages nécessaires au bon fonctionnement de l'application, ouvrir un terminal et entrer la commande suivante :
npm installIl est également nécessaire d'installer libwpd en local afin d'exécuter le batch.
Sur macOS :
brew install libwpdSur linux :
apt-get install libwpd-toolsPour lancer les tests, écrire dans un terminal :
npm run testIl est également possible de ne lancer que les tests d'API (npm run test:api), de batch (npm run test:batch) ou d'intégration (npm run test:integration`).
- Dupliquer le fichier
.env.exampleet le rennomer.env, adapter les variables d'environnement si besoin
Pour effectuer des tests Postman sur l'environnement de développement :
- Récupérer le certificat client, la clé privée client et le certificat d'autorité de certification auto-signé
- Insérer la clé privée client et certificats sur Postman
- Récupérer les collections et les configurations d'environnements Postman dans le dossier de documentation
- Les importer dans Postman
Démarrer l'application nécessite au préalable d'initaliser les fichiers de variables d'environnement et de disposer des pré-requis suscités.
-
Pour lancer l'ensemble de JuriTJ avec Docker (hot-reload inclu) :
npm run start:docker
-
Pour lancer l'API en phase de développement et afin de disposer d'une mise à jour à chaud du serveur à chaque changement:
npm run start:dev
-
Pour lancer le batch de normalisation manuellement, écrire dans un terminal :
npm run batch:start
Attention, pour que le batch fonctionne, préciser l'url de l'API DBSDER dans les fichiers de variables d'environnement.
-
Autres commandes utiles :
- Stopper tous les container :
npm run stop:docker
- Lancer le lint et le formatage du code :
npm run fix
- Stopper tous les container :
Le dossier /documentation contient :
- filtrage.md qui exprime les règles de filtrage mises en place pour les décisions des tribunaux judiciaires dans le cadre de l'open data des décisions de justice.
- conventions.md qui liste les choix de l'équipe concernant la base de code
- Le dossier
adrqui historise les choix structurant de l'équipe - Les requêtes Postman et comment les installer lien
Sur le gitlab-ci.yml, il est possible de spécifier une branche dans un des différents jobs afin de le lancer sur la CI
Il suffit d'ajouter à la catégorie only: du job désiré, en dernière position, le nom de la branche :
test: # job
...
only:
- master # branche principale où le job se lance
- <nomDeLaBranche>Une fois cette branche poussée, la CI lancera le job automatiquement (compter 5 mns de délai environ)
Les certificats étant gérés au niveau de l'infrastructure, nous n'avons pas de configuration à effectuer en local.
Les éléments suivant ont été installés sur l'infrastructure :
- Certificat de l'autorité de certification WINCI, signé par PEKIN, afin d'autoriser les appels effectués par des clients disposant d'un certificat PEKIN
- Pour l'environement de developpement : Certificat de l'autorité de certification auto-signée, afin d'autoriser les appels effectués par des clients disposant d'un certificat auto-signé (pour permettre les tests)
- Certificat serveur signé par PEKIN
- Clé privée serveur
- Mot de passe de la clé privée serveur