Nos actualités
L’empreinte numérique des applications : et si on mettait notre code au régime minceur ?
Article de Calange Favreau
“À ce jour, les développeurs de logiciels sont plus encouragés à réduire les temps de développement de leurs applications qu’à optimiser le code en lui-même.” Voici ce que pense Romain Rouvoy, chercheur en génie logiciel au Centre de recherche en informatique, signal et automatique de Lille. Dans un monde où les applications poussent comme des champignons, son constat interroge. Chez Bpifrance, nous n’avons pas toujours été les meilleurs élèves. Mais avec plus de 300 applications en production auxquelles s’ajoute une mission de service public, nous avons une obligation d’exemplarité.
Alors il y a quelques mois, nous avons commencé à faire passer nos applications sur la balance. Le but ? Faire le bilan, pour pouvoir proposer un régime drastique à nos applications les plus potelées, et mettre en place des menus plus équilibrés pour toutes celles qui seront développées dans le futur. Loin de nous l’idée de faire du body shaming, mais le climat, c’est important. Alors, le célèbre “ne mangez pas trop gras, trop sucré, trop salé” est devenu “ne codez pas trop long, trop compliqué, trop couteux”. Zoom sur le sujet avec Calange Favreau, Head of Cloud & Security à la Digital Factory.
Calange Favreau, Head of Cloud & Security chez Bpifrance (Digital Factory)
C’est l’heure de la pesée !
Dans une organisation en forte croissance comme la nôtre, la tentation de se focaliser sur le temps de déploiement est grande. Pourtant, quand Calange nous a rejoints au printemps 2023, il constate (heureusement) une vraie volonté d’optimiser le code. “Beaucoup insufflent déjà cette dynamique : les responsables de produit qui observent cela de façon assez consciencieuse, les développeurs qui savent qu’ils seront challengés dessus” observe-t-il. Quant à la qualité du code, les Tech Lead et les équipes Infra/Ops — accompagnés par la société Padok — veillent au grain : “On vérifie constamment que la chaîne qui permet de déployer est optimisée. L’expérience développeur dépend, aussi, de l’efficacité de celle-ci”, ajoute-t-il.
Waouh, donc nos applications sont déjà au top ? Pas encore. En revanche, nous partons avec de nouvelles et solides fondations : l’infrastructure s’appuie sur des microservices, avec un catalogue nommé “Hypercube”, disponible pour tous les développeurs. “On possède une centaine d’API qui permettent de répondre à différents besoins, comme l’upload de fichiers que l’on utilise sur plusieurs applications. L’utilisation de microservices mutualisés permet de gagner en coût et en infrastructure, et donc de réduire l’empreinte numérique”, constate Calange. En revanche, côté serveur, c’est un peu plus flou : “Même si on sait que les data centers de Bpifrance sont à Paris et que l’énergie est plutôt verte en France, les détails restent confidentiels”, déplore-t-il.
SonarQube et GreenFrame dans nos radars
Un système de microservices, des data centers en France, c’est bien. Mais comment faire mieux ? Car au-delà de ces premières avancées, et d’une importance sincère accordée à la qualité du code, il y a quelques mois encore, nous n’avions pas l’ombre d’un outil pour calculer l’empreinte numérique de nos applications. “Il y a cinq ans, la DSI a mis en place SonarQube, un logiciel libre de qualimétrie en continu de code. Récemment, le plugin Ecocode a été installé pour donner des informations et des conseils d’éco-conception. Pour compléter, la Direction du Digital voulait une solution qui s’intègre encore plus finement dans le cycle de développement. C’est en faisant des recherches avec cet objectif en tête que l’on s’est rapproché de GreenFrame”, raconte Calange. GreenFrame est un outil open source édité par Marmelab, une entreprise française, qui permet de mesurer les émissions carbones liées à l’utilisation d’un site web. Mesurer l’impact avant et après une modification aide les développeurs à créer des applications à faible émission de carbone et économes en énergie.
Pour l’utilisateur final, plus une application est optimisée, moins elle est consommatrice de ressources. On réduit ainsi le risque d’obsolescence du matériel (ordinateur, tablette, smartphone…), repoussant ainsi la nécessité de remplacer un appareil pour des problèmes de performances. Comme le souligne l’étude ADEME : l’empreinte carbone du numérique dépend essentiellement des équipements et de leur fabrication.
Source : Étude ADEME — Arcep sur l’empreinte environnementale du numérique en 2020, 2030 et 2050
“Nous avons fait un premier pilote avec une application développée récemment : l’IMC (Indice de Maturité Climatique)”, partage Calange. Une application qui avait sens par nature : celle-ci a été développée pour les chargés d’études Bpifrance (ndlr : les chargés d’études reçoivent les entrepreneurs et étudient leur dossier en vue d’un financement, une garantie…) avec pour objectif de les aider à estimer la maturité climatique des entreprises qu’ils accompagnent. Cette application s’appuie sur des briques du SI déjà optimisées, nous permettant de concevoir une solution à la fois efficace et éco-responsable. “Résultat ? L’empreinte est déjà faible, et on ne s’arrêtera pas là”, se félicite Calange.
Exemple : dashboard empreinte carbone parcours IMC
Et maintenant ?
Bref, les premières pesées sont prometteuses, et les bonnes pratiques sont là. Mais loin de nous l’idée de nous arrêter à ce premier constat. “Nous sommes en train de l’intégrer à notre cycle de développement. Nous allons commencer par proposer aux développeurs un job qui affichera le score de l’application, à titre informatif seulement”, explique-t-il. Pourrait-on aller jusqu’à interdire la mise en production de composants trop énergivores ? “On n’en est pas encore là, mais c’est forcément une question qui se posera un jour”, répond-il.
Si cette solution de suivi est un changement majeur pour la gestion de l’empreinte numérique, la mise en place reste un vrai défi. “GreenFrame utilise le framework Playwright pour simuler des scénarios de navigation (tests E2E). Or chez Bpifrance, nous utilisons le framework Cypress par défaut”, partage Calange. Mais parce que nous avons à cœur de soutenir les entreprises françaises innovantes, nous participons financièrement au développement de la compatibilité Cypress. L’objectif ? Déployer GreenFrame sur toutes nos applications en 2024. Calange en est convaincu : “C’est important d’aller vite. Mais sensibiliser, avoir des dashboards, pouvoir visualiser l’empreinte ou le coût d’une application, c’est indispensable pour savoir si on avance dans le bon sens”.
Trois conseils pour réduire l’empreinte numérique de ses applications
Calange conclut avec quelques conseils pour limiter l’empreinte numérique de ses applications, made in Bpifrance.
· Conseil #01 : Ne rien négliger. “Il est courant, mais dangereux, de se mettre des œillères sur certains sujets. Or, il est primordial de s’intéresser à tous les aspects de ce sujet, du code aux serveurs en passant par l’architecture.”
· Conseil #02 : Équiper. “Se former à l’éco-conception, c’est important, mais à moins d’être un véritable expert du sujet, s’équiper d’outils dédiés permet de compléter ses connaissances et d’intégrer, progressivement, de bonnes pratiques de développement à son quotidien.”
· Conseil #03 : S’intéresser au FinOps. “Un bon moyen de réduire l’empreinte carbone, c’est déjà de réduire la facture liée à l’infrastructure. On réalise que c’est un cercle vertueux : si tu codes green, tu coûtes moins cher à l’entreprise et tu préserves la planète. C’est gagnant-gagnant.”
Vous l’aurez compris, nos applications à l’appétit débordant ont du souci à se faire ! Pour nous, l’éco-conception est à la fois une bonne pratique (et même, un devoir) et une manière de contribuer à la sécurité et la résilience globale de nos applications (et ça, on en parlera dans un prochain article). Également dans un prochain article : un second épisode sur notre approche de l’éco-conception, par le prisme de la DSI.
Maintenant, si vous aussi vous avez envie de vous challenger sur vos pratiques de développement, que vous souhaitez “coder green” ou simplement rejoindre une organisation pour qui ce sujet est au cœur des réflexions, jetez un coup d’œil à nos offres d’emploi !
Technologies associées