
Si t’es un développeur vert, tapes dans tes mains, si t’es un « green developer », tapes dans tes mains !
T’as un doute ? Tu sais pas ?
L’impact écologique du numérique n’est pas un secret ou une question en débat, c’est un fait désormais reconnu. Or, le développeur peut contribuer à réduire celui-ci.
Au service des clients, le programmeur ou le développeur est loin d’être un simple exécutant. C’est avant tout un professionnel expérimenté, capable de proposer et d’adapter un projet selon des normes environnementales.
Alors, comment être un « green developper » ?
Contraint par l’urgence des commandes et des besoins des clients, comment le développeur peut-il agir et contribuer aux nécessités écologiques ?
Tu penses être un « green developer » ? Tu es sceptique ?
On t’explique ça rapidement…
Rendre plus vert l’IT, c’est urgent !
Nous avions déjà évoqué, dans un article précédent, les facteurs de pollution du numérique.
Quelques chiffres en guise de rappel :
- Si Internet était un pays, il serait le 3e plus gros consommateur d’électricité au monde avec 1500 TWH par an
- Le numérique consomme 10 à 15 % de l’électricité mondiale, soit l’équivalent de 100 réacteurs nucléaires
- Le numérique génère 3 à 4 % des émissions mondiales de GES (l’ADEME) et devrait atteindre 7,5% en 2025 (The Shift Project)
- Le numérique en France : c’est 2,5 % de notre empreinte carbone et 10 % de notre consommation électrique
- Le poids des pages web a été multiplié par 4 en 10 ans
- Aux États-Unis, chaque foyer consomme 4 To de données/an soit 38 fois plus qu’il y a 10 ans !
Avec l’explosion du streaming et de la télévision via internet, mais aussi des forfaits 4G illimités ou avec le phénomène d’obésiciel, on a vu exploser la part du numérique dans l’émission de GES ( Gaz à effet de serre).
Et avec l’arrivée de la 5G et des jeux vidéo en streaming, on risque bien de voir cette part augmenter dans les années qui viennent.
Pour aller plus loin : faites le test de l’impact de vos usages du numérique ici.
Le « green IT » : des solutions diverses à la pollution numérique
À la prise de conscience doit désormais succéder les actions. Adopter une démarche de « green IT » touchera plusieurs aspects du rapport au numérique : le matériel, les données stockées dans le cloud, le fonctionnement des logiciels, etc.
Cela va de soi : il y a plusieurs options à considérer et à adapter selon les entreprises, leurs activités, leurs tailles, etc.
Ainsi, les entreprises de l’IT sont peut-être en première ligne concernant ces démarches, car elles sont en amont de la chaîne. C’est donc aussi dans leur responsabilité de montrer l’exemple et de proposer des solutions techniques ou des produits qui iront dans le bon sens.
Pour décarboner le numérique, il existe plusieurs niveaux d'actions :
- D’abord, on peut agir sur la fabrication de terminaux et serveurs (45% des émissions).
- Ensuite, on peut diminuer la consommation électrique nécessaire au fonctionnement de tous les terminaux (55% des émissions).
- Enfin, on peut aussi agir sur le code pour rendre le numérique moins énergivore. On appelle cela le « green code ».
On peut alors décliner ces aspects en solutions divers applicables par l’entreprise.
Examinons plus particulièrement ce qui est le travail quotidien du développeur : le code !
Le code est l’écriture utilisée pour concevoir les logiciels. Il peut être bien ou mal conçu et ainsi avoir une consommation d’énergie soit trop importante, soit plus équilibrée.
Or actuellement, les développeurs sont plus encouragés à réduire les temps de développement de leurs produits qu’à optimiser la consommation d’énergie du code.
Pourtant, c’est possible, on parle de codage écologique, de code vert ou « green code »…
« Green code », kézako ?
Face aux enjeux du développement durable, le terme de sobriété numérique pèse de tout son poids dans les débats et les médias.
Les développeurs, responsables de milliers de lignes de code, ont forcément un rôle à jouer dans la réflexion et la mise en place de solutions.
L’une d’entre elles serait de passer au « green code » : c’est-à-dire rédiger un code plus sobre, mieux fabriqué, et qui a comme objectif de respecter l’environnement, de polluer le moins possible.
Car il existe le bon et le mauvais code ! (À ne pas confondre avec le bon et le mauvais chasseur, c’est une tout autre histoire… des inconnus)
Un mauvais code est fait de nombreuses lignes et fonctions inutiles utilisées dans le développement. Cela entraîne de trop nombreux calculs pour l’ordinateur qui va donc perdre un temps considérable et consommer trop d’énergie.
Objectif du « green code » ?
Diminuer la consommation d’énergie des logiciels ou des sites en trouvant le bon équilibre entre la consommation d'énergie et la qualité de la programmation.
On encouragera alors « les principes de codage allégés où une quantité minimale de traitement sera nécessaire pour fournir un résultat et une application similaires ».
Comment ?
On pourra agir sur deux niveaux :
- En supprimant des fonctionnalités inutiles d’une application en cours de création et en enlevant des lignes de code
- En favorisant de nouvelles technologies moins énergivores
Pour cela, il faut retrouver l’esprit d’une époque révolue depuis les transformations de l’informatique. Une époque où l’on devait allier efficacité et sobriété de stockage ou de mémoire.
Aujourd'hui, la « mauvaise qualité » du code n’est possible que parce que la mémoire et les capacités de traitement des ordinateurs actuels sont immenses. De ce fait, les programmeurs sont parfois tombés dans la facilité d’écrire du code moins précis et beaucoup trop long.
En utilisant les bibliothèques et les Framework, ils y ont gagné en rapidité d’exécution, mais y ont perdu en efficacité énergétique. Trop de lignes de codes inutiles qui vont pousser le logiciel à consommer inutilement de l’énergie.
Ainsi, au lieu d'utiliser ces bibliothèques et ces frameworks, le codage manuel est à privilégier. Non seulement cela permettra de réduire les émissions de GES, mais aussi d’avoir une qualité de code supérieure.
Autre ennemi dans le viseur du « green developer » : les « obésiciels » (ou bloatwares), des logiciels occupant trop d’espace sur le disque dur de l’ordinateur ou du smartphone ou réclamant trop d’énergie pour son utilisation (bien souvent des programmes installés par défaut sur les systèmes d’exploitation).
Il existe alors plusieurs possibilités ou options pour le « green developer » :
- Il peut, par exemple, favoriser la création d'algorithmes informatiques qui consomment moins d'énergie.
- Il peut utiliser des algorithmes de codage qui permettent de traiter les données de manière plus rapide et réduire ainsi la consommation d'énergie des ordinateurs et des serveurs.
- Ou encore, utiliser certains algorithmes de codage permettant de compresser les données pour occuper moins d'espace sur le disque dur ou le serveur. En réduisant ainsi les résolutions d'image à l'écran, on gagne plus de temps en fonctionnement.
- On peut aussi concevoir un site ou un produit informatique avec un minimum de code qui, adapté à son utilisateur, évite des fonctionnalités inutile consommatrice d’énergie. Car moins de code = moins de consommation d’énergie.
- Autre exemple, écrire ce qu’on appelle du code « performant »: c’est du code qui se télécharge très vite et lisible même sur des téléphones moins performants et plus anciens. De quoi vous encourager à garder encore pour quelque temps votre vieux téléphone et ne pas tomber dans l’effet nouveauté…
Les résultats dépassent le simple objectif écologique : un site optimisé « green IT » ou « Green code » est plus rapide à s’afficher, plus fluide, car moins lourd. C’est un avantage pour le client comme pour les internautes qui fuient les sites qui « rament ».
Autre outil intéressant pour le « green developer » : il existerait des langages plus « verts » que d’autres …
Existe-t-il des langages de programmation « verts » ?
Existe-t-il du « low code », (à ne pas confondre avec le low code), c’est-à-dire un code qui serait moins énergivore que les autres ?
La question est complexe, car cela dépend de différents critères : « L’efficacité d'un langage de programmation dépend de plusieurs facteurs - l'énergie, la mémoire et le temps qu'il consomme pour son exécution. L'efficacité peut également être améliorée avec la qualité des machines virtuelles, des compilateurs, des bibliothèques optimisées et un meilleur code source ».
Des études ont été menées, en 2017, au Portugal. Les chercheurs ont testé 27 langages selon les différents critères énumérés précédemment.
Voici les résultats :
« Les 5 principaux langages nécessitant moins d’énergie et de temps pour exécuter les solutions sont : C, Rust, C++, Ada et Java ; parmi ceux-ci, seul Java n'est pas compilé ».
À l'opposé, les langages les plus énergivores sont : Perl, Python, Ruby, Jruby, et Lua.
De quoi relancer la course aux langages les plus performants avec un critère supplémentaire : le langage le plus "vert", le plus avantageux pour l’environnement…
Alors êtes-vous un « green developer » ? Un peu, beaucoup, passionnément, pas du tout ?
Si vous n’avez pas encore pu passer vos pratiques de codage sous le prisme du « green code », il est peut-être temps de vous y mettre.
De plus en plus, les entreprises cherchant à se démarquer par des pratiques et des démarches « green IT », non seulement pour respecter les impératifs RSE ou QVT, mais aussi pour satisfaire une clientèle de plus en plus sélective sur les entreprises « vertes » ou non…
L’avenir du code et du développement se joue sans doute dans ces avancées « green » qu’il faut désormais intégrer à tous les niveaux de vos pratiques.
À vous de jouer, la planète compte sur vous…
Le « Green » est le code à la mode et ça risque de durer un bon moment pour le bien de tous...
par Edmond Kean
Plus d’articles de la catégorie
Inscrivez-vous à notre newsletter
Votre adresse électronique est uniquement utilisée pour vous envoyer les actualités du groupe Anywr. Vous pouvez à tout moment utiliser le lien de désabonnement intégré dans la newsletter.