simplifiez votre edi en l'externalisant
+33 4 81 91 79 99

Qu’est-ce que l’écoconception des logiciels ?

Qu’est-ce que l’écoconception des logiciels ?
05/08/2021

Lorsque 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, 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’écoconception des logiciels, une action préventive et innovante !

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ériels et services nécessaires à leur développement et à leur fonctionnement.

Focus sur l’usage des logiciels

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. Et auront en conséquence un impact réduit sur l’environnement.

Fabriquer des logiciels verts

Pour fabriquer des logiciels verts ou écoresponsables, les éditeurs disposent de trois leviers :

1 - La lutte contre l’obésité des logiciels

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 logicielles 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 :

  • Chercher à faire uniquement ce qui est demandé,
  • Retirer les fonctionnalités inutiles,
  • Maquetter une IHM, interface homme-machine, épurée,
  • Fluidifier le parcours utilisateur en réduisant le nombre d’interactions,
  • Opter pour des modules additionnels que l’utilisateur chargera seulement quand il en aura besoin.

2 - L’optimisation du code

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 diviser 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 parmi 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.

3 - L’amélioration continue des logiciels

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:

  • D’améliorer l’efficience des logiciels tout au long de leurs cycle de vie,
  • De garantir une compatibilité ascendante et descendante des nouvelles versions,
  • D’allonger la durée de vie des logiciels.

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 mise au point par l’INRIA de Lille. PowerAPI est disponible en Open Source sur la plateforme GitHub.

Des bénéfices pour tous

L’écoconception des logiciels permet de :

  • Mettre fin à « toujours plus de puissance et mémoire machine » pour fonctionner,
  • Rendre un service numérique équivalent avec une consommation d’énergie moindre,
  • Réduire l’obsolescence matérielle et logicielle.

Il en découle des bénéfices immédiats pour les entreprises et les utilisateurs. Et cette approche de concevoir les logiciels, favorise de nouvelles pratiques numériques bénéfiques pour l’environnement et la planète.

Une réduction des coûts de fonctionnement et d’investissement grâce à l'écoconception des logiciels

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 aussi 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 :

  • La durée de vie des postes de travail, des serveurs est allongée. Les ordinateurs ne sont plus remplacés à chaque nouvelle version de logiciel parce qu’ils ne sont plus assez puissants,
  • Les logiciels écoresponsables ont la capacité d’être supportés par un maximum de matériels afin d’en ralentir l’obsolescence,
  • Les charges d’hébergement sont réduites du fait que les logiciels consomment moins de mémoire et moins de puissance CPU.

Une nouvelle expérience utilisateur,

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 :

  • De nouvelles interfaces épurées privilégiant le confort utilisateur à la richesse fonctionnelle : une IHM épuré, un mode sombre, « dark mode », plus reposant pour la lecture et moins énergivore qu’un fond blanc,
  • Des fonctionnalités respectant les besoins initiaux,
  • Une prise en main facilité avec moins d’interactions et plus de fluidité pour les utilisateurs.

Les entreprises disposent d’applications plus facilement accessibles par leur personnel :

  • Le chargement des solutions logicielles déployées dans le Cloud est plus rapide et plus fluide,
  • L’autonomie des terminaux mobiles et des smartphones est augmentée.

De nouvelles pratiques numériques

L’adoption par les entreprises d’applications mobiles et de logiciels hébergées dans le cloud impulsent de nouvelles pratiques numériques.

  • Le travail collaboratif à distance, qui concourt à éviter de se déplacer,
  • Des impressions au format PDF vs des impressions papier, qui réduisent la consommation de papier,
  • Une sensibilisation à une meilleure gestion des données, seules les données utiles restent immédiatement accessibles. Selon une étude de VERITAS une donnée sur deux stockée par les entreprises est obsolète ou inutile, le stockage à chaud de ces données inutiles entraine un rejet de 6,4 tonnes de CO2 par an.

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.

L’écoconception des logiciels, un nouveau paradigme ?

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 faible est assez limité.