éco-conception informatique les nouvelles bonnes pratiques

eco-conception-informatiqueL’idée d’une éco-conception informatique des logiciels et du web est apparue en 2007 engendrant des nouvelles bonnes pratiques respectueuses de notre environnement.

Comment l’éco-conception informatique influence le travail du développeur ?

L’une des tâches les plus importantes du développeur est l’amélioration continue de son code afin que son application soit rapide et fluide dans le but de satisfaire le client et indirectement de consommer le moins d’énergie possible. Aujourd’hui, les 3 milliards d’internautes dans le monde chargent une page  internet en un temps moyen de 6,5s. Imaginez les conséquences énergétiques si les développeurs n’optimisaient pas leur code, sans compter les efforts constants des pays pour améliorer la performance des réseaux.

Voici donc 15 pratiques éco-responsables extraites du livre  Eco-conception web les 100 bonnes pratiques.

Code client : utiliser les intéractions lorsqu’elles sont absolument nécessaires.

1- Rédiger du code JavaScript efficace : en stockant la référence d’un élément du DOM dans une variable, vous évitez de parcourir le DOM à chaque fois que vous avez besoin de cet élément et donc vous économisez des ressources CPU.

2- Valider le code JavaScript : utilisez JSLint, un outil de validation en ligne, ce qui garantira la compréhension de votre script par tous les navigateurs.

3- Utiliser au maximum les feuilles de style : pour modifier l’apparence d’un élément du DOM, il est préférable d’utiliser une classe CSS regroupant toutes les modifications plutôt que de faire ces changements via JavaScript.

Appliquer des principes de simplicité et de sobriété tout au long du cycle de vie du logiciel.

4- Conserver uniquement les fonctionnalités nécessaires à l’utilisateur : pendant la phase de conception il est très important de hiérarchiser les différentes fonctionnalités selon leur nécessité. En évitant de développer des fonctionnalités qui seront très peu utilisées, vous limitez ainsi le poids de l’application et empéchez le processus de l’obésiciel (gras logiciel). L’impact sera double : un meilleur temps de chargement et une simplicité d’utilisation.

5- Adapter le nombre de résultats d’une recherche aux besoins de l’utilisateur : Microsoft Research a économisé 80% de la consommation électrique côté serveur en évitant d’afficher 20% de résultats sur son moteur de recherche Bing.

6- Créer une interface utilisateur sobre : en limitant les fonctionnalités vous réduisez également l’interface utilisateur à sa plus simple ergonomie. La page non surchargée s’affichera plus rapidement. L’information importante sera nettement plus visible et percutante.

Choisir une technologie et une architecture au plus près des besoins de l’application.

7- Plus la solution retenue sera de bas niveau, moins elle empilera de couches logicielles consommatrices de ressources. On peut distinguer trois niveaux pour un site web dynamique :

  • Développement sur mesure
  • Développement sur mesure au-dessus d’un framework
  • CMS

Optimiser les feuilles de styles.

8- Factoriser les styles dans un ou plusieurs fichiers CSS. Cela évitera de transporter plusieurs fois les mêmes styles entre le serveur et le navigateur. Ils seront stockés dans le cache.

9- Ecrire des sélecteurs CSS efficaces en utilisant les ID’s ou les classes. Ils seront filtrés plus rapidement.

10- Minifier les librairies CSS avant la mise en production avec l’outil YUI Compressor. Les espaces, les commentaires et sauts de lignes inutiles seront supprimés.

Optimiser les requêtes sur la base de données.

11- Une requête doit être la plus précise possible. Aucun intérêt de récupérer tous les champs d’une table si on en utilise qu’un.

12- Limiter le nombre de résultats retournés (déjà vu plus haut). Chaque donnée inutile provenant de la base de données sera traitée par le serveur d’application, transportée sur le réseau, retraitée par le navigateur, etc.

13- Quand cela est possible, utiliser les procédures stockées beaucoup plus performantes que les requêtes SQL.

14- Stocker les résultats des requêtes dans le cache ou des variables afin de solliciter le moins possible le serveur de données pour des besoins identiques.

Optimiser les images.

15- Les internautes se connectent de plus en plus via des terminaux mobiles, le poids des images de votre site doit donc être bien réfléchi. Quelques outils utiles pour réduire le poids des images : PNGCrush, ImageMagick et jpegtran.

L’éco-conception informatique est encore jeune, beaucoup d’application et de site web n’appliquent pas encore ces principes. Développeurs soyez éco-responsables !

Rémy MANDIT

Conseiller en insertion professionnelle et Concepteur développeur web. Passionné de l'image et du tir sportif.

Vous aimerez aussi...

4 réponses

  1. Green IT dit :

    Bonjour Rémy,

    Merci pour cet article.

    La deuxième édition vient de sortir. Elle est disponible (http://www.amazon.fr/Eco-conception-web-pratiques-empreinte-%C3%A9cologique/dp/2212140711) en format papier et numérique.

    Nouveautés :
    – une vingtaine de nouvelles bonnes pratiques
    – 25 pages supplémentaires d’introduction pour poser le sujet sur le fond
    – une méthode pour évaluer le niveau d’écoconception atteint.

    Présentation détaillée ici http://ecoconceptionweb.com/ et là http://www.greenit.fr/article/logiciels/eco-conception-web-les-115-bonnes-pratiques-5550

  2. Rémy MANDIT dit :

    Merci pour l’info.
    Je ne tarderai pas à consulter la deuxième édition.
    Ces pratiques sont vraiment indispensables quand on est sensible à l’environnement.

  3. Re-bonjour :-),

    Depuis nous avons recensé l’ensemble des outils ouverts et gratuits proposés par la communauté ici : https://collectif.greenit.fr/outils.html

    Hope this helps.

  1. 27 février 2015

    […] Cet exemple de conception, modélisation, création et utilisation d’une base de données relationnelle met en avant l’importance de cette étape initiale et primordiale à tout projet de développement d’application informatique. Pensez également au développent responsable. […]

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.