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.
- Installer nvm afin d'avoir la version utilisée pour cette application et lancer la commande :
nvm install
Pour installer les packages nécessaires au bon fonctionnement de l'application, ouvrir un terminal et entrer la commande suivante :
npm install
Il est également nécessaire d'installer libwpd
en local afin d'exécuter le batch.
Sur macOS :
brew install libwpd
Sur linux :
apt-get install libwpd-tools
Pour lancer les tests, écrire dans un terminal :
npm run test
Il 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`).
JuriTJ a besoin de deux fichiers de variables d'environnements :
- Dupliquer le fichier
docker.env.example
et le rennomerdocker.env
, adapter les variables d'environnement si besoin - Dupliquer le fichier
.env.example
et 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.
-
Pour lancer l'ensemble de JuriTJ avec Docker :
npm run docker:build npm run docker:start
-
Pour lancer l'API en phase de développement et afin de disposer d'une mise à jour à chaud du serveur à chaque changement:
npm run docker:build npm run docker:start:s3 npm run start:dev
-
Pour lancer le batch de normalisation manuellement, écrire dans un terminal :
npm run docker:build npm run docker:start:s3 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 docker:stop
- Stopper le container du S3 :
npm run docker:stop:s3
- Arrêter et nettoyer l'environnement docker de l'application :
npm run docker:kill
- 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
adr
qui 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