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 plateforme Hotmaps ou pour comprendre son fonctionnement.
L'intégration de nouveaux ensembles de données publics est gérée comme suit:
Intégration de données
Si un ensemble de données échoue lors de l'intégration, un problème est créé sur Taiga (plateforme de gestion de projet). Le problème montre l'erreur soulevée et le développeur doit la corriger et pousser à nouveau son travail vers Git afin que le script puisse essayer de l'intégrer à nouveau le soir suivant.
Le code source du script d'intégration est disponible à ce lien: Intégration de données
Pour ajouter des ensembles de données à la liste des ensembles de données publics, ils doivent être poussés vers un nouveau référentiel Git sur GitLab. Voici l'organisation GitLab dans laquelle les ensembles de données doivent être transférés : Ensembles de données sur GitLab .
Une fois par jour, les référentiels sont vérifiés pour de nouveaux commits et intégrés le cas échéant. Le processus d'intégration vérifie si les données sont conformes ou non à la spécification.
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 directement l'interface ou le backend, 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 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 master. Créez une nouvelle branche à partir de la branche de développement, faites votre travail sur cette branche et lorsque votre fonctionnalité est testée, vous pouvez fusionner votre travail avec la branche de développement comme indiqué dans le graphique suivant.
Git_workflow
Afin de pousser quelque chose vers un référentiel Hotmaps, vous devez être membre de l'équipe Hotmaps, si vous ne l'êtes pas, vous pouvez toujours effectuer une fourchette de notre outil pour développer votre propre outil.
Vous pouvez trouver plus d'informations sur la façon de travailler dans ces documents:
ReverseProxy_architecture_latest
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 point d'entrée unique puis distribue la requête 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 toute la configuration de l'architecture Docker (configuration des conteneurs, réseaux, liens, ...). Cela permet aux conteneurs d'être exécutés avec une simple commande:
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 .
Il n'y a qu'un seul conteneur qui est exécuté séparément des autres: c'est la base de données car elle doit rester active tout le temps. C'est pourquoi ce n'est pas dans le fichier de configuration docker-compose.
Pour le moment, le serveur est hébergé à la HES-SO en Suisse. Il y a 2 machines disponibles: une pour le développement (développement et test) 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 performances 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 versions futures. La nouvelle version inclut des améliorations de performances.
Cet exemple montre les tests de performance des 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 à laquelle le serveur commence à générer des erreurs. La sélection d'hectare 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 max | Temps min | Pourcentage d'erreurs | | --------------------- | ------------ | ------ | -------- | -------- | -------------------- | | 1 | 1042 | 1042 | 1042 | 1042 | 0 | | 20 | 3608 | 3858 | 4475 | 2156 | 0 | | 50 | 7337 | 7595 | 11791 | 1568 | 0 | | 100 | 13897 | 13644 | 24492 | 1875 | 0 | | 200 | 27135 | 26380 | 51967 | 3045 | 0 | | 300 | 41237 | 43083 | 73245 | 3223 | 10,67 |
Version finale (août 2020)
| Nb d'utilisateurs simulés | Temps moyen | Médiane | Temps max | Temps min | Pourcentage d'erreurs | | --------------------- | ------------ | ------ | -------- | -------- | -------------------- | | 1 | 1025 | 970 | 1151 | 956 | 0 | | 20 | 1671 | 1732 | 2085 | 1113 | 0 | | 50 | 3527 | 3622 | 5593 | 982 | 0 | | 100 | 6648 | 6764 | 11854 | 1118 | 0 | | 200 | 12904 | 12801 | 24163 | 1192 | 0 | | 300 | 19521 | 19382 | 38116 | 1060 | 0 |
Daniel Hunacek, Lucien Zuber, Matthieu Dayer, dans Hotmaps Wiki, Section développeurs (septembre 2020)
Cette page a été rédigée par Daniel Hunacek, Lucien Zuber et Matthieu Dayer ( HES-SO ).
☑ Cette page a été révisée par Mostafa Fallahnejad ( EEG - TU Wien ).
Copyright © 2016-2020: Daniel Hunacek, Lucien Zuber et Matthieu Dayer
Licence internationale Creative Commons Attribution 4.0
Ce travail est concédé sous une licence internationale Creative Commons CC BY 4.0.
Identificateur de licence SPDX: CC-BY-4.0
Texte de la licence: https://spdx.org/licenses/CC-BY-4.0.html
Nous tenons à exprimer notre profonde gratitude au projet Horizon 2020 Hotmaps (accord de subvention numéro 723677), qui a fourni le financement pour mener à bien la présente enquête.
This page was automatically translated. View in another language:
English (original) Bulgarian* Czech* Danish* German* Greek* Spanish* Estonian* Finnish* Irish* Croatian* Hungarian* Italian* Lithuanian* Latvian* Maltese* Dutch* Polish* Portuguese (Portugal, Brazil)* Romanian* Slovak* Slovenian* Swedish*
* machine translated
Last edited by web, 2020-09-30 11:29:36