Vers des logiciels et des sites plus écologiques et éthiques ?

Photo de rawpixel on Unsplash 

Le monde du développement web s’intéresse de plus en plus à la question de la soutenabilité de leur travail, non pas seulement pour des raisons écologiques, mais aussi pour des raisons de performance et d’expérience utilisateur.

Parmi les exemples récents de prises de conscience ou d’expériences, nous pouvons citer :

Un peu moins récent, et donc sensibles à ces questions depuis longtemps, il y a le collectif GreenIT qui a publié, entre autres, en 2014 un dossier sur les bases de l’écoconception logicielle, ou encore la conférence SustainableUX, dont la 1e édition s’est tenue en 2016 et la dernière il y a quelques jours, le 12 février, et dont le but est de permettre aux praticiens de « partager des méthodes qui leur permettent d’apporter une contribution significative à la lutte contre le réchauffement climatique, en tant qu’individus et en tant qu’industrie ».

Trop lourd ? Trop lent ?

En 2010, GreenIT faisait déjà le constat de logiciels demandant toujours plus de ressources pour réaliser les mêmes tâches. Et en 8 ans, rien n’a changé, nombreux sont les développeurs qui se plaignent d’applications et de sites trop lourds et donc lents :

Nikita Tonsky : « Le système Android sans aucune application installée pèse quasiment 6 Go. Prenez juste une seconde pour vous rendre compte à quel point ce chiffre est énorme. Il y a quoi là-dedans ? Des films HD ? Je suppose que c’est essentiellement du code : kernel, drivers. Avec un peu de texte et quelques ressources, très certainement, mais ces derniers ne peuvent pas être si gros. Donc, de combien de drivers un téléphone a-t-il besoin pour fonctionner ? Windows 95 pesait 30 Mo. Aujourd’hui, on a des pages web plus lourdes que ça ! Windows 10 pèse 4 Go, ce qui est 133 fois plus lourd. Est-ce qu’il en est 133 fois supérieur pour autant ? Je veux dire, fonctionnellement parlant, c’est la même chose. Oui, il y a Cortana, mais je ne pense pas qu’elle pèse 3970 Mo. Et même si on laisse Windows de côté, est-ce qu’Android est 150 % meilleur ? L’application clavier de Google consomme constamment 150 Mo de mémoire. Est-ce qu’une application qui dessine 30 caractères sur un écran est réellement cinq fois plus complexe que Windows 95 tout entier ? (dans « Le désenchantement du logiciel », traduit par Romain Fallet).

Ou encore :

« Alors tout le monde se cale sur une lenteur. Tout est uniformément lent. On se cale sur cela et tout va bien. Être performant aujourd’hui, c’est arriver à atteindre un ressenti utilisateur qui correspond à cette lenteur uniforme. On élague les choses qui pourraient être trop visibles. Une page qui met plus de 20 secondes à se charger, c’est trop lent. Par contre, 3 secondes c’est bien. 3 secondes ? Avec les multicœurs de nos téléphones/PC et les data centers partout dans le monde, le tout relié par des supers technologies de communication (4G, fibre…), c’est un peu bizarre non ? Si on regarde la débauche de ressources pour le résultat obtenu, 3 secondes, c’est énorme. D’autant plus que les bits circulent dans nos processeurs avec des unités de temps du niveau de la nanoseconde. Donc oui, tout est uniformément lent. Et cela convient à tout le monde (du moins, en apparence.) » (Olivier Philippot dans Le monde du logiciel est en train de se détruire… Manifeste pour un développement plus durable). 

Et pourtant les développeurs savent comment supprimer le code et les requêtes indésirables des pages web pour améliorer les performances. Jack Lenox donne quelques exemples. A-t-on besoin d’ajouter un carrousel d’images, alors même qu’une image unique pourrait suffire ? Est-ce que cela change vraiment l’expérience utilisateur ? A-t-on besoin de charger des kilo-octets de polices Web, alors qu’elles ne vont pas être toutes utilisées ? A-t-on besoin d’intégrer des vidéos Youtube sur le site, alors qu’une vidéo intégrée ajoute environ un mégaoctet de transfert de données avant même que quiconque n’interagisse avec elle ?

Dans « Death to Bullshit », le web designer Brad Frost a fait la liste de tout ce qui est rajouté sur un site et qui l’alourdit inutilement : « Popups, jargon, junk mail, anti-patterns, sensationalism, begging for likes, tracking scripts, marketing spam, dark patterns, unskippable ads, clickbait, linkbait, listicles, seizure-inducing banners, captchas, QR codes, barely-visible unsubscribe buttons, 24-hour news networks, carousels, auto-playing audio, bloatware, sudden redirects to the App Store, telemarketing, ticked-by-default subscribe buttons, « your call is important to us », pageview-gaming galleries, native advertising, the list of bullshit goes on and on and on. This bullshit assaults our senses in a desperate attempt to capture our attention. »

Statistiques en direct du serveur à énergie solaire du site Low-Tech Magazine

La question de la performance et des économies d’énergie ne concerne pas que le développement du site en lui-même. L’optimisation peut se faire également côté serveur, avec l’utilisation de certains services et protocoles (Nginx, FastCGI cache, …). Mais d’autres vont encore plus loin, comme le montre la refonte du site de Low-Tech Magazine qui s’accompagne d’un serveur à énergie solaire, ou encore ce projet de serveur de mail « vraiment écologique », ecoho.st, avec utilisation de panneau solaire, absence de batterie pour le serveur et synchronisation 3 fois par jour par respect pour l’attention de l’utilisateur. Comme pour Brad Frost, les concepteurs du projet relient écologie environnementale et écologie attentionnelle.

Trop de changements et d’évolutions pour rien ?

Olivier Philippot, dans son manifeste pour un développement durable, aborde par ailleurs le sujet de la multiplication des langages, frameworks et technos empêchant d’optimiser les développements par manque de temps pour les maitriser vraiment.

« L’histoire du développement est pavé de framework oubliés, non maintenus, abandonnés… Nous sommes les champions pour réinventer ce qui existe déjà. Si on le gardait suffisamment longtemps, on aurait le temps de maîtriser un framework, de l’optimiser, de le comprendre. Mais ce n’est pas le cas. Et que l’on ne me dise pas que si on n’avait pas continuellement réinventé la roue, on aurait encore des roues en pierre… Innover serait d’améliorer les frameworks existants .(…) Sur les langages, c’est la même rengaine. Attention, je ne préconise pas de rester sur l’assembleur et sur le C… C’est le cas par exemple dans le monde Android, pendant plus de 10 ans les développeurs ont pu travailler sur des outils et des frameworks Java. Et comme cela, par magie, le nouveau Langage de la communauté est Kotlin. On imagine l’impact sur les applications existantes (si elles doivent changer), il faut recréer des outils, retrouver des bonnes pratiques… Pour quel gain? (…) Au final, le rythme frénétique des changements ne nous permet pas de nous stabiliser sur une technologie. J’avoue qu’en tant que vieux développeur que je suis, j’ai été découragé par le changement Java vers Kotlin pour Android. C’est peut-être pour certains de véritables challenges, mais quand je repense au temps que j’ai passé sur l’apprentissage, sur la mise en place d’outils. »

Il poursuit sur la question de l’éthique, de l’encadrement et de la gouvernance :

« On ne se pose pas de question sur l’éthique de notre domaine, sur sa durabilité… Cela vient peut-être du fait que notre domaine n’a pas réellement de code éthique (comme par exemple les médecins ou les avocats). Mais sommes-nous en tant que développeurs réellement libres si l’on ne peut pas avoir une autocritique ? Nous sommes peut être asservis à une cause portée par d’autres personnes ? Le problème n’est pas simple mais nous avons dans tous les cas une responsabilité. Sans code éthique, c’est le plus fort et le plus malhonnête qui est le plus fort. (…) Le monde du logiciel s’intègre dans un système organisationnel classique. Grands groupes, sous-traitances via des ESN, web agencies… Tous suivent les mêmes techniques de gestion des projets informatiques. Et tout le monde va « dans le mur ». Aucune analyse sérieuse n’est faite sur le coût global d’un logiciel (TCO), sur son impact sur la société, sur son bénéfice, sa qualité… (…) On continue à vouloir chiffrer des projets informatiques comme de simples projets alors que des mouvements comme le no estimate proposent des approches innovantes. Les projets continuent d’échouer : le chaos report rapporte que simplement 30% des projets réussissent bien. Et face à cette mauvaise gouvernance, les équipes techniques continuent de se battre sur les technologies. Dommages collatéraux : la qualité, l’éthique, l’environnement… et au final l’utilisateur. Cela ne serait pas si critique si le logiciel n’avait pas un impact aussi fort sur le monde. Software eats the world… et oui, on le « bouffe »… »

Et comme avec les algorithmes, souvent décrits comme des boites noires, l’absence de connaissances de l’utilisateur et/ou de sensibilisation n’aide pas à changer le monde du logiciel :

« Heureusement, on est sauvé par la non-sensibilisation des utilisateurs au monde du logiciel. C’est un monde effectivement virtuel et magique qu’ils ont l’habitude d’utiliser. On leur a mis en main les outils mais sans notice explicative. Comment évaluer la qualité d’un logiciel, les risques sur l’environnement, les problèmes de sécurité… si l’on n’a pas des notions d’informatique, même rudimentaires ? (…) Il est important de réintroduire l’utilisateur dans les réflexions de conception des logiciels (et pas seulement en faisant juste des workshops de réflexion UX et marketing…) Il faut repenser tout le monde du logiciel : la gestion des projets, les impacts du logiciel, la qualité… C’est le but de certains mouvements : software craftmanship, éco-conception, accessibilité… mais les pratiques sont beaucoup trop confidentielles. A qui la faute ? On revient aux causes du problème : on se fait plaisir d’un côté (développement) et on a une recherche uniquement de profit (coté management). Pratique pour bâtir des ponts de la rivière Kwai… où se trouvent les utilisateurs (nous, en fait). »

Une question de choix ?

Certains ont tout de même encore de l’espoir quant à une évolution possible de leur métier, comme Nikita Tonsky : « C’est donc notre mission en tant que programmeurs de montrer au monde ce qu’il est possible de faire avec les ordinateurs d’aujourd’hui en termes de performance, fiabilité, qualité et facilité d’utilisation. Si nous y faisons attention, les gens vont apprendre. Et il n’y a personne à part nous pour leur montrer que c’est possible. Ce n’est possible que si on y fait attention. »

Jean-François Fourmond, développeur freelance, vient d’ailleurs de publier sur Github un Manifeste écologique des professionnels de l’informatique, dans lequel il appelle à refuser de travailler pour les entreprises climaticides, les professionnels de l’informatique ayant la chance de pouvoir choisir pour qui ils souhaitent travailler. Une vingtaine de personnes ont signé le manifeste pour le moment.

Et pour finir nous pouvons citer le collectif Conception Numérique Responsable qui regroupe la majorité des acteurs de la communauté de l’écoconception de services numériques (60 organisations de tous les horizons – entreprises utilisatrices, cabinets d’étude en environnement, agences web, spécialistes de l’écoconception numérique, entreprises de services numériques (ESN), institutions, fédérations, recherche). Il a notamment publié les 115 bonnes pratiques d’écoconception web, en terme d’ergonomie, développement, conceptions fonctionnelle et technique, hébergement, contenu… avec à chaque fois une explication ou un conseil d’outils.

Alors n’est-ce qu’une question de choix ? Choix individuel ? Choix d’une filière ? Les voix qui s’élèvent ici ou là vont peut-être permettre une prise de conscience plus importante sur les choix technologiques en tout cas, et pas seulement dans une visée écologique.

2 thoughts on “Vers des logiciels et des sites plus écologiques et éthiques ?”

  • Thierry LEBOUCQ says:

    Un label pour un web durable existe depuis plusieurs années et permet aux entreprises qui souhaitent s’engager et qui souhaitent valoriser cet engagement d’intégrer facilement cette dématrche dans leur exigences et leurs développements Web. Le Green Code Label est porté par le Green Code Lab, une communauté active se retrouvant dans le cadre d’un groupe Meetup de 360 personnes. Ce label est basé sur un référentiel de règles accessible, ouvert, gratuit basé à la fois sur des bonnes pratiques d’efficience pour le Web mais aussi sur des indicateurs de résultat dont la mesure de consommation énergétique des pages web. Ce projet est basé sur un outil de mesure développé en partenariat avec l’ADEME et qui est ouvert et gratuit. Tout ce travail peut être mis à disposition, être complété (car les technos évoluent !) et ne demande qu’un peu de promotion.
    Des collectivités ont commencé à intégrer cette démarche et récemment une collectivité du Grand Est a demandé une conformité à ce label en demandant à ce que le Green Code Lab puisse certifier le résultat obtenu. Ceci a pour vertu d’impliquer les soumissionnaire dans le questionnement sur cette exigence et de l’intégrer dans leurs réponses et dans leurs process.
    Les liens :
    le site du Green Code lab : https://www.greencodelab.org/
    le site meetup des évènements : https://www.meetup.com/fr-FR/Green-Code-Lab/
    le référentiel du label :https://label.greencodelab.org/green-code-label-detail/
    l’outil de mesure WEA : https://wea.greencodelab.org/

Leave a Reply

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>