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.
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.
À 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
.
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.
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éé.
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
.
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.
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.
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 deexample.com
en le nom du domaine lié à la machine de développement. - dans le fichier
nginx/script/init-letsencrypt.sh
: toutes les occurrences deexample.com
en le nom du domaine lié à la machine de développement et l'adresse[email protected]
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.
$ 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
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.