Simple Science

La science de pointe expliquée simplement

# Informatique# Génie logiciel# Performances

Rendre les applications web plus écoénergétiques

Apprends à appliquer des pratiques économes en énergie dans le développement web.

― 8 min lire


Optimiser l'énergie dansOptimiser l'énergie dansle codage webénergétiques pour un codage durable.Concentre-toi sur les modèles
Table des matières

L'utilisation de la technologie est devenue une grosse partie de nos vies quotidiennes. Comme on passe de plus en plus de temps en ligne, que ce soit pour discuter avec des amis ou consulter des dossiers médicaux, c'est important de réfléchir à l'impact que ça a sur notre planète. Les logiciels qui soutiennent ces activités consomment de l'énergie, ce qui peut avoir un effet négatif sur l'environnement. Cet article examine comment rendre les logiciels plus économes en énergie, surtout pour les applications web, qui reçoivent souvent moins d'attention que les applis mobiles.

Utilisation de l'énergie dans la technologie

Le secteur des technologies de l'information et de la communication (TIC) est responsable d'une part significative des émissions de carbone dans le monde, estimée à environ 5,5%. Ce secteur consomme aussi environ 20% de toute l'électricité. Le logiciel est au cœur de nombreuses industries, y compris celle de la santé et de la communication. Donc, développer des logiciels qui utilisent moins d'énergie devient de plus en plus crucial.

Des chercheurs se penchent sur ce qu'on appelle le "coding vert", qui fait référence à des pratiques qui aident à rendre les logiciels plus économes en énergie. Ces pratiques incluent l'utilisation de modèles de conception spécifiques qui peuvent réduire la Consommation d'énergie dans le logiciel. Bien qu'il y ait eu beaucoup de focus sur les applications mobiles, le même niveau d'attention n'a pas été donné aux applications web, même si on les utilise beaucoup dans notre vie quotidienne.

Concentrons-nous sur les applications web

Dans cet article, on va se concentrer sur comment prendre les pratiques d'économie d'énergie des applications mobiles et les appliquer aux applications web. Pour voir si ces pratiques fonctionnent, on a discuté avec six Développeurs web professionnels de différentes entreprises. On voulait savoir comment ils perçoivent les pratiques de codage écoénergétiques et s'ils les utilisent dans leur travail.

Modèles d'énergie dans le développement web

Il existe différentes pratiques de codage connues sous le nom de modèles d'énergie. Ce sont des bonnes pratiques qui aident les développeurs à écrire du code qui consomme moins d'énergie. Bien qu'il existe de nombreux modèles pour les applications mobiles, peu ont été adaptés pour les applications web.

Notre objectif est de créer une liste de modèles d'énergie spécifiquement pour les applications web. On va d'abord examiner les modèles existants des applications mobiles, puis voir comment ils peuvent être appliqués au développement web.

S'engager avec les développeurs

Pour comprendre comment les développeurs perçoivent les modèles d'énergie, on a réalisé des interviews avec six développeurs web. Ces interviews visaient à récolter des insights sur leurs connaissances en Efficacité énergétique dans le codage et comment ils perçoivent les techniques d'économie d'énergie qu'on a discutées.

Lors des interviews, on a présenté aux développeurs les modèles d'énergie qu'on avait adaptés des applications mobiles. On voulait savoir comment ils comprenaient ces modèles, à quel point ils pouvaient facilement les retrouver dans le code source, et s'ils seraient prêts à investir du temps et des ressources pour mettre en œuvre ces techniques d'économie d'énergie.

Insights des développeurs

De nos discussions, on a constaté que beaucoup de développeurs n'étaient pas au courant des modèles d'énergie. Quelques uns avaient des connaissances de l'école ou de collègues, mais généralement, ils manquaient d'une compréhension profonde. Quand on a présenté les modèles adaptés, certains développeurs les ont trouvés simples et faciles à comprendre, tandis que d'autres ont eu du mal et ont eu besoin de plus d'éclaircissements.

Beaucoup de développeurs ont exprimé que leur priorité est souvent la performance et la fonctionnalité de l'application, plutôt que l'efficacité énergétique. Ils se préoccupent plus de l'impact de leur code sur l'expérience utilisateur que de son impact énergétique.

Modèles d'énergie trouvés dans le code

Quand on a demandé aux développeurs comment trouver ces modèles d'énergie dans leur code existant, ils ont donné plusieurs guidelines. Ils ont souligné des parties spécifiques de leur code où ces modèles pouvaient ou ne pouvaient pas être appliqués.

Par exemple, certains développeurs ont dit qu'ils n'avaient pas d'animations dans leurs applications, tandis que d'autres ont indiqué que des fonctions ou des modules spécifiques pourraient bénéficier des modèles d'énergie. Plusieurs développeurs ont reconnu que les modèles d'énergie ne pourraient pas avoir un effet significatif sur leurs applications, car ils priorisent d'autres aspects, comme la performance.

Tester les modèles d'énergie

Pour vérifier si les modèles d'énergie qu'on a adaptés des applications mobiles conduisent réellement à une moindre consommation d'énergie quand ils sont appliqués aux applications web, on a conçu des expériences. On a sélectionné deux modèles d'économies d'énergie spécifiques : un qui augmente l'intervalle de temps pour réessayer après un échec et un autre qui retarde le chargement des ressources jusqu'à ce qu'elles soient nécessaires.

On a testé ces modèles sur des sites de démonstration et surveillé la consommation d'énergie en utilisant un outil logiciel qui suit les informations de puissance en temps réel. Nos tests visaient à voir si la mise en œuvre de ces modèles entraînerait des économies d'énergie mesurables.

Résultats des tests

Les résultats de nos tests ont montré que les modèles d'énergie n'entraînaient pas toujours une moindre consommation d'énergie. Dans certains cas, le modèle d'économie d'énergie utilisait plus d'énergie que l'approche traditionnelle. Cela met en évidence que tous les modèles d'énergie ne fonctionneront pas comme prévu dans chaque situation.

Par exemple, dans un test, le modèle qui retardait le chargement des ressources consommait plus d'énergie que la méthode traditionnelle. Cela peut être dû à la puissance de traitement supplémentaire nécessaire pour surveiller quand les ressources devraient être chargées.

On a aussi observé des différences de consommation d'énergie entre différents navigateurs web. Par exemple, un navigateur se comportait mieux en termes d'économies d'énergie qu'un autre, ce qui indique que le choix du navigateur peut influencer l'efficacité des techniques d'économie d'énergie.

Volonté des développeurs de s'adapter

Malgré les défis qu'on a notés concernant l'efficacité des modèles d'énergie, les développeurs qu'on a interviewés ont montré une volonté d'adopter des pratiques plus économes en énergie. Ils sont ouverts à l'intégration des modèles d'énergie dans de nouveaux projets mais sont hésitants à refactoriser du code existant à cause des contraintes de temps et d'autres priorités.

Beaucoup ont exprimé le souhait d'avoir de meilleurs outils qui aident à mesurer et visualiser la consommation d'énergie dans leurs applications. Cela suggère un fossé entre la connaissance et l'action ; les développeurs veulent apporter des changements mais ont besoin de soutien pour le faire efficacement.

Recommandations pour les pratiques futures

Sur la base de nos découvertes, voici plusieurs recommandations qu'on peut offrir aux développeurs et aux organisations :

  1. Intégrer l'efficacité énergétique dans l'éducation : Faire des pratiques de codage économes en énergie une partie des programmes de science informatique peut mieux préparer les futurs développeurs.

  2. Développer de meilleurs outils : Il y a un besoin pour des outils plus sophistiqués qui aident les développeurs à suivre et mesurer la consommation d'énergie efficacement.

  3. Encourager le partage de connaissances : Établir des forums ou des communautés où les développeurs peuvent discuter de l'efficacité énergétique peut aider à accroître la sensibilisation et les meilleures pratiques.

  4. Politiques et formation des entreprises : Les organisations devraient envisager d'incorporer l'efficacité énergétique dans leurs processus de développement logiciel et fournir une formation à leurs équipes.

  5. Mettre l'accent sur l'expérience utilisateur : Les développeurs devraient trouver un équilibre entre l'efficacité énergétique et l'expérience utilisateur, s'assurant que les pratiques d'économie d'énergie n'affectent pas négativement la performance de l'application.

Conclusion

Alors que la technologie continue d'évoluer et de devenir une partie intégrante de nos vies, il est crucial que les développeurs adoptent l'efficacité énergétique dans leurs pratiques de codage. En adaptant des modèles d'énergie des applications mobiles aux applications web, on peut contribuer à un avenir numérique plus durable.

Bien que tous les modèles d'énergie ne conduisent pas à des économies significatives, comprendre leur applicabilité et leurs limites peut aider les développeurs à faire des choix éclairés. En travaillant ensemble en tant qu'industrie, les développeurs peuvent aider à réduire l'impact environnemental de leurs logiciels tout en continuant à livrer des applications de haute qualité.

Source originale

Titre: Energy Patterns for Web: An Exploratory Study

Résumé: As the energy footprint generated by software is increasing at an alarming rate, understanding how to develop energy-efficient applications has become a necessity. Previous work has introduced catalogs of coding practices, also known as energy patterns. These patterns are yet limited to Mobile or third-party libraries. In this study, we focus on the Web domain--a main source of energy consumption. First, we investigated whether and how Mobile energy patterns could be ported to this domain and found that 20 patterns could be ported. Then, we interviewed six expert web developers from different companies to challenge the ported patterns. Most developers expressed concerns for antipatterns, specifically with functional antipatterns, and were able to formulate guidelines to locate these patterns in the source code. Finally, to quantify the effect of Web energy patterns on energy consumption, we set up an automated pipeline to evaluate two ported patterns: 'Dynamic Retry Delay' (DRD) and 'Open Only When Necessary' (OOWN). With this, we found no evidence that the DRD pattern consumes less energy than its antipattern, while the opposite is true for OOWN. Data and Material: https://doi.org/10.5281/zenodo.8404487

Auteurs: Pooja Rani, Jonas Zellweger, Veronika Kousadianos, Luis Cruz, Timo Kehrer, Alberto Bacchelli

Dernière mise à jour: 2024-01-12 00:00:00

Langue: English

Source URL: https://arxiv.org/abs/2401.06482

Source PDF: https://arxiv.org/pdf/2401.06482

Licence: https://creativecommons.org/licenses/by-nc-sa/4.0/

Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.

Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.

Plus d'auteurs

Articles similaires