Ce site est en version beta. N’hésitez pas à nous faire part de vos commentaires sur les discussions Github

Comment ça marche ?

EcoIndex permet de prendre conscience de l’impact environnemental d’internet et de proposer des solutions concrètes.

L’analyse est gratuite, automatique et vous aide à identifier rapidement les sites web et services en ligne à revoir en priorité. Cela ne vous dispense pas de l’analyse complémentaire d’un expert pour disposer d’un bilan opérationnel complet et fiable.

Pour faire simple


Vous entrez une URL dans l’EcoIndex, qui calcule alors la performance et l’empreinte environnementale de la page testée :

  • La performance environnementale est représentée par un score sur 100 et une note de A à G (plus la note est élevée, mieux c’est !).
  • L’empreinte environnementale est matérialisée par les émissions de gaz à effet de serre et la consommation d’eau générées par la page.

Plusieurs critères sont pris en compte par notre méthode de calcul :

  • La complexité de la page : le DOM (Document Object Model) représente la structure et les éléments d’une page web HTML. Plus le DOM comporte d’éléments, plus la page est complexe à déchiffrer, et donc à afficher pour le navigateur. Concrètement, tout ça signifie un effort plus important à fournir de la part du processeur de votre ordinateur pour afficher la page, ce qui diminue la durée de vie de votre équipement.
  • Le poids des données transférées : avant d’apparaître sur votre écran, une page web est un ensemble de données stockées sur un serveur. Lorsque vous accédez à une page, votre navigateur envoie une requête au serveur pour qu’il lui communique ces données, afin de les mettre en forme et de les afficher sur votre écran. Seulement voilà : le transport de ces données, plus ou moins lourdes, du serveur au navigateur nécessite de l’énergie.
  • Petite précision : dans cette version, nous considérons que la connexion est de type Wi-Fi via ADSL. Dans la prochaine version, nous prendrons en compte différents types de connexions, notamment la 4G. En effet, une connexion 4G nécessite jusqu’à 23 fois plus d’énergie pour transporter la même quantité de données qu’une connexion ADSL.
  • Le nombre de requêtes HTTP : ce critère permet de prendre en compte l’effort fait par les serveurs pour afficher la page testée. Plus le nombre de requêtes est important pour une même page, plus il faudra de serveurs pour servir cette page.

Comparer ce qui est comparable


EcoIndex.fr a été conçu pour comparer des URL du même type : par exemple, la page «  Article  » de différents sites d’information ou la page d’accueil de différents sites institutionnels. Notre moteur de calcul n’est pas en mesure de détecter automatiquement le type de page ou d’URL analysée. Certains types de sites ont, de manière générale, un impact plus élevé que d’autres. Il faut donc comparer ce qui est comparable : par exemple, ça n’aurait pas vraiment de sens de mettre côte à côte la page d’accueil d’un gros site marchand comme Amazon et un article publié dans Le Monde !

Le choix des critères


Chacun des critères décrits ci-dessus (taille du DOM, poids des données et requêtes HTTP) a été choisi pour représenter chaque tiers de l’architecture d’un service numérique :

  • l’internaute et ses équipements pour le nombre d’éléments du DOM ;
  • le réseau pour les données transférées ;
  • le serveur pour le nombre de requêtes HTTP.

Le calcul de l’EcoIndex


Les trois critères sont injectés dans notre algorithme pour calculer l’EcoIndex de la page testée. Nous les associons via une moyenne pondérée de :

  • 3 pour le DOM
  • 2 pour les requêtes HTTP
  • 1 pour le poids des données transférées

Différentes analyses micro et macro soulignent le poids prépondérant du tiers «  internaute  » en termes d’impacts environnementaux, surtout lors de la fabrication des équipements. C’est pour cette raison qu’il est surpondéré par rapport aux autres.

x = cent moins un sixième de (trois fois le quantile DOM + deux fois le quantile Http + une fois le quantile données, en kilo-octets}

Afin de prendre en compte la disparité dans les mesures des trois indicateurs, nous positionnons la valeur constatée pour chaque critère dans un quantile, en tenant compte de sa proximité avec les bornes inférieures/supérieures du quantile. Les bornes de l’échelle de l’EcoIndex (0 à 100) ont été mises au point et validées en analysant la base HTTParchive (500 000 URLs).

Le calcul de la note


Une fois l’EcoIndex obtenu, nous classons cette valeur par rapport aux autres valeurs de la base EcoIndex. Nous obtenons donc un rang. Nous répartissons les rangs sur une échelle allant de A à G (norme européenne). Vous obtenez donc une seconde information : la performance de l’URL par rapport aux autres URLs testées. Il s’agit donc d’une performance relative à l’échantillon étudié.

L’empreinte environnementale


Empreinte physique

L’empreinte physique du site se caractérise, notamment, par la quantité de mémoire vive (RAM) et le nombre de cycles processeur (CPU) consommés par le processus navigateur affichant l’URL analysée. L’analyse de l’empreinte physique dans le temps (évolution de la consommation mémoire et charge CPU) permet d’identifier des corrélations et effets de seuil : blocage CPU, surconsommation mémoire, etc.

L’empreinte environnementale d’une page est représentée par son équivalence en matière d’émissions de gaz à effet de serre et de consommation d’eau pour un nombre donné de visiteurs. Elle est calculée en fonction du niveau d’éco­conception du site. Nous partons d’un impact moyen en termes d’émission de gaz à effet de serre et de consommation d’eau douce, issu de plusieurs modélisations réalisées par GreenIT.fr : cet impact moyen est de 2g. eq. CO2 et 3 cl. d’eau bleue par page web. Le calcul de cette valeur est basé sur les résultats d’une ACV (analyse de cycle de vie) de bout en bout (du terminal au serveur) en cycle de vie complet (fabrication et utilisation) du calcul, transport et affichage d’une page web. Cette valeur moyenne est nuancée en fonction du niveau d’éco­conception de la page testée, cela signifie que, selon l’EcoIndex obtenu, nous sur-pondérons ou sous-pondérons les valeurs moyennes. Ces résultats ont été vérifiés par des tiers et sont cohérents avec les résultats obtenus par d’autres modélisations totalement indépendantes. Dans cette première version, l’analyse s’entend depuis un poste fixe avec une connexion ADSL.

Pour plus d’informations sur le fonctionnement de l’EcoIndex : Sous le capot de la mesure Ecoindex

Méthodologie d’analyse


Le site internet ecoindex.fr utilise l’API ecoindex_api pour faire tourner les analyses de page. Le projet ecoindex_api embarque un driver chrome pour selenium.

Lorsqu’on lance une analyse, on va donc charger la page demandée dans un vrai navigateur Chrome et jouer le scénario suivant :

  1. Lancer un navigateur Chrome headless avec les options no-sandbox, disable-dev-shm-usage et les capacités goog:loggingPrefs à {"performance": "ALL"}
  2. Ouvrir la page sans données locales (cache, cookies, localstorage…) avec une résolution 1920 × 1080px
  3. Attendre 3 secondes
  4. Scroller en bas de page
  5. Attendre de nouveau 3 secondes
  6. Fermer la page

Si la page est bien une page html (content type text/html) qui ne rencontre pas d’erreur (code HTTP 200), alors on procède à l’analyse des métriques de la session :

  • Le nombre de logs de type Network.loadingFinished indique le nombre de requêtes faites à des ressources externes
  • La somme de tous les encodedDataLength de ces mêmes requêtes + taille du html de la page elle même permet de calculer le poids de la page
  • Le décompte de tous les noeuds du DOM de la page en excluant les noeuds enfants des éléments svg nous indique le nombre d’éléments du DOM de la page

Points importants


Contrairement à d’autres services d’analyse utilisant un navigateur headless, avec EcoIndex.fr, le chargement, la création et l’affichage de la page dans le navigateur ne sont pas simulés. Il n’y a aucune différence avec ce qui se passe dans votre navigateur.

Les tests sont limités à 10 par jour pour un même nom de domaine. Cela permet de limiter les abus d’utilisation, d’éviter un «  surmenage  » du serveur, et de rendre EcoIndex accessible à toutes et tous, à tout moment. Cependant, si vous souhaitez effectuer des tests plus fréquents, vous pouvez utiliser d’autres outils mis à disposition par le collectif : Les projets du collectif sur Github

Mise en garde


EcoIndex ne donne aucune information sur les efforts faits en termes d’éco­conception. A l’instar d’un radar qui mesure une vitesse instantanée, EcoIndex mesure la performance environnementale instantanée. Une analyse complémentaire est nécessaire pour évaluer la maturité / le niveau d’éco­conception de l’URL étudiée. Les chiffres fournis par EcoIndex sont des ordres de grandeur. Ils vous indiquent si votre site est plutôt efficient ou pas, et si son empreinte environnementale est plutôt faible ou élevée. De manière générale, une analyse poussée de la performance et de l’empreinte environnementale de votre site nécessite l’intervention d’un expert. Cette version d’EcoIndex est imparfaite. Nous en sommes conscients. Nous travaillons déjà à une prochaine version. Aidez-nous à améliorer ce service en y contribuant !

Sources et utilisation


Vous pouvez trouvez les sources et contribuer sur nos répertoires Github: le site et le back-end. L’algorithme EcoIndex, le service EcoIndex.fr et les autres outils associés, ainsi que les résultats fournis par l’algorithme sont proposés sous licence Creative Commons CC-By-NC-ND Cela signifie que tout le monde peut utiliser l’algorithme, les outils et les résultats, à condition de citer la source des chiffres obtenus – EcoIndex.fr et un lien vers le service http://ecoindex.fr. Il n’est pas possible d’en faire un usage commercial. Pour plus d’informations voir les mentions légales.