Déploiement du démonstrateur Carto4CH
Introduction
Cette documentation explique comment sont hébergées et publiées les applications du démonstrateur.
Pré-requis techniques
- un accès à internet
- Une configuration matérielle avec au moins 16 Go de RAM
- Installer Docker et docker-compose
- Installer Make
Architecture générale
Rappel de l'architecture | Les briques documentées |
---|---|
Le démonstrateur est une cartographie fonctionnelle de démonstration. Son objectif est de donner un exemple de ce qui est attendu par le projet Carto4CH. Nous expliquerons dans cette documentation l'hébergement de ce démonstrateur et le fonctionnement de chacune de ses briques :
|
Déploiement via Docker
Projets d'origines | Git clone + AddOn |
---|---|
Chaque projet docker d'un serveur A ou B effectue un git clone des projets Archipelago-carto4CH (middleware et frontend) ou My-competence. Ensuite, il récupère ses fichiers spécifiques dans le répertoire AddOn pour customiser les couleurs, le titre ou les paramètres d'interopérabilité |
Briques déployées
Vous trouverez sur le Gitlab Huma-Num du projet Carto 4CH > Carto 4CH, l'ensemble des configurations docker permettant de faire tourner le démonstrateur sur le serveur Huma-Num.
La configuration Docker est constituée de 11 conteneurs dockers.
Rappel de l'infrastructure | Les containers |
---|---|
Les conteneurs "supports" - Traefik (gestion du réseau, ports, https, certificats) - Jena/Fuseki (Triplestore) - Redis (cache) Les conteneurs "applicatifs" De l'instance A - Middleware A (data-a) - BO A - MY A De l'instance B - Middleware B (data-b) - BO Serveur B - MY Serveur B De l'instance miroir (C) Du portail Carto 4CH |
Tous ces containers peuvent être lancés par une simple commande :
make start-prod
Cette commande appelle le fichier docker-compose-prod.yaml, qui lance les 11 conteneurs.
Il est possible de voir les logs du serveur en utilisant la commande : make log-prod
Fonctionnement des conteneurs applicatifs
Principe de fonctionnement
Chaque conteneur applicatif commence par faire un git clone
d'un des projets Carto 4CH (Archipelago ou My-competences), puis écrase certains fichiers par une configuration spécifique pour l'instance.
Les middlewares A/B/C
Les 3 middlewares (data-a, data-b et data-c) clonent le projet Archipelago Carto4CH > middleware, et surchargent les fichiers présents dans le répertoire AddOn.
Dans le cas du miroir, on ajoute le fichier services/mirror.service.js.
Les Back-office A/B
Les 2 back-office (bo-a et bo-b) clonent le projet Archipelago Carto4CH > frontend, et surchargent leurs fichiers en récupérant ceux présents dans le répertoire AddOn :
- titre "Server A"
- couleurs,
- configuration d'interopérabilité : en effet, nous allons permettre au serveur A de voir les données du serveur B et inversement.
My-competences A/B
Les 2 interfaces My-competences (my-a et my-b) clonent le projet My-competences, et surchargent leurs fichiers en récupérant ceux présents dans le répertoire AddOn :
- titre,
- couleurs
- configuration d'interopérabilité
Les visualisations
Le démonstrateur propose 3 visualisations :
- Une visualisation des données du middleware A
- Une visualisation des données du middleware B
- Une visualisation des données du middleware C (miroir) pour la visualisation générale
Pour en savoir plus, lire Visualisation en réseau > démonstrateur