Retour sur deux jours de développement intensifs pour faire avancer le monde de l’eco-coding

Mais qu’est-ce que l’eco-coding ?

C’est prendre conscience de l’éco-responsabilité de ce que nous programmons. Chaque ligne de code écrite aura un impact (pour le plus souvent négatif) à travers le matériel qui fera fonctionner ce code (celui-ci consommera de l’énergie, voire imposera un renouvellement des parcs machines).

Le projet ecoCode, développé par la Green Code Initiative et co-fondé par Davidson consulting vise,  depuis maintenant deux ans, à développer un plugin Sonarqube pour la détection des mauvaises pratiques d’eco-coding. Il s’inscrit dans un ensemble de projets portés par Davidson tel que Distiller, ETSDiff, GreenIT-Analysis-cli

 

L’objectif fixé initialement pour ce challenge ecoCode 2023 était le suivant :

<Le challenge sera réussi si>
<ul>
<li> La communauté ecoCode s’élargit </li>
<li> Le projet ecoCode, progresse selon la feuille de route établie de la Green Code Initiative </li>
<li> Que les participants deviennent des référents du green coding, en apprenant des techniques relatives au numérique responsable </li>
<li> Que les participants en parlent à leur collègues </li>
<li> Que les participants prennent plaisir à participer </li>
<li> Que les participants élargissent leur carnet de contacts </li>
<li> Que si l’entreprise des participants, utilise déjà le plug in, que le challenge les conforte dans leur position <or> que leur entreprise compte utiliser un ou plusieurs plugin post événement </li>
<li> Alors nous renouvellerons le challenge ecoCode pour une troisième édition ! </li>
</ul>

Le challenge 2023 était scindé en deux défis : Spotters et Builders, les deux portant à chaque fois sur les technologies web (PHP, HTML/CSS/JS, Python, Java) et mobile (Android et IOS).

Les Spotters ont eu la charge d’investiguer et de décrire les règles d’eco-coding de demain. C’est un travail de brainstorming, d’idéation, d’analyse de code et d’expériences vécues. Ils sont les garants de la qualité des règles qui seront développées dans le futur. Ils ont aussi dû décrire les règles de la manière la plus précise possible afin que les participants du défis « Builders » puisse les interpréter et les développer plus facilement.

Les Builders, quant à eux, ont eu la responsabilité du développement des règles précédemment définies dans l’outil Sonarqube. Ils sont les garants de la qualité du développement des projets du collectif Green Code Initiative : https://github.com/green-code-initiative

Déroulé de deux journées intenses

Les deux journées étaient articulées autour de plusieurs conférences : La première sous forme de keynote d’ouverture animée par Olivier Le Goaer, enseignant chercher à l’université de Pau et cofondateur du projet ecoCode Mobile. C’est ensuite Mathilde Jay, doctorante en informatique à l’université de Grenoble Alpes qui a pris la parole pour présenter ses travaux de recherche sur les Wattmètres logiciels. La première journée s’est clôturée avec une interview de Geoffray Adde, Product Manager chez Sonar.

Les interventions se sont également enchainées le second jour avec une conférence sur l’API Green Score, du collectif API Thinking. Seconde conférence de la journée, présentée par Emmanuel Demey et Thierry Behin (AXA) sur le sujet de l’intégration de l’eco-conception dans les phases de développement. Dernière conférence de ce challenge, une ouverture sur le monde de l’Open source avec l’intervention de Philipe Krief, Research Relations Director à l’Eclipse Foundation Europe. Une intervention sous le signe d’une possible collaboration entre le collectif ecoCode et la fondation afin de structurer le collectif et développer la communauté Open source.

Le reste du temps étant consacré au développement, les 20 équipes ont pu profiter des espaces de travail dédiés dans les locaux de Davidson ainsi qu’à un espace Discord monté spécialement pour l’événement. Chaque conférence était partagée sur un serveur Discord et plusieurs équipes en distanciel et hybrides ont pu collaborer tout au long de l’événement !

Aux termes de leurs deux journées de travail, les équipes ont du pitcher leurs solutions et l’ensemble des efforts fournis pendant cette période très intense, devant un Jury composé de représentants du monde des technologies durables et responsables : Responsable domaine SI RSE, Head of sustainable IT, Responsable RSE, Responsable Hub innovation en école d’ingénieur, Architecte SI et Experts Numérique Responsable…

Après une longue délibération, le jury a délivré son verdict dans l’amphithéâtre, face à quelques 130 participants du challenge.

Une production qualitative pour réduire l’impact des développements

Ce ne sont pas moins de 3 projets github qui ont évolué grâce à une communauté de 101 développeurs.

Le projet ecoCode https://github.com/green-code-initiative/ecoCode

20 règles ont été développées par les équipes Builders sur les langages suivants : 5 Python, 12 Java, 2 PHP, 1 TypeScript

37 règles ont été proposées par les équipes Spotters : 9 Python, 17 Java, 6 DOM, 2 PHP, 3 Rust

Exemple de règle développée :  

Le projet ecoCode Mobile : https://github.com/green-code-initiative/ecoCode-mobile

Pour le projet ecoCode Mobile, ce sont 9 règles développées par les équipes Builders : 8 IOS, 1 Android, 6 déjà mergées

Ainsi que 17 règles proposées par les équipes Spotters : 8 Android, 9 IOS

Le projet ecoCode Linter : https://github.com/green-code-initiative/ecoCode-linter 

Le projet ecoCode Linter a vu le développement de 5 règles par les équipes Builders en JS, ainsi que 9 règles Spotted en JS

Finalement, une nouvelle initiative a vu le jour, avec le développement de bonnes pratiques via l’Infrastructure as code : 9 règles spotted pour de l’Infrastructure As a Code

Exemple de règle spotted : 

Ce qu’on en retient 

Les objectifs ont été très largement dépassés ! Un réel engouement et des productions de qualité qui ont forgé une communauté maintenant solide et pérenne. Les projets ecoCode ont connu une avancée fulgurante.

 

Autre bonne nouvelle sur les réseaux, le plugin ecoCode est maintenant disponible sur le marketplace de Sonarqube et officiellement reconnu : https://docs.sonarqube.org/9.9/instance-administration/plugin-version-matrix/

Encore un grand merci à tous les participant.es

A l’année prochaine !

  • item.alt
  • item.alt
  • item.alt
  • item.alt
  • item.alt
  • item.alt