Notre site Web utilise des cookies pour vous offrir l’expérience en ligne la plus optimale en : mesurant notre audience, en comprenant comment nos pages Web sont consultées et en améliorant en conséquence le fonctionnement de notre site Web, en vous fournissant un contenu marketing pertinent et personnalisé.
Vous avez un contrôle total sur ce que vous souhaitez activer. Vous pouvez accepter les cookies en cliquant sur le bouton « Accepter tous les cookies » ou personnaliser vos choix en sélectionnant les cookies que vous souhaitez activer. Vous pouvez également refuser tous les cookies non nécessaires en cliquant sur le bouton « Refuser tous les cookies ». Veuillez trouver plus d’informations sur notre utilisation des cookies et comment retirer à tout moment votre consentement sur notre Vie Privée.

Gestion de vos cookies

Notre site Web utilise des cookies. Vous avez un contrôle total sur ce que vous souhaitez activer. Vous pouvez accepter les cookies en cliquant sur le bouton « Accepter tous les cookies » ou personnaliser vos choix en sélectionnant les cookies que vous souhaitez activer. Vous pouvez également refuser tous les cookies non nécessaires en cliquant sur le bouton « Refuser tous les cookies » .

Cookies nécessaires

Ceux-ci sont indispensables à la navigation de l’utilisateur et permettent de donner accès à certaines fonctionnalités comme les accès aux zones sécurisées. Sans ces cookies, il ne sera pas possible de fournir le service.
Matomo en auto-hébergement

Cookies marketing

Ces cookies sont utilisés pour vous proposer des publicités plus pertinentes, limiter le nombre de fois que vous voyez une publicité ; aider à mesurer l’efficacité de la campagne publicitaire ; et comprendre le comportement des individus après avoir vu une publicité.
Vie Privée Adobe | Vie Privée Marketo | Vie Privée MRP | Vie Privée AccountInsight | Vie Privée Triblio

Cookies de réseaux sociaux

Ces cookies sont utilisés pour mesurer l’efficacité des campagnes sur les réseaux sociaux.
Vie Privée de LinkedIn

Notre site Web utilise des cookies pour vous offrir l’expérience en ligne la plus optimale en : mesurant notre audience, en comprenant comment nos pages Web sont consultées et en améliorant en conséquence le fonctionnement de notre site Web, en vous fournissant un contenu marketing pertinent et personnalisé. Vous avez un contrôle total sur ce que vous souhaitez activer. Vous pouvez accepter les cookies en cliquant sur le bouton « Accepter tous les cookies » ou personnaliser vos choix en sélectionnant les cookies que vous souhaitez activer. Vous pouvez également refuser tous les cookies non nécessaires en cliquant sur le bouton « Refuser tous les cookies ». Veuillez trouver plus d’informations sur notre utilisation des cookies et comment retirer à tout moment votre consentement sur notre Vie Privée

Passer au contenu principal

Eco-conception du code : pour en finir avec les applications energivores


Publié le: 7 novembre 2016 par Christophe Fournier

Du commun des mortels, toujours préoccupé du niveau de batterie de son smartphone, à la multinationale, dont les data centers engloutissent des quantités colossales d’électricité, l’énergie s’impose comme un enjeu IT de première importance.

 

Son coût et son empreinte environnementale ne sauraient être minimisés alors que les data centers représentent déjà près de 10 % de l’énergie consommée en France et 2 % des émissions de CO2 dans le monde. Souvent abordée du point de vue du matériel et des infrastructures, l’efficacité énergétique passe aussi par l’éco-conception des applications, qui s’appuie désormais sur des pratiques et des outils éprouvés.

L'expérience utilisateur est devenue une priorité absolue

Avec des utilisateurs exigeants au point de désinstaller 95 % des applications dans le mois de leur téléchargement, l’expérience est devenue une priorité absolue. Or, elle ne repose pas seulement sur l’élégance et la simplicité de l’interface, mais aussi sur la performance de l’application au sens large : sa rapidité d’exécution, son volume, son impact sur l’autonomie du téléphone… Autant d’aspects qui dépendent en grande partie de la façon dont a été écrit le code.

De nombreux bénéfices pour l'entreprise

Optimiser ses développements du point de vue énergétique participe donc directement à une stratégie UX mais, les bénéfices ne s’arrêtent pas là pour l’entreprise. En effet, des applications plus sobres vont engendrer, au niveau du data center, d’importantes économies directes (moindre consommation) et indirectes (moindre sollicitation du matériel, donc prolongation de sa durée de vie). Enfin, à ce double bénéfice économique s’ajoute la réduction de l’impact environnemental, contribuant de façon significative aux objectifs RSE de l’entreprise.

L’éco-conception des applications permet de concrétiser ces bénéfices en intégrant dès l’origine la problématique énergétique : comment alléger le fonctionnement, comment respecter les ressources, comment cohabiter avec les autres applications… – et des bonnes pratiques de développement. Par exemple, positionner les ressources nécessaires aux processus récurrents en RAM plutôt que de systématiquement les créer puis les supprimer, ce qui est très énergivore.

L'éco-conception : un état d'esprit

L’éco-conception est aussi un état d’esprit à retrouver chez les développeurs : sous l’effet conjugué de l’explosion des capacités matérielles et de l’urgence des projets, la culture de l’économie de moyen n’a plus été prioritaire pendant de longues années.

Enfin, l’éco-conception peut depuis peu s’appuyer sur des outils qui, à l’image de celui de la startup nantaise Greenspector, s’intègrent aux environnements de développement et permettent de mesurer, grâce à des sondes, la consommation d’une portion de code ou d’une fonctionnalité.

« Atos a notamment utilisé Greenspector dans le cadre du projet Auxylium, une solution de communication tactique duale développée en collaboration avec la DGA. »

Basée sur un smartphone Android, Auxylium est une application on ne peut plus critique pour les soldats en opération puisqu’elle constitue leur seul lien avec le commandement et leur permet de communiquer entre eux. En maximiser l’autonomie était donc absolument prioritaire.

Grâce à ses mesures, Greenspector permet en particulier d’objectiver les décisions d’éco-design. Par exemple, il est apparu sur Auxylium qu’un écran « nuit » (écriture verte sur fond noir) consommait 3 % à 20 % moins d’énergie qu’un écran « jour » (écriture noire sur fond blanc), ce qui a conduit à l’abandon de ce dernier. Mais l’outil permet d’aller encore plus loin avec la détection de « bugs énergétiques » : des portions de code inutiles qui n’entraînent aucun dysfonctionnement fonctionnel mais génèrent en revanche une activité consommatrice d’énergie. Dans le cas du prototype Auxylium, éliminer une boucle qui créait puis supprimait indéfiniment un tableau inutile en mémoire a permis de gagner 1 heure journalière ! Au final, l’éco-conception, outillée par Greenspector, a permis de porter à plus de 8 heures l’autonomie d’Auxylium contre 4 heures tout au plus si elle avait été développée de façon ordinaire.

À l’image de la démarche DevOps, qui intègre les contraintes d’exploitation dès le développement, l’éco-conception réconcilie le logiciel et ressources matérielles dans une approche économe et vertueuse, dont les résultats sont à la fois tangibles et bénéfiques tant pour l’entreprise et les utilisateurs finaux que pour l’environnement.

Partager


Qui est Christophe Fournier
Responsable opérationnel smart mobility, ATos
Christophe Fournier est Product Owner d’un projet mobile. Ce projet intègre des contraintes fortes en terme d’utilisation des ressources du téléphone mobile dont notamment la consommation énergétique. Il comporte également des exigences très fortes en terme d’ergonomie et d’expérience utilisateur. Il met en œuvre les dernières technologies d’objets connectés (drones, montres, etc.). Auparavant, Christophe Fournier a dirigé pendant 5 ans la cellule mobilité de l’agence de Toulouse. Il connait bien les problématiques de réalisation des applications mobiles : développement, tests, ergonomie, sécurité, utilisation des ressources et déploiement.

Suivre ou contacter Christophe