Qu’est-ce que l’écoconception des logiciels ?
05 août 2021
05 août 2021
Lorsqu’on parle de Green IT ou d’écoconception, les logiciels ont une place particulière.
Les logiciels sont immatériels et n’ont pas d’impacts environnementaux directs. En revanche, leur exploitation nécessite des capacités de calcul, de mémoire, de stockage et de réseau. La construction de toute cette infrastructure consomme des matières premières, des terres rares, de l’eau et son fonctionnement nécessite de l’électricité
Des études montrent que le monde du numérique est à l’origine de 4% des émissions mondiales de GES, gaz à effet de serre, et de 5% de la consommation mondiale d’électricité.
44% seraient imputables à la fabrication des infrastructures informatiques et 56% aux logiciels qui les utilisent.
Comment une nouvelle conception des logiciels peut-elle contribuer à lutter contre le dérèglement climatique ?
Dans cet article, découvrez l’écoconception des logiciels. Pourquoi et comment les éditeurs intègrent l’écoconception dès le début du cycle de vie des logiciels. Et quels en sont les bénéfices pour leurs utilisateurs et pour la planète.
L’ADEME, Agence de la transition écologique, définit l’écoconception comme « une démarche préventive et innovante qui permet de réduire les impacts négatifs d’un produit, service ou bâtiment sur l’ensemble de son cycle de vie, tout en conservant ses qualités d’usage ».
L’écoconception de tout bien physique ou service nécessite au préalable une Analyse du Cycle de Vie ou ACV.
L’écoconception des logiciels amène à appliquer cette démarche aux logiciels. Soit, à identifier les impacts environnementaux à chaque étape du cycle de vie des logiciels, les logiciels étant des biens immatériels. De fait, il faut prendre en compte l’ensemble des équipements, matériaux et services nécessaires à leur développement et à leur fonctionnement.
Cependant, si la création des logiciels exige des ressources importantes : postes de travail, écrans, compilateurs, c’est l’usage des logiciels qui concentre les impacts environnementaux. Selon les observations, il y a un écart de 1 à +10.000, voir jusqu’à 1 million du temps passé au développement du logiciel au temps passé à son utilisation.
L’objectif sera de développer des applications dont l’exploitation nécessitera moins de ressources matérielles et moins d’énergie avec comme conséquence un impact réduit sur l’environnement.
Pour fabriquer des logiciels verts ou écoresponsables, les éditeurs disposent de trois leviers :
La lutte contre l’obésité des logiciels qui limite la course à toujours plus de ressources matérielles nécessaires à leur bon fonctionnement.
Au fil des versions, les logiciels grossissent, ils deviennent obèses. Non seulement les éditeurs ont superposé les couches applicatives, les fonctionnalités des logiciels s’enrichissent et deviennent de plus en plus nombreuses.
Cette tendance est appelée « obésiciel ». La conséquence directe est que les applications logicielles nécessitent de plus en plus de ressources matérielles et consomment de plus en plus de puissance.
De toutes les fonctionnalités accumulées, certaines, voir beaucoup, sont très peu utilisées ou pas du tout utilisées. Selon des études de Cast Software et de Standish Group, 70% des fonctionnalités demandées par les utilisateurs ne sont pas essentielles et 45% ne sont jamais utilisées.
Pour alléger leurs logiciels et les rendre moins gourmands en ressources les éditeurs doivent se focaliser sur l’essentiel de leurs fonctions :
L’optimisation du code qui permet d’être plus performant tout en consommant moins d’énergie.
Lors de la phase de codage des logiciels les possibilités d’optimisation sont nombreuses :
La logique des algorithmes : selon une étude d’IBM en améliorant les algorithmes des logiciels existants, leur performance est maximalisée et leur consommation d’électricité est divisée par 10.
L’architecture des données et les accès aux bases de données : selon les métriques publiées par l’ADEME, chaque transaction dans une base de données équivaut à émettre 1,35 gr de CO2.
Le choix du langage de développement : les langages et les Framework n’exigent pas tous le même niveau de ressources CPU. Les langages C, C++ et Java sont parmis les moins consommateurs : le PHP, c’est 45 fois plus de ressources CPU que le C ! Comparés aux langages interprétés, les langages compilés sont plus rapides, nécessitent moins de mémoire vive et sont moins énergivores.
L’amélioration continue des logiciels qui accroît leur durabilité dans le temps en réduisant l’obsolescence.
L’écoconception est aussi une démarche d’amélioration continue. Pour ce faire, la méthode Agile est préconisée. Elle permet d’agir de façon incrémentale lorsque le logiciel est en production chez les clients.
Une démarche itérative, inspirée de la loi de Pareto, c’est-à-dire cibler les 20% des fonctionnalités les plus utilisées.
L’amélioration de l’efficacité de celles-ci permet de maximaliser les gains de performance et d’économie d’énergie. Ces mises à jour permettent :
Pour identifier les fonctionnalités les plus énergivores, les éditeurs peuvent opérer de façon empirique en se basant sur la consommation CPU. Ou plus finement en utilisant des API tel que PowerAPI mis au point par l’INRIA de Lille.
PowerAPI est disponible en Open Source sur la plateforme GitHub.
L’écoconception des logiciels permet de :
Il en découle des bénéfices immédiats pour les entreprises et les utilisateurs. Cette approche de concevoir les logiciels favorise de nouvelles pratiques numériques bénéfiques pour l’environnement et la planète.
Selon des études menées par Green IT, des retours d’expérience chez Microsoft, Google, IBM, Facebook, montrent que des économies de l’ordre de 20 à 40% sont réalisables en intégrant l’écoconception logicielle en amont dans les projets. En passant du PHP au C++, Facebook a divisé par 2 la consommation d’énergie de ses infrastructures et a récupéré 50% de la capacité de ses Data Center.
Outre une réduction de la consommation d’électricité pour un même service rendu, les logiciels verts permettent des économies sur les besoins matériels :
Comme toujours dans le monde du numérique, seule l’expérience utilisateur permet de juger de la pertinence des services proposés.
Les logiciels verts, plus légers et plus frugaux, contribuent à améliorer l’expérience vécue par leurs utilisateurs :
Les entreprises disposent d’applications plus facilement accessibles par leur personnel :
L’adoption par les entreprises d’applications mobiles et de logiciels hébergés dans le cloud impulsent de nouvelles pratiques numériques :
Même en ayant un coût d’émission de CO2, ces pratiques sont des leviers qui permettent aux entreprises de réduire leur empreinte carbone tout en poursuivant leur transformation numérique.
Jusqu’à aujourd’hui avec la loi de Moore la puissance des ressources matérielles mise à la disposition des logiciels était toujours croissante et considérée comme illimitée.
Le constat de Niklaus Wirth, formulé dans la loi de Wirth, est que « les programmes ralentissent plus vite que le matériel accélère ».
En effet, les éditeurs ont laissé grossir leurs logiciels alors que les fabricants de matériels ont innové pour une meilleure efficience des équipements informatiques.
Les éditeurs pourront-ils inverser la loi de Wirth ? Aujourd’hui avec l’écoconception des logiciels, la puissance des ressources matérielles à la disposition des logiciels a des coûts environnementaux et énergétiques faibles.