Forumphp-header

[Forum PHP 2022] Conférence :
papa et maman nettoient l’internet !

Par Damien L. le 19 octobre 2022

 Lecture 3 minutes

Après un apéro communautaire bien arrosé le jeudi soir, c’est frais et dispos qu’Hélène Maitre-Marchois et Mathieu Marchois sont venus nous parler d’écoconception sur le Forum PHP. Nous sommes généralement méfiants sur les présentations parlant d’écologie (moralisatrices, sans apporter de solution), mais Hélène et Mathieu ont été ultra intéressants (un énorme MERCI à eux). Cofondateurs de la coopérative Fairness (fairness.coop), leur objectif était de nous donner envie de « nettoyer internet ». Et si nous étions déjà sensibles à ce sujet, ils ont fini de nous convaincre !

Tout d’abord, pourquoi nettoyer le net ?

On commence par quelques chiffres… qui font peur !

 

  • 2.1% à 3.9% des émissions de CO2 sont liés au numérique.
  • Ce chiffre augmente de 10% par an.

 

En 2025, si on ne change rien, le numérique émettra autant que les voitures. Et supprimer nos emails ne sert à rien !

Mais d’où viennent ces émissions ?

Essentiellement de la production de nos terminaux (ordinateur, portable, box domotique, etc.). L’idée, c’est d’arrêter de consommer du terminal. Et nous, développeurs et développeuses, qu’est-ce qu’on peut faire pour ça ?

Il faut comprendre qu’on ne change pas de terminal parce qu’il ne marche plus ou est irréparable, mais parce qu’il est lent… Et il est lent parce que les applications consomment de la ressource. C’est un cercle vicieux pour les développeurs : on a de la puissance, on code « comme des cochons » et, donc, il nous faut plus de puissance !

Alors, comment éviter ça ?

On optimise ! Et, pour cela, quelques pistes nous sont données.

Tout d’abord fonctionnellement...

Dans le web, 80% des fonctionnalités sont peu ou pas utilisées. C’est une perte de temps (et d’argent) que de les produire mais, surtout, elles consomment de l’énergie ! La première étape est donc de questionner le fonctionnel et de retirer tout ce qui ne sert à rien.

Hélène nous martèle : “Pourquoi ? Pourquoi ? POURQUOI avons-nous "besoin" de telle ou telle fonctionnalité ? Ne peut-on pas faire différemment ?"

Et sur le reste...

Il y a encore beaucoup à faire ! Et là, il nous faut nous demander ce qu'il se passe lorsque nous codons ! Parce que, oui, nous passons notre temps à écrire des choses qui consomment de l’énergie : des appels disques, de l’utilisation de CPU (BEAUCOUP de CPU), de RAM, etc.

Alors pensons-y ! Pensons que, lorsque nous lançons une requête SQL qui prend 3 minutes, ce sont des processeurs qui chauffent et qu’il faut refroidir. De même lorsque nous ajoutons une ligne à un fichier de 200Mo (est-ce que ce fichier se charge en RAM et induit des cycles CPU ?), etc.

Et surtout, comment mesurer les optimisations que nous apportons ?

Mathieu et Hélène nous proposent plusieurs outils pour monitorer notre impact. D’abord  des outils techniques, pour mesurer votre code à proprement parlé. On pense à Dareboost, Pagespeed, web.dev, Blackfire, Datadog. Mais aussi des outils vraiment dédiés à l’impact écologique : Ecoindex, Greenframe.io, Scaphandre, Carbonalyzer, Greenspector...

 

Cette présentation a été un excellent moment du Forum PHP et nous avons réellement apprécié l’approche qui consistait à nous donner de vraies pistes d’amélioration. Pour terminer, nous citerons Mathieu qui a rappelé un fait que nous aimons beaucoup :

“Il y a quelques années, nous avons envoyé des hommes sur la Lune avec quelques kilos de mémoire vive. Aujourd’hui, ça ne suffirait pas à envoyer un email !”

 

Amis développeurs et développeuses, nous pouvons faire mieux !

Damien L.

Geek sans barbe qui aime le rock, la bière, et les Design Patterns !

GIF