Aller au contenu
Réussir mon BTS SIO

Tape une notion, une commande ou le nom d'une épreuve.

Par exemple

Chapitre 716 minDébutant

Mesurer : EcoIndex, Lighthouse et calculateurs carbone

Par Josselyn C., prof de BTS SIO. Mis à jour le .

À la fin de ce chapitre, tu sauras

  • choisir l'outil de mesure adapté à chaque besoin ;
  • monter un protocole de mesure comparable avant et après ;
  • expliquer et calculer l'EcoIndex d'une page ;
  • présenter un score avec ses limites.

5 exercices corrigés1 schéma

Mesurer l'impact d'un service numérique, c'est relever des grandeurs observables (poids d'une page, nombre de requêtes, taille du DOM, consommation électrique) puis, si besoin, les convertir en score ou en estimation d'émissions grâce à un modèle. L'EcoIndex, GreenIT-Analysis, Lighthouse et les calculateurs carbone sont les outils les plus utilisés. Ce chapitre explique ce que chacun mesure vraiment, comment monter un protocole de mesure fiable, comment l'EcoIndex calcule sa note, et les limites à connaître avant de citer un chiffre.

Mesurer, estimer, évaluer

Trois niveaux de précision existent, et il faut savoir sur lequel on se trouve.

NiveauCe qu'on obtientOutilsFiabilité
MesurerDes grandeurs physiques ou techniques : octets, requêtes, éléments du DOM, temps, wattsOutils de développement du navigateur, wattmètre, capteurs des serveursExacte pour ce qui est mesuré, dans les conditions de la mesure
EstimerUn score ou des grammes de CO₂e, calculés par un modèle à partir des mesuresEcoIndex, Website Carbon, CO2.js, Impact CO₂Ordre de grandeur, qui dépend des hypothèses du modèle
ÉvaluerUne analyse du cycle de vie complète et multicritèreÉtudes d'experts, comme celle de l'ADEME et de l'ArcepLa plus complète, mais longue et coûteuse

Les outils de mesure d'une page web

Les outils de développement du navigateur. C'est la mesure de base, sans rien installer. L'onglet Réseau donne le nombre de requêtes, le poids transféré et le poids décompressé, ressource par ressource, avec un filtre par type et par domaine. La console compte les éléments du DOM : document.querySelectorAll('*').length.

Lighthouse. Intégré aux outils de développement de Chrome (onglet Lighthouse), il audite une page et la note sur quatre catégories : performance, accessibilité, bonnes pratiques et référencement. Depuis la version 13, sortie en octobre 2025, ses conseils de performance sont regroupés en « insights » : diffusion des images, cache, ressources qui bloquent l'affichage, scripts en double, services tiers. Lighthouse ne mesure pas l'impact environnemental, mais une page rapide sur un téléphone d'entrée de gamme est presque toujours une page sobre. Il mesure aussi deux des trois Core Web Vitals, les indicateurs de Google : LCP (affichage du plus grand élément, bon sous 2,5 s) et CLS (stabilité de la mise en page, bon sous 0,1). Le troisième, l'INP (réactivité aux interactions, bon sous 200 ms), suppose de vraies interactions : Lighthouse l'approche par le TBT (temps de blocage total), et PageSpeed Insights affiche l'INP mesuré chez les vrais utilisateurs de Chrome (les Core Web Vitals).

L'EcoIndex et GreenIT-Analysis. Né au sein du collectif GreenIT.fr, l'EcoIndex est un projet libre, maintenu par le Collectif Conception Numérique Responsable. Le site ecoindex.fr analyse une page publique à partir de son adresse. L'extension GreenIT-Analysis, pour Chrome et Firefox, calcule l'EcoIndex d'une page ouverte dans ton navigateur, y compris une page interne ou derrière une connexion, et vérifie une liste de bonnes pratiques d'écoconception (images redimensionnées, cache, compression, polices, requêtes en erreur…).

Les calculateurs carbone. Website Carbon estime les émissions d'un chargement de page à partir de son poids et de l'hébergeur ; depuis le 14 juillet 2025, il utilise la version 4 du Sustainable Web Design Model, dont les estimations sont en moyenne deux tiers plus basses que celles de la version 3, ce qui montre à quel point le résultat dépend du modèle. La bibliothèque libre CO2.js fait le même calcul dans ton propre code. Impact CO₂, le site de l'ADEME, donne l'empreinte de référence des appareils et des usages courants (ordinateur, smartphone, vidéo, visioconférence). Boavizta, un groupe de travail inter-organisations, publie une API libre qui estime l'empreinte multicritère d'un serveur ou d'une instance cloud selon sa configuration.

La consommation électrique des serveurs. Un wattmètre entre la prise et la machine donne la mesure la plus simple. Les serveurs récents exposent aussi leur consommation par leur carte de gestion (IPMI ou Redfish), que Zabbix sait relever et suivre dans le temps (ce qu'il faut superviser).

Ton besoinL'outil qui y répond
Voir ce qui alourdit une pageOnglet Réseau des outils de développement
Un score d'écoconception comparable avant et aprèsEcoIndex (ecoindex.fr ou GreenIT-Analysis)
Une page lente sur mobile, des conseils techniquesLighthouse
Un ordre de grandeur en CO₂e pour sensibiliserWebsite Carbon, Impact CO₂
L'impact d'un serveur ou d'une instance cloudWattmètre, capteurs du serveur, Boavizta

Un protocole de mesure fiable

Une mesure isolée ne vaut rien ; un protocole rend les chiffres comparables et défendables devant un jury.

  1. Choisis les parcours qui comptent, comme le RGESN le demande pour la déclaration : pour Sorbier, « suivre un colis » = page d'accueil, saisie du numéro, page de résultat.
  2. Fixe les conditions : même navigateur, fenêtre de navigation privée sans extensions (sauf l'outil de mesure), cache désactivé pour une première visite, même bridage du réseau.
  3. Mesure trois fois et garde la valeur médiane, car le réseau et les services tiers varient d'un chargement à l'autre.
  4. Note tout : date, adresse, outil et sa version, valeurs.
  5. Agis, puis mesure à nouveau dans les mêmes conditions, et documente le gain.
DatePageOutilRequêtesPoidsDOMEcoIndex
02/10/2026suivi.sorbier.example/GreenIT-Analysis1124 180 Ko1 45021 (F)
06/11/2026suivi.sorbier.example/GreenIT-Analysis28690 Ko61065 (C)

Pour t'entraîner sur une application complète, mesure les écrans du TP AppliFrais avant et après tes optimisations : c'est exactement le genre de preuve qu'une commission d'E6 apprécie.

Comment l'EcoIndex calcule sa note

L'EcoIndex part de trois mesures, chacune associée à un maillon du numérique :

  • la taille du DOM (nombre d'éléments), pour le terminal ;
  • le nombre de requêtes, pour le serveur et les centres de données ;
  • le poids transféré, pour le réseau.

Chaque mesure est placée sur une échelle de 0 à 20 (un quantile) en la comparant à un grand échantillon de pages réelles issu de l'HTTP Archive. La note combine les trois positions avec des poids 3, 2 et 1 : le DOM compte triple, parce que le terminal, surtout sa fabrication, concentre l'essentiel de l'impact.

text
EcoIndex = 100 − 5 × (3 × qDOM + 2 × qrequêtes + 1 × qpoids) / 6

Le score va de 0 à 100 ; plus il est haut, mieux c'est. Il se traduit en lettre selon des seuils, et en estimations de gaz à effet de serre et d'eau par vue, calculées autour d'une moyenne de 2 g CO₂e et 3 cl d'eau pour une page de score 50.

Taille du DOMpoids 3 · le terminalNombre de requêtespoids 2 · le serveurPoids transférépoids 1 · le réseauEcoIndex = 100 − 5 × (3 qDOM + 2 qrequêtes + qpoids) / 6GFEDCBA0102540557080100avant : 21 (F)après : 65 (C)
L'échelle de l'EcoIndex et les trois mesures qui la composent

Ce petit programme reproduit le calcul de référence, avec les bornes publiées dans le dépôt libre du projet (cnumr/ecoindex_python_fullstack). Il n'utilise que Python, sans bibliothèque :

python
# ecoindex.py : calcule l'EcoIndex d'une page à partir de ses trois mesures.
# Quantiles et seuils repris de l'implémentation de référence (dépôt cnumr/ecoindex_python_fullstack).

QUANTILES_DOM = [0, 47, 75, 159, 233, 298, 358, 417, 476, 537, 603, 674, 753,
                 843, 949, 1076, 1237, 1459, 1801, 2479, 594601]
QUANTILES_REQUETES = [0, 2, 15, 25, 34, 42, 49, 56, 63, 70, 78, 86, 95, 105,
                      117, 130, 147, 170, 205, 281, 3920]
QUANTILES_POIDS_KO = [0, 1.37, 144.7, 319.53, 479.46, 631.97, 783.38, 937.91,
                      1098.62, 1265.47, 1448.32, 1648.27, 1876.08, 2142.06,
                      2465.37, 2866.31, 3401.59, 4155.73, 5400.08, 8037.54,
                      223212.26]
SEUILS = [("A", 80), ("B", 70), ("C", 55), ("D", 40), ("E", 25), ("F", 10)]


def quantile(bornes, valeur):
    """Position de la valeur entre 0 et 20, interpolée entre deux bornes."""
    for i in range(1, len(bornes)):
        if valeur < bornes[i]:
            return i - 1 + (valeur - bornes[i - 1]) / (bornes[i] - bornes[i - 1])
    return len(bornes) - 1


def ecoindex(elements_dom, requetes, poids_ko):
    q_dom = quantile(QUANTILES_DOM, elements_dom)
    q_req = quantile(QUANTILES_REQUETES, requetes)
    q_poids = quantile(QUANTILES_POIDS_KO, poids_ko)
    return round(100 - 5 * (3 * q_dom + 2 * q_req + q_poids) / 6)


def note(score):
    for lettre, seuil in SEUILS:
        if score > seuil:
            return lettre
    return "G"


def ges_g(score):
    return round(2 + 2 * (50 - score) / 100, 2)


def eau_cl(score):
    return round(3 + 3 * (50 - score) / 100, 2)


if __name__ == "__main__":
    for nom, dom, req, ko in [("avant", 1450, 112, 4180), ("après", 610, 28, 690)]:
        score = ecoindex(dom, req, ko)
        print(f"{nom} : EcoIndex {score}, note {note(score)}, "
              f"{ges_g(score)} g CO2e et {eau_cl(score)} cl d'eau par vue")
text
$ python3 ecoindex.py
avant : EcoIndex 21, note F, 2.58 g CO2e et 3.87 cl d'eau par vue
après : EcoIndex 65, note C, 1.7 g CO2e et 2.55 cl d'eau par vue

Tu retrouves le gain de la page de suivi du chapitre 4 : de 21 (F) à 65 (C).

Les limites des scores

Un score est un indicateur, pas une vérité. Garde ces limites en tête avant de le citer.

  • L'échelle est relative. L'EcoIndex compare ta page aux pages du web : une note A signifie « parmi les plus sobres de l'échantillon », pas « sans impact ».
  • Seul le chargement est mesuré. Ce que fait l'utilisateur ensuite (défiler, regarder une vidéo pendant vingt minutes, laisser un onglet interroger le serveur toutes les cinq secondes) n'apparaît pas.
  • Le travail du serveur est invisible. Une page légère peut cacher une requête SQL de dix secondes ou un modèle d'IA appelé à chaque visite.
  • Le JavaScript est sous-estimé. Le DOM et le poids ne disent pas combien de temps le processeur passe à exécuter les scripts ; Lighthouse le voit mieux.
  • On peut tricher. Différer le chargement de tout après la mesure améliore la note sans réduire ce que l'utilisateur télécharge vraiment.

Exercices

Exercice 1 sur 5 Les seuils de l'EcoIndex Réussi À revoir

Donne la lettre correspondant à chacun de ces scores : 81, 80, 70, 56, 55, 26, 25, 10.

Voir la réponseMasquer la réponse de l'exercice 1
Score8180705655262510
NoteABCCDEFG

Chaque lettre exige de dépasser son seuil : il faut plus de 80 pour A, plus de 70 pour B, plus de 55 pour C, plus de 40 pour D, plus de 25 pour E, plus de 10 pour F. Un score égal au seuil tombe dans la classe du dessous.

Tu avais trouvé ?

Exercice 2 sur 5 Estimer le gain sur une année Réussi À revoir

La page de suivi des livraisons reçoit 10 000 visites par mois. Son EcoIndex passe de 21 à 65.

  1. Avec les formules de l'EcoIndex, calcule les émissions estimées par vue avant et après.
  2. Quelle économie estimée de CO₂e par an ?
  3. Pourquoi faut-il présenter ce chiffre avec prudence dans un dossier ?
Voir la réponseMasquer la réponse de l'exercice 2
  1. Avant : 2 + 2 × (50 − 21) / 100 = 2,58 g par vue. Après : 2 + 2 × (50 − 65) / 100 = 1,70 g par vue.
  2. (2,58 − 1,70) × 10 000 = 8 800 g, soit 8,8 kg par mois et 8,8 × 12 = 105,6 kg de CO₂e par an (estimation).
  3. C'est une estimation issue d'un modèle simple (poste fixe, ADSL, moyenne de 2 g par page), qui ne compte ni le travail du serveur ni l'usage après le chargement. Elle sert à montrer un ordre de grandeur et un progrès, mesurés avec le même outil. Le gain le plus important, une page qui reste utilisable sur les vieux téléphones des clients, ne se voit d'ailleurs pas dans ce chiffre.

Tu avais trouvé ?

Exercice 3 sur 5 Quelle mesure améliorer d'abord ? Réussi À revoir

La page de suivi mesurait, avant optimisation, 1 450 éléments de DOM, 112 requêtes et 4 180 Ko, pour un EcoIndex de 21. Avec le programme ecoindex.py, on teste trois corrections séparément :

Correction appliquée seuleDOMRequêtesPoids (Ko)EcoIndex
Réduire le DOM6101124 18038
Réduire les requêtes1 450284 18038
Réduire le poids1 45011269030
  1. Le poids a été divisé par six, et pourtant cette correction améliore le moins la note. Pourquoi ?
  2. Que montre la combinaison des trois, qui donne 65 ?
  3. Un développeur conclut : « Le poids des images ne compte presque pas, inutile de les optimiser. » Qu'en penses-tu ?
Voir la réponseMasquer la réponse de l'exercice 3
  1. Les trois mesures n'ont pas le même coefficient : le DOM compte 3, les requêtes 2, le poids 1. Le poids est la mesure la moins pondérée, car l'EcoIndex considère que le réseau pèse moins que le terminal et le serveur.
  2. Les gains s'additionnent : 21 + 17 (DOM) + 17 (requêtes) + 9 (poids) ≈ 64, le calcul exact donne 65. Aucune correction seule ne suffit à passer en C.
  3. Il a tort. L'EcoIndex est un modèle simplifié, pas la réalité : des images lourdes ralentissent la page sur un réseau mobile, coûtent des données à l'utilisateur et du trafic à l'hébergeur. Et ici, optimiser les images a aussi réduit le nombre de requêtes (le carrousel supprimé). On optimise pour l'usage réel, pas pour la formule.

Tu avais trouvé ?

Exercice 4 sur 5 Choisir l'outil Réussi À revoir

Quel outil utilises-tu dans chaque situation ?

  1. Antoine Mercier veut savoir quelle ressource alourdit l'intranet de Sorbier, qui n'est accessible qu'après connexion.
  2. La direction veut un ordre de grandeur de l'empreinte d'un ordinateur portable pour une réunion de sensibilisation.
  3. Un développeur veut comprendre pourquoi une page met six secondes à s'afficher sur un téléphone d'entrée de gamme.
  4. Le responsable de l'hébergement veut connaître la consommation réelle d'un hôte Proxmox.
Voir la réponseMasquer la réponse de l'exercice 4
  1. L'onglet Réseau des outils de développement, puis GreenIT-Analysis, qui fonctionne sur une page ouverte dans le navigateur, même derrière une connexion. Le site ecoindex.fr ne peut pas analyser une page privée.
  2. Impact CO₂ de l'ADEME : environ 193 kg CO₂e pour un portable utilisé cinq ans, dont 95 % pour la fabrication.
  3. Lighthouse, avec un bridage mobile : son LCP, son TBT et ses insights (images, scripts bloquants, scripts en double) désignent les causes.
  4. Un wattmètre, ou les capteurs de consommation de la carte de gestion du serveur (IPMI ou Redfish), relevés par Zabbix pour suivre la consommation dans le temps.

Tu avais trouvé ?

Exercice 5 sur 5 Trois affirmations à corriger Réussi À revoir

Corrige chaque affirmation.

  1. « Notre site a un EcoIndex A : il n'a donc aucun impact environnemental. »
  2. « Website Carbon donne 0,3 g par page et l'EcoIndex 1,7 g : Website Carbon est plus précis, puisqu'il est plus bas. »
  3. « Nous avons mesuré une fois notre page d'accueil, puis une fois après les changements, sur deux ordinateurs différents : le gain est de 40 %. »
Voir la réponseMasquer la réponse de l'exercice 5
  1. L'EcoIndex est une échelle relative : A signifie que la page est parmi les plus sobres du web, pas qu'elle n'a pas d'impact. Le score ne voit ni le serveur, ni l'usage après chargement, ni la fabrication des terminaux.
  2. Les deux outils utilisent des modèles différents : leurs chiffres ne se comparent pas, et un chiffre plus bas n'est pas plus juste. On compare uniquement des mesures faites avec le même outil.
  3. Le protocole n'est pas fiable : une seule mesure, sur deux machines différentes. Il faut mesurer plusieurs fois (et garder la médiane), dans les mêmes conditions (même navigateur, même réseau, cache désactivé), et noter la date et la version de l'outil.

Tu avais trouvé ?

Chapitre terminé !

Fais les 5 exercices avant de passer à la suite : c'est en t'entraînant que tout se fixe.

chapitres
–
de série
–
du cours
–
Chapitre suivant : Éthique du numérique : accessibilité, données personnelles et biaisRevoir le sommaire du cours