Green Code Lab : une pépinière de Green Design Patterns

generique - GreenEnergy - terre + plante

Rédigé avec Fred Bordage 

Comme le démontre toutes les analyses de cycle de vie (ACV), l’empreinte écologique des équipements informatiques se concentre lors de la fabrication et la fin de vie. La fabrication d’un ordinateur émet par exemple 70 fois plus de CO2 qu’un an d’utilisation. Le geste essentiel du Green IT consiste donc à allonger la durée d’utilisation des équipements, etc.

Au delà d’une durée de garantie trop courte, la couche logicielle est le principal facteur d’obsolescence des équipements informatiques. La puissance nécessaire pour exécuter un logiciel double, en effet, d’une version sur l’autre. Si bien qu’en 25 ans, la durée moyenne d’utilisation d’un ordinateur a été divisée par 3, passant de 10 à 3 ans (voir le calcul que nous effectué pour le WWF).

Les fabricants de matériels informatiques sont engagés depuis déjà pas mal d’années dans l’éco-conception de leurs équipements. Un microprocesseur moderne consomme par exemple 40 fois moins d’énergie qu’en 1946.

Alors que le matériel devient de plus en plus rapide tout en consommant moins d’énergie, il n’y a pas d’accélération du logiciel, mais plutôt un ralentissement (loi de Wirth) ! Cette situation est unique en son genre. Appliquée à l’automobile est consisterait à consommer 2 fois plus de carburant à chaque nouvelle génération de véhicule pour parcourir exactement le même nombre de kilomètres à la même vitesse.

Paradoxalement, il existe des solutions simples pour réduire les besoins en ressources (mémoire vive, puissance processeurs, etc.) des logiciels. Comme nous l’avons démontré lors du Green Challenge USI 2010 co-organisé avec Octo Technology, il est possible de diviser par 6 les besoins en ressources matérielles d’un logiciel, en le codant mieux, grâce aux Green Design Patterns, ou motifs d’éco-conception logicielle en français.

C’est dans cette optique que nous (quelques contributeurs de greenit.fr) avons créé le Green Code Lab. Ce groupe d’utilisateurs a pour objectif de faire progresser l’éco-conception logicielle, notamment en diffusant des bonnes pratiques de développement logiciel durable et en alimentant un référentiel de Green Design Patterns.

Le Green Code Lab est composé d’experts du développement durable, du Green IT et de développeurs et architectes logiciels issus de différents milieux : .Net, java, embarqué, web, etc. Il est organisé autour d’un code lab virtuel où des expérimentations peuvent être faites autour des green patterns. Le groupe maintient un référentiel capitalisé. Cet esprit est renforcé par des événements physiques réguliers : évènement annuel national et événement locaux (séances de codage tels les dojo coding, formation, etc.).

La clé de la réussite pour Green Code Lab est de mêler des motifs d’éco-conception logicielle issus de plusieurs mondes : 2.0, libre, durable. L’esprit exploratoire, physique et local est donc un facteur différenciant pour le groupe. Green Code Lab s’inscrit dans un esprit collaboratif d’avant-garde inspiré par de multiples actions des communautés actuelles : TICA, java user group, cantines numériques, fablab, hackspaces… Nous avons la conviction que cet esprit permettra de modifier durablement le monde du développement logiciel.

Rejoignez nous pour faire progresser l’éco-conception des logiciels !

Liens : Green Code Lab / Twitter / Viadeo / Linkedin / Facebook


Commentaires

Longue vie à cette initiative qui remet au coeur les architectes et développeurs dans l’objectif de mettre en oeuvre des plans d’action au plus près du code et des couches logiciels.
… et qui s’attaque enfin au problème d’éco-conception des logiciels !

thierry Leboucq (non vérifié) le 07/10/2011

@Thierry : +1. On s’attaque enfin à l’une des principales sources du problème d’obsolescence artificielle des équipements.

admin le 07/10/2011

Bonjour,

Très bonne initiative, il y a en effet beaucoup de boulot à faire à ce niveau. D’ailleurs, comme on parle beaucoup de l’AGIT ces derniers temps et de sa mission de diffusion des bonnes conduites Green IT, il serait intéressant d’envisager la rédaction de modules à destination des universités, écoles, BTS, IUT… qui forment les nouvelles générations de développeurs.
Je ne fais pas partie de l’AGIT à ce jour ni du Green Code Lab que je viens de découvrir, mais je serai ravi de participer à une telle démarche.

Concernant le premier article du Green Code Lab, c’est en effet dommage de prôner les green patterns et d’utiliser un site avec Drupal et une base de données associée.

Le site statique ne colle pas j’en conviens… quoi que… Est-ce qu’une partie du site ne peux pas être statique et une autre dynamique, pourquoi pas avec un CMS car c’est bien pratique ?
Côté CMS et sans avoir d’ACV sous la main, peut être que les pages seraient plus légères avec un outil comme PluXML ?

Je crois profondément qu’il n’y a jamais UNE solution ultime, mais plutôt un ensemble de solutions répondant à une somme de besoins.

J’en profite pour ressortir un commentaire rester sans réponse et interrogeant les mêmes problématiques concernant la version iphone de ce très bon blog qu’est GreenIT.fr.

Aurélien PROBST

Aurélien PROBST (non vérifié) le 10/10/2011

@Aurélien : Nous serions ravi de te compter parmi les contributeurs du green code lab!
Effectivement un CMS tel DRUPAL n’est pas la solution la plus green. Cependant l’action du Green Code Lab est une action bénévole. La solution Drupal était la plus simple (compte tenu des compétences des fondateurs ;-) ). Il est clair que nous pouvons appliquer des green Patterns : pages statiques, suppression du module view par des pages générées via programmation… Nous avons le souhait d’appliquer ses patterns sur le site quand nous aurons trouvé les bonnes volontés !
Cela serait un exercice très intéressant et permettrait de publier des green patterns avec mesures associées dans le green code lab (et ailleurs aussi).

Olivier Philippot le 10/10/2011

C’est une bonne initiative.
Mais le code des benchmarks de langages est très limité (https://github.com/GreenCodeLab), les développeurs debian ont plus de chose à proposer sur ce point (http://shootout.alioth.debian.org/u64q/which-programming-languages-are-f…).
Alors plutôt que de réinventer la roue (perte de temps, dépense d’energie superflou tout ça :) ) pourquoi ne pas leur proposer des benchmarks supplémentaire ?

tranche (non vérifié) le 17/10/2011

@Tranche : effectivement notre objectif n’est pas de réinventer la roue ! Nous essayons d’identifier des actions et des programmes existants. Le code benchmark été un “essai” mais ton lien est très intéressant.
Nous allons étudier la possibilité d’ajouter nos contraintes et mesures (consommation par exemple). Notre souhait est aussi de participer à d’autre communauté et projet.
Merci pour ce lien.

Olivier Philippot le 18/10/2011

Poster un nouveau commentaire

Le contenu de ce champ ne sera pas montré publiquement.