Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

We don't have a way to export this macro.

Ce tutoriel décrit comment générer un dashboard Greenspector.

...

Il est nécessaire de télécharger l’exécutable TODO 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 ici TODO.dans la page Modules.

Assets

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

Config

Ce fichier définit les accès à l’environnement Greenspector. Il est possible d’ajouter plusieurs environnements pour pouvoir changer simplement d’instance Greenspector.

...

Code Block
languageyaml
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

Définition des audits

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.

...

Code Block
languageyaml
auditids:
  - version: # Nom de la version à afficher
    plateforme: # Nom de la plateforme àaffiché allersur chercherl’interface sur AppGreenspector
    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.
  - [...]

...

Définition des étapes

La dernière partie obligatoire définit quelles étapes sont utilisées dans l’analyse.

Code Block
languageyaml
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 ».

Lancer exécutable

Éxecuter la commande suivante est optionnelle. Elle sert à définir la comparaison entre les réseaux et les modèles d’appareil

Windows

Code Block
languagebash
dashboardcampagne -config=/path/to/config.yml -definition=/path/to/definition.yml

Linux / Mac OS

Code Block
languagebash
./dashboardcampagne -config=/path/to/config.yml -definition=/path/to/definition.yml

Le navigateur Internet s’ouvre et affiche la page du dashboard.

Info

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é.

Générer un fichier de scenario

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é.

Note

Cet ouverture automatique et la génération du fichier n’est valable que pour Linux.

Générer les fichiers PDF

Note

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.

Note

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

Pour aller plus loin

Comparaisons

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.

Code Block
languageyaml
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)"
    - [...]

Définition des étapes

La dernière partie obligatoire définit quelles étapes sont utilisées dans l’analyse.

Code Block
languageyaml
refname: # nom de l’étape de référence (exemple: "PAUSE_reference")
steps:
  - 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   - [...]

Les types d'étape

Les différents types d'étapes sont les suivants :

  • UserAction (action ou scroll sur l'écran)

  • Loading (chargement d'un écran)

  • Pause (pause sur un écran)

En fonction du type d'étape, la sévérité sur les notations peut différer. Le type d'étape est utile également pour calculer différentes moyennes.

Par exemple :

  • les étapes UserAction sont moins sévèrement notées sur la performance

  • les étapes Pause ne sont pas prises en compte de le calcul de la performance par défaut

Si le nom de l'étape respecte le nommage suivant alors son type sera affecté automatiquement. Il peut toujours être surchargé en définissant l'option type :

...

PAUSE_<nom_de_l'étape> : assigné en tant que type Pause

...

ACTION_<nom_de_l'étape> : assigné en tant que type UserAction

...

SCROLL_<nom_de_l'étape> : assigné en tant que type UserAction

...

Définition du calcul d’impact

...

Code Block
languageyaml
environmentalinput:
  serverdistribution:
    locations:
      france: 20 # % de serveurs en France
      world: 80 # % de serveurs à l’étranger
    servertypes:
      complexserver: 70 # % de serveurs complexes 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

Lancer exécutable

...

Addendum sur la définition des étapes

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.

...

Code Block
languagebash
./dashboardcampagne -config=/path/to/config.yml -definition=/path/to/definition.yml

Le navigateur Internet s’ouvre et affiche la page du dashboard.

Info

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é.

Générer un fichier de scenario

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é.

Générer les fichiers PDF

Si l’outil ghostscript est installé sur le poste et accessible, alors l’exécutable dashboardcampagne génère automatiquement un fichier PDF.

Note

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:

yaml
  - 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