Skip to main content

Optimisation des Assets et des Données

La transmission, le stockage et l’affichage des données sont les principaux contributeurs à la consommation énergétique côté utilisateur et côté serveur.
Pratique d’Éco-conceptionDescription DétailléeImpact Environnemental Réduit
Optimisation et Formats d’ImagesUtiliser des formats modernes et compressés (WebP, AVIF) pour les images. Redimensionner les images à la taille exacte d’affichage côté serveur.Diminution drastique du poids des données transférées (moins de consommation réseau).
Chargement Conditionnel (Lazy Loading)Ne charger les images, vidéos ou composants JavaScript que lorsqu’ils sont sur le point d’être affichés à l’écran par l’utilisateur.Réduction des requêtes inutiles et du temps de CPU pour traiter des ressources non demandées.
Minification et BundlingCombiner et réduire la taille des fichiers JavaScript et CSS. Utiliser des outils pour purger le CSS inutilisé (comme dans les frameworks Utility-First).Moins de données à transférer et moins de temps de parsing (analyse) pour le navigateur.
Sobriété de la DonnéeNe récupérer et ne stocker que les données strictement nécessaires. Utiliser des formats légers (JSON simple) plutôt que des formats verbeux (XML).Moins de ressources de stockage et de traitement côté serveur.
Exemple de Code (Lazy Loading Conditionnel) Au lieu de charger toutes les images dès le départ, cet attribut indique au navigateur de n’envoyer la requête que lorsque l’image entre dans la zone visible.
<img 
  src="image_principale.webp" 
  alt="Description de l'image" 
  loading="lazy" 
  width="800" 
  height="600"
/>

Limitation et Efficacité des Requêtes

Les échanges réseau constants sont énergivores, car ils mobilisent les infrastructures réseau et les serveurs.
Pratique d’Éco-conceptionDescription DétailléeImpact Environnemental Réduit
Mise en Cache Agressive (Cache HTTP)Configurer des entêtes HTTP (ex: Cache-Control) pour que les ressources statiques soient conservées le plus longtemps possible dans le cache du navigateur.Élimination des requêtes répétitives vers le serveur.
Réduction des Round-Trips (Ressources)Combiner les requêtes (ex: utiliser GraphQL pour obtenir toutes les données nécessaires en un seul appel, au lieu de plusieurs requêtes REST).Diminution du trafic réseau, du temps de latence et de la charge serveur (CPU).
Limitation des Boucles d’Interrogation (Polling)Préférer les technologies push (WebSockets, WebPush) pour les mises à jour en temps réel plutôt que le polling répété (requêtes GET toutes les 5 secondes).Réduit la consommation d’énergie du client mobile et la charge des serveurs.
Gestion des Erreurs EfficaceUtiliser les codes de statut HTTP appropriés (ex: 304 Not Modified) pour indiquer que la ressource n’a pas changé, évitant ainsi le retransfert de données.Évite le retransfert inutile de données volumineuses.

Choix d’Hébergements Responsables et Architecture

L’infrastructure physique où s’exécute l’application a un impact direct sur l’empreinte carbone.
  • Sélection d’Hébergeurs Verts : Choisir des fournisseurs de Cloud ou des centres de données qui utilisent des sources d’énergie renouvelable (éolien, solaire) pour alimenter leurs serveurs.
  • Scaling Horizontal (Microservices) : Configurer les architectures pour qu’elles puissent automatiquement réduire le nombre de serveurs (scale down to zero) ou de conteneurs lorsque l’activité est faible (ex: nuit, week-ends). L’approche Serverless (FaaS) est intrinsèquement plus sobre car elle ne consomme des ressources qu’à la demande.
  • Localisation des Données : Stocker les données et héberger les services au plus près des utilisateurs finaux (géolocalisation) pour minimiser la distance parcourue par les paquets de données.