Skip to content

Cour-de-cassation/juritj

Repository files navigation

JuriTJ

JuriTJ est une brique applicative du projet Judilibre qui permet de passer en Open Data les décisions des tribunaux judiciaires.

JuriTJ-Collect

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).

Batch de normalisation

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.

Pré-requis

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.

Installation

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

Tests

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`).

Variables d'environnement en local

  • Dupliquer le fichier .env.example et le rennomer .env, adapter les variables d'environnement si besoin

Configuration de Postman

Pour effectuer des tests Postman sur l'environnement de développement :

  1. Récupérer le certificat client, la clé privée client et le certificat d'autorité de certification auto-signé
  2. Insérer la clé privée client et certificats sur Postman
  3. Récupérer les collections et les configurations d'environnements Postman dans le dossier de documentation
  4. Les importer dans Postman

Démarrer l'application en local

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

Documentation JuriTJ

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

OPS

Lancer un job depuis une branche spécifique

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)

Configuration des certificats

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

About

REST API to collect decisions and store them

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors