Skip to content

numerique-gouv/oots-france

Repository files navigation

OOTS-France

OOTS-France est la plate-forme française du système européen OOTS, qui agit comme intermédiaire

  • d'une part entre une institution consommatrice de pièces justificatives et la couche eDelivery, et
  • d'autre part entre la couche eDelivery et une institution en mesure de fournir des pièces justificatives.

Configuration de l'environnement de développement

Il est nécessaire en prérequis d'avoir installé Git et Docker.

Commencer par récupérer les sources du projet et aller dans le répertoire créé.

$ git clone https://github.com/numerique-gouv/oots-france.git && cd oots-france

Créer les fichiers .env, .env.oots et .env.domibus respectivement à partir des fichiers .env.template, .env.oots.template et .env.domibus.template. Renseigner les diverses variables d'environnement.

Configuration de la base de données (MySQL)

À la première utilisation, il faut lancer le conteneur de base de données seul pour lui laisser le temps de se configurer correctement.

$ docker-compose up mysql

Attendre que soit affiché à l'écran [Server] /usr/sbin/mysqld: ready for connections. puis arrêter le conteneur avec <CTRL> + C.

Configuration du point d'accès eDelivery (Domibus)

Lancer le conteneur Domibus

$ docker-compose up domibus

Attendre la fin du déploiement de la webapp et l'affichage du message suivant :

domibus_1  | [Information horodatage] INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [XXX] milliseconds

L'application Domibus devrait être accessible depuis un navigateur à l'URL http://localhost:[PORT_DOMIBUS] (avec comme valeur pour PORT_DOMIBUS celle indiquée dans le fichier .env).

Important

Domibus est créé avec un login / mot de passe par défaut (admin/123456). Il est fortement recommandé de changer le mot de passe de ce compte dès ce premier lancement.

Pour changer le mot de passe, cliquer dans la colonne de gauche sur « Users », puis sur l'icône « crayon » sur la ligne du compte admin. Saisir le nouveau mot de passe et la confirmation. Cliquer sur « OK ». Cliquer ensuite sur le bouton « Save » en bas à gauche.

Important

Cette dernière étape est importante. Si on n'effectue pas cette sauvegarde, le mot de passe ne sera pas mis à jour.

Créer un utilisateur administrateur autre que l'utilisateur par défaut

Cette étape permet de conserver le compte admin comme pour débloquer le compte d'administration standard en cas de mauvaise manipulation.

Dans la colonne de gauche, cliquer sur « Users », puis sur le bouton « New ». Saisir les informations relatives à ce nouveau compte. Choisir comme rôle ROLE_ADMIN pour donner les droits administrateur. Cliquer sur « OK ». Cliquer ensuite sur le bouton « Save » en bas à gauche.

Important

Cette dernière étape est importante. Si on n'effectue pas cette sauvegarde, le nouvel utilisateur ne sera pas créé.

Si on se déconnecte (lien « Logout » dans l'icône menu en haut à droite), on doit maintenant pouvoir se reconnecter avec le nouveau compte créé.

Créer un compte d'accès pour l'API REST

Dans la colonne de gauche, cliquer sur « Plugin Users », puis sur le bouton « New ». Saisir les informations relatives à ce nouveau compte. Choisir comme rôle ROLE_ADMIN pour donner les droits administrateur. Cliquer sur « OK ». Cliquer ensuite sur le bouton « Save » en bas à gauche.

Important

Les informations de connexion du Plugin User doivent correspondre aux variables LOGIN_API_REST et MOT_DE_PASSE_API_REST dans le fichier de variables d'environnement env.oots.

Charger un fichier de configuration PMode

Dans la colonne de gauche, cliquer sur « PMode », puis sur « Current ». Cliquer sur le bouton « Upload ». Séléctionner un fichier de configuration (par exemple, ./exemples/configuration_PMode_Domibus.xml). Ajouter une description (par exemple, « Initialise configuration PMode »).

Dans la colonne de gauche, cliquer sur « Connection Monitoring ». Une ligne devrait être affichée avec blue_gw comme « Sender Party » et « Responder Party ». Cliquer sur l'icône « avion en papier » à droite. Le « Connection Status » devrait passer au vert.

Modifier la configuration de Domibus

Le conteneur a créé un répertoire (non versionné) ./domibus. Il est possible de modifier diverses propriétés de Domibus depuis le fichier domibus/domibus.properties. Se référer à la documentation Domibus pour la signification des diverses propriétés.

Configurer NGinx

OOTS-France s'appuie sur les services tiers de FranceConnect+, qui exigent que les interactions aient lieu sur HTTPS. Pour ce faire :

$ cp nginx.template nginx

Ensuite, changer…

  • dans le fichier nginx/conf/nginx.conf : toutes les occurrences de example.com en le nom du domaine lié à la machine de développement.
  • dans le fichier nginx/script/init-letsencrypt.sh : toutes les occurrences de example.com en le nom du domaine lié à la machine de développement et l'adresse user@example.com en l'adresse mail du développeur qui va demander les certificats.

Lancer ensuite la demande de certificats.

$ nginx/scripts/init-letsencrypt.sh

Le script doit installer les certificats et terminer en succès.

Lancement du serveur OOTS-France

$ scripts/start.sh

Attendre l'affichage du message

web_1      | OOTS-France est démarré et écoute le port [XXX] !…

Le serveur devrait être accessible depuis un navigateur à l'URL https://<nom.du.domaine>

Il est alors possible de tester l'envoi d'un message de test en requêtant l'URL suivante depuis un navigateur : https://<nom.du.domaine>/requete/pieceJustificative?codeDemarche=00&codePays=FR

Exécution de la suite de tests automatisés

Les tests peuvent être lancés depuis un conteneur Docker en exécutant le script scripts/tests.sh. Les tests sont alors rejoués à chaque modification de fichier du projet sur la machine hôte.

About

Services d'interfaçage avec le système OOTS européen

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published