Ce tutoriel décrit comment générer un dashboard Greenspector.
Le dashboard Greenspector permet une analyse plus facile à présenter des résultats de mesure. Il permet notamment de calculer un Ecoscore Greenspector, de définir des domaines fonctionnels, de comparer des versions de mesures, etc.
On ne peut comparer que deux versions ayant les mêmes étapes. |
Il est nécessaire de télécharger l’exécutable dans la page Modules.
Il faut ensuite lui changer les droits pour rendre le fichier exécutable.
L’exécutable a besoin de deux fichiers (config file et definition file) et des assets pour se lancer. Des fichiers d’exemple avec les explications sont téléchargeables dans la page Modules.
Télécharger les assets ‘Definition Assets’ dans la page Modules.
Décompresser assets.tar là où vous avez mis votre exécutable dashboardcampagne.
Les répertoires (site_template, site, images, i18n, example) doivent être dans le même dossier que l'éxécutable dashboardcampagne
Ce fichier définit les accès à l’environnement Greenspector. Il est possible d’ajouter plusieurs environnements pour pouvoir changer simplement d’instance Greenspector.
Ce fichier définit les informations analysées et présentées par le dashboard.
La première partie contient les informations de présentations générales.
name: # Le nom du rapport env: # Le nom de l’environnement à utiliser (défini dans le fichier de config) evolutiontype: # comparaison ou evolution - change le type des graphes de suivi des versions generationtype: # optionnel - "All"(default) "Dashboard" ou "Scenarios". Défini quels fichiers seront générés. usembfordata: # optionnel - false (default) ou true. Si true, utilise des Mo au lieu de ko. shouldgenerateevolutionperdomain: # optionnel - false (default) ou true. Si true, génère l’évolution par domaine fonctionnel. pausedurationtouseforconsumption: # optionnel - float64 (30.0 default). Défini la durée en secondes à utiliser pour calculer l’énergie consommée par les pauses language: # optionnel - "EN"(default) ou "FR". Langue des fichiers. basenetworktype: # optionnel - "WIFI"(default) "4G" "3G" ou "2G". Le réseau principal considéré. web: # optionnel - false (default) true. Si true, adapte les seuils de notation pour un parcours web |
La seconde partie contient les versions (ou audits) de l’application à utiliser pour le dashboard. Elles correspondent aux versions sur l’interface web de Greenspector. Leur id est observable dans l’URL lorsqu’une version est sélectionnée.
auditids: - version: # Nom de la version à afficher plateforme: # Nom de la plateforme affiché sur l’interface Greenspector os: # "Android" ou "iOS" idwifi: # id de l'audit WIFI id4g: # optionnel - id de l'audit 4G, utilisé pour comparaison de réseau id3g: # optionnel - id de l'audit 3G, utilisé pour comparaison de réseau id2g: # optionnel - id de l'audit 2G, utilisé pour comparaison de réseau extramestime: # float64 - temps ajouté à la fin des mesures de chargement à déduire des performances en secondes date: # date de la mesure à afficher datacsvfile: # optionnel (utile pour iOS uniquement) - chemin vers un .csv qui contient les data au format US et trois colonnes "auditId,step,dataUsage (kB)" filternetworkonversions: # optionnel - true(default) ou false - si 'true' filtre le réseau sur chaque version fournie (idwifi, id4g ...). Par exemple, uniquement les mesures WIFI seront récupérées sur la version de idwifi. Si la valeur est 'false', alors tous les réseaux sont récupérés sur la valeur fournie. - [...] |
La dernière partie obligatoire définit quelles étapes sont utilisées dans l’analyse.
refname: # nom de l’étape de référence (exemple: "PAUSE_reference") steps: - name: # nom de l’étape domain: # domaine fonctionnel (exemple: "Accueil") displayname: # optionnel - nom de l’étape à afficher dans le rapport. Si défini alors ce nom remplace le champs name qui correspond à la mesure - [...] |
Selon le nom de l’étape, un type lui est assigné automatiquement. Voir la page sur la rédaction d’un parcours fonctionnel pour plus de détails.
Pour surcharger le type de l’étape, voir la section « Pour aller plus loin ».
Éxecuter la commande suivante
Windows
dashboardcampagne -config=/path/to/config.yml -definition=/path/to/definition.yml |
Linux / Mac OS
./dashboardcampagne -config=/path/to/config.yml -definition=/path/to/definition.yml |
Le navigateur Internet s’ouvre et affiche la page du dashboard.
Il est judicieux de penser à vérifier les logs, même s’il semble que la génération s’est bien passée. En effet, si certaines étapes ne sont pas trouvées, le dashboard est quand même généré. |
Le dashboard est également capable de générer un fichier qui définit le parcours automatisé à partir des captures qui ont été enregistrées pendant celui-ci. Pour cela, il faut définir dans le fichier de définition le paramètre generationtype
à All
ou Scenarios
. En plus de cela il faut passer le dossier contenant les screenshots à l’exécutable avec un -screenshots=/path/to/screenshots
.
De même que pour le dashboard, une page html s’ouvre dans le navigateur et un fichier pdf est généré si ghostscript
est installé.
Cet ouverture automatique et la génération du fichier n’est valable que pour Linux. |
Uniquement disponible avec Linux |
Si l’outil ghostscript
est installé sur le poste et accessible, alors l’exécutable dashboardcampagne
génère automatiquement un fichier PDF.
La lecture de ce fichier PDF ne se fait pas correctement sur Acrobat Reader. Dans ce cas, utiliser un navigateur internet pour ouvrir le fichier. |
Pour l’installer sur Ubuntu:
sudo apt install ghostscript
Il est possible d’ajouter une section de comparaison sur le dashboard. La comparaison peut-être utilisé pour tester un changement de version d’application, un réseau différent ou encore un modèle différent de smartphone.
comparisons: # optionnel - sert à comparer toutes les étapes entre elles metrics: # les métriques à utiliser pour la comparaison - Performance - Data - EnergySpeed - EnergyConsumption audits: - name: # nom de la série à afficher (exemple: "Samsung S7") id: # id de l'audit à récupérer (exemple: 94279) device: # nom du device (exemple: S7) network: # optionnel - "WIFI"(default), "4G", "3G" ou "2G" extramestime: # float64 - temps ajouté à la fin des mesures de chargement à déduire des performances en secondes datacsvfile: # optionnel (utile pour iOS uniquement) - chemin vers un .csv qui contient les data au format US et trois colonnes "auditId,step,dataUsage (kB)" - [...] |
Il est possible de rajouter une section concernant les impacts environnementaux. Ils seront calculés via l’API de calcul d’impact en utilisant les résultats du dashboard.
environmentalinput: serverdistribution: locations: france: 20 # % de serveurs en France world: 80 # % de serveurs à l’étranger servertypes: complexserver: 70 # % de serveurs complexesLinux / Mac OS simpleserver: 30 # % de serveurs simples userdistribution: locations: france: 20 # % d’utilisateurs en France world: 80 # % d’utilisateurs à l’étranger usertypes: smartphone: 50 # % d’utilisateurs sur smartphone tablet: 30 # % d’utilisateurs sur tablette pc: 20 # % d’utilisateurs sur laptop displayallmetrics: # optionnel - false(default) ou true - si true, affiche les graphiques d’eau et de surface reqnetwork: # optionnel - nombre de requêtes HTTP. (si non spécifié, il est déduit du nombre de data du parcours) co2algorithmapi: # optionnel default: https://co2-algorithm-service.greenspector.com/api/v1 - api du service co2 datacdn: # optionnel - float64 (default:0) - quantité de données qui viennent de CDN |
Un certain nombre de paramètres optionnels sont disponibles pour définir plus précisément les étapes. Il est notamment possible de modifier le type d’étape si celui-ci n’a pas été correctement défini.
- name: # nom de l’étape type: # optionnel - "UserAction", "Loading", "Pause" - sert à surcharger le type d’étape défini dans le nom energy: # optionnel - true(default) ou false - dépend du type d'étape si pas de valeur saisie. false classe l’étape dans la catégorie "Non monitoré" performance: # optionnel - true(default) ou false - dépend du type d'étape si pas de valeur saisie. false classe l’étape dans la catégorie "Non monitoré" data: # optionnel - true(default) ou false - dépend du type d'étape si pas de valeur saisie. false classe l’étape dans la catégorie "Non monitoré" domain: # domaine fonctionnel (exemple: "Accueil") order: # optionnel - ordre pour la génération du scénario displayname: # optionnel - nom de l’étape à afficher dans le rapport. Si défini alors ce nom remplace le champs name qui correspond à la mesure |