Si l’informatique a révolutionné notre quotidien, souvent dans le bon sens, elle a un impact négatif que beaucoup ignorent : de lourdes conséquences sur l’environnement.
Les outils informatiques que l’on utilise aujourd’hui ont en effet de fortes répercussions environnementales. Cela est notamment dû à l’utilisation de sites web, de logiciels ou d’applis mobile qui ne sont pas optimisés. Heureusement, il existe des techniques de développement pour limiter cet impact ; c’est ce qu’on appelle le green coding.
Ces pratiques vous intéressent ? Voyons en détail comment implémenter la programmation écologique au sein d’un projet de développement !
Le green coding en détail
Les enjeux écologiques
Pour bien comprendre l’intérêt du green coding, il est important de se rendre compte de l’impact d’internet (et de l’informatique de manière plus globale) sur l’environnement. Pour cela, voyons quelques chiffres révélateurs de ses conséquences.
L’informatique de manière générale est responsable de 3,7% de l’empreinte carbone mondiale, dont 1% uniquement pour les data centers. Si nous comparons ce chiffre avec celui de l’aviation, les vols commerciaux ont représenté en 2019 1,42% des émissions globales de CO2, en transportant 4,3 milliards de passagers. L’IT dans sa globalité pollue donc environ 2,5 fois plus que le transport aérien commercial.
Face à l’adoption toujours croissante des outils informatiques et à l’utilisation d’applications gourmandes en ressources et en consommation réseau (Netflix, YouTube, TikTok, etc.), on comprend l’importance d’adopter des pratiques informatiques plus écologiques, comme le green coding.
Le principe du green coding
Comme son nom l’indique, le green coding est une pratique de programmation visant à rendre le développement, et plus particulièrement le code, plus écologique. Mais cela ne concerne pas uniquement le code source ! Le green coding inclut également tout ce qui rentre dans la phase de développement d’un produit informatique. Cela comprend donc, comme nous l’expliquerons, le choix d’une stack technique adaptée, et l’optimisation de l’utilisation des serveurs.
Les avantages du green coding
En dehors de créer un produit plus “vert”, le green coding possède d’autres avantages :
- Des coûts réduits à terme (moins de consommations au niveau des serveurs et de la bande passante) ;
- Une application ou un site web plus rapide grâce à un code optimisé (un bénéfice pour l’utilisateur final) ;
- Un code plus facile à maintenir ;
- Une réputation d’entreprise soucieuse de l’environnement, pour la compagnie mettant en pratique ce concept.
Si la mise en place de bonnes pratiques green coding n’est pas simple, elle vient donc avec de nombreux avantages, au-delà même de la simple réduction de l’empreinte carbone d’un projet.
Les langages de programmation les plus économes en énergie
On retrouve 5 grands langages de programmation parmi ceux qui consomment le moins d’énergie :
- C
- Calme
- C + +
- Ada
- Java
À noter que les langages les plus rapides ne sont pas toujours ceux qui consomment le moins. Alors que Java figure parmi les moins énergivores, les langages comme Python, Perl ou encore Ruby sont parmi les plus consommateurs d’énergie.
Comment implémenter le green coding ?
Vous avez pris la décision d’adopter le green coding pour votre projet de développement ? Voyons comment l’implémenter !
Évaluer l’impact environnemental du projet
La première étape est d’estimer l’impact environnemental du projet. Si c’est un projet déjà existant, il existe des outils pour mesurer cet impact. Citons par exemple Website Carbon, qui mesure l’empreinte carbone d’un site web via divers paramètres, notamment les données chargées, l’énergie utilisée par les data centers, et le trafic du site.
Si le développement du projet n’a pas encore commencé, il est évidemment compliqué d’évaluer le futur impact environnemental de celui-ci. Il est donc d’autant plus important de faire attention à la stack technique.
Bien choisir la stack technique
En-dehors du code écrit par le développeur freelance, l’empreinte écologique d’un projet dépend avant tout des technologies qu’il utilise. Il est donc important de bien choisir sa stack technique.
Si on souhaite faire évoluer un projet existant, il est par exemple recommandé de supprimer des librairies pas ou peu utiles, qui alourdissent un projet inutilement. Beaucoup de ces librairies peuvent être implémentées localement via quelques simples fonctions.
Dans le cas d’un nouveau projet, il convient de comparer les différentes technologies pour en choisir les plus écologiques (tout en prenant en compte d’autres paramètres tels que les besoins techniques, les connaissances de l’équipe, etc.).
Si vous avez le choix, mieux vaut s’orienter vers des langages réputés comme plus efficients et écologiques, tels que le C, Rust, C++, Ada ou Java.
Optimiser le code et le développement
Évidemment, on ne peut pas parler du green coding sans parler du code en tant que tel !
C’est la phase la plus importante de cette transformation écologique, puisqu’elle est entièrement entre les mains de l’équipe de développement.
Il y a plusieurs façons de faire du green coding. Si toutes ne sont pas faciles à implémenter, beaucoup peuvent être adaptées, et, à terme, bénéfiques aux développeurs eux-mêmes.
Citons parmi toutes ces techniques :
- Écrire des algorithmes (et du code, de manière plus général) optimisés ;
- Réduire le code au maximum, notamment le code mort, inutilisé ;
- Minifier le code restant ;
- Simplifier les API, notamment le nombre et la taille des données échangées ;
- Optimiser les données stockées, côté serveur et client (par exemple : la taille des images) ;
- Veiller aux fuites mémoires et à l’utilisation en arrière-plan de fonctionnalités inutiles.
Via ces quelques conseils (et d’autres, qui peuvent être propre à un type de projet ou à une techno), il est possible de réduire la consommation d’un logiciel, d’un site web ou d’une application mobile.
Optimiser les serveurs
Si le green coding passe en grande partie par la phase de développement, ce n’est pas la seule ! Nous l’avons dit, 1% de l’empreinte carbone mondiale est due uniquement aux data centers. Il est donc essentiel de prendre en compte la partie hébergement.
Bien choisir son hébergeur est la première étape pour un projet plus propre, écologiquement parlant. Certaines entreprises se sont même spécialisées dans l’hébergement “vert”. C’est par exemple le cas de PlanetHoster, société Canadienne qui utilise de l’énergie renouvelable pour faire tourner ses data centers (venant notamment de barrages hydroélectriques).
En-dehors de l’entreprise elle-même, il est intéressant de choisir un hébergeur qui possède des serveurs dans la localité dans laquelle se trouvent les utilisateurs. Plus la distance parcourue par les données est faible, plus le produit sera écologique. Les utilisateurs auront également accès aux données plus rapidement.
Dans la même optique, il est recommandé d’utiliser des CDN. Un CDN (pour content delivery network), permet de stocker vos données à plusieurs endroits dans le monde, pour les servir plus rapidement aux utilisateurs. Ces CDN peuvent aussi gérer l’expiration du contenu, pour éviter l’utilisation et le stockage inutile de données.
Se former et faire de la veille
Le green coding ne s’improvise pas, il est composé de différentes règles et conseils plus ou moins complexes. Pour bien les respecter, il est important de se former, soit en autodidacte, soit via des experts reconnus.
Une équipe de développement formée au green coding pourra implémenter toutes ces recommandations au fil du développement, de manière plus fluide et pérenne.
Mais ce n’est pas tout ! Les technos évoluant rapidement, le green coding est lui aussi en perpétuelle évolution : il est donc important de faire de la veille dans ce domaine.
Conclusion
Nous l’avons vu, pratiquer le green coding a de nombreux avantages, à la fois pour l’environnement, les utilisateurs du produit, et l’entreprise qui le crée. Si la plupart des recommandations ne sont pas compliquées à implémenter, il est cependant essentiel de se former à ces pratiques.
Ce qu’il faut comprendre ici, c’est que si chaque entreprise inclut, au moins en partie, le green coding lors du développement de ses produits, il peut être possible de limiter l’explosion de l’impact d’internet sur l’empreinte carbone mondiale.