Mobile Numérique responsable

Flutter Connection ’23 : embarquons à bord du train de l’Éco-Conception avec la SNCF !

by Adrien Zagar 13 juillet 2023

La Flutter Connection, c’était comment ?

Pour la première fois de ma vie de dev, je participe à une conférence, et celle-ci porte sur la technologie Flutter. Ce n’est pas une technologie que je connais bien, mais l’opportunité s’est présentée pour que je puisse assister à cette conférence (merci Pierre), alors je me suis dit : allons-y !!
Même si je connais un peu l’écosystème mobile avec React Native, je n’ai pas poussé loin dans la techno Flutter.
Mais Flutter, c’est quoi ? C’est un framework open-source développé par Google qui permet de créer des applications cross-plateformes, c’est-à-dire que les développeurs ont la possibilité de développer des applications mobiles, web ou même de bureau avec un seul et unique code source. Pour en savoir plus, découvrez notre article dédié écrit par notre expert Pierre Moati.

C’est donc avec un œil de novice en la matière que je participe à cette conférence. Ma plus grande frayeur est d’être complètement largué dans la compréhension des sujets abordés mais mon engouement n’est pas en reste.
Globalement, le déroulement de la journée est bien organisé avec des pauses au bon moment pour aller prendre un café en se mêlant à la foule de développeurs venus assister à l’événement.

Il y a de grands noms de l’écosystème Flutter parmi les intervenants tels que Rémi Rousselet, Craig Labenz, Majid Hajian, et j’en passe.
Cela annonce la couleur ! Des sujets pointus qui demandent une compréhension avancée de l’écosystème et qui ne font qu’accentuer ma peur de ne pas arriver à bien suivre les sujets. Je vous laisse lire l’article de Damien Tivelet qui résume bien les différents sujets abordés au cours de la conférence.

La journée est en réalité équilibrée. Il y a des sujets pour tout le monde. Certains sont d’un niveau abordable et d’autres d’un niveau plus avancé. J’arrive donc à m’y retrouver. Je suis certes loin de comprendre tous les tenants et aboutissants de certains sujets, notamment celui de Craig Labenz qui rentre dans le détails des cycles de vie dans Flutter ou encore sur la communication FFI de Renan Araujo.

Mais si il y a bien un sujet qui a retenu mon attention c’est celui qu’a présenté l’équipe de SNCF Connect intitulé “Mind Your App Footprint”. Il fait l’état d’un sujet d’actualité qui préoccupe les esprits : l’impact des émissions de CO2 sur notre environnement.

En tant que concepteur de leur application SNCF Connect, les équipes de développement ont mis sur la table la problématique de l’empreinte carbone. L’éco-responsabilité et l’éco-conception sont des sujets que nous affectionnons particulièrement à Kaliop et nous embrassons par ailleurs une démarche de labellisation du Numérique Responsable niveau 1 selon le référentiel validé par l’ADEME et WWF. Certains de nos développeurs ont même passé des certifications sur le sujet.
Tout est donc bon à prendre dans ce retour d’expérience provenant d’un acteur majeur comme la SNCF.

L’approche de la SNCF sur l’éco-conception

La présentation commence avec une piqûre de rappel sur les chiffres. Le digital représente 4% des émissions à effet de serre et 2,5% de l’empreinte carbone totale. Ces proportions sont réparties entre plusieurs thématiques : la production et l’utilisation des appareils, le réseau et les data centers pour stocker les données.

Il faut savoir que les smartphones sont les appareils ayant l’une des durées de vie les plus courtes et ils sont en moyenne remplacés tous les 2 ans et demi. Ceci s’explique en partie par la volonté des utilisateurs d’avoir un téléphone plus performant, afin que leur expérience soit la plus optimale, avec une navigation dans les applications plus fluide.
Mais plutôt que d’être incité à remplacer notre smartphone par une application qui tourne au ralenti, nous pouvons agir sur certains paramètres de conception, afin de rendre l’application plus optimales pour des appareils plus anciens.

On va comprendre qu’un croisement gagnant se crée autour de quatre éléments basiques que nous présente la SNCF pour réduire l’empreinte carbone de son application :

  • L’utilisation du CPU
  • La consommation de la batterie
  • Le réseau
  • La taille des fichiers

Bien que cela puisse sembler ordinaire, mener des actions sur ces 4 éléments est une stratégie astucieuse puisque l’optimisation de chacun de ses points va faire à la fois gagner en performance et réduire l’empreinte carbone. Par exemple, réduire l’utilisation du CPU induit une réduction de la consommation d’énergie mais démontre aussi que l’application n’a pas besoin de calcul conséquent et qu’elle est donc performante. Je vous laisse imaginer une application qui occupe 100% du processeur de votre téléphone et qui bloque les actions les plus basiques comme le swipe ou le bouton pour retourner à la page d’accueil.

Trouver les bons outils pour son éco-conception

La SNCF nous a présenté un certain nombre d’outils inspirants sur lesquels s’appuyer pour mener des actions à bien. Je ne vais pas rentrer dans les détails de chacun de ces outils mais, Greenspector semble avoir été un très bon ami de la SNCF, sans oublier d’autres outils de monitoring qui dégagent certaines métriques signifiantes pour l’éco-conception comme Datadog, Firebase ou encore Sentry.

Nous n’allons pas non plus nous attarder sur les concepts techniques avancés qui ont aussi été utilisés (tree shaking, bundle optimization, custom eco-mode, etc). Des articles dédiés seraient bien plus instructifs que quelques lignes lancés ici.

Au fil de la conférence, on prend conscience que la SNCF a poussé loin son éco-conception en se posant même des questions sur leur environnement de développement. Maîtriser la logistique infrastructurelle interne peut sembler être un détail mais, réduire le nombre d’écrans utilisés pour chaque poste de travail peut avoir son impact énergétique à grande ou petite échelle. C’est un peu comme l’histoire du petit colibri : les grandes entreprises soucieuses de cet aspect vont tirer un avantage significatif dû aux nombres de postes existant par exemple mais, si pour les petites entreprises les chiffres, pris au cas par cas, seront moins éloquents, l’impact global n’en sera pas moins édifiant.

L’engagement de Kaliop

Chez Kaliop, nous avons ce genre de réflexion. Je me souviens que notre équipe Infrastructure avait mené un bilan sur la consommation énergétique des écrans en mode veille et avait appuyé sur l’importance de ne pas oublier d’éteindre les écrans en s’absentant de son poste.

Dans la même lignée, nous développons actuellement en interne le projet Kwatt. C’est une application d’observation en temps réel de l’impact carbone des projets hébergés par Kaliop. Ce projet récupère des données depuis l’APM (Application performance management) de Kaliop : New Relic, les traite à l’aide de l’API open source : boaviztapi pour en déduire l’impact carbone de l’infrastructure sous forme de métriques et affiche ces métriques dans des tableaux de bord Grafana personnalisables.

Finalement, nous partageons la vision de l’éco-conception que relate la SNCF dans cette conférence et de nombreux points intéressants et inspirants sont à retenir.

Je vous conseille par ailleurs de regarder un récent webinar sur le sujet présenter par Emmanuel Valluche, Directeur Conseil chez Kaliop.

Adrien Zagar

Adrien Zagar

Après une reconversion dans le développement web à l'âge de 30 ans, Adrien est devenu un spécialiste du langage JavaScript, en mettant l'accent sur l'utilisation de la technologie React pour créer des applications web dynamiques.

Commentaires

Ajouter un commentaire

Votre commentaire sera modéré par nos administrateurs

Vous avez un projet ? Nos équipes répondent à vos questions

Contactez-nous