Je code : les bonnes pratiques en éco-conception de service numérique à destination des développeurs de logiciels (2021)
Contexte
Ce document de recherches scientifiques se présente comme un guide d'éco-conception. On peut y retrouver maintes problématiques, toutes adressées de manière à appréhender et comprendre les enjeux climatiques, et de réduire les impacts du service numérique.
Introduction
De nos jours, les émissions de CO2 du numérique ne sont plus négligeables, en particulier des services numériques. Elles sont réparties sur trois périodes : la définition des besoins (avant son développement), la réalisation du service numérique (pendant son développement) et l'utilisation et la maintenance du service (après son développement).
Avant son développement
Dans l'optique de réduire la consommation de ressources énergétiques par le service numérique, il est capital de prévoir une certaine simplicité, dans l'utilisation du service comme dans son déploiement : proposer des interfaces lisibles, sobres, et surtout peu gourmandes (par exemple, en limitant le nombre d'éléments présents sur les pages).En accord avec les points précédents, le service doit évidemment permettre à l'utilisateur de trouver ce qu'il cherche, dans un court temps, et sans l'inonder dans trop de fonctionnalités
, qui, en plus de demander plus de ressources, nuiraient à l'accessibilité du service.
De cette manière, la durée de vie du logiciel ou des outils qui hébergent le service serait accrue (pas de rachat de matériel, moins de sollicitations de ce dernier, …).De multiples facteurs sont à prendre en compte, notamment le langage informatique utilisé (plus ou moins rapide, presque proportionnellement aux émissions de CO2 qu'il engendre), le format de stockage de données (en privilégiant par exemple le traitement au plus près du serveur, avec des données moins volumineuses, …), ou encore la gestion de données (en privilégiant par exemple l'Open Data, pour éviter les doublons).
Pendant son développement
Une attention toute particulière devra, ici, être portée à l'analyse et l'évaluation de son service
. Par exemple, quantifier la quantité de ressources sollicitée, le temps de chargement, d'exécution, les consommations énergétiques, le nombre de requêtes, la taille des données…
Il est essentiel de garder en tête que tout changement peut engendrer des conséquences néfastes du service sur le plan environnemental (effet boule de neige) : l'optimisation d'un logiciel peut par exemple demander plus de ressources énergétiques qu'en ne l'optimisant pas, améliorer un système (dans sa rapidité, entre-autres) pourra également engendrer de plus grandes capacités de stockage…
Après son développement
Pour atteindre un objectif de sobriété numérique, de durabilité et d'accessibilité, certaines mesures peuvent être prises
. Entre-autres : privilégier un hébergement mutualisé (pour raccourcir les trajets de données et vers les utilisateurs), la virtualisation des serveurs physique (moins impactant écologiquement dans leur production et leur maintenance), mettre en veille les machines virtuelles (si possible), diffuser le logiciel de façon facilement accessible, le tout en le conservant dans la taille la plus petite, sans y rajouter trop de fonctionnalité et vérifier sa rétrocompatibilité.
Pour assurer une utilisation optimale du service, il est également important d'étudier le type d'usage des utilisateurs. Et enfin, de les inclure dans la démarche environnementale, en les sensibilisant sur les impacts environnementaux de leurs usages sur le service numérique.
Conclusion
Nous avons pu voir les différentes accentuations de l'éco-conception du service numérique, à travers son développement. Les choix sont essentiellement faits par les développeurs/programmeurs, mais peuvent aussi être guidés par les utilisateurs, dans leur usage des logiciels. L'éco-conception (numérique ou non) ne se limite pas à appliquer un ensemble de règles, mais relève de la capacité d'innover, de s'adapter et de communiquer à propos des enjeux environnementaux.