http://www.emn.fr/z-info/eco-conception-logiciels/

Hier se tenait donc le premier colloque sur l’éco-conception logiciel, sujet passionnant et clé pour l’avenir… On en reparlera et vous en entendrez parler… Car même si le développement durable avance par petites avancées, il est évident au regard des ressources finie de notre petite planète que sans réflexion et engagement durable, rien ne pourra dépasser le prochain siècle ….

Il y a quatre ans avec mon ami Eric Vernié nous avions animé une session aux TechDays sur le Green Développeur. Nous avions alors acheté un wattmètre, l’avions branché au “cul” de notre machine et quel ne fût pas notre surprise de voir en quelques essai sur des bout de code les gain énorme que nous pouvions avoir en terme de consommation, en parallélisant le code, en gérant les graphique et animation de manière plus fine…

4 ans après , quel plaisir de voir un colloque de cette nature, alliant industriel, éditeur et universitaire en train de défricher un nouveau domaine… prometteur pour l’avenir.

Gagner quelque watt sur un code donné peut sembler dérisoire, mais si vous gagnez 1 watt sur un code, et que ce code touren dans un Datacenter de 100000 machines, alors c’est juste 100 000 watt par unité de temps que vous gagnez ! (cet exemple est juste l’illustration d’un Datacenter Azure chez Microsoft….). On me pose souvent la question “chez Microsoft faites vous de l’eco conception”, la réponse est à la ligne du dessus Sourire S’il est vrai que notre conception est plutôt drivée par un ROI économique, et dans ce cas de réduire la facture énergétique, de-facto nous prenons en compte l’eco-conception très sérieusement dans nos produits qu’ils soit les Datacenter Azure ou nos future Tablet ou chaque Watt gangné a un impact sur l’autonomie…. et quand on parle de Tablet, l’autonomie est un critère plus que significatif…

L’éco-conception logiciel : quoi c’est ?

L’éco conception des logiciels ou ingénierie logicielle durable est l’art de définir et développer des logiciels dont les impacts environnementaux, économiques et sociétaux positifs ou négatifs sont évalués, documentés et optimisés tout au long de son cycle de vie logiciel (architecture, développement, usage et fin de vie.) L’éco-conception des logiciels se définit à la fois comme un outil d’analyse et un ensemble de bonnes pratiques.

En effet, si l’empreinte environnementale des logiciels se caractérise à première vue de manière indirecte par le matériel sur lequel ils sont installés, l’influence directe des logiciels sur le matériel et plus largement sur l’environnement est POURTANT loin d’être négligeable : obsolescence ressentie, consommation électrique, ondes radios, énergie, ressources pour produire ou supprimer les logiciels, facteur de renouvellement prématuré d’un parc d’ordinateurs, etc.

L'éco conception des logiciels vise une rationalisation et une optimisation des logiciels pour pallier l’inopérabilité des logiciels liée à des mises à jour successives et/ou des évolutions matérielles, pour développer des logiciels au plus près des attentes utilisateurs et pour minimiser les ressources nécessaires (CPU, mémoire, disque, connectivité, consommation, …).

L’éco-conception, tout comme la qualité logiciel et la performance, conduit également à des gains de  productivité lors du processus de développement, de déploiement et de maintenance et une maîtrise des coûts associés (coût de fonctionnement, coût d’évolutivité, énergie…).

L’éco-conception va prendre en compte :
  • l’efficacité du processus de développement ;
  • la viabilité et l’équité du modèle économique ;
  • la mise en place d’une architecture économe et évolutive ;
  • la réponse au plus juste au besoin utilisateur ;
  • la réduction des ressources lors de l’usage ;
  • la maîtrise de l’explosion des données ;
  • l’accessibilité et l’ergonomie pour éviter l’exclusion numérique ;
  • la prise en compte de toutes les plateformes matérielles ;
  • une fin de vie du logiciel pour éviter l’obésiciel.
L’éco-conception s’applique à chaque type et niveau de logiciel :
  • site web (Php, HTML…)
  • application métier (J2EE par exemple)
  • application mobile
  • cloud
  • logiciel compilé (C, C++…)

 

En espérant que ce post, vous interpelle, vous motive a vous documenter davantage …

A bientôt pour en discuter de vive voix

Eric