Florimond Manca
Développeur
Ingénieur logiciel et écoconception, développeur Web Python / PHP / JS/TS, mainteneur open source, militant des standards du Web ouvert
En tant que PO ou développeuse ou développeur backend, comment mettre en oeuvre les bonnes pratiques d'écoconception de services numérique ? Hélène et Mathieu ont donné une conférence au ForumPHP 2022 sur ce thème.
Publication : décembre 2022
Auteur : Florimond Manca
Le 13 octobre 2022, Hélène Maître-Marchois et Mathieu Marchois, co-fondateurs de la coopérative, ont donné une conférence au titre qui a plus en interroger plus d'un : "Papa et Maman nettoient l'Internet".
Visionner la rediffusion sur YouTube (40 min)
Dans ce talk, Hélène et Mathieu ont proposé au public venu nombreux un condensé didactique des raisons et des bonnes pratiques pour nettoyer Internet.
Il n'y a plus à tergiverser : il faut réduire l'impact environnemental du numérique.
En 2020, le numérique représentait environ 3 à 4% des émissions de gaz à effet de serre dans le monde. Cet impact augmente de 8% par an en moyenne. (GreenIT, 2020 ; The Shift Project, 2019)
Internet, c'est physique : au-delà des datacenters, qui se comptent en millions, et des réseaux, les terminaux utilisateurs se comptent en dizaines de milliards et concentrent la majorité des impacts. Or les terminaux ont un très faible taux de recyclage (~5%) et nécessitent des métaux et matériaux critiques. Ainsi de l'indium, nécessaire pour la fabrication des écrans LCD. Hélène renvoie aux travaux d'Aurore Stéphant et du collectif SystExt. Nos métiers sont donc intimement liés aux ressources minières.
La piste principale ? Faire durer les terminaux le plus longtemps possible. Aujourd'hui en Europe, un smartphone est changé tous les 2 ans en moyenne. Au-delà du marketing, les développeurs ont aussi une responsabilité : ce renouvellement est aussi poussé par l'obsolescence logicielle, induite par des besoins de calcul toujours croissants. Il faut donc agir dès la conception.
Première étape : éliminer le gras fonctionnel qui alourdit les applications avec une très faible utilité. On estime ainsi que 70% à 80% des pages Web ne sont pas ou très peu ouvertes. En tant que PO, Hélène demande souvent "pourquoi ?", et obtient parfois des résultats spectaculaires. Un client a ainsi pu économiser du temps, de l'argent, et réduire les impacts côté utilisateur en remplaçant une fonctionnalité complexe de demande d'information complémentaire par une ligne téléphonique, car ces demandes étaient rares (quelques demandes à l'année).
Deuxième étape : questionner l'existant pour définir ce qui doit être gardé. Que faire des trackers et des centaines de requêtes déclenchés à chaque chargement de page ? On estime que le nombre de requêtes a été multiplié par 4 en 5 ans, et que le poids moyen d'une page Web est passé de 500 ko à plus de 2 Mo. En comparaison, la mission Apollo a envoyé des humains sur la Lune avec quelques kilo-octets.
La bonne nouvelle, c'est que ce nettoyage se révèle très satisfaisant : on obtient très vite de gros gains. C'est le cas de Bing a ainsi pu réduire sa charge serveur de 80% en réduisant de seulement 20% le nombre d'éléments affichés par page de recherche.
Quand vient le besoin de développer de nouvelles fonctionnalités, il est impératif de faire travailler ensemble PO, designers UX, et équipes de développement. Cela permet de savoir de quoi l'utilisateur a vraiment besoin. Le produit n'en sera que meilleur.
Une fois le fonctionnel traité, viennent les améliorations techniques. Le nerf de la guerre sera les chiffres, autrement dit la mesure. Hélas, les données d'impact environnemental manquent. Mais des outils permettent de faire un état des lieux :
Attention à la CI : les runners consomment de la RAM et du CPU. Optimiser les tests, mettre les dépendances en cache, d'autant plus si la CI est lancée très régulièrement.
Il s'agit également de questionner notre environnement de développement : nombre d'écrans externes, matériel professionnel (téléphone, ordinateurs portables). Pour Hélène, développer sur du matériel qui ne soit pas dernier permet aussi de concevoir au plus proche de la situation des utilisateurs.
Rappel : la performance ne recoupe pas seulement la rapidité, mais également la disponibilité et un usage sobre des ressources (ISO 20510).
Au quotidien, comment alors rendre son code plus "green" ?
Basé sur le Guide des 115 bonnes pratiques du collectif Conception Numérique responsable (CNumR), mis à jour en mai 2022.
L'écoconception permet, dès sa prise en main, de rapidement obtenir de gros gains sur les impacts environnementaux de nos applicatifs. C'est un levier concret pour avoir un impact sur la façon dont le numérique pèse sur l'environnement et les utilisateurs.
À bientôt pour de nouvelles interventions !
N’hésitez pas à découvrir les autres articles