Avis d'expert

Réduire l’impact écologique du développement web

par Yann Gouffon, Senior Web Developer, Antistatique SA.

Avec la crise climatique, les consciences s’éveillent face à l’impact d’Internet, placé aux côtés des pays les plus pollueurs de la planète. Quoi de plus stimulant pour un·e développeur·euse que de résoudre un problème aussi complexe que minimiser l’empreinte écologique de ses créations? Une contribution de Yann Gouffon, Senior Web Developer chez Antistatique.

(Source: philipp-katzenberger/unsplash)
(Source: philipp-katzenberger/unsplash)

L’hébergement

Pour être consulté, notre site doit être disponible 24/7, ce qui implique de l’héberger sur un serveur ou datacenter. Ces gros ordinateurs mis en réseau vont consommer énormément d’énergie pour fonctionner et se refroidir.

Le premier axe d’amélioration consiste à sélectionner un hébergeur vert ou Greenhosting qui va consommer uniquement de l’électricité issue de sources renouvelables. Mais attention au greenwashing; pour choisir un hébergeur, l’annuaire de The Green Web Foundation va vous aider.

Un autre axe d’amélioration réside dans l’optimisation de notre site. En effet, plus le temps d’exécution est faible, moins on consomme d’énergie. Cela passe par la réduction du nombre de requêtes, l’optimisation de la charge CPU, etc. Il s’agit également de réduire l’espace disque utilisé en optimisant la taille et le nombre des médias, mais aussi des archives. Et pour finir, afin d’éviter de tout recalculer à chaque requête, une partie ou même la totalité de la réponse peut être mise en cache pour une période définie.

Le dernier axe, un peu plus méconnu, est la gestion des BOTs. A eux seuls, ils sont responsables de 50% de la bande passante et de la charge CPU de votre serveur. Il s’agit donc de les filtrer intelligemment.

Le réseau

Nous pouvons commencer par favoriser la proximité. Moins les données parcourront de distance, moins notre site consommera d’énergie. Il s’agit en premier lieu de sélectionner un hébergeur proche de notre public cible et d’utiliser, dans le cas d’un site ou d’une application plus internationale, un CDN.

Une autre piste est d’optimiser la taille des ressources envoyées comme la taille et le format des images, des vidéos, des scripts, etc. Par exemple pour les images, il s’agit d’envoyer une taille et un format adaptés à la consultation.

Le navigateur

Pour consulter votre site, l’internaute va utiliser un navigateur web; navigateur qui va demander de la puissance de calcul à l’appareil utilisé, qui va lui-même consommer de l’énergie et/ou de la batterie.

Afin de réduire l’impact de notre site, c’est déjà sur cet aspect de la puissance de calcul que nous pouvons agir. Premièrement en optimisant notre JavaScript qui peut drastiquement augmenter la charge CPU/GPU. Il s’agit d’envoyer uniquement les scripts nécessaires au moment où ils sont utiles, mais également de sélectionner minutieusement vos frameworks et librairies en fonction de leur poids et performances.

Un autre aspect dont on parle depuis longtemps pour faire des sites «écolos», c’est d’utiliser des couleurs sombres. Cela ne vaut que pour les appareils disposant d’écrans (AM)OLED (ou cathodiques). Maintenant, avec la généralisation de ces écrans, opter pour des pixels éteints permet de réduire la consommation énergétique. Utiliser trop de bleu aura un impact négatif, car il s’agit de la couleur la plus énergivore.

Pour conclure

Si vous optez pour un hébergement vert, que vous optimisez la puissance de calcul nécessaire à faire tourner votre site et que tous vos choix ont pris en compte l’impact écologique qu’ils auront, alors vous êtes dans la bonne direction!

Cela peut toutefois sembler anecdotique dans un projet, loin derrière les enjeux de conversions, de référencement ou d’accessibilité. Maintenant, il est de notre responsabilité de tout mettre en œuvre pour limiter notre impact écologique et sortir de cette crise. Après, il ne s’agit pas non plus d’être naïf, le site le plus écologique du monde sera toujours celui qui n’existe pas.

Tags
Webcode
DPF8_262200