Couverture de l'article Éco-conception Web : Bien plus qu’un enjeu écologique !
Retour aux articles

L'agence

WanadevStudio

Éco-conception Web : Bien plus qu’un enjeu écologique !

Cet article fait suite à un autre article que nous avons écrit après notre visite à la Paris Web 2022. Ici nous allons définir ce qu’est l’éco-conception numérique afin de mieux comprendre les enjeux et les impacts de nos métiers. Avant tout, nous allons re-situer l’impact du numérique à l'échelle des autres sources de consommation d’énergie de nos sociétés.

I - Constat

Il est souvent difficile de concevoir que le numérique, bien qu’immatériel, n’est pour autant pas inoffensif. Il est important de comprendre qu’indirectement, chaque octet a un impact dans le monde réel.

Ceci est d’autant plus vrai que chaque année, on constate une augmentation du nombre de sites en ligne (notamment depuis 2010) ainsi que du nombre d’appareils connectés.

Titre_de_l_image

Titre_de_l_image

On estime qu’en 2025, 6 milliards de personnes et 75 milliards d’objets seront connectés au web.

Le poids moyen d’un service numérique a été multiplié par 155 en 27 ans (passant de 14 Ko à 200 Ko). Pour autant, nous ne réservons pas notre billet de train 155 fois plus vite…

Finalement, les impacts environnementaux du numérique ne cessent d’augmenter, ce qui a pour conséquence que l’empreinte carbone du numérique est équivalente à celle de 2 fois la France. Soit 1500 millions de tonnes de CO₂ et 7,8 milliards de m³ d’eau.

C’est 10 fois plus que l’empreinte souhaitée pour rester sous un réchauffement global de +1,5°C.

Titre_de_l_image

L’impacts sur l’environnement a lieu à toutes les étapes du cycle de vie du service numérique.

Une partie se produit lors de la fabrication, principalement en raison du nombre d’appareils et estimé aujourd’hui à 34 milliards. L’ADEME et le CNRS rappellent que cela engendre l’épuisement des ressources non renouvelables et l’érosion de la biodiversité et que son impact est tout aussi important que celui du réchauffement global.

L’autre partie a lieu lors de l’utilisation, notamment lors de la production d’électricité et du refroidissement des data centers. Les utilisateurs représentent 50% de l’électricité consommée sur la phase d’utilisation. En France, les impacts sont principalement concentrés sur l’eau douce et non sur les émissions de CO₂ en raison du nucléaire.

Parmi tous ces chiffres, les développeurs sont les principaux concernés !

Nous pouvons lutter contre l’obsolescence programmée en proposant des contenus et des services en ligne nécessitant peu de ressources pour fonctionner. De cette manière, les  utilisateurs peuvent garder plus longtemps leurs équipements.

Notre but, en tant que développeur, est donc d’allonger la durée de vie des terminaux des utilisateurs et de réduire le nombre de serveurs nécessaires au fonctionnement de notre site / service.

II - Définition

Les impacts et l’empreinte technique sont répartis selon ces 4 éléments :

  • Le type de terminal utilisé
  • La durée de vie de ce terminal
  • Le temps passé par un utilisateur sur un service
  • Le type de connexion

Ce sont ces 4 leviers sur lesquels il est possible d’agir.

En réalité, seul le matériel a un impact environnemental : les logiciels n’existent que virtuellement et leurs impacts sont mesurés à travers celui du matériel.

Une chose importante à noter dans la démarche d’éco-conception est qu’à l’inverse de la démarche classique d’optimisation des performances, elle consiste à dépenser le moins de ressources possible.

En effet, il serait facile d’obtenir un temps de réponse plus court en augmentant la mémoire vive d’un serveur, mais cette augmentation des ressources aurait un coût économique et surtout écologique.

Eco-concevoir un service en ligne consiste, à niveau de qualité constant, à réduire la quantité de moyens informatiques et télécoms nécessaires. C’est-à-dire à réduire son empreinte matérielle.

De plus, c’est une démarche qui s’appuie sur le standard IEC *62430:2019,* préconisant l’intégration des aspects environnementaux dans la conception d’un produit.

On peut en dégager 5 principes fondamentaux pour éco-concevoir son service numérique :

  1. définir le service rendu
  2. étudier le service de bout en bout
  3. à toutes les étapes du cycle de vie
  4. en utilisant plusieurs indicateurs environnementaux
  5. dans une démarche d’amélioration continue

Globalement, plus on intervient tôt dans le cycle de conception d’un service, plus les leviers sont importants.

Par exemple, cela peut se faire en intervenant dès la phase d’expression du besoin, dès celle de la définition de la couverture fonctionnelle ou dès celle de sa quantification précise. Car, près de 70% des fonctionnalités demandées par les utilisateurs sont rarement, voire jamais utilisées. (1)

Pour résumer, en se concentrant davantage sur les étapes intervenant avant et après la phase de réalisation, on aura un impact bien plus important qu’en essayant d’optimiser chaque ligne de code.

En découle ces 3 principes fondamentaux de l’éco-conception qui conduisent à l’efficience :

  • Simplicité
  • Frugalité
  • Pertinence

Simplicité :

Le principe demande à ce que chaque interface utilisateur regroupe un ensemble de fonctionnalités cohérentes et homogènes. Le but étant d’éviter les usines à gaz.

→ Par exemple, le moteur de recherche Yahoo a une interface type portail avec plein de fonctionnalités, tandis que Google ou DuckDuckGo ont une seule fonctionnalité par page.

Frugalité :

Le principe de frugalité vise à limiter la couverture et la profondeur, fonctionnelles à leur strict minimum.

→ Par exemple, une liste d'éléments doit être réduite au minimum tout comme le taux de compression des images.

Ces seuils et quantités sont déterminés par ce qui est acceptable par l’utilisateur comme optimum ou minimum et jamais comme maximum.

Pertinence :

La pertinence est traduite par l’équation suivante : [utilité] x [rapidité] x [accessibilité]. Ce qui veut dire qu’un résultat utile mais trop long ne va pas satisfaire l’utilisateur, qui risque ainsi de passer à un autre service. Il en va de même si un résultat est rapide mais peu ou pas utilisable.

En d’autres termes, si le service ne fournit pas un résultat pertinent, l’utilisateur va se tourner vers un autre service pour obtenir sa réponse et on obtient 100% d’impacts environnementaux inutiles.

Finalement, l’éco-conception des services numériques répond aux 3 enjeux du développement durable tels que défini par les Nations Unies :

  • Préservation de l’environnement (planet)

Dans l’objectif d’améliorer la sobriété de nos services, cette démarche aura un impact sur les ressources minimales pour sa conception et son fonctionnement.

  • Amélioration de la condition humaine (people)

Cet enjeu vise à rendre accessible nos services numériques à un maximum de personnes, qu’ils aient des handicaps permanents ou temporaires.

  • Plus grande performance économique (profit)

En réduisant les ressources nécessaires au fonctionnement d’un service (en maintenant la qualité optimale), son coût est réduit et améliore son rendement.

→ En se limitant à l’aspect écologique, on ne traite qu’un tiers des actions à mettre en place pour un service numérique responsable.

Bonnes pratiques :

Vous pouvez retrouver une liste non exhaustive de bonnes pratiques à mettre en place dans la conception de vos services numériques dans le livre Ecoconception Web les 115 bonnes pratiques. Ces pratiques sont classées par domaine : spécification, conception, réalisation, production, utilisation, maintenance et fin de vie. A chaque pratique est associée une note de priorité, de mise en œuvre et d’impact écologique ainsi qu’un indicateur des ressources impacté (processeur, bande passante, RAM, espace de stockage…).

Vous pouvez également retrouver ces pratiques sur ce repository GitHub.

Ressources externes

D’autres référentiels de bonnes pratiques :

Extensions pour votre navigateur préféré :

Toujours plus d’outils : https://collectif.greenit.fr/outils

Commentaires

Il n'y a actuellement aucun commentaire. Soyez le premier !

  • Couverture de l'article Event Bus : Le secret d'une architecture Symfony réellement découplée
    Event Bus : Le secret d'une architecture Symfony réellement découplée

    Il y a 4 semaines

    Imaginez : votre utilisateur clique sur "Commander". En coulisses, le domaine Stock doit décrémenter les quantités, le domaine Facturation doit générer une facture, et le domaine Notification doit envoyer un email de confirmation. Trois domaines, une seule action... et un spaghetti de dépendances en perspective. 🍝

    Et si ces domaines pouvaient collaborer sans jamais se connaître ?

    C'est exactement ce que permet l'Event Bus. Mais avant de foncer tête baissée, une question se pose : Symfony propose déjà l'EventDispatcher pour gérer les événements. Alors pourquoi introduire un nouveau concept ?

    Spoiler : ce ne sont pas les mêmes outils, et les confondre peut vous coûter cher.

    Dans cet article, nous allons démystifier leurs différences et découvrir comment l'Event Bus de Symfony Messenger vous permet de construire une architecture réellement découplée.

    Ce que vous allez apprendre :

    • Les différences fondamentales entre EventDispatcher et Event Bus
    • Quand utiliser l'un plutôt que l'autre
    • Comment configurer un Event Bus avec Symfony Messenger
    • Créer une architecture événementielle découplée
  • Couverture de l'article CQRS avec Symfony Messenger : Domptez la complexité de vos applications
    CQRS avec Symfony Messenger : Domptez la complexité de vos applications

    Il y a 1 mois

    Vous êtes-vous déjà retrouvé face à un controller Symfony surchargé qui gère à la fois la validation, la logique métier, la persistence et les réponses HTTP ? Si oui, le CQRS est fait pour vous !

    Le CQRS (Command Query Responsibility Segregation) est un pattern architectural qui sépare clairement les opérations d'écriture (Commands) et de lecture (Queries). Combiné avec Symfony Messenger, il vous permet de :

    • Organiser votre code de manière claire et maintenable
    • Séparer les responsabilités pour respecter les principes SOLID
    • Valider vos données avant même qu'elles n'atteignent votre logique métier
    • Gérer les transactions de base de données de manière élégante
    • Préparer votre application pour l'asynchrone sans effort

    Dans cet article, nous allons explorer les Commands (écriture) et les Queries (lecture) à travers un exemple concret de gestion de bibliothèque.

  • Couverture de l'article LockPass : automatiser la sauvegarde des mots de passe
    LockPass : automatiser la sauvegarde des mots de passe
    Développement

    Il y a 3 mois

    Chez Wanadev, on a récemment changé de gestionnaire de mot de passe. On est passés de la solution états-unienne Zoho Vault à LockPass, édité par l'entreprise française LockSelf.

    Aussi fiable que puisse être le prestataire choisi, il est essentiel pour nous d'avoir une sauvegarde de nos mots de passe en dehors de chez lui pour ne pas nous retrouver dans la panade le jour où il y a un souci.

  • Couverture de l'article Figma Make : enfin une passerelle prometteuse entre design et code grâce à l'IA
    Figma Make : enfin une passerelle prometteuse entre design et code grâce à l'IA

    Il y a 8 mois

    Depuis quelques années, les outils d'IA pour générer des intégrations d'interfaces à partir de maquettes fleurissent. On en a testé plusieurs chez WanadevDigital : de Locofy à Uizard, en passant par Framer AI. Tous ont leurs qualités, mais jusqu’ici, il manquait un vrai pont stable entre les intentions du designer et la réalité du code front.

    L’arrivée de Figma Make change la donne. Et si je devais résumer son impact en une phrase : ça fonctionne, et ça fonctionne pour tout le monde, designers, développeurs et intégrateurs !

  • Couverture de l'article Maîtriser la traduction (i18n) dans un projet web - Partie 1 : Configurer proprement
    Maîtriser la traduction (i18n) dans un projet web - Partie 1 : Configurer proprement

    Il y a 11 mois

    Mettre en place l'internationalisation (i18n) dans un projet web peut sembler simple. Cependant, de nombreux projets se retrouvent avec des configurations de traduction mal gérées, difficiles à maintenir ou à faire évoluer à mesure que l'application grandit. Une stratégie i18n robuste est essentielle pour offrir une expérience utilisateur fluide dans plusieurs langues.

    Je vous décris ici, les pratiques que nous avons établies chez Wanadev au fil des années d'expérience pour mettre en œuvre et gérer les traductions dans les projets Vue. Bien que les exemples soient spécifiques à Vue, la plupart de ces pratiques peuvent être appliquées à n'importe quel framework.

  • Couverture de l'article Maîtriser la traduction (i18n) dans un projet web - Partie 2 : Conseils pour une localisation gérable et évolutive
    Maîtriser la traduction (i18n) dans un projet web - Partie 2 : Conseils pour une localisation gérable et évolutive

    Il y a 11 mois

    Dans la partie 1, nous nous sommes concentrés sur la mise en place d'une base solide pour la gestion des traductions dans un projet Vue. Maintenant que votre système de traduction est opérationnel, il est temps d'examiner de plus près comment structurer, gérer et faire évoluer vos fichiers de traduction de manière efficace.

    Cette partie couvrira les bonnes pratiques que nous utilisons chez Wanadev pour créer des clés de traduction maintenables, éviter les pièges courants et garantir que vos fichiers de traduction restent propres et évolutifs au fur et à mesure que votre projet grandit.