Mesurer l'Impact Numérique

Guide méthodologique complet pour quantifier l'empreinte environnementale du numérique : outils, méthodologies et bonnes pratiques.

38 min de lecture 7659 mots

“Ce qui ne se mesure pas ne s’améliore pas.” Cette maxime est particulièrement vraie pour l’empreinte environnementale du numérique. Sans mesure, impossible de prioriser les actions, de suivre les progrès ou de communiquer de manière crédible. Ce guide propose une méthodologie complète pour quantifier l’impact numérique à tous les niveaux : web, infrastructure, logiciel et organisation.

Temps de lecture estimé : 55 minutes


1. Fondamentaux de la Mesure

Pourquoi mesurer ?

La mesure de l’impact environnemental du numérique répond à plusieurs objectifs :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
┌─────────────────────────────────────────────────────────────────┐
│                    OBJECTIFS DE LA MESURE                        │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  1. COMPRENDRE                                                  │
│     • Identifier les sources d'impact                           │
│     • Quantifier chaque composant                               │
│     • Établir une baseline                                      │
│                                                                 │
│  2. PRIORISER                                                   │
│     • Cibler les actions à fort impact                          │
│     • Allouer les ressources efficacement                       │
│     • Arbitrer entre options                                    │
│                                                                 │
│  3. SUIVRE                                                      │
│     • Mesurer les progrès                                       │
│     • Détecter les dérives                                      │
│     • Valider les actions                                       │
│                                                                 │
│  4. COMMUNIQUER                                                 │
│     • Informer les parties prenantes                            │
│     • Reporter (CSRD, RSE)                                      │
│     • Éviter le greenwashing                                    │
│                                                                 │
│  5. COMPARER                                                    │
│     • Benchmarker avec le secteur                               │
│     • Évaluer les fournisseurs                                  │
│     • Suivre l'évolution dans le temps                          │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Types d’impacts environnementaux

L’impact du numérique ne se limite pas au carbone. Une approche complète intègre plusieurs dimensions :

ImpactUnitéDescription
Changement climatiquekg CO2eÉmissions de gaz à effet de serre
Épuisement des ressourceskg Sb eqConsommation de ressources abiotiques
Consommation d’eauLEau douce consommée
Acidificationkg SO2 eqAcidification des sols et eaux
Eutrophisationkg PO4 eqApport excessif de nutriments
Pollution de l’airkg PM2.5 eqParticules fines
Énergie primaireMJÉnergie totale consommée

En pratique, on se concentre souvent sur :

  • Émissions carbone (CO2e) : indicateur le plus utilisé
  • Consommation d’énergie (kWh) : facilement mesurable
  • Consommation d’eau : critique pour les data centers
  • Épuisement des ressources : critique pour le matériel

Unités et ordres de grandeur

Unités courantes :

UnitéSignificationÉquivalence
kg CO2eKilogramme d’équivalent CO2Impact climatique
g CO2eGramme d’équivalent CO21/1000 kg CO2e
t CO2eTonne d’équivalent CO21000 kg CO2e
kWhKilowattheureÉnergie électrique
MWhMégawattheure1000 kWh
TWhTérawattheure1 milliard kWh

Ordres de grandeur numérique :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
┌─────────────────────────────────────────────────────────────────┐
│              ORDRES DE GRANDEUR - NUMÉRIQUE                      │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  ÉQUIPEMENTS (fabrication + usage sur durée de vie)             │
│  ───────────────────────────────────────────────────            │
│  Smartphone (3 ans)          : 70 kg CO2e                       │
│  Laptop (5 ans)              : 300-400 kg CO2e                  │
│  Écran 24" (7 ans)           : 200-350 kg CO2e                  │
│  Serveur (5 ans)             : 1 000-2 000 kg CO2e              │
│                                                                 │
│  USAGES (par unité)                                             │
│  ─────────────────                                              │
│  Email simple                : 4 g CO2e                         │
│  Email avec PJ 1 Mo          : 11 g CO2e                        │
│  Email avec PJ 10 Mo         : 50 g CO2e                        │
│  Recherche web               : 0,2-7 g CO2e                     │
│  1h streaming HD             : 36-150 g CO2e                    │
│  1h visioconférence          : 150-300 g CO2e                   │
│                                                                 │
│  STOCKAGE (par an)                                              │
│  ─────────────────                                              │
│  1 Go cloud                  : 0,2-2 kg CO2e/an                 │
│  1 Go email                  : 10-30 kg CO2e/an (avec accès)    │
│                                                                 │
│  INFRASTRUCTURE                                                 │
│  ──────────────                                                 │
│  1 kWh électricité France    : 57 g CO2e (mix 2023)             │
│  1 kWh électricité Allemagne : 385 g CO2e                       │
│  1 kWh électricité Monde     : 475 g CO2e                       │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Équivalences pour communiquer :

ÉmissionÉquivalent compréhensible
1 kg CO2e5 km en voiture
10 kg CO2e50 km en voiture
100 kg CO2eParis-Lyon en voiture
1 t CO2eParis-New York en avion
2 t CO2eBudget carbone annuel compatible +2°C

Limites de la mesure

La mesure d’impact a des limites qu’il faut connaître :

Incertitudes :

  • Les facteurs d’émission varient selon les sources (±20-50%)
  • Les données des fournisseurs sont souvent incomplètes
  • Les méthodologies ne sont pas standardisées

Ce qu’on mesure difficilement :

  • L’impact des équipements réseau intermédiaires
  • La répartition entre services mutualisés
  • L’effet rebond (impact indirect)
  • L’impact social (conditions de travail, extraction)

Approche recommandée :

  • Utiliser une méthodologie cohérente dans le temps
  • Documenter les hypothèses et sources
  • Comparer les ordres de grandeur, pas les décimales
  • Privilégier les tendances aux valeurs absolues

Le piège de la précision

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
┌─────────────────────────────────────────────────────────────────┐
│                    PRÉCISION VS UTILITÉ                          │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  ❌ MAUVAISE APPROCHE                                           │
│  "Notre empreinte est de 127,456 t CO2e"                        │
│  → Fausse précision, non crédible                               │
│                                                                 │
│  ✅ BONNE APPROCHE                                              │
│  "Notre empreinte est estimée entre 100 et 150 t CO2e"          │
│  → Ordre de grandeur honnête                                    │
│                                                                 │
│  ✅ ENCORE MIEUX                                                │
│  "Notre empreinte a baissé de 20% par rapport à l'an dernier"   │
│  → Focus sur la tendance                                        │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

2. Méthodologies

Analyse de Cycle de Vie (ACV)

L’ACV est la méthodologie de référence pour évaluer l’impact environnemental d’un produit ou service sur l’ensemble de son cycle de vie.

Phases du cycle de vie numérique :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
┌─────────────────────────────────────────────────────────────────┐
                    CYCLE DE VIE NUMÉRIQUE                        
├─────────────────────────────────────────────────────────────────┤
                                                                 
  1. EXTRACTION DES MATIÈRES PREMIÈRES                           
      Mines (cobalt, lithium, terres rares)                     
      Raffinage et transformation                               
      10-20% de l'impact total                                  │
                                                                 
  2. FABRICATION                                                 
      Composants (puces, écrans, batteries)                     
      Assemblage                                                
      50-80% de l'impact total (terminaux)                      │
                                                                 
  3. TRANSPORT                                                   
      Acheminement mondial                                      
      Distribution locale                                       
      5-10% de l'impact total                                   │
                                                                 
  4. UTILISATION                                                 
      Consommation électrique                                   
      Maintenance, mises à jour                                 
      10-40% de l'impact total (variable selon équipement)      │
                                                                 
  5. FIN DE VIE                                                  
      Collecte, tri                                             
      Recyclage, traitement                                     
      1-5% de l'impact total                                    │
                                                                 
└─────────────────────────────────────────────────────────────────┘

Normes ACV :

  • ISO 14040 : Principes et cadre
  • ISO 14044 : Exigences et lignes directrices
  • ISO 14067 : Empreinte carbone des produits

Limites de l’ACV pour le numérique :

  • Données manquantes sur les composants
  • Allocation difficile pour les services mutualisés
  • Complexité de la chaîne d’approvisionnement
  • Coût et durée de réalisation

Bilan Carbone (méthode ADEME)

Le Bilan Carbone® est une méthode française développée par l’ADEME pour comptabiliser les émissions de GES.

Structure :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
┌─────────────────────────────────────────────────────────────────┐
│                    SCOPES DU BILAN CARBONE                       │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  SCOPE 1 : ÉMISSIONS DIRECTES                                   │
│  • Combustion sur site                                          │
│  • Véhicules de l'entreprise                                    │
│  → Pour le numérique : généralement faible                      │
│                                                                 │
│  SCOPE 2 : ÉMISSIONS INDIRECTES - ÉNERGIE                       │
│  • Électricité achetée                                          │
│  • Chauffage, climatisation                                     │
│  → Data centers, bureaux, équipements                           │
│                                                                 │
│  SCOPE 3 : AUTRES ÉMISSIONS INDIRECTES                          │
│  • Achats de biens et services                                  │
│  • Transport amont/aval                                         │
│  • Utilisation des produits vendus                              │
│  • Fin de vie                                                   │
│  → 80-90% de l'impact numérique                                 │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Pour le numérique, le Scope 3 est crucial :

  • Fabrication des équipements
  • Services cloud
  • Utilisation par les clients
  • Fin de vie des équipements

PEF (Product Environmental Footprint)

Méthode européenne visant à harmoniser l’évaluation environnementale des produits.

Caractéristiques :

  • 16 catégories d’impact (pas seulement carbone)
  • Règles par catégorie de produits (PEFCR)
  • Approche cycle de vie complet
  • Benchmark possible

Limites :

  • Pas encore de PEFCR pour les services numériques
  • Complexité de mise en œuvre
  • Données spécifiques requises

Méthodes simplifiées

Pour les organisations sans moyens pour une ACV complète :

Approche par estimation :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# Estimation simplifiée empreinte SI

def estimer_empreinte_si(params):
    """
    Estimation rapide de l'empreinte carbone d'un SI
    Basée sur les facteurs moyens du marché
    """

    # Équipements utilisateurs (kg CO2e/an)
    impact_equipements = (
        params['nb_laptops'] * 60 +      # ~300 kg sur 5 ans
        params['nb_ecrans'] * 40 +       # ~280 kg sur 7 ans
        params['nb_smartphones'] * 25    # ~75 kg sur 3 ans
    )

    # Cloud et data center (kg CO2e/an)
    impact_cloud = (
        params['depense_cloud_eur'] * 0.5  # ~0,5 kg CO2e/€
    )

    # Réseau (kg CO2e/an)
    impact_reseau = (
        params['data_transfert_to'] * 50  # ~50 kg CO2e/To
    )

    # Logiciels SaaS (kg CO2e/an)
    impact_saas = (
        params['nb_utilisateurs'] * 50  # ~50 kg CO2e/user/an
    )

    total = impact_equipements + impact_cloud + impact_reseau + impact_saas

    return {
        'total_kg_co2e': total,
        'equipements': impact_equipements,
        'cloud': impact_cloud,
        'reseau': impact_reseau,
        'saas': impact_saas
    }

Approche par ratio :

IndicateurFacteur moyen
Par employé tech500-2 000 kg CO2e/an
Par million € de CA (ESN)20-100 t CO2e
Par serveur1-2 t CO2e/an
Par To de stockage cloud100-500 kg CO2e/an

Comparatif des méthodologies

MéthodePrécisionComplexitéCoûtUsage
ACV complèteÉlevéeTrès élevée50-200k€Produit stratégique
ACV simplifiéeMoyenneMoyenne10-50k€Comparaison options
Bilan CarboneMoyenneÉlevée20-100k€Organisation
PEFÉlevéeTrès élevée30-100k€Conformité EU
EstimationFaibleFaibleInterneSensibilisation

3. Périmètres de Mesure

Définir le périmètre

Un périmètre clair est essentiel pour une mesure cohérente.

Questions clés :

  • Quels équipements inclure ?
  • Quelle période couvrir ?
  • Comment allouer les ressources partagées ?
  • Quels impacts prendre en compte ?

Périmètre organisationnel

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
┌─────────────────────────────────────────────────────────────────┐
│              PÉRIMÈTRE ORGANISATIONNEL                           │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  NIVEAU 1 : POSTE DE TRAVAIL                                    │
│  • Équipement utilisateur (laptop, écran, périphériques)        │
│  • Consommation électrique directe                              │
│  → Utile pour sensibilisation individuelle                      │
│                                                                 │
│  NIVEAU 2 : ÉQUIPE / SERVICE                                    │
│  • Postes de travail de l'équipe                                │
│  • Part d'infrastructure mutualisée                             │
│  • Outils et services utilisés                                  │
│  → Utile pour objectifs d'équipe                                │
│                                                                 │
│  NIVEAU 3 : SYSTÈME D'INFORMATION                               │
│  • Infrastructure (serveurs, réseau, stockage)                  │
│  • Applications et services                                     │
│  • Équipements utilisateurs                                     │
│  → Utile pour stratégie IT                                      │
│                                                                 │
│  NIVEAU 4 : ORGANISATION COMPLÈTE                               │
│  • SI complet                                                   │
│  • Services externalisés                                        │
│  • Chaîne de valeur (fournisseurs, clients)                     │
│  → Utile pour reporting RSE/CSRD                                │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Périmètre technique

Infrastructure on-premise :

ComposantDonnées à collecter
ServeursNombre, specs, âge, consommation
StockageCapacité, type (SSD/HDD), utilisation
RéseauÉquipements, bande passante
ClimatisationPUE, consommation

Cloud :

ProviderDonnées disponibles
AWSCarbon Footprint Tool (gratuit)
AzureEmissions Impact Dashboard
GCPCarbon Footprint (gratuit)
OVHAPI Carbon Calculator

Équipements utilisateurs :

TypeDonnées à collecter
LaptopsModèle, âge, configuration
ÉcransTaille, technologie, âge
PériphériquesType, nombre
SmartphonesModèle, usage pro/perso

Allocation des ressources partagées

Pour les ressources mutualisées, plusieurs méthodes d’allocation :

Par utilisation :

1
Impact_equipe = Impact_total × (Usage_equipe / Usage_total)

Par effectif :

1
Impact_equipe = Impact_total × (Effectif_equipe / Effectif_total)

Par budget :

1
Impact_equipe = Impact_total × (Budget_equipe / Budget_total)

Recommandation : Utiliser la méthode la plus représentative de l’usage réel et rester cohérent dans le temps.

Frontières temporelles

Période de référence :

  • Année calendaire (pour reporting annuel)
  • Année fiscale (pour alignement comptable)
  • Période projet (pour comparaison avant/après)

Amortissement du matériel :

  • Répartir l’impact fabrication sur la durée de vie
  • Durées standards : laptop 5 ans, serveur 5 ans, smartphone 3 ans
1
Impact_annuel_equipement = Impact_fabrication / Durée_vie + Impact_usage_annuel

4. Outils de Mesure

Inventaire des outils

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
┌─────────────────────────────────────────────────────────────────┐
│                    CARTOGRAPHIE DES OUTILS                       │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  MESURE WEB                                                     │
│  ──────────                                                     │
│  • EcoIndex / GreenIT-Analysis                                  │
│  • Website Carbon Calculator                                    │
│  • Lighthouse / PageSpeed Insights                              │
│  • WebPageTest                                                  │
│  • Greenspector                                                 │
│                                                                 │
│  MESURE INFRASTRUCTURE                                          │
│  ─────────────────────                                          │
│  • Cloud Carbon Footprint                                       │
│  • Outils natifs cloud (AWS, Azure, GCP)                        │
│  • Kepler (Kubernetes)                                          │
│  • Scaphandre                                                   │
│  • PowerAPI                                                     │
│                                                                 │
│  MESURE LOGICIELLE                                              │
│  ─────────────────                                              │
│  • CodeCarbon (Python)                                          │
│  • Green Metrics Tool                                           │
│  • Eco-CI (GitHub Actions)                                      │
│  • Profilers énergétiques                                       │
│                                                                 │
│  BILAN GLOBAL                                                   │
│  ────────────                                                   │
│  • Fruggr                                                       │
│  • Verdikt                                                      │
│  • Resilio                                                      │
│  • NegaOctet                                                    │
│  • WeNR                                                         │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Outils de mesure web

EcoIndex

Description : Score d’écoconception web de A à G, basé sur 3 métriques.

Métriques :

  • Nombre de requêtes HTTP
  • Poids de la page (Ko)
  • Nombre d’éléments du DOM

Utilisation CLI :

1
2
3
4
5
6
7
8
# Installation
npm install -g ecoindex-cli

# Analyse d'une URL
ecoindex-cli analyze --url https://example.com

# Analyse de plusieurs URLs
ecoindex-cli analyze --url-file urls.txt --output results.json

Interprétation :

NoteScoreInterprétation
A80-100Excellent
B70-79Très bien
C55-69Bien
D40-54Moyen
E25-39Insuffisant
F10-24Très insuffisant
G0-9Critique

Limites :

  • Ne mesure pas le JavaScript exécuté
  • Ne prend pas en compte le serveur
  • Score relatif, pas d’émissions absolues

Website Carbon Calculator

Description : Estimation des émissions CO2 par visite.

URL : websitecarbon.com

Calcul :

1
2
CO2/visite = Transfert_données × Facteur_emission_reseau ×
             (1 + Part_non_renouvelable) × Facteur_visiteur

Lighthouse

Description : Outil Google d’audit qualité web (performance, accessibilité, SEO).

Utilisation :

1
2
3
4
5
6
7
8
# Installation
npm install -g lighthouse

# Audit complet
lighthouse https://example.com --output json --output-path report.json

# Focus performance
lighthouse https://example.com --only-categories=performance

Métriques clés pour l’écoconception :

  • LCP (Largest Contentful Paint) : < 2,5s
  • FID (First Input Delay) : < 100ms
  • CLS (Cumulative Layout Shift) : < 0,1
  • Total Blocking Time : < 200ms
  • Speed Index : < 3,4s

Greenspector

Description : Outil professionnel de mesure d’impact (web et mobile).

Caractéristiques :

  • Mesure réelle sur devices physiques
  • Consommation mémoire, CPU, batterie
  • Comparaison entre versions
  • Intégration CI/CD

Outils de mesure infrastructure

Cloud Carbon Footprint

Description : Outil open source pour estimer l’empreinte carbone du cloud.

Installation :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
# Clone du repo
git clone https://github.com/cloud-carbon-footprint/cloud-carbon-footprint.git

# Installation des dépendances
cd cloud-carbon-footprint
yarn install

# Configuration
cp packages/api/.env.template packages/api/.env
# Éditer .env avec les credentials cloud

# Démarrage
yarn start

Providers supportés :

  • AWS (via Cost and Usage Reports)
  • Azure (via Consumption API)
  • GCP (via BigQuery Export)

Méthode de calcul :

1
Emissions = Energie_consommee × Facteur_emission_region × PUE

Kepler (Kubernetes)

Description : Kubernetes Efficient Power Level Exporter - mesure la consommation énergétique des pods.

Installation :

1
2
3
# Via Helm
helm repo add kepler https://sustainable-computing-io.github.io/kepler-helm-chart
helm install kepler kepler/kepler --namespace kepler --create-namespace

Métriques exposées :

1
2
3
4
5
# Consommation CPU en joules
kepler_container_joules_total{container_name="my-app", pod_name="my-app-xxx"}

# Par namespace
kepler_namespace_joules_total{namespace="production"}

Dashboard Grafana :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
{
  "panels": [
    {
      "title": "Energy Consumption by Namespace",
      "type": "timeseries",
      "targets": [
        {
          "expr": "sum(rate(kepler_namespace_joules_total[5m])) by (namespace)",
          "legendFormat": "{{namespace}}"
        }
      ]
    }
  ]
}

Scaphandre

Description : Agent de mesure de consommation électrique pour serveurs.

Installation :

1
2
3
4
5
6
# Linux avec accès RAPL
cargo install scaphandre

# Ou via Docker
docker run -v /sys/class/powercap:/sys/class/powercap \
  -v /proc:/proc -ti hubblo/scaphandre

Export Prometheus :

1
scaphandre prometheus --port 8080

Métriques :

1
2
3
4
5
# Puissance totale
scaphandre_host_power_microwatts

# Par processus
scaphandre_process_power_consumption_microwatts{pid="1234", exe="python"}

Outils de mesure logicielle

CodeCarbon

Description : Librairie Python pour tracker les émissions de code ML/Data.

Installation :

1
pip install codecarbon

Utilisation :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from codecarbon import EmissionsTracker

# Tracking automatique
tracker = EmissionsTracker()
tracker.start()

# Votre code
model.fit(X_train, y_train)
predictions = model.predict(X_test)

emissions = tracker.stop()
print(f"Emissions: {emissions} kg CO2e")

Avec décorateur :

1
2
3
4
5
6
from codecarbon import track_emissions

@track_emissions(project_name="mon_projet")
def train_model():
    # Entraînement
    pass

Configuration :

1
2
3
4
5
6
7
8
# .codecarbon.config
[codecarbon]
project_name = mon_projet
measure_power_secs = 15
save_to_file = true
output_dir = ./emissions
tracking_mode = machine
log_level = warning

Eco-CI (GitHub Actions)

Description : Action GitHub pour mesurer l’empreinte carbone des workflows CI.

Utilisation :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# .github/workflows/eco-ci.yml
name: Build with Carbon Tracking

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3

      - name: Initialize Eco-CI
        uses: green-coding-solutions/eco-ci-energy-estimation@v3
        with:
          task: start-measurement

      - name: Build
        run: npm run build

      - name: Tests
        run: npm test

      - name: Report Energy
        uses: green-coding-solutions/eco-ci-energy-estimation@v3
        with:
          task: get-measurement
          label: "build-and-test"

Outils de bilan global

Fruggr

Description : Plateforme SaaS de mesure d’empreinte environnementale du numérique.

Fonctionnalités :

  • Inventaire automatisé du parc
  • Mesure web (extension navigateur)
  • Calcul ACV simplifié
  • Tableaux de bord et reporting

Verdikt

Description : Solution de mesure et pilotage de l’empreinte numérique.

Fonctionnalités :

  • Collecte multi-sources
  • Méthodologie ACV
  • Benchmark sectoriel
  • Plans d’action suggérés

NegaOctet

Description : Base de données de facteurs d’impact pour ACV numérique.

Contenu :

  • Facteurs pour équipements
  • Facteurs pour services cloud
  • Méthodologie documentée

Comparatif des outils

OutilPérimètrePrixComplexitéUsage
EcoIndexWebGratuitFaibleQuick check
LighthouseWebGratuitFaibleCI/CD
GreenspectorWeb/MobilePayantMoyennePro
CCFCloudGratuitÉlevéeMulti-cloud
KeplerKubernetesGratuitMoyenneK8s
CodeCarbonCodeGratuitFaibleML/Data
FruggrSI completPayantMoyenneEntreprise

5. Mesure Web

Méthodologie d’audit web

Processus d’audit :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
┌─────────────────────────────────────────────────────────────────┐
│                    PROCESSUS D'AUDIT WEB                         │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  1. PRÉPARATION                                                 │
│     • Lister les pages à auditer (priorité trafic)              │
│     • Définir les conditions de test                            │
│     • Préparer l'environnement                                  │
│                                                                 │
│  2. COLLECTE                                                    │
│     • Exécuter les outils de mesure                             │
│     • Répéter les mesures (stabilité)                           │
│     • Documenter les conditions                                 │
│                                                                 │
│  3. ANALYSE                                                     │
│     • Identifier les problèmes principaux                       │
│     • Prioriser par impact                                      │
│     • Comparer aux benchmarks                                   │
│                                                                 │
│  4. RECOMMANDATIONS                                             │
│     • Lister les actions correctives                            │
│     • Estimer les gains                                         │
│     • Définir les priorités                                     │
│                                                                 │
│  5. SUIVI                                                       │
│     • Mesurer après corrections                                 │
│     • Valider les gains                                         │
│     • Mettre en place le monitoring                             │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Métriques clés

Métriques techniques :

MétriqueCibleOutils
Poids total< 1 MoDevTools, WebPageTest
Nombre de requêtes< 30DevTools
Éléments DOM< 1500EcoIndex
JavaScript< 300 KoWebpack Analyzer
CSS< 100 KoCSS Stats
Images< 500 KoImageOptim
Temps de chargement< 3sLighthouse

Métriques d’impact :

MétriqueSourceInterprétation
EcoIndex scoreEcoIndexA-G, synthétique
g CO2e/visiteWebsite CarbonImpact par visite
kWh/1000 visitesEstimationConsommation

Automatisation des mesures

Script de mesure automatique :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
// measure-eco.js
const { execSync } = require('child_process');
const fs = require('fs');

const urls = [
  'https://example.com/',
  'https://example.com/produits',
  'https://example.com/contact'
];

const results = [];

for (const url of urls) {
  console.log(`Measuring ${url}...`);

  // EcoIndex
  const ecoindex = JSON.parse(
    execSync(`ecoindex-cli analyze --url "${url}" --output json`).toString()
  );

  // Lighthouse
  const lighthouse = JSON.parse(
    execSync(`lighthouse "${url}" --output json --quiet`).toString()
  );

  results.push({
    url,
    date: new Date().toISOString(),
    ecoindex: {
      score: ecoindex.score,
      grade: ecoindex.grade,
      requests: ecoindex.requests,
      size: ecoindex.size,
      dom: ecoindex.dom,
      water: ecoindex.water,
      co2: ecoindex.co2
    },
    lighthouse: {
      performance: lighthouse.categories.performance.score * 100,
      lcp: lighthouse.audits['largest-contentful-paint'].numericValue,
      fcp: lighthouse.audits['first-contentful-paint'].numericValue,
      tbt: lighthouse.audits['total-blocking-time'].numericValue
    }
  });
}

fs.writeFileSync('eco-report.json', JSON.stringify(results, null, 2));
console.log('Report saved to eco-report.json');

Intégration CI/CD :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# .github/workflows/eco-audit.yml
name: Eco Audit

on:
  push:
    branches: [main]
  schedule:
    - cron: '0 6 * * 1'  # Chaque lundi à 6h

jobs:
  audit:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3

      - name: Setup Node.js
        uses: actions/setup-node@v3
        with:
          node-version: '18'

      - name: Install tools
        run: |
          npm install -g lighthouse ecoindex-cli

      - name: Run audit
        run: node measure-eco.js

      - name: Check thresholds
        run: |
          SCORE=$(jq '.[] | select(.url == "https://example.com/") | .ecoindex.score' eco-report.json)
          if [ "$SCORE" -lt 50 ]; then
            echo "EcoIndex score below threshold: $SCORE"
            exit 1
          fi

      - name: Upload report
        uses: actions/upload-artifact@v3
        with:
          name: eco-report
          path: eco-report.json

Interprétation des résultats

Grille de lecture :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
┌─────────────────────────────────────────────────────────────────┐
                    INTERPRÉTATION RÉSULTATS                      
├─────────────────────────────────────────────────────────────────┤
                                                                 
  POIDS DE PAGE                                                  
  < 500 Ko     : Excellent                                       
  500 Ko - 1 Mo : Bien                                           
  1 - 2 Mo     : Moyen, optimisation possible                    
  2 - 5 Mo     : Problématique                                   
  > 5 Mo       : Critique, action urgente                        
                                                                 
  REQUÊTES HTTP                                                  
  < 20         : Excellent                                       
  20 - 40      : Bien                                            
  40 - 80      : Moyen                                           
  > 80         : Problématique                                   
                                                                 
  JAVASCRIPT                                                     
  < 100 Ko     : Excellent                                       
  100 - 300 Ko : Bien                                            
  300 - 500 Ko : Moyen                                           
  > 500 Ko     : Problématique                                   
                                                                 
  IMAGES                                                         
  Format moderne (WebP/AVIF) : +10 points                        
  Lazy loading              : +10 points                         
  Responsive               : +10 points                          
  Compression optimale     : +10 points                          
                                                                 
└─────────────────────────────────────────────────────────────────┘

Benchmarks sectoriels

Moyennes par secteur (2024) :

SecteurPoids moyenEcoIndex moyen
E-commerce3,2 MoE (35)
Media4,5 MoF (25)
Corporate2,1 MoD (42)
SaaS1,8 MoC (55)
Blog1,5 MoC (58)
Portfolio1,2 MoB (68)

Top performers :

  • Low-tech Magazine : < 500 Ko, A
  • Gov.uk : < 200 Ko, A
  • Motherfucking Website : < 10 Ko, A

6. Mesure Infrastructure

Méthode de mesure data center

Indicateurs clés :

IndicateurFormuleCible
PUEÉnergie totale / Énergie IT< 1,4
CUEÉmissions CO2 / Énergie ITVariable selon mix
WUEEau consommée / Énergie IT< 1,8 L/kWh
EREÉnergie réutilisée / Énergie IT> 0,5

Calcul simplifié empreinte data center :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
def calculer_empreinte_dc(params):
    """
    Calcul de l'empreinte carbone d'un data center
    """

    # Consommation IT annuelle (kWh)
    conso_it = params['puissance_it_kw'] * 8760  # heures/an

    # Consommation totale avec PUE
    conso_totale = conso_it * params['pue']

    # Émissions (kg CO2e)
    emissions_usage = conso_totale * params['facteur_emission_kwh']

    # Amortissement équipements (kg CO2e/an)
    emissions_equipements = (
        params['nb_serveurs'] * 400 +  # ~2000 kg / 5 ans
        params['nb_switches'] * 60 +   # ~300 kg / 5 ans
        params['stockage_to'] * 20     # ~100 kg / 5 ans / To
    )

    return {
        'conso_kwh_an': conso_totale,
        'emissions_usage_kg': emissions_usage,
        'emissions_equipements_kg': emissions_equipements,
        'emissions_totales_kg': emissions_usage + emissions_equipements
    }

# Exemple
params = {
    'puissance_it_kw': 100,
    'pue': 1.5,
    'facteur_emission_kwh': 0.057,  # France
    'nb_serveurs': 50,
    'nb_switches': 10,
    'stockage_to': 100
}

result = calculer_empreinte_dc(params)
print(f"Emissions annuelles: {result['emissions_totales_kg']/1000:.1f} t CO2e")

Mesure cloud

AWS

Carbon Footprint Tool :

Dashboard disponible dans la console AWS avec :

  • Émissions par service
  • Émissions par région
  • Tendance historique

API Cost and Usage Report :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
-- Requête Athena pour extraire les données
SELECT
    line_item_product_code as service,
    product_region as region,
    SUM(line_item_usage_amount) as usage,
    SUM(line_item_unblended_cost) as cost
FROM cost_and_usage
WHERE month = '2024-01'
GROUP BY 1, 2
ORDER BY cost DESC

Azure

Emissions Impact Dashboard :

1
2
3
4
5
6
7
8
9
# Récupération via API
$token = (Get-AzAccessToken -ResourceUrl "https://management.azure.com").Token
$headers = @{Authorization = "Bearer $token"}

$response = Invoke-RestMethod `
    -Uri "https://management.azure.com/providers/Microsoft.Carbon/carbonEmissionReports?api-version=2023-04-01-preview" `
    -Headers $headers

$response.value | Format-Table

GCP

Carbon Footprint :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
# Export BigQuery
bq query --use_legacy_sql=false '
SELECT
    usage_month,
    service.description as service,
    location.location as region,
    SUM(carbon_footprint_kgCO2e.scope1) as scope1,
    SUM(carbon_footprint_kgCO2e.scope2_location) as scope2,
    SUM(carbon_footprint_kgCO2e.scope3) as scope3
FROM `project.dataset.carbon_footprint`
GROUP BY 1, 2, 3
ORDER BY usage_month DESC
'

Mesure Kubernetes

Avec Kepler :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
# prometheus-rules.yaml
apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
  name: kepler-energy-rules
spec:
  groups:
    - name: kepler.energy
      rules:
        - record: namespace:kepler_energy_consumption:rate5m
          expr: |
            sum(rate(kepler_container_joules_total[5m])) by (namespace)

        - alert: HighEnergyConsumption
          expr: |
            sum(rate(kepler_container_joules_total[5m])) by (namespace) > 100
          for: 15m
          labels:
            severity: warning
          annotations:
            summary: "High energy consumption in namespace {{ $labels.namespace }}"

Dashboard Grafana :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
{
  "dashboard": {
    "title": "Kubernetes Energy Dashboard",
    "panels": [
      {
        "title": "Energy by Namespace (Watts)",
        "type": "bargauge",
        "targets": [{
          "expr": "sum(rate(kepler_container_joules_total[5m])) by (namespace)"
        }]
      },
      {
        "title": "Top 10 Pods by Energy",
        "type": "table",
        "targets": [{
          "expr": "topk(10, sum(rate(kepler_container_joules_total[5m])) by (pod_name))"
        }]
      },
      {
        "title": "Estimated CO2 (kg/day)",
        "type": "stat",
        "targets": [{
          "expr": "sum(rate(kepler_container_joules_total[5m])) * 86400 / 3600000 * 0.057"
        }]
      }
    ]
  }
}

Calcul d’empreinte cloud

Formule générale :

1
Emissions = Σ (Usage_ressource × Facteur_emission_ressource × PUE × Facteur_mix_region)

Facteurs d’émission par type de ressource :

RessourceUnitéFacteur (kg CO2e)
vCPU-heureheure0,003 - 0,008
GB-mois (stockage)mois0,0001 - 0,0003
GB (transfert)GB0,01 - 0,05
GPU-heureheure0,05 - 0,20

Facteurs par région :

RégionMix (g CO2e/kWh)
eu-west-3 (Paris)57
eu-west-1 (Ireland)280
us-east-1 (Virginia)350
us-west-2 (Oregon)110
eu-north-1 (Stockholm)8
ap-northeast-1 (Tokyo)480

7. Mesure Logicielle

Profiling énergétique

Outils de profiling :

OutilLangageMétrique
PowerTOPLinuxWatts process
Intel VTuneMultiEnergy, CPU
PerfLinuxCPU cycles
CodeCarbonPythonkg CO2e
JoularJXJavaJoules

Exemple avec PowerTOP :

1
2
3
4
5
# Lancer le monitoring
sudo powertop --csv=power-report.csv --time=60

# Analyser un process spécifique
sudo perf stat -e power/energy-pkg/,power/energy-cores/ ./mon_programme

Benchmark énergétique

Script de benchmark :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import time
import psutil
from codecarbon import EmissionsTracker

def benchmark_function(func, *args, iterations=100):
    """
    Benchmark énergétique d'une fonction
    """
    tracker = EmissionsTracker(log_level='error')

    # Baseline (CPU idle)
    process = psutil.Process()
    cpu_before = process.cpu_percent(interval=1)

    # Exécution
    tracker.start()
    start_time = time.time()

    for _ in range(iterations):
        result = func(*args)

    elapsed = time.time() - start_time
    emissions = tracker.stop()

    cpu_after = process.cpu_percent(interval=1)
    memory = process.memory_info().rss / 1024 / 1024  # MB

    return {
        'emissions_kg': emissions,
        'emissions_per_call_g': emissions * 1000 / iterations,
        'duration_s': elapsed,
        'duration_per_call_ms': elapsed * 1000 / iterations,
        'cpu_percent': (cpu_before + cpu_after) / 2,
        'memory_mb': memory
    }

# Exemple
def process_data(data):
    return sorted(data)

data = list(range(100000))
result = benchmark_function(process_data, data, iterations=100)

print(f"Emissions: {result['emissions_per_call_g']:.6f} g CO2e/call")
print(f"Duration: {result['duration_per_call_ms']:.2f} ms/call")

Comparaison de solutions

Framework de comparaison :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import json
from typing import Callable, Dict, List

class EnergyComparator:
    def __init__(self):
        self.results = []

    def add_solution(self, name: str, func: Callable, *args, **kwargs):
        """Ajoute une solution à comparer"""
        result = benchmark_function(func, *args, **kwargs)
        result['name'] = name
        self.results.append(result)

    def compare(self) -> Dict:
        """Compare les solutions"""
        if not self.results:
            return {}

        # Trier par émissions
        sorted_results = sorted(self.results, key=lambda x: x['emissions_kg'])

        baseline = sorted_results[0]['emissions_kg']

        for r in sorted_results:
            r['vs_best'] = f"+{((r['emissions_kg'] / baseline) - 1) * 100:.1f}%"

        return {
            'best': sorted_results[0],
            'worst': sorted_results[-1],
            'all': sorted_results,
            'potential_reduction': (
                (sorted_results[-1]['emissions_kg'] - baseline) /
                sorted_results[-1]['emissions_kg'] * 100
            )
        }

# Utilisation
comparator = EnergyComparator()

# Solution 1: Boucle native
comparator.add_solution(
    "Native loop",
    lambda data: [x * 2 for x in data],
    list(range(1000000))
)

# Solution 2: NumPy
import numpy as np
comparator.add_solution(
    "NumPy",
    lambda data: np.array(data) * 2,
    list(range(1000000))
)

# Solution 3: map
comparator.add_solution(
    "Map",
    lambda data: list(map(lambda x: x * 2, data)),
    list(range(1000000))
)

result = comparator.compare()
print(f"Best solution: {result['best']['name']}")
print(f"Potential reduction: {result['potential_reduction']:.1f}%")

Intégration CI/CD

GitHub Action pour suivi énergétique :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# .github/workflows/energy-tracking.yml
name: Energy Tracking

on:
  push:
    branches: [main]

jobs:
  measure:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3

      - name: Setup Python
        uses: actions/setup-python@v4
        with:
          python-version: '3.10'

      - name: Install dependencies
        run: |
          pip install codecarbon pytest

      - name: Run benchmarks with tracking
        env:
          CODECARBON_LOG_LEVEL: error
        run: |
          python -c "
          from codecarbon import EmissionsTracker
          import subprocess
          import json

          tracker = EmissionsTracker(
            project_name='ci-tests',
            output_file='emissions.csv'
          )
          tracker.start()

          result = subprocess.run(['pytest', 'tests/', '-v'])

          emissions = tracker.stop()

          with open('emissions-summary.json', 'w') as f:
            json.dump({
              'emissions_kg': emissions,
              'commit': '${{ github.sha }}'
            }, f)
          "

      - name: Check emissions threshold
        run: |
          EMISSIONS=$(jq '.emissions_kg' emissions-summary.json)
          THRESHOLD=0.001  # 1g CO2e

          if (( $(echo "$EMISSIONS > $THRESHOLD" | bc -l) )); then
            echo "Warning: Emissions ($EMISSIONS kg) exceed threshold ($THRESHOLD kg)"
          fi

      - name: Upload results
        uses: actions/upload-artifact@v3
        with:
          name: emissions-report
          path: |
            emissions.csv
            emissions-summary.json

Métriques applicatives

Dashboard applicatif :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
┌─────────────────────────────────────────────────────────────────┐
│                    APPLICATION ENERGY DASHBOARD                  │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  SYNTHÈSE                                                       │
│  ─────────                                                      │
│  Émissions aujourd'hui : 2,34 kg CO2e                           │
│  Vs moyenne 7 jours   : -12% ▼                                  │
│  Vs même jour sem. précédente : +5% ▲                           │
│                                                                 │
│  PAR ENDPOINT                                                   │
│  ────────────                                                   │
│  /api/search      ████████████████  45%  (1,05 kg)             │
│  /api/products    ████████░░░░░░░░  25%  (0,59 kg)             │
│  /api/users       ████░░░░░░░░░░░░  12%  (0,28 kg)             │
│  /api/orders      ███░░░░░░░░░░░░░  10%  (0,23 kg)             │
│  Autres           ██░░░░░░░░░░░░░░   8%  (0,19 kg)             │
│                                                                 │
│  PAR TYPE D'OPÉRATION                                           │
│  ────────────────────                                           │
│  DB queries       ████████████░░░░  60%                         │
│  Compute          ██████░░░░░░░░░░  25%                         │
│  I/O              ███░░░░░░░░░░░░░  10%                         │
│  Network          █░░░░░░░░░░░░░░░   5%                         │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

8. Reporting et Communication

Structure du rapport

Rapport d’empreinte numérique :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# Rapport d'Empreinte Numérique 2024

## Résumé exécutif
- Empreinte totale : 150 ± 30 t CO2e
- Évolution vs 2023 : -15%
- Principaux postes : Cloud (45%), Équipements (35%), Réseau (20%)

## Méthodologie
- Périmètre : SI complet (scope 1, 2, 3)
- Période : Année calendaire 2024
- Sources : [détail des sources de données]
- Hypothèses : [principales hypothèses]

## Résultats détaillés

### Par catégorie
| Catégorie | 2023 | 2024 | Évolution |
|-----------|------|------|-----------|
| Cloud | 80 t | 68 t | -15% |
| Équipements | 60 t | 52 t | -13% |
| Réseau | 35 t | 30 t | -14% |

### Par scope
| Scope | Émissions | Part |
|-------|-----------|------|
| Scope 1 | 2 t | 1% |
| Scope 2 | 45 t | 30% |
| Scope 3 | 103 t | 69% |

## Actions et impacts
- Migration cloud vers région bas carbone : -20 t
- Prolongation durée vie équipements : -8 t
- Optimisation code : -5 t

## Objectifs 2025
- Réduction de 20% vs 2024
- Actions prioritaires : [liste]

## Annexes
- Méthodologie détaillée
- Données brutes
- Facteurs d'émission utilisés

Dashboard de suivi

Structure dashboard :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
┌─────────────────────────────────────────────────────────────────┐
│                    DASHBOARD EMPREINTE NUMÉRIQUE                 │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  ┌─────────────────┐  ┌─────────────────┐  ┌─────────────────┐ │
│  │ TOTAL ANNÉE     │  │ VS ANNÉE -1     │  │ VS OBJECTIF     │ │
│  │   150 t CO2e    │  │    -15% ▼       │  │    -5% ▼        │ │
│  └─────────────────┘  └─────────────────┘  └─────────────────┘ │
│                                                                 │
│  TENDANCE MENSUELLE                                             │
│  ▁▂▃▄▅▆▅▄▃▂▁▂  (graphique sparkline)                           │
│                                                                 │
│  RÉPARTITION PAR POSTE                                          │
│  Cloud         ████████████████████  45%                        │
│  Équipements   ██████████████░░░░░░  35%                        │
│  Réseau        ████████░░░░░░░░░░░░  20%                        │
│                                                                 │
│  INDICATEURS CLÉS                                               │
│  • EcoIndex moyen sites : C (56)                                │
│  • Utilisation cloud : 42% (cible >60%)                         │
│  • Durée vie moyenne équipements : 4,2 ans                      │
│                                                                 │
│  ALERTES                                                        │
│  ⚠️ Consommation cloud +12% ce mois                             │
│  ⚠️ 15 équipements à renouveler prochainement                   │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Conformité CSRD

La Corporate Sustainability Reporting Directive impose des exigences de reporting.

ESRS E1 - Changement climatique :

IndicateurDescription
E1-1Plan de transition climatique
E1-4Émissions GES scope 1, 2, 3
E1-5Consommation d’énergie
E1-6Mix énergétique

Données numériques requises :

  • Émissions liées à la consommation électrique (scope 2)
  • Émissions liées aux achats IT (scope 3 - catégorie 1)
  • Émissions liées aux services cloud (scope 3 - catégorie 1)
  • Émissions liées aux équipements utilisateurs (scope 3 - catégorie 1)

Éviter le greenwashing

Principes de communication responsable :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
┌─────────────────────────────────────────────────────────────────┐
│              COMMUNICATION RESPONSABLE                           │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  ✅ À FAIRE                                                     │
│  • Communiquer des fourchettes, pas des chiffres précis         │
│  • Documenter la méthodologie                                   │
│  • Mentionner les limites et incertitudes                       │
│  • Comparer dans le temps (tendances)                           │
│  • Être transparent sur ce qui n'est pas mesuré                 │
│                                                                 │
│  ❌ À ÉVITER                                                    │
│  • Fausse précision (127,456 t CO2e)                           │
│  • Comparaisons non comparables                                 │
│  • Omettre les scopes défavorables                              │
│  • Utiliser des facteurs d'émission optimistes                  │
│  • Communiquer sans contexte                                    │
│                                                                 │
│  BONNES PRATIQUES                                               │
│  • Faire vérifier par un tiers                                  │
│  • Suivre un référentiel reconnu                                │
│  • Publier les données brutes                                   │
│  • Répondre aux questions                                       │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Communication interne vs externe

AspectInterneExterne
Niveau de détailÉlevéSynthétique
DonnéesBrutes + analyséesAgrégées
FréquenceMensuelle/trimestrielleAnnuelle
ObjectifPilotageInformation
TonTechniqueVulgarisé

9. Amélioration Continue

Définir des objectifs

Cadre SMART pour objectifs Green IT :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
┌─────────────────────────────────────────────────────────────────┐
│                    OBJECTIFS SMART                               │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  SPÉCIFIQUE                                                     │
│  ❌ "Réduire notre empreinte"                                   │
│  ✅ "Réduire l'empreinte cloud de 20%"                          │
│                                                                 │
│  MESURABLE                                                      │
│  ❌ "Améliorer la performance web"                              │
│  ✅ "Atteindre EcoIndex B sur les 10 pages principales"         │
│                                                                 │
│  ATTEIGNABLE                                                    │
│  ❌ "Neutralité carbone en 1 an"                                │
│  ✅ "-15% par an pendant 5 ans"                                 │
│                                                                 │
│  RÉALISTE                                                       │
│  ❌ "0 émissions"                                               │
│  ✅ "Émissions résiduelles < 50 t, compensation certifiée"      │
│                                                                 │
│  TEMPOREL                                                       │
│  ❌ "Réduire quand c'est possible"                              │
│  ✅ "D'ici décembre 2025"                                       │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Exemples d’objectifs :

DomaineObjectifKPIÉchéance
WebEcoIndex B sur homepageScore > 70Q2 2025
Cloud-20% émissionst CO2eQ4 2025
Équipements+1 an durée vie moyenneAnnéesQ4 2025
Données-30% stockage inutileToQ3 2025

Trajectoire de réduction

Science Based Targets (SBTi) :

Pour être compatible avec l’objectif +1,5°C :

  • Réduction de 4,2% par an minimum
  • Réduction de 50% d’ici 2030 (vs 2019)

Exemple de trajectoire :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
┌─────────────────────────────────────────────────────────────────┐
│                    TRAJECTOIRE DE RÉDUCTION                      │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  t CO2e                                                         │
│  200 ┤                                                          │
│      │ ●                                                        │
│  175 ┤   ●                                                      │
│      │     ●                                                    │
│  150 ┤       ●                                                  │
│      │         ●                                                │
│  125 ┤           ●                                              │
│      │             ●                                            │
│  100 ┤               ●                                          │
│      │                 ●                                        │
│   75 ┤                   ●                                      │
│      │                     ●                                    │
│   50 ┤                       ●                                  │
│      │                                                          │
│      └────┬────┬────┬────┬────┬────┬────┬────┬────┬────        │
│         2024  25   26   27   28   29   30   31   32   33       │
│                                                                 │
│  ● Trajectoire cible (-5%/an)                                   │
│  ─ Objectif 2030 : -50% vs 2024                                 │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Plan d’action priorisé

Matrice impact/effort :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
          EFFORT FAIBLE                 EFFORT ÉLEVÉ
        ┌─────────────────────────┬─────────────────────────┐
        │                         │                         │
        │   QUICK WINS            │   PROJETS MAJEURS       │
        │   • Optimisation images │   • Migration cloud     │
IMPACT  │   • Extinction auto     │   • Refonte archi       │
ÉLEVÉ   │   • Right-sizing        │   • Changement provider │
        │                         │                         │
        ├─────────────────────────┼─────────────────────────┤
        │                         │                         │
        │   FILL-INS              │   À ÉVITER              │
        │   • Documentation       │   • Projets cosmétiques │
IMPACT  │   • Formation basique   │   • Over-engineering    │
FAIBLE  │   • Monitoring          │                         │
        │                         │                         │
        └─────────────────────────┴─────────────────────────┘

Exemple de plan d’action :

ActionImpact estiméEffortPrioritéÉchéance
Right-sizing cloud-15 t CO2eFaibleP1Q1
Optimisation images web-5 t CO2eFaibleP1Q1
Migration région bas carbone-20 t CO2eMoyenP1Q2
Prolongation équipements-10 t CO2eMoyenP2Q3
Refonte architecture-25 t CO2eÉlevéP2Q4

Revue périodique

Processus de revue :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
┌─────────────────────────────────────────────────────────────────┐
│                    CYCLE DE REVUE                                │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  QUOTIDIEN (automatisé)                                         │
│  • Alertes sur dépassements                                     │
│  • Dashboard temps réel                                         │
│                                                                 │
│  HEBDOMADAIRE (équipe)                                          │
│  • Revue des métriques clés                                     │
│  • Actions correctives immédiates                               │
│                                                                 │
│  MENSUEL (management)                                           │
│  • Bilan des indicateurs                                        │
│  • Avancement du plan d'action                                  │
│  • Ajustements de priorités                                     │
│                                                                 │
│  TRIMESTRIEL (direction)                                        │
│  • Revue stratégique                                            │
│  • Benchmark externe                                            │
│  • Validation des investissements                               │
│                                                                 │
│  ANNUEL (organisation)                                          │
│  • Bilan complet                                                │
│  • Mise à jour de la stratégie                                  │
│  • Publication du rapport                                       │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

10. Cas Pratiques

Cas 1 : Bilan carbone SI complet

Contexte :

  • ESN de 200 personnes
  • SI hybride (on-premise + cloud)
  • Objectif : Premier bilan carbone

Démarche :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
┌─────────────────────────────────────────────────────────────────┐
│                    ÉTAPES DU BILAN                               │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  SEMAINE 1-2 : CADRAGE                                          │
│  • Définition du périmètre                                      │
│  • Identification des sources de données                        │
│  • Choix de la méthodologie                                     │
│                                                                 │
│  SEMAINE 3-4 : COLLECTE                                         │
│  • Inventaire équipements (CMDB, achats)                        │
│  • Extraction données cloud (CCF)                               │
│  • Collecte factures énergie                                    │
│  • Données réseau et télécoms                                   │
│                                                                 │
│  SEMAINE 5-6 : CALCUL                                           │
│  • Application des facteurs d'émission                          │
│  • Consolidation par catégorie                                  │
│  • Vérification de cohérence                                    │
│                                                                 │
│  SEMAINE 7-8 : ANALYSE ET REPORTING                             │
│  • Identification des postes majeurs                            │
│  • Comparaison avec benchmarks                                  │
│  • Rédaction du rapport                                         │
│  • Présentation et validation                                   │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Résultat type :

CatégorieÉmissions (t CO2e)Part
Équipements utilisateurs4530%
Serveurs on-premise2517%
Cloud AWS3523%
Réseau et télécoms1510%
Bâtiments (part IT)107%
Déplacements pro (visio)53%
SaaS1510%
Total150100%

Actions identifiées :

  1. Migration vers région cloud bas carbone (-15 t)
  2. Prolongation durée vie équipements (-10 t)
  3. Optimisation cloud (-8 t)

Cas 2 : Audit écoconception site web

Contexte :

  • Site e-commerce
  • 500 000 visites/mois
  • Performance dégradée

Audit initial :

PagePoidsRequêtesEcoIndexg CO2/visite
Accueil4,2 Mo120F (22)2,8
Listing3,8 Mo95F (28)2,5
Produit5,1 Mo145G (15)3,2
Panier2,1 Mo65D (45)1,4
Checkout1,8 Mo52C (55)1,2

Impact annuel estimé :

  • 6 millions de visites × 2,2 g CO2 moyen = 13,2 t CO2e/an

Problèmes identifiés :

  1. Images non optimisées (format JPEG, pas de lazy loading)
  2. JavaScript excessif (plusieurs frameworks)
  3. Fonts web nombreuses (8 variantes)
  4. Absence de cache navigateur
  5. Trackers multiples

Plan d’optimisation :

ActionGain estiméComplexité
Conversion WebP-40% poidsFaible
Lazy loading-30% requêtesFaible
Bundling JS-50% JSMoyenne
Réduction fonts-200 KoFaible
Cache headers-60% requêtes repeatFaible
Audit trackers-500 KoMoyenne

Résultats après optimisation :

PageAvantAprèsGain
Accueil4,2 Mo850 Ko-80%
Listing3,8 Mo720 Ko-81%
Produit5,1 Mo980 Ko-81%
Panier2,1 Mo450 Ko-79%
Checkout1,8 Mo380 Ko-79%

Impact :

  • EcoIndex moyen : F → B
  • Émissions : 13,2 t → 2,6 t CO2e/an (-80%)
  • Co-bénéfices : temps de chargement -70%, conversion +15%

Cas 3 : Optimisation cluster Kubernetes

Contexte :

  • Cluster de 50 nodes
  • Applications métier critiques
  • Coûts cloud en hausse

Mesure initiale avec Kepler :

1
2
# Consommation par namespace
kubectl top pods --all-namespaces
NamespaceCPU (cores)RAM (Gi)Énergie (W)
production451802 500
staging1560800
dev1040550
monitoring832450
Total783124 300

Problèmes identifiés :

  1. Over-provisioning des resources (requests » usage réel)
  2. Pas de scaling automatique
  3. Environnements de dev toujours actifs
  4. Images non optimisées

Actions :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
# Avant : over-provisioning
resources:
  requests:
    cpu: "2"
    memory: "4Gi"
  limits:
    cpu: "4"
    memory: "8Gi"

# Après : right-sizing basé sur usage réel
resources:
  requests:
    cpu: "500m"
    memory: "1Gi"
  limits:
    cpu: "1"
    memory: "2Gi"

Résultats :

MétriqueAvantAprèsGain
Nodes actifs5035-30%
Consommation (W)4 3002 800-35%
Coût mensuel25 000 €17 000 €-32%
Émissions (t CO2e/an)1812-33%

Checklist récapitulative

Avant de commencer

1
2
3
4
5
6
7
8
9
## Préparation

- [ ] Périmètre défini (organisationnel et technique)
- [ ] Période de référence choisie
- [ ] Méthodologie sélectionnée
- [ ] Sources de données identifiées
- [ ] Outils installés et configurés
- [ ] Équipe constituée
- [ ] Budget alloué

Pendant la mesure

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
## Collecte et calcul

- [ ] Données équipements collectées
- [ ] Données cloud extraites
- [ ] Consommations énergétiques récupérées
- [ ] Données réseau/télécoms rassemblées
- [ ] Facteurs d'émission documentés
- [ ] Hypothèses tracées
- [ ] Calculs vérifiés
- [ ] Cohérence validée

Après la mesure

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
## Analyse et action

- [ ] Rapport rédigé
- [ ] Postes majeurs identifiés
- [ ] Benchmark effectué
- [ ] Plan d'action défini
- [ ] Objectifs fixés
- [ ] Dashboard créé
- [ ] Communication préparée
- [ ] Revue périodique planifiée

Pour aller plus loin

Ressources

Méthodologies :

Bases de données :

Outils :

Formations :

  • Certificat Bilan Carbone (ABC)
  • ACV numérique (GreenIT.fr)
  • MOOC Numérique Responsable (INR)

Communautés


Conclusion

Mesurer l’impact numérique est un exercice complexe mais essentiel. Il ne s’agit pas de viser une précision illusoire, mais de :

  1. Comprendre les ordres de grandeur
  2. Identifier les leviers d’action prioritaires
  3. Suivre l’évolution dans le temps
  4. Communiquer de manière transparente

La mesure n’est pas une fin en soi. C’est le point de départ d’une démarche d’amélioration continue. Commencez simple, progressez itérativement, et gardez toujours en tête que l’objectif final est de réduire l’impact, pas de le mesurer parfaitement.


Guide mis à jour en janvier 2025. Pour contribuer ou signaler une erreur : [contact]