Le bilan carbone de votre site est (probablement) faux.
EDIT : En novembre 2022 Ecoindex.fr a fait peau neuve. Le fond de l’article reste pertinent mais les exemples ne sont plus représentatifs des résultats obtenus aujourd’hui.
Dans tous les cas, un score unique, mesuré à partir d’un modèle, ne mesurant qu’un affichage front d’un site n’est pas représentatif du bilan carbone de ce site et inutilisable dans le cas d’une comparaison avec un site dont l’usage est différent.
En mars dernier, un de mes collègues a partagé une publication du site journalisme.design : un article sur le classement Écoindex des sites de presse.
Curieux de voir le résultat, je suis directement descendu au classement et c’est sans surprise que j’ai retrouvé le Low Tech Magazine proche de la première position.
Par contre, j’ai été très surpris de retrouver Konbini en 8ème position.
Konbini, le faux “bon élève”
Écoindex donnait à Konbini une note de 64.
Pour référence, le Low Tech Magazine, qui ne fonctionne qu’à l’énergie solaire, aurait une note de 75, et FranceTVInfo aurait une note de 11.
Mais que fait donc Konbini pour se placer aussi haut ? Comment ont-ils réussi à produire un site de presse qui serait presque aussi performant énergétiquement que celui du Low Tech Magazine ?
En creusant un peu, j’ai réalisé que la mesure Écoindex était faussée dans de nombreux cas, et qu’elle ne représentait absolument pas un bilan carbone.
D’après moi, Konbini aurait remporté la loterie Écoindex par accident.
Regardons d’un peu plus près comment Konbini fonctionne :
A chaque chargement, le site exécute des dizaines de milliers de lignes de JavaScript pour afficher des publicités, traquer ses utilisateurs, faire fonctionner les éléments interactifs du site.

Sur mes tests de l’époque (en mars 2021), on notait aussi que le site n’était pas particulièrement performant à l’affichage, avec une construction du DOM à la volée (donc sans SSR ou “server-side rendering”), beaucoup de repaints et une animation permanente : le carrousel défilait automatiquement.

Il apparait donc que Konbini est un site comme beaucoup d’autres en React. Pas particulièrement performant à cause de l’absence de SSR, très consommateur en JavaScript (notamment à cause du fameux Shadow DOM de React), et surtout très pénalisé par l’affichage de publicité et le chargement de divers scripts d’analytics.
Comment Écoindex a t-il pu faire une erreur si grossière ?
Avant d’y répondre, je dois aborder 3 points très important dans un bilan carbone :
- La définition du “parcours type”
- Le périmètre de la mesure
- Le modèle utilisé
Le “parcours type”
Si vous avez acheté une voiture récemment, vous vous êtes sûrement intéressé à son malus écologique. En 2021, si vous achetez une voiture neuve qui produit 133 grammes de CO² au km, vous devrez vous acquitter d’une taxe de 50€. Pour une voiture qui produirait 200 grammes de CO² au km, cela vous coûterait 14881€. Aïe.
Depuis 2015, les constructeurs du monde entier se soumettent à un test standardisé : le WLTP (Worldwide Harmonised Light Vehicles Test Procedure). L’objectif d’un tel test est de mesurer la pollution émise par la voiture sur différent “parcours types”, qui seraient proches de l’utilisation réelle du véhicule par un utilisateur.
Une partie du cycle est par exemple consacrée à des vitesses lentes, associées à une conduite plus urbaine, avec des arrêts réguliers. Une autre partie du cycle est consacrée à des vitesses plus élevées et régulières, associée à une conduite sur l’autoroute.

Cela paraît logique. Si l’on ne mesurait pas les émissions d’un véhicule dans des conditions au plus proche du réel, on se retrouverait dans la même situation qu’avec le cycle NEDC avant 2015, qui a justement mené au DieselGate. Les constructeurs pouvaient alors optimiser leurs véhicules pour les conditions du test, facilement reconnaissable par l’ordinateur de bord.
Le cycle WLTP est loin d’être parfait. Les constructeurs se tournent souvent vers l’hybridation pour gagner quelques précieux grammes dans leurs scores d’émission, mais il a au moins le mérite d’essayer de se rapprocher d’une utilisation réelle.
Revenons au sites internet. Quel “parcours type” a donc choisi de mesurer l’outil Écoindex ?
Aucun.
La mesure du classement d’Écoindex s’effectue sur le chargement initial de la page, comme la plupart des outils à disposition sur le web.
Imaginez un moment que la mesure des émissions d’une voiture ne se fasse qu’au démarrage du moteur. Un énorme SUV avec une micro-hybridation aurait des meilleurs scores qu’une petite citadine à essence.
C’est pourtant ce que représente une mesure de l’empreinte carbone au chargement initial pour un site internet.
A chaque interaction (clic, scroll, swipe, …), à chaque changement de page ou affichage d’image, de vidéo ou d’embed, l’empreinte carbone totale du parcours augmente.
Une mesure d’empreinte carbone au chargement initial ne représente qu’une fraction de celle d’un parcours complet et les deux ne sont pas forcément corrélées : un site lourd au chargement peut être léger dans son parcours et vice-versa.
Sur les sites internet, la question du parcours est complexe. D’un site à l’autre, la navigation, l’expérience et les consommations de contenus sont complètement différentes. Même d’un site média à l’autre, dans la plupart des cas, impossible de définir un parcours qui corresponde aux deux.
Chaque site est responsable de son “parcours type”, et s’il veulent parler de leurs efforts en termes de Green IT, il leur revient aussi d’être transparent quant à ce sujet là.
Si mesurer la performance écologique d’un site au chargement revient à mesurer celle d’une voiture au démarrage, ce n’est pas non plus complètement inutile. Par contre, cette mesure ne doit en aucun cas servir de bilan carbone ou à classer les sites entre eux.
Le périmètre de la mesure
Le second point qui me pose problème avec ce classement, c’est qu’il suggère que l’on mesure l’impact de la totalité du site, avec un modèle qui “représenterait” les 3 grandes parties d’un architecture web : les serveurs, les réseaux et les appareils.
La validité du modèle est un point que j’aborde dans la partie suivante. Parlons d’abord du périmètre de la mesure :
Si on veut mesurer le bilan carbone d’un site, que prend-on en compte ?
Netflix a trouvé une réponse à cette question :
Roughly half (50%) of that footprint was generated by the physical production of Netflix-branded films and series, whether we manage them directly (likeThe Midnight Sky), or through a third-party production company (like Our Planet and You vs. Wild). It also includes content we license that is Netflix-branded (like My Octopus Teacher and Down to Earth with Zac Efron).
The remainder (45%) comes from our corporate operations (like the offices we lease) and purchased goods (like our marketing spend). Also, we use cloud providers like Amazon Web Services and the Open Connect content delivery network to stream our service. These account for 5% of our footprint.
We don’t include emissions from internet transmission or electronic devices our members use to watch Netflix. Internet service providers and device manufacturers have operational control over the design and manufacturing of their equipment*, so ideally account for those emissions themselves.
Le bilan carbone de Netflix prend donc en compte la partie humaine des opérations, le bilan carbone des productions, directes ou indirectes, celle produite par les équipes dans les bâtiments, et celle de leur réseau dans le Cloud.
Par contre, la surconsommation énergétique (pendant un visionnage) de l’appareil de l’utilisateur serait à la charge du fabricant du téléphone, et celle liée aux transmissions internet serait à la charge des FAI.
Cette position de Netflix sur le périmètre du bilan carbone est discutable (notamment le dernier paragraphe), mais le plus gros problème est ailleurs :
Chaque acteur est libre de définir son périmètre, arbitrairement.
Reprenons l’exemple des voitures. Imaginez que les constructeurs de voitures déclarent désormais que la pollution de leurs véhicules sur les autoroutes Vinci n’est pas à prendre en compte dans leur bilan, mais dans celui de Vinci. Après tout, ce sont eux qui ont construit l’autoroute et si elle était plus lisse et plus à l’abris du vent, la voiture consommerait moins, non ?
Même s’il y a une part de vérité, cela semblerait malhonnête : quand on regarde le bilan carbone d’une voiture, on présume qu’il comporte également la pollution moyenne émise sur sa durée de vie, pas juste celle causée par sa construction.
Quand on regarde celui d’un site, on imagine que ça comprend également la surconsommation énergétique moyenne (liée au parcours type justement) sur l’appareil de l’utilisateur. C’est tout l’intérêt de faire un site léger, rapide ou avec des couleurs plus sombres. Netflix a décidé que non.
Et concernant Écoindex, la mesure n’est effectuée que sur la partie front du site. Et même si leur modèle est censé compenser pour ce qui n’est pas mesuré, cela ne peut fonctionner que si tous les sites sont construits de la même manière et que le modèle est valide, ce qui n’est pas le cas.
Il est donc très important d’être transparent sur le périmètre mesuré lors d’un bilan carbone. En tant que lecteur, votre responsabilité est d’aller plus loin que la lecture d’un seul gros chiffre. Posez-vous la question : qu’est-ce qui est mesuré dans ce bilan ?
Le modèle utilisé
Aujourd’hui, il est impossible d’avoir une mesure réelle d’un bilan carbone. On ne peut pas placer une sonde dans chaque appareil, suivre les faits et gestes de chaque employé à tout moment ou prendre en compte l’intégralité des bilans carbones intermédiaires (sous-sous-traitants ?) ayant mené à la réalisation du site dont on souhaite le bilan carbone.
Tous les bilans carbones sont des approximations, souvent créées à partir de l’agrégation de mesures réelles et de modèles scientifiques.
Ceux effectués par Écoindex n’y échappent pas. Les résultats sont entièrement calculés à partir d’un modèle, pas de mesures réelles.
Regardons ce modèle :
EcoIndex est une note sur 100. Plus la note est élevée et meilleure est la performance environnementale. Nous avons choisi cette représentation car c’est la plus couramment utilisée sur le web pour évaluer d’autres dimensions telles que la qualité, la performance, l’accessibilité, etc.
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).
L’EcoIndex est calculé à partir de trois mesures physiques objectives : taille du DOM, Ko transférés, nombre de requêtes HTTP. Ces trois indicateurs sont associés via une moyenne pondérée avec 3 pour le DOM, 2 pour les requêtes HTTP et 1 pour le poids des données transférées.

Il y a deux choses qui sautent aux yeux :
- Aucune mesure de la consommation CPU, donc la quantité de JavaScript exécutée sur l’appareil n’est pas prise en compte.
- Aucune mesure liée au CSS, par exemple les animations permanentes ou les fameux repaints (lorsque les CPU/GPU doivent regénérer l’affichage d’une partie de la page) qui sont souvent cités comme très coûteux dans les tests énergétiques.
C’est problématique, et c’est pourquoi Konbini a pu remonter aussi haut.
Dans la mesure effectuée lors du classement, le DOM de Konbini (la donnée avec la plus forte pondération) affiche 295 éléments, alors qu’il devrait en afficher plus d’un millier. Que s’est-il passé ? La mesure s’est probablement arrêtée avant que la page soit entièrement générée.
Rappelez-vous, Konbini fonctionnait (au moment de mes tests) sans SSR. C’est la pire approche en termes de bas carbone et de performances d’affichage, puisqu’au lieu de construire une page une fois côté serveur et de la servir via du cache à des milliers de lecteurs, la page est entièrement (ou parfois, partiellement) générée sur chaque appareil où elle s’affiche.
Et c’est exactement ce que ce modèle a choisi de récompenser avec un score élevé.
Si on ajoute le fait que l’outil n’a ni pris en compte la quantité importante de JavaScript exécutée sur la page, ni la consommation énergétique liée aux repaints et animations, on comprend facilement qu’un site comme Konbini ait pu finir aussi haut au classement.
Quel est le modèle idéal ?
Je ne le connais pas, et je doute qu’il existe un jour. Les paramètres à prendre en compte sont très nombreux et plus un modèle est simple, moins il a de chances d’être vrai. Ce qui est certain c’est qu’il devra aussi prendre en compte la consommation des différents composants d’un appareil (CPU, GPU, écran principalement).
Une rédemption possible ?
Le site Écoindex est actuellement en rénovation et il est tout à fait possible que le modèle de calcul (qui datait quand même de 2014, la préhistoire dans le monde du web) soit en train d’être revu.
Je n’arrive d’ailleurs plus à reproduire les mesures que j’avais effectué à l’époque de la sortie de l’article via leur extension Chrome/Firefox. Aujourd’hui, les scores affichés par l’extension sont de 53 sur Konbini, 47 sur FranceTVInfo et 83 sur le Low Tech Magazine.
Il semble également que la taille du DOM soit enfin correctement prise en compte sur les sites en SPA qui chargeraient une page vide avant de la générer de manière asynchrone.
Ce qui est certain concernant ce genre d’outils, c’est qu’à défaut d’avoir un périmètre de mesure complet ou une mesure effectuée sur un parcours type, le modèle doit changer. Il est encore trop facile de les tromper, volontairement ou pas.
Vous n’avez pas besoin de me croire sur parole. J’ai créé un site, The Battery Drainer, dont le seul but est de challenger les modèles obsolètes.
L’idée du site m’est venue suite à la lecture du modèle d’Écoindex justement. Voyant que certains modèles ne prennent pas en compte la charge imposée au processeur et à la carte graphique des appareils, j’ai créé une page qui effectue des calculs mathématiques en permanence (la suite de Fibonacci) et affiche un fond multicolore dont l’animation est infinie (shift des pixels). La charge CPU/GPU et le drain de batterie pourraient être beaucoup plus importants avec un vrai benchmark 3D, mais je n’ai pas eu le courage de me lancer là-dedans.
Un tel site consomme une quantité importante de batterie sur un téléphone ou ordinateur portable, autrement dit : ce site n’est pas du tout bas carbone.
Sur l’extension “GreenIT” d’Écoindex, The Battery Drainer obtient pourtant un score de 92. Plus que Konbini, plus que le Low Tech Magazine.


Sur le classement initial, The Battery Drainer aurait finit en première place. Pourquoi ? Parce que le DOM (la structure HTML) ne comporte que peu d’éléments et que peu de requêtes sont faites.
Comme dans le cas du DieselGate, où une mesure trop simpliste a poussé les constructeurs à tricher, un modèle aussi basique peut facilement être contourné et exploité. Et dans nombre de cas, les résultats faussés le seront de manière complètement accidentelle et finiront présentés dans des articles de veille.
Les outils de mesure de l’empreinte carbone tels qu’Écoindex doivent continuer à exister. Même si leur rôle est limité, ils apportent une première information utile à quiconque voudrait faire un effort pour la planète.
Des personnes avec des connaissances limitées en développement web peuvent aussi s’en servir de base pour essayer d’améliorer leurs pratiques de développement sans payer une fortune pour qu’un prestataire vienne faire un audit complet suivi d’une formation.
Savoir rester méfiant
Dans le cadre de la veille technique, on voit passer toutes sortes de publications sur des sujets à la mode, et le fameux Green IT n’y échappe pas en ce moment.
Le danger avec des sujets aussi politiques, c’est que l’on peut très vite sortir les informations de leur contexte ou simplement tromper (souvent involontairement) des lecteurs qui n’ont que peu de connaissances techniques.
Les bilans carbones annoncés par les outils de mesures à disposition sur internet et remontés dans des articles de veille sont faux. Ils fonctionnent sur un périmètre réduit, sans parcours type et avec un modèle arbitraire.
Même avec toute l’honnêteté du monde, il est impossible de fournir un bilan carbone réel. Et c’est pour ça que le contexte est plus important que jamais. Ne regardez pas simplement les chiffres, essayez de comprendre ce qu’ils représentent.
À la question “Quel est votre bilan carbone ?”, il ne devrait jamais y avoir de réponse aussi simple qu’un chiffre.