Aller au contenu
Retour aux fiches
Développeurs25 minutes de lecture

Écoconception web et logicielle

Bonnes pratiques pour développeurs responsables

Impact : Sites 3-5x plus légers, temps de chargement -60 %

Optimiser les algorithmes

Un algorithme inefficace peut consommer 100x plus d'énergie. La complexité compte : O(n) vs O(n²).

Points clés :

  • Utilisez les structures de données adaptées (Map vs Array)
  • Évitez les boucles imbriquées quand possible
  • Préférez les méthodes natives (filter, map) aux boucles for
  • Mettez en cache les résultats coûteux

Choisir les bons langages

C consomme environ 76x moins que Python (Pereira et al. 2017, benchmark précis). Pour le web : Rust, Go, Java, puis Node.js, PHP, Python.

Points clés :

  • Frontend : JavaScript natif > frameworks lourds
  • Backend : Rust, Go pour haute performance
  • Évitez les dépendances npm inutiles (attention au poids)

Minimiser les transferts de données

Chaque Mo transféré émet environ 0,1 g CO₂ (SWD v4, mix mondial). Le site web moyen fait 2,5 Mo, l'optimal est < 500 Ko.

Points clés :

  • Compressez les images (WebP, AVIF plutôt que JPG/PNG)
  • Minifiez CSS, JS, HTML en production
  • Activez la compression Gzip/Brotli
  • Lazy loading pour images et vidéos

Optimiser les médias

Les images représentent environ 50 % du poids des pages (HTTP Archive, 2024). Optimisation = gain immédiat.

Points clés :

  • Format moderne : WebP (~−30 %), AVIF (~−50 % vs JPG), à qualité égale (Google)
  • Responsive images avec srcset
  • Dimensionnez correctement (pas de 4 000 px pour afficher 400 px)
  • Préférez SVG pour icônes et logos

Utiliser un CDN efficace

CDN réduit la distance données-utilisateur et permet la mise en cache distribuée.

Points clés :

  • Cloudflare, Vercel Edge : datacenters mondiaux
  • Cache-Control headers optimisés
  • Invalidation de cache intelligente

Optimiser la base de données

Requêtes inefficaces = serveur surchargé = énergie gaspillée.

Points clés :

  • Indexez les colonnes fréquemment filtrées
  • Évitez SELECT * : ne récupérez que ce qui est nécessaire
  • Utilisez la pagination plutôt que tout charger
  • Mettez en cache les requêtes coûteuses (Redis)

Machine Learning responsable

Entraîner GPT-3 émet 552 tonnes CO₂ (Patterson et al., 2021). L'inférence domine l'impact sur la durée (ordre de grandeur : ~90 %).

Points clés :

  • Utilisez des modèles pré-entraînés quand possible
  • Optimisez les hyperparamètres (early stopping)
  • Quantization des modèles pour réduire la taille
  • Edge computing : inférence locale plutôt que cloud

Ressources complémentaires

Sources

  • Pereira et al. 2017 (langages)
  • Sustainable Web Design v4 2024 (transfert)
  • Patterson et al. 2021 (GPT-3)
  • HTTP Archive 2024
  • RGESN, GR491