Yoan De Macedo [ Web & Ecologie ]

Optimiser pour diminuer l'impact du numérique

Si vous me lisez régulièrement, vous savez que je martèle sans cesse que l'empreinte carbone du numérique se situe surtout dans la fabrication du matériel.

A l'échelle individuelle : acheter moins, prendre soin, réparer est bien entendu la voie à suivre si on veut diminuer son impact.

Mais, vous avez probablement déjà vécu une situation où votre ordinateur / votre téléphone s'est retrouvé ralenti suite à une mise à jour logiciel, d'un système d'exploitation.

Parfois, vous avez mis à jour votre système d'exploitation pour pouvoir utiliser la nouvelle version de votre logiciel métier et votre machine est devenue beaucoup plus lente.

D'autre fois encore, vous n'avez pas pu installer telle ou telle application ou faire telle mise à jour car votre ordinateur n'avait pas la configuration matérielle requise.

Bien souvent, c'est à ce moment là que vous avez décidé d'acheter une nouvelle machine.

N'est-ce pas ?

Bien entendu, on peut comprendre qu'un jeu vidéo d'aujourd'hui avec la qualité graphique proposée demande des capacités matérielles supérieures aux générations de jeux précédentes.
Mais pour un traitement de texte, un tableur, un logiciel de gestion, est-ce bien toujours justifié ?
Je vous invite à lire ce texte.

Bien sûr, je ne le crois pas. Nos machines sont devenues très puissantes, leur coût a fortement diminué.
L'optimisation du code des logiciels indispensable quelques décennies plus tôt n'est plus du tout une priorité. On compte sur l'évolution du matériel sans chercher à optimiser la plupart du temps.
C'est la même chose côté "cloud". Un service est trop lent ? Il n'arrive plus à servir de nouveaux utilisateurs ? On rajoute un ou deux serveurs et hop c'est réglé.

Le coût dun développeur qui optimisera sera souvent supérieur à l'achat du serveur supplémentaire.
Si le prix du matériel incluait son impact écologique (et ce n'est pas vrai que dans le numérique), je crois qu'on verrait les choses bien différemment. Bien sûr une fois le système optimisé, il faudra peut-être ajouter un serveur à un moment donné mais cette échéance pourrait souvent être repoussée.

Tout ça ne serait pas grave dans un monde aux ressources matérielles illimitées et où la fabrication des objets ne poserait aucun problème. Mais, ce n'est malheureusement pas le cas.

Si nous voulons pouvoir garder notre matériel plus longtemps alors les pratiques doivent évoluer. J'aime bien l'idée de la loi d'erooM proposé par Tristan Nitot.

Bien entendu, ce n'est pas simple et on ne pourra pas tout changer du jour au lendemain. Les outils de développement "haut niveau" permettent de répondre aux besoins des clients dans une gamme de tarifs raisonnables. Changer complètement les pratiques risque d'augmenter considérablement les coûts. Ce ne sera pas possible partout ou tout se suite mais chacun, dans nos domaines, nous pouvons clairement optimiser davantage sans forcément remettre en cause le langage utilisé par exemple mais en travaillant avec en tête l'envie d'améliorer l'efficacité de son code.

Pour un projet, je devais enregistrer le contenu d'emails (de newsletters) dans une base de données MongoDB. J'ai commencé par enregistrer le contenu brut, tout simplement. Puis, rapidement, nous avons vu le disque du VPS se remplir car les données à stocker étaient nombreuses. Nous devions donc augmenter la capacité de stockage. A ce moment là, j'ai réfléchi quelques instants. Nous n'avions pas besoin de faire des recherches sur le contenu des newsletters. J'ai donc compressé le contenu de chaque newsletter avec un algorithme de la zlib. La capacité du serveur a instantanément été multipliée par plus de deux. Voilà un exemple vraiment simple mais parlant.

Je me souviens des démos 4k que je regardais en sortant de l'école ou le dimanche matin dans microkids à la télé. Incroyable ce qu'ils arrivaient à faire avec 4 kilooctets !

Qui suis-je ? | Mes prestations | Mes projets | Mon blog | Me suivre | On en parle | mail@yoandm.com

Mentions légales | Politique de confidentialité | RSS | Propulsé par Grav