Back to frugalité

Ordinateur des années 1970 face à une canopée vue du ciel

Retour vers le futur

Il y a 30 ans, presque jour pour jour, jeune ingénieur récemment diplômé de l'INSA, je faisais mes premiers pas en tant que développeur chez Capgemini. Immédiatement plongé dans le grand bain des logiciels aéronautiques et spatiaux, j'ai rapidement enchaîné plusieurs projets :

  • Prototypage des équipements du tableau de bord des Airbus A330 et A340.
  • Système d'acquisition et de traitement des données météo sur le site du Centre Spatial Guyanais 🚀
  • Simulateur de segment sol à la norme CCSDS pour le CNES (télécommande et télémétrie des satellites).
  • Centre opérationnel du réseau de télécommunications par satellite des armées (Syracuse 🪖)
  • Refonte du système de données radar pour le contrôle aérien en route.
Tableau de bord de l'A340
Tableau de bord de l'A340 (source Wikipédia)

Ce qui m'intéresse, en convoquant ces vieux souvenirs, c'est le contexte dans lequel nous développions ces grosses applications :

  • Des moniteurs vert et noir (VT100) et pas de souris 📟
  • Des millions de lignes de code entièrement écrites sous "vi".
  • Aucun accès au web, donc tout dans la tête et dans les livres 🤯
  • Des CPU 16 bits, cadencés à 4 MHz, et 32 Mo de RAM.
Ensemble de lancement Ariane à Kourou (archive personnelle, 1995)
Ensemble de lancement Ariane à Kourou (archive personnelle, 1995)

Du fait des contraintes matérielles, nous consacrions beaucoup d'efforts à optimiser drastiquement le code. Nous faisions la chasse au moindre octet. Une valeur était-elle comprise entre 0 et 99 ? Nous en profitions : 7 bits suffisaient, ce qui nous laissait un bit pour stocker autre chose ! Les développeurs les plus économes en RAM et en CPU étaient les plus respectés, car la réussite des projets dépendait pour beaucoup de leurs performances 💪

Loi de Moore

Gordon Moore, avant même de fonder la société Intel, avait affirmé dès 1965 : "le nombre de transistors gravés sur un même circuit intégré doublera tous les deux ans".

À cette époque, le plus gros circuit intégré comptait 64 transistors, or l'intuition géniale de Moore s'est vérifiée pendant presque 50 ans. Durant toute ma carrière, ce fut un sujet de discussion autour de la machine à café : jusqu'à quand ce pari fou allait-il tenir ?

Portrait en noir et blanc de Gordon Moore
Gordon Moore (source Wikipédia)

Le graphique ci-dessous montre, en abscisses, les années 1970 à 2020, et en ordonnées, le nombre de transistors intégrés dans un microprocesseur sur une échelle logarithmique (d'une graduation à l'autre, ce nombre est multiplié par deux). L'assertion de Moore a donc tenu bon durant ces cinq dernières décennies.

Graphique Wikipédia mettant en évidence la loi de Moore entre 1970 et 2020
Illustration de la loi de Moore (source Wikipedia)

Loi de Wirth

Durant de nombreuses années, l'industrie du logiciel a bénéficié pleinement des performances exponentielles des microprocesseurs. Mais au tournant des années 1990, un autre visionnaire de l'informatique est venu jeter un pavé dans la mare.

L'informaticien suisse Niklaus Wirth, docteur à Berkeley et professeur à Stanford, lauréat du prix Turing, s'est étonné que "les programmes ralentissent plus vite que le matériel n'accélère".

Portrait en noir et blanc de Niklaus Wirth
Niklaus Wirth (source Wikipédia)

En contrepoint de la loi de Moore, cette proposition toute aussi empirique a été baptisée du nom de loi de Wirth. Or dans les faits, cette inflation des prérequis logiciels s'est vérifiée. À titre d'exemple, Frédéric Bordage et le GreenIT ont compilé les prérequis matériels exigés par Microsoft pour installer Windows + Office.

Graphique du GreenIt montrant l'augmentation des prérequis Windows + Office entre 1999 et 2019
Évolution des prérequis pour Windows + Office (source GreenIT)

Ce graphique montre qu'en 20 ans, les prérequis ont été multipliés par 60 pour le CPU, et par 171 pour la RAM 😱 Pourtant, les évolutions fonctionnelles sont très loin de justifier une telle explosion, surtout au regard des usages les plus courants. Pour aller plus loin, voici le texte originel du Plaidoyer pour le logiciel frugal, publié en 1995 par Niklaus Wirth (site de l'École polytechnique fédérale de Zurich).

Loi d'Eroom

M. Eroom ne dispose pas de sa page Wikipédia, pour la bonne raison qu'il n'a jamais existé ! La loi d'Eroom (Moore à l'envers) est le sobriquet astucieux qu'a trouvé Tristan Nitot pour désigner l'énorme potentiel du logiciel frugal. L'idée serait donc de diviser par deux, tous les deux ans, la configuration matérielle requise par les logiciels.

Cette démarche paraît extrêmement faisable sur un plan technique, après toutes ces années d'inflation galopante. L'effort semble donc limité, tout en offrant de puissants effets sur l'impact environnemental du numérique 🌱 En effet, avec des applications et des logiciels progressivement allégés, la durée de vie de nos ordinateurs et de nos smartphones augmenterait significativement.

Aujourd'hui, hélas, c'est bien le contraire qui se passe : nous sommes contraints d'installer des programmes sans cesse plus lourds, dont les exigences et les mises à jour incrémentales provoquent rapidement l'obsolescence de nos matériels. Or le bilan carbone mondial du numérique dépasse déjà celui du transport aérien, et 80% de ces émissions proviennent de la fabrication des terminaux 🏭

Conférence de Tristan Nitot au Sunny Tech 2024

Cet article s'inspire d'ailleurs largement des conférences de Tristan Nitot, dont les thèses font tout à fait écho à mes propres convictions. On y entend, entre autres, cette phrase qui fait mouche : "Ce qu'Intel vous donne, Microsoft vous le reprend" 😅 Et contrairement à M. Eroom, on trouve Tristan Nitot sur Wikipédia ainsi que sur son blog...

La goutte d'eau...

Non seulement 80% de l'impact CO2 du numérique provient du matériel, mais du côté des usages, 80% de l'impact provient du streaming vidéo. Sans que je sache le mesurer précisément, je suppose qu'un seul visionnage de la vidéo ci-dessus équivaut à des milliers de visites sur ce blog - audience qui de toute évidence ne sera jamais atteinte.

Un jour, j'ai eu la curiosité de faire évaluer le score ÉcoIndex d'une page HTML qui ne contenait que deux lignes :

<h1>Test</h1>
<h2>Ecoindex</h2>

Résultat : 99/100, et donc, même pas 100/100 😒 Et j'en conviens, en effet, le site web le plus écologique, c'est sans aucun doute celui qui n'existe pas. Je choisis, en tout cas pour le moment, de ne pas pousser si loin le curseur...

Écoconcevoir des sites web à l'heure de Tiktok et des LLM peut tenir du donquichottisme, mais des axes de progrès existent réellement, et j'ai la conviction que cette désintoxication de l'inflagiciel peut en inspirer d'autres en cascade. Car c'est peut-être, plus qu'une bataille technique, un combat culturel ! En ce qui concerne le web, j'y vois aussi un salutaire retour aux sources.

C'est l'histoire du colibri avec sa goutte d'eau 💧...