• Stars
    star
    148
  • Rank 250,045 (Top 5 %)
  • Language
    JavaScript
  • License
    GNU Affero Genera...
  • Created almost 6 years ago
  • Updated 10 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

GreenIT-Analysis

GreenIT-Analysis (V3.1.2)

GreenIT-Analysis est une extension pour navigateur qui vous permet de quantifier les impacts environnementaux d'un parcours utilisateur complet, même derrière un firewall et / ou une authentification applicative. L'outil vérifie également l'utilisation de bonnes pratiques visant à diminuer ces impacts.

Cette extension s'inspire fortement des fonctionnalités de EcoIndex et EcoMeter.

Pour les informations concernant le calcul de l'ecoindex, se référer à https://ecoindex.fr/quest-ce-que-ecoindex/.

L'extension est supportée sur toutes les versions de navigateurs basés sur chromium (à partir de la version 55 ). Elle est aussi supportée sur firefox avec quelques bonnes pratiques non supportées (du fait de limitations des API Firefox). A noter que bien que fonctionnant sur la version ESR de firefox, le plugin a des comportements particuliers, voir point FireFox ESR ci-après.

Utiliser l'extension

  • Ouvrir les outils de développement du navigateur (F12).
  • Aller dans l'onglet GreenIT.
  • Dans le navigateur, aller sur la page à analyser.
  • Dans l'onglet GreenIT des outils de développement, cliquer sur le bouton "Lancer l'analyse".
  • Les résultats s'affichent.
  • Vous pouvez sauvegarder ce résultat dans un historique (seul les indicateurs sont enregistrés) via le bouton "Sauver l'analyse"
  • L'historique des résultats sauvegardés est disponible via le bouton "Historique"

Pour avoir une analyse des bonnes pratiques, il faut cocher la case "Activer l'analyse des bonnes pratiques".

Quelques points de vigilance:

  • Si le nombre de requêtes est à zéro, c'est probablement parce que vous n'avez pas charger la page avec les outils de developpement démarrés. Il faut donc penser à faire un rechargement de la page.
  • Pour avoir des mesures correctes, il faut préalablement vider le cache du navigateur (Dans le cas contraire, le volume transféré va être réduit si vous avez déjà consulté le site mesuré). Pour vous eviter d'aller dans les menus du navigateur, un bouton est prévu à cet effet dans l'extension.
  • L'utilisation d'un bloqueur de publicité ou autre filtre a une influence sur le résultat.

Résultats différents entre deux analyses

Le plugin effectue son analyse sur la base des données fournies par l'API du navigateur et, ce faisant, témoigne de la réalité constatée au moment de l'analyse dans le navigateur qui l'exécute. Lorsque l'on fait deux fois l'analyse d'un même site, le résultat peut être différent. Parmi les causes possibles, on notera par exemple:

  • les mécanismes de mise à jour en continu (même si vous avez l'impression que le site est chargé, il y a des choses qui peuvent continuer à se charger et au moment où vous lancez l'analyse il y a toujours des chargements en cours, le volume de données téléchargé et le nombre de requêtes dépendent donc du moment ou vous cliquez sur le bouton "analyser"). De même, si vous lancez l'analyse alors que le site n'est pas totalement chargé vous aurez aussi cet effet.
  • les publicités qui peuvent changer entre deux analyses (la localisation, l'heure de la journée, visites précédentes avec son navigateur et bien d'autres paramètres qui sont pris en compte par les spécialistes du retargeting vont se traduire par le chargement en cascade de librairies *.js différentes et de l'affichage de contenus publicitaires différents)
  • le scrolling : si on fait un scrolling au moment de l'analyse, on risque de lancer des chargements de données qui ne seraient pas fait sinon.
  • Le niveau de "privacy" qui, selon le niveau paramétré et selon le navigateur, induira lui aussi des effets de bord
  • Les effets de cache (cf. point de vigilance du chapitre précédent)

Résultats différents avec le site ecoIndex.fr

Le site ecoIndex.fr peut donner des résultats différents. En plus des raisons citées plus haut, on ajoutera que :

  • Le site ecoIndex utilise un navigateur pour faire l'analyse, le navigateur et son paramètrage est différent du navigateur que vous utilisez pour l'analyse
  • Le ecoIndex utilise un scénario pré-définit qui est différent du scénario que vous exécutez manuellement. Vous pouvez trouver ici le détail du scénario ecoIndex.

Enregistrement du parcours utilisateur

Vous pouvez quantifier les impacts environnementaux d'un parcours utilisateur en lançant et en enregistrant des analyses sucessives après chaque page visitée. On pourra calculer une ecoIndex global sur la base d'une moyenne : ( score url1 + score url2 + score url3 + ... score urln ) / n

Attention cependant car le plugin ne vous permet pas d'enregistrer simplement un parcours utilisateur dans le cas d'une application monopage (Single Page Application). En effet lorsque vous cliquez sur analyse, les valeurs "Taille de la page" et "Nombre de requêtes" portent sur toute la page en cours (qui reste la même tout au long du parcours) et pas sur les ressources ajoutées entre l'analyse en cours et l'analyse précédente.Pour remédier à ce problème, deux solutions possibles :

  • Après chaque analyse intermédiaire vider les requêtes tracées par le navigateur via le panneau réseau (ou Network) du panel développeur. L'analyse suivante ne prendra en compte que les nouvelles ressources téléchargées.
  • Faire une seule analyse à la fin du parcours sur l'application single page (du fait de la structure mono page , l'analyse prendra en compte toutes les requêtes et données echangées lors du parcours) .

Particularités liées à Firefox ESR

Si vous utilisez l'extension sur firefox ESR:

  • vous devez aller dans l'onglet réseau lorsque vous avez ouvert le panel développeur(F12) avant d'aller sur la page à analyser (cela permet d'activer l'analyse des flux au sein du navigateur).
  • il peut arriver que la taille du dom soit à 0, vous devez dans ce cas fermer le panel developpeur et recommencer.

Particularité lié à Chrome

Si vous utilisez l'extension avec chrome et que vous avez coché l'option "bloquer les cookies tiers", la fonction de sauvegarde de analyses ne pourra pas fonctionner (cf. #30)

Permissions de l'extension

Pour fonctionner, l'extension utilise les permissions suivantes :

  • activeTab, tabs : utilisée pour afficher la page des analyses sauvegardées et pour accéder aux contenus des pages pour l'analyse
  • <all_urls> : utilisée pour accéder aux Urls pour l'analyse
  • browsingData : utilisée pour vider le cache du navigateur

Confidentialité

L'analyse est effectuée en local et le résulat est stocké dans l'espace de stockage du navigateur lorsque l'utilisateur choisit d'enregister l'analyse. Le plugin ne fait aucune connexion réseau et donc aucune donnée n'est envoyé sur le réseau.

Tests

Pour utiliser directement l'extension avec les modifications effectuées localement :

  • Aller dans les paramètres de Chrome > Plus d'outils > Extensions. Activer le Mode Développeur.
  • Cliquer sur "Chargez l'extension non empaquetée" et sélectionner le dossier où se trouve le code source.

Tests unitaires

Pour lancer les tests, il suffit d'ouvrir le fichier SpecRunner.html avec Chrome.
Pour éviter un problème de CORS, lancer Chrome en désactivant la sécurité :

google-chrome --disable-web-security --user-data-dir

Tests manuels

Ouvrir dans Google Chrome les pages test1.html, test2.html et test3.html situées dans le répertoire tests/Manual/. Lancer l'outil d'analyse pour chaque page et vérifier que les résultats correspondent à ce qui est indiqué sur la page.

Questions & anomalies

Pour toutes anomalies ou questions, vous pouvez poster une issue ou contacter [email protected]

License

GreenIT-Analysis est sous license AGPLv3.

Copyright (C) 2015 EcoIndex.fr, Frédéric Bordage, (http://ecoindex.fr/quest-ce-que-ecoindex/)
Copyright (C) 2016-2022 Frédéric Bordage
Copyright (C) 2016  The EcoMeter authors (https://gitlab.com/ecoconceptionweb/ecometer)
Copyright (C) 2019-2022  [email protected] 

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

Le texte complet de la license se trouve dans le fichier LICENSE.

Les facteurs d'impacts environnementaux (quantités de gaz à effet de serre et d'eau) ne sont pas sous licence libre. Tous droits réservés. © Frédéric Bordage. Merci de demander l'autorisation à son auteur pour les utiliser : [email protected] .

Une partie du code provient du projet EcoMeter.

More Repositories

1

best-practices

115 Web Ecodesign Best Practices
411
star
2

EcoIndex

Dépôt du site www.ecoindex.fr
JavaScript
67
star
3

ecoCode

Reduce the environmental footprint of your software applications with this cutting-edge sonarQube plugin
Groovy
62
star
4

ecoindex_cli

This tool provides an easy way to analyze websites with Ecoindex from your local computer. You have the ability to make the analysis on multiple pages with multiple screen resolution. You can also make a recursive analysis from a given website.
Python
47
star
5

GreenIT-Analysis-cli

Wrapper de l'extension GreenIT Analysis
JavaScript
46
star
6

best-practices-mobile

📱 Mobile Ecodesign Best Practices (for developers)
31
star
7

best-practices-wordpress

Shell
26
star
8

ecoindex_api

This tool provides an easy way to analyze websites with Ecoindex on a remote server.
Python
21
star
9

ecoindex_badge

Intégrez facilement un badge Ecoindex à vos pages pour afficher votre score et sensibiliser à l'impact environnemental du numérique
TypeScript
20
star
10

ecoindex_python_fullstack

Refactoring of ecoindex in one monorepo using polylith pattern
Python
15
star
11

ecoindex_python

This basic module provides a simple interface to get the Ecoindex based on 3 parameters: The number of DOM elements in the page, the size of the page, the number of external requests of the page
Python
9
star
12

ecoindex-browser-plugin

Simple web browser plugin to display ecoindex results of a given page
CSS
6
star
13

ecoindex-audit

HTML
5
star
14

ecoindex_node

Calculates a webpage ecoindex (from http://www.ecoindex.fr)
JavaScript
5
star
15

EcoindexApp

Ecoindex desktop app
TypeScript
4
star
16

ecoindex_reference

Provide useful reference data for computing ecoindex.
3
star
17

lighthouse-plugin-ecoindex

This plugin is a wrapper of ecoindex for lighthouse.
JavaScript
3
star
18

ecoindex_bff

Simple Back For Front project to interface with Ecoindex API and facilitate Badge status generation
Go
2
star
19

wiki

Wiki
2
star
20

ecoindex_scrap_python

Ecoindex_scraper module provides a way to scrape data from given website while simulating a real web browser
Python
2
star
21

ecoLinter

JavaScript
1
star