Disclaimer: The explanation provided on this website (Hotmaps Wiki) are indicative and for research purposes only. No responsibility is taken for the accuracy of the provided information, explanations and figures or for using them for unintended purposes.
Data privacy: By clicking OK below, you accept that this website may use cookies.
Cette page contient toutes les informations nécessaires aux développeurs pour contribuer à la plate-forme Hotmaps ou pour comprendre son fonctionnement.
L'intégration de nouveaux jeux de données publics est gérée comme suit:
Si un jeu de données échoue pendant l'intégration, un problème est créé sur Taiga (plate-forme de gestion de projet). Le problème indique que l'erreur a été générée et le développeur doit la corriger et transmettre à nouveau son travail à Git afin que le script puisse essayer de l'intégrer à nouveau le lendemain soir.
Le code source du script d'intégration est disponible à ce lien: Intégration de données
Pour ajouter des jeux de données à la liste des jeux de données publics, ils doivent être placés dans un nouveau référentiel Git sur GitLab. Voici l'organisation GitLab dans laquelle les ensembles de données doivent être insérés : Ensembles de données sur GitLab .
Une fois par jour, les référentiels sont vérifiés pour les nouveaux commits et intégrés si c'est le cas. Le processus d'intégration vérifie si les données sont conformes à la spécification ou non.
Voici la spécification: Hotmaps_Data-upload-on-Gitlab_2017-12-04_V4.pdf
Le code de l'application se trouve sur GitHub sous l' organisation Hotmaps . Cette organisation possède plusieurs référentiels
Si vous souhaitez ajouter du code à Hotmaps, vous avez deux possibilités: si vous souhaitez mettre à jour l'interface ou le backend directement, vous devez modifier le référentiel client ou service de la boîte à outils. Si vous souhaitez ajouter votre propre module de calcul, vous pouvez créer votre propre référentiel en suivant le fichier readme du référentiel base_calculation_module.
Si vous souhaitez effectuer des travaux sur le référentiel Git, veuillez ne pas travailler directement avec la branche principale. Créez une nouvelle branche à partir de la branche develop, effectuez votre travail sur cette branche et lorsque votre fonctionnalité est testée, vous pouvez fusionner votre travail avec la branche develop, comme le montre le graphique suivant.
Afin de placer quelque chose dans un référentiel Hotmaps, vous devez être membre de l'équipe Hotmaps. Si vous ne l'êtes pas, vous pouvez toujours effectuer un fork de notre outil pour développer votre propre outil.
Vous pouvez trouver plus d'informations sur la façon de travailler dans ces documents:
Tous les services et composants sont utilisés via leur propre conteneur Docker. Tous ces conteneurs sont définis dans un seul fichier docker-compose. L'image ci-dessus représente l'architecture informatique de Hotmaps.
Certaines organisations partenaires ont limité la communication au port 80 uniquement. Pour éviter les problèmes causés par cette limitation, la création d'un proxy inverse a été effectuée. Ce proxy inverse offre un seul point d’entrée, puis distribue la demande envoyée par le client au service concerné. Le proxy inverse est composé de trois composants:
Trois réseaux existent:
Chaque module de calcul possède son propre conteneur Docker.
Hotmaps utilise le logiciel Docker et l’outil Docker-Compose pour gérer les conteneurs. Un fichier docker-compose.yml contient l’ensemble de la configuration de l’architecture Docker (configuration des conteneurs, des réseaux, des liens, ...). Cela permet aux conteneurs d'être exécutés avec une commande simple:
docker-compose up
Il y a plus d'informations sur docker-compose sur le site web de Docker: référence de ligne de commande Compose et référence de fichier Compose .
Un seul conteneur est exécuté séparément des autres: c'est la base de données car il doit rester actif tout le temps. C'est pourquoi il ne figure pas dans le fichier de configuration docker-compose.
Pour le moment, le serveur est hébergé chez HES-SO en Suisse. Deux machines sont disponibles: une pour le développement (développement et tests) et une pour la production (la boîte à outils proprement dite , disponible sur www.hotmaps.eu ).
Les deux machines ont les mêmes spécifications:
Nous effectuons fréquemment des tests de performance sur le serveur de développement afin de garantir un certain nombre d'utilisateurs simultanés.
À titre d'exemple, voici les résultats de la première version bêta par rapport aux tests de la version future. La nouvelle version inclut des améliorations de performances.
Cet exemple montre les tests de performance d'utilisateurs simultanés utilisant la même fonction: "courbe de durée pour la sélection d'hectares". La ligne en gras indique la limite à partir de laquelle le serveur commence à générer des erreurs. La sélection d'hectares est un bon exemple car elle montre les requêtes qui nécessitent le plus de ressources.
Sortie bêta de mars 2019
| Nb d'utilisateurs simulés | Temps moyen | Médiane | Temps maximum | Min time | Pourcentage d'erreurs | | --------------------- | ------------ | ------ | -------- | -------- | -------------------- | | 1 | 2936 | 2936 | 2936 | 2936 | 0 | | 20 | 9329 | 9503 | 11778 | 6901 | 0 | | 50 | 22922 | 22713 | 33401 | 8661 | 0 | | 100 | 33302 | 32875 | 58257 | 4929 | 16 | | 200 | na | na | na | na | na | | 300 | na | na | na | na | na |
Prochaine sortie sur le DEV (mars 2019)
| Nb d'utilisateurs simulés | Temps moyen | Médiane | Temps maximum | Min time | Pourcentage d'erreurs | | --------------------- | ------------ | ------ | -------- | -------- | -------------------- | | 1 | 1802 | 1802 | 1802 | 1802 | 0 | | 20 | 5289 | 2677 | 6873 | 2149 | 0 | | 50 | 10775 | 11274 | 17081 | 2577 | 0 | | 100 | 19807 | 20280 | 35142 | 3156 | 0 | | 200 | 37302 | 37575 | 69930 | 3381 | 0 | | 300 | 49091 | 57536 | 83578 | 2447 | 26 |
Auteurs:
Relecteurs:
Nous souhaitons exprimer notre profonde gratitude au projet Horizon 2020 Hotmaps (accord de subvention n ° 723677), qui a fourni le financement nécessaire à la réalisation de la présente enquête.
This page was automatically translated. View in another language:
English (original) Bulgarian* Croatian* Czech* Danish* Dutch* Estonian* Finnish* German* Greek* Hungarian* Irish* Italian* Latvian* Lithuanian* Maltese* Polish* Portuguese (Portugal, Brazil)* Romanian* Slovak* Slovenian* Spanish* Swedish*
* machine translated
Last edited by web, 2020-09-30 11:29:36