EcoConception Logicielle
9.0K views | +2 today
EcoConception Logicielle
Green IT, performance web, économies d'énergies, bref : éco-conception logicielle !
Curated by Mickael Ruau
Your new post is loading...
Your new post is loading...

Popular Tags

Scooped by Mickael Ruau
April 18, 2019 4:20 AM
Scoop.it!

Tutoriel - L'art de la sobriété numérique : gagner en efficacité tout en étant plus écolo

Adopter une démarche responsable sur les enjeux numériques est une opportunité pour les entreprises de réussir leur transition numérique et leur transitio
No comment yet.
Scooped by Mickael Ruau
April 16, 2019 4:29 AM
Scoop.it!

Comment limiter son empreinte carbone lorsque l'on achète en ligne ?

Constamment en progression, le e-commerce a atteint des records en France. Cependant, acheter des produits en ligne n'est pas sans conséquence pour la planète. L'Agence de l'Environnement et de la Maîtrise de l'Énergie (ADEME) explique
No comment yet.
Scooped by Mickael Ruau
April 10, 2019 4:23 AM
Scoop.it!

Accueil - Web Energy Archive

Accueil - Web Energy Archive | EcoConception Logicielle | Scoop.it
 
Analysez la consommation de votre site web!

Rechercher un site pour voir ses mesures :

URL  Ok
 
 
Mickael Ruau's insight:

Note environnementale des sites mesurés :

1191 sites mesurés

Meilleur: 1.27Wh

  • Ce curseur indique la notation du niveau d'énergie
  • A
  • B
  • C
  • D
  • E
  • F
  • G

Moins bon: 1317.76Wh

Moyenne: 94.49Wh

Consommation électrique

94.49
Wh pour 1000 pages vues
 
No comment yet.
Scooped by Mickael Ruau
April 8, 2019 2:24 AM
Scoop.it!

Transitions² / Défi n°1 : Un numérique “écologique by design” - Fondation Internet Nouvelle Génération

Transitions² / Défi n°1 : Un numérique “écologique by design” - Fondation Internet Nouvelle Génération | EcoConception Logicielle | Scoop.it

Défi n°1 : Un numérique “écologique by design”

L’enjeu : réduire les impacts environnementaux du numérique

  • Le numérique porte en lui sa propre empreinte, qui ne se limite pas à la consommation énergétique. Tout au long de son cycle de vie, les infrastructures, terminaux et services numériques consomment de nombreuses ressources - et cette empreinte s’accroît de manière exponentielle ;
  • Pour relever le défi d’un numérique “écologique by design”, il faudra concilier des approches d’optimisation (limiter l’empreinte des produits et services existants) mais aussi explorer de nouveaux modèles d’éco-conception et d’usage ;
  • Pour y parvenir, les communautés engagées dans le “GreenIT” devront se structurer pour donner plus de force à leur action, agir à la fois en direction des acteurs du numérique (infrastructures, industriels, concepteurs, services…) comme des utilisateurs - en particulier les entreprises.

> Lire la suite du défi "Un numérique “écologique by design” (.pdf, 5 pages)

A propos de ce travail

Cet article est extrait de l’ "agenda pour un futur numérique et écologique", publié en mars 2019 dans le cadre du programme Transitions² initié par la Fing. L’ "agenda pour un futur numérique et écologique" s’organise en 20 "défis".

> Lien vers la publication complète (Creative Commons)

No comment yet.
Rescooped by Mickael Ruau from Planète DDurable
April 5, 2019 4:09 PM
Scoop.it!

Moins consommer d'électricité, la principale solution pour fermer sereinement nos centrales à charbon?

Moins consommer d'électricité, la principale solution pour fermer sereinement nos centrales à charbon? | EcoConception Logicielle | Scoop.it
Comment sécuriser l’approvisionnement électrique français si les capacités de production françaises diminuent ? RTE, le gestionnaire du réseau électrique, s’est penchée sur la q

Via Hubert MESSMER
No comment yet.
Scooped by Mickael Ruau
April 5, 2019 4:52 AM
Scoop.it!

7 conseils pour se procurer un ordinateur portable efficace et durable –

7 conseils pour se procurer un ordinateur portable efficace et durable – | EcoConception Logicielle | Scoop.it
Un large choix de modèles d’ordinateurs portables, c’est bien pour comparer les modèles mais c’est aussi le meilleur moyen de s’y perdre entre les caractéristiques techniques, les paramètres, le processeur, etc. Alors pour vous aider à décrypter ce charabia, voici quelques points essentiels sur lesquels mieux vaut s’attarder avant de sauter le pas et d’acheter
No comment yet.
Scooped by Mickael Ruau
April 4, 2019 7:53 AM
Scoop.it!

Platform-specific best practices - Green software

Platform-specific best practices - Green software | EcoConception Logicielle | Scoop.it

Best practices for mobile platforms

Users of smart phones and PDA's expect their product to have a long battery life. The microprocessors and peripherals on these machines are very powerful (and with that power-hungry) to provide the user with the best experience possible. Despite that energy efficiency is wanted in mobile computers for the purpose of a longer battery life, instead of reducing the carbon footprint, the same techniques apply and the effect reduces the carbon footprint of the software.

The following best practices are useful to constrain the device of emptying the battery within a couple of hours:

Very specifically energy can be saved by using wifi instead of a GSM or GPRS network, because sending and receiving network traffic over wifi consumes less energy [1].

No comment yet.
Scooped by Mickael Ruau
April 4, 2019 3:31 AM
Scoop.it!

Humane by Design

Humane by Design | EcoConception Logicielle | Scoop.it
Humane by Design is a resource that provides guidance for designing ethically humane digital products through patterns focused on user well-being.
No comment yet.
Scooped by Mickael Ruau
April 3, 2019 7:10 AM
Scoop.it!

Le coût énergétique d’indexation des données

Un des précédents articles « Le coût des données n’est pas celui que l’on croit… » se référait à l’obésité des données et à ses coûts cachés. Un point technique particulier, le « padding », fut abordé. Cet article aborde un sujet peu abordé dans la littérature: le coût énergétique de l’indexation. Introduction et rappel(s) « Lorsque vous effectuez une requête sur... Read more »
No comment yet.
Scooped by Mickael Ruau
April 3, 2019 3:20 AM
Scoop.it!

Éteignez vos appareils - Le Hollandais Volant

Éteignez vos appareils - Le Hollandais Volant | EcoConception Logicielle | Scoop.it

Je viens d’emménager dans un autre appartement qui dispose d’un compteur Linky.

Le Linky, a été vanté par EDF comme un miracle qui permet par exemple d’activer votre abonnement en un clic (ce qui est bien-sûr faux : dans le noir pendant 3 jours, comme tout le monde, vous patienterez !), l’appareil a une fonction sympa tout de même (en tout cas par rapport aux compteurs électromagnétiques à plateau rotatifs) : pouvoir voir la consommation instantanée de toute la maison.

Du coup j’ai jeté un œil.

Et j’y voyais quelque chose comme 205 VA (soit environ 205 watts).
Connaissant ça, il est très simple de savoir combien on consomme : 205 W pendant une heure, ça consomme 205 watt-heure, ou 0,2 kWh. Si vous laissez ça pendant 5 heures, vous multipliez par 5 : donc environ 1 kWh. Sachant que le kWh coûte environ 0,15 €, ça permet ensuite d’établir combien ça nous coûte.

Le truc étonnant avec ces 205 VA, c’est que tout semblait être éteint dans la maison : lumière, chauffage, PC, TV, même le frigo n’était pas actif à ce moment-là. J’ai donc cherché à voir d’où tout ça pouvait bien venir…

Mickael Ruau's insight:

Ce n’est pas une surprise qu’un appareil en veille continue de consommer du courant, mais que des appareils continuent de consommer alors qu’ils sont éteints (enfin… « le plus éteint possibles » : vu qu’on vit dans une époque où les TV n’ont plus de bouton on/off du tout, et doivent vérifier 24/7 si quelqu’un touche à la zappette…), c’est carrément aberrant.

Le chauffage par exemple : c’est normal que les 5 radiateurs éteints de la baraque me bouffent 54 W en continu ?
Ça représente 40 kW, soit environ 6 € par mois sur la facture. J’ai coupé ces circuits. Non seulement ça réduira la facture de 6 € tous les mois de l’année, mais en plus, ces 54 W sont perdus en chaleur et contribuent (un peu) à vous étouffer durant la canicule !

En tout, en coupant les bons circuits et en mettant des multiprises avec interrupteur (5 euros sur Amazon), je réduis la consommation « en veille » de l’appartement à environ 50 W.
Ils correspondent à la VMC, à la box internet, la sonnette, le radio réveil : les trucs qu’on n’éteint généralement pas.

Évidemment, il n’est pas question de tout couper comme un radin, mais juste de couper les bons trucs et de prendre l’habitude d’utiliser le bouton « on/off » : ce n’est pas l’action de débrancher votre chargeur de téléphone lorsque vous ne vous en servez pas qui vont vous rendre riche (60 centimes sur l’année, youpi), mais plutôt d’identifier les gros postes de consommation et de mettre une multiprise à cet endroit. Couper le « coin TV » (avec vos décodeurs, lecteurs DVD, consoles…) représente déjà quelques euros sur la facture mensuelle.

Dans mon cas, avec environ 130 W en moins, l’économie atteint 170 € sur l’année (dans les faits, probablement un peu moins, car l’hiver le chauffage sera allumé, et les appareils fonctionnent parfois aussi). Mais c’est une ordre de grandeur de l’économie réalisée. Et 170 €, pour donner une idée, ça fait une journée à Disneyland, pour deux (50 € /pers) — repas sur place et un petit souvenir compris, ou alors un joli cadeau, un bon resto, bref, pas mal de fric qui serait autrement perdu.

No comment yet.
Scooped by Mickael Ruau
April 1, 2019 12:23 PM
Scoop.it!

Bande dessinée | Les impacts cachés du numérique 

Bande dessinée | Les impacts cachés du numérique  | EcoConception Logicielle | Scoop.it
Bande dessinée | Les impacts cachés du numérique -...
No comment yet.
Scooped by Mickael Ruau
April 1, 2019 7:16 AM
Scoop.it!

Analyse du cycle de vie des logiciels : Etat de l'art

Pourquoi des ACV du logiciel ? L’analyse des impacts du logiciel ne sera cohérente qu’en prenant en compte tout le cycle de vie du logiciel (du berceau à la tombe, i.e. de la conception à la désinstallation du logiciel). L’impact de la fabrication est en effet non négligeable pour certains logiciels (Trés grosses équipes de... Read more »
No comment yet.
Scooped by Mickael Ruau
March 31, 2019 12:22 PM
Scoop.it!

Streaming, bitcoin, IA : le délire énergétique ! - Science & Vie

Streaming, bitcoin, IA : le délire énergétique ! - Science & Vie | EcoConception Logicielle | Scoop.it
Regarder Netflix, utiliser un assistant vocal… Derrière ces ges tes anodins se cachent d'énormes data centers et un réseau don
No comment yet.
Scooped by Mickael Ruau
April 18, 2019 1:13 AM
Scoop.it!

nefe/You-Dont-Need-jQuery: Examples of how to do query, style, dom, ajax, event etc like jQuery with plain javascript.

nefe/You-Dont-Need-jQuery: Examples of how to do query, style, dom, ajax, event etc like jQuery with plain javascript. | EcoConception Logicielle | Scoop.it
Examples of how to do query, style, dom, ajax, event etc like jQuery with plain javascript. - nefe/You-Dont-Need-jQuery
No comment yet.
Scooped by Mickael Ruau
April 10, 2019 4:48 PM
Scoop.it!

Eco-conception des applications web et mobiles : développez durable !

Eco-conception des applications web et mobiles : développez durable ! | EcoConception Logicielle | Scoop.it
Greenspector permet aux entreprises d’améliorer la performance énergétique de leur code. Entretien avec leur CTO sur les facteurs de surconsommation.
No comment yet.
Scooped by Mickael Ruau
April 8, 2019 3:39 AM
Scoop.it!

Référentiel Eco-conception logiciel

Ce référentiel a pour objectif de centraliser les bonnes pratiques d'éco-conception Web. Il recense les études et mesures pour illustrer les bonnes pratiques de développement responsable.

Le référentiel d'eco-conception est à destination de tous mais privilégie les développeurs, les écoles (étudiants) et les spécialistes du développement responsable.

La solution est ouverte à tous, tout le monde peut participer en s'inscrivant. Tous les utilisateurs peuvent rédiger ou corriger une bonne pratique ou poster un commentaire.

Une bonne pratique aboutie contient :

  • Libellé
  • Explication
  • Objectif
  • Exemple (mise en oeuvre)
  • Mode de contrôle
  • Impacte

C'est parti

No comment yet.
Scooped by Mickael Ruau
April 6, 2019 2:18 AM
Scoop.it!

L'écoconception des services numériques comme filière d'excellence, Transformation digitale

L'écoconception des services numériques comme filière d'excellence, Transformation digitale | EcoConception Logicielle | Scoop.it

Le numérique français, par la voix de son secrétariat d'Etat, a dessiné une troisième voie entre la Silicon Valley et le modèle chinois en la matière. Lettre à Monsieur Cédric O, nouveau secrétaire d'Etat au numérique :

Nous, professionnels, associations et élu(e)s engagé(e)s pour un numérique responsable, voulons agir pour que l'exemplarité environnementale soit un atout du numérique français, au même titre que le respect de la vie privée, l'accessibilité, la sécurité. La France inspirera ainsi l'émergence d'un numérique européen associant éthique et prise en compte de l'environnement.

Mickael Ruau's insight:

*Les signataires:

Isabelle Autissier, présidente de WWF France ;  Frédéric Bardeau, président cofondateur de Simplon ;  Frédéric Bordage, fondateur de GreenIT. fr et Collectif conception numérique responsable, Jean-Christophe Chaussat, président de l'INR, l'Institut du numérique responsable ; Mathieu Delemme, directeur général de Numerik-ea, Ecedi ;   Paula Forteza, députée de la 2e circonscription des Français de l'étranger; Denis Guibard, vice-président du C3D ;  Matthieu Orphelin, député de la 1re circonscription du Maine-et-Loire ; Laetitia Vasseur, cofondatrice et directrice de l'association Hop, Halte à l'obsolescence programmée. 

No comment yet.
Scooped by Mickael Ruau
April 5, 2019 7:46 AM
Scoop.it!

Quelle est l’empreinte environnementale du web ?

Quelle est l’empreinte environnementale du web ? | EcoConception Logicielle | Scoop.it
203 kg de gaz à effet de serre et 2 900 litres d’eau par internaute et par an. Les impacts environnementaux ont lieu lors de la fabrication des équipements des utilisateurs et lors de la fabrication de l’électricité qui alimente les équipements électroniques. Solution ? Allonger la durée de vie des équipements et utiliser une électricité provenant de sources primaires renouvelables.
Mickael Ruau's insight:

Les impacts répartis entre fabrication et utilisation
Le plus intéressant est de comprendre à quelle étape du cycle de vie les impacts ont lieu et quels sont ces impacts. J’ai donc réalisé cette analyse en utilisant trois indicateurs (énergie, gaz à effet de serre, eau).

L’épuisement des ressources non renouvelables, les pollutions et les impacts sanitaires ont lieu essentiellement lors de la fabrication et de la fin de vie des équipements électroniques. Les émissions de gaz à effet de serre sont également réparties entre fabrication (48 %) et utilisation (52 %). En revanche la consommation électrique (68 %) et d’eau (84 %) est prépondérante sur la phase d’utilisation.

Les impacts liés à la fabrication sont surtout concentrés dans la fabrication des équipements des utilisateurs et des objets connectés. La consommation d’énergie est surtout liée au fonctionnement 24 heures sur 24 et 365 jours par an du réseau et des centres de données. La consommation d’eau est liée à trois événements : la fabrication des équipements, la production de l’électricité et le refroidissement des centres de données.

Dans l’article Comment réduire l’empreinte environnementale du web ?, je vous présente les principales pistes d’amélioration.

No comment yet.
Scooped by Mickael Ruau
April 5, 2019 3:36 AM
Scoop.it!

Mesurer l'impact énergétique d'un logiciel

Voici une procédure de mesure de l’impact énergétique d’un logiciel.

Mickael Ruau's insight:

 

Procedure de mesure

A – Branchement du wattmètre

1 – Eteindre le PC (dans le cas d’un PC fixe)
2 – Placer le wattmètre sur la prise de courant

B – Configuration du système en mode silencieux

1 – Ejecter et retirer les périphériques non nécessaires au logiciel à évaluer (Cable Ethernet ou ethernet…)
2 – Désactiver les  services et stopper logiciels non nécessaires : application lancées au démarrage, application en cours d’exécution…
3 – Désactiver les compteurs de mise en veille

C – Mesure du système en mode silencieux

1 – Attendre que le système soit en mode idle (la consommation doit être stabilisé)
2 – Prendre la mesure de la puissance instannée moyenne (Pinit)

D – Rédaction du plan de test

1 – Identifier le cas d’utilisation à évaluer : action utilisateur et réaction, traitement, chargement…
2 – Si possible, automatiser les actions à effectuer : script par exemple

E – Mesure de la consommation

1 – Réinitialiser les données du wattmètre
2 – Lancer le plan de test
3 – Enregistrer la puissance instannée pendant le temps de mesure et la consommation en fin de mesure (Cmes)
4 – Prendre le temps de la mesure Tmes en minute
5 – Effectuer la mesure plusieurs fois

F – Analyse des données

1 – Identifier la puissance instantannée maximale Pmax
2 – Calculer l’impact maximale P = Pmax – Pinit
3 – Calculer la consommation initiale Cinit = Tmes * Pinit  / 60
4 – Calculer l’impact de consommation C = Cmes – Cinit
5 – Ramener la mesure de la consommation à une unité : temps, action…

G – Enregistrement de la configuration

1 – Noter la plateforme matériel : processeur, architecture, capacité mémoire, mémoire
2 – Noter le type du système : Pc portable, station…
3 – Noter le système d’exploitation et sa version

No comment yet.
Scooped by Mickael Ruau
April 4, 2019 7:33 AM
Scoop.it!

Le green code label en détail

Le green code label en détail | EcoConception Logicielle | Scoop.it

Mesure

Le score WEA du site doit être supérieur ou égal à C

Le nombre de requete ne doit pas dépasser le nombre moyen des sites du panel WEA (50)

Chaque fichier qui compose une page du site nécessite une requête http.
Cette requête, quelle que soit la taille du fichier va consommer de la bande pasante et du temps.

En dehors des images (qui sont chacune dans un fichier différent), une page html pourrait, dans l’idéal, se contenter d’un très petit nombre de fichiers :
– un de contenu (html ou xml)
– un fichier de mise en forme (css ou xsl)
– et éventuellement un fichier de traitement (js) et de police de caractères (woff)

L’objectif du développeur sera de minimiser le nombre de ces fichiers (par exemple en concatenant les fichiers de même type) tout en n’augmentant pas le poids de la page

Mickael Ruau's insight:

Les règles du label

Design

Préférer les CSS aux images

Minimiser la quantité d’octets utilisés en utilisant les capacités graphiques du navigateur plutot que de transférer des images.

Les images les plus simples, compressées et utilisant une palette de couleur minimum auront une taille de fichier dépassant largement le kilo-octets . Cette taille peut aller facilement à 10 voir plusieurs centaines de kilo-octets. Cette charge sera à transférer lors de la lecture de la page sur le poste client.

Les navigateurs possedent des capacités de création d’objets graphiques en interprétant des codes textes de mise en page (le CSS).
Ces objets graphiques vont des simples rectangles colorés et augmentés de bordure pour le css2 jusqu’à des objets arrondis, en 3D et avec des dégradés de couleurs pour le CSS3 désormais courrament interprété.

Utiliser des objets définis par CSS remplace plusieurs fichiers de plusieurs milliers d’octets par quelques lignes de codes de plusieurs dizaines (au plus centaines d’octets). Ce code étant rassemblé dans un seul fichier, l’économise s’étend aussi au cout du transfert HTTP pour chaque image.

Favoriser une intégration du design sémantique et efficace

Une architecture de code complexe ou une mise en page brouillonne augmentera la quantité de données transférées ainsi que la consommation électrique du site via son usage.

En effet, soit à cause du temps de calcul du navigateur soit à cause du temps de lecture par un utilisateur qui trouve difficilement ses informations, le poste client restera plus longtemps en activité et forcément, consommera davantage.

La notion de design couvre aussi à la fois celui du code html vu par le navigateur et la mise en page vue par l’utilisateur du site.

Le design du code, quand à lui, doit utiliser au mieux les recommandations des normes W3C.
Les balises html doivent être utilisées au minimum, dans un but de séparation sémantique des données et pas dans un but de mise en page.
La mise en page se fait uniquement dans les fichiers CSS, de manière indépendante.

En ce qui concerne le design de la mise en page,
La mise en page doit être cohérente sur tout le site afin que l’utilisateur trouve aisément les informations mises à sa disposition.

Favoriser les polices standard

Eviter de surcharger les téléchargements avec des fichiers de polices de caractères.

Le besoin d’un site d’une lecture fluide et d’une identité visuelle étant prise en compte, des chargements inutiles et répétés de polices de caractères à chaque page du site est une erreur à éviter.

Code (Serveur)

Mettre en cache le Bytecode

Optimiser le traitement par le serveur des scripts et programmes en langages interprétés.

Sur le serveur, les programmes en langages interprétés (php, perl, python, …) sont stockés sous leur forme originale (texte).
Le serveur doit, à chaque, exécution interpréter le langage avant son exécution.
Ceci donne du travail supplémentaire au serveur et ajoute du temps d’attente au poste client.

Minimiser le nombre de requêtes SQL

Une connexion à une base de données, quelle que soit son type (SGBD, système de fichier, …) est couteux en ressources processeurs, mémoires et réseau pour l’architecture du serveur.
Cette règle évite de trop nombreuses connexions à une base.

Si une boucle effectue une requête à chaque itération, ceci dégradra la performance et l’empreinte globale du site.

Il est donc nécessaire d’exclure toute requête de toute boucle itérative.

On pourra aussi par exemple utiliser des transactions

Utiliser un système de cache pour l’accès à la base de données

Une connexion à une base de données, quelle que soit son type (SGBD, système de fichier, …) est couteux en ressources processeurs, mémoires et réseau pour l’architecture du serveur.
Il est donc important de pouvoir éviter les connexions dès que cela est possible.

Plusieurs cas d’utilisations de données sont possibles : la recherche de données dans une page ou la recherche d’adresse de page ou de fichier (pour certains CMS).

Dans un premier temps, le choix du type de base doit s’adapter au besoin. Une base de données relationnelle ne sera efficace qu’au delà d’un millier de données. D’autre part il n’est pas avantageux d’utiliser un CMS incluant un SGBD pour, par exemple, simplement une dizaine de pages de présentation.

Ensuite, si une base est nécessaire, son utilisation doit se faire sous un controle maitrisé et justifié.

Préciser la colonne de recherche lors des requêtes

Minimiser la quantité de données lors de la réponse à une requête et minimiser le travail du serveur de base.

Le serveur de base de données consommera plus de CPU et de mémoire pour chercher lui-même la liste des champs d’un objets et à tous les renseigner que de traiter une liste de champs spécifiée.

Favoriser les pages statiques

La génération des sites de façon dynamique (via CMS, en PHP…) consomme plus de ressource qu’une simple page statique.

Il est nécessaire de favoriser les pages statiques dans la mesure du possible. Par exemple dans le cas d’une page dont le contenu ne change pas (présentation d’une société par exemple), on pourra utiliser une page statique.

Si l’on souhaite conserver un CMS, on peut utiliser des plugins qui générent le contenu de façon statique

Pour les sites à fort traffic et à contenu dynamique, on favorise l’utilisation de proxy web, qui génèrent des pages statistiques

Optimiser les conditions d’itération

Diminuer le nombre de traitements par le serveur lors d’une itération à l’intérieur d’un script.

Lors d’une itération, il est recommandé de calculer à l’avance toutes les variables utilisés dans la boucle et qui resteront stable.
Ceci évite de refaire, lors des conditions de sorties (ou même à l’intérieur de l’itération), des calculs inutiles car déjà connus.

Limiter le nombre de résultats des requetes base de données

Diminuer la taille des requêtes effectuées en base de données, accélérer le temps de génération d’une page.

Lors de l’utilisation de requête de sélection, la récupération d’un grand nombre de données entraine l’attente de la réponse de la part du serveur. Le contrôle du nombre de réponses obtenues permet de conttrôler le temps de génération d’une page.

Supprimer les javascript redondant

Les sites intégrent des codes javascripts soit directement dans le code HTML soit dans des fichiers externes. Il est possible dans certains cas que le code soit dupliqué plusieurs fois dans la page ou qu’un même fichier soit appelé de multiple fois.

Dans ce cas, le code dupliqué consomme des ressources inutiles (fichiers plus lourd, code interprété plusieurs fois…). Ceci apparait généralement dans le cas de CMS qui peuvent intégrer du code externe (code google analytics, code réseaux sociaux…).

La redondance arrive de plus généralement quand le même code est intégré dans chaque page du site (par exemple le code google analytics intégré).

Il est nécessaire de supprimer le code javascript redondant dans les sites :

– Eviter d’intégrer des codes similaires dans une même page. Regrouper pour cela le code redondant dans un fonction commune

– Eviter le code redondant entre les pages. Par exemple, il est utile d’externaliser le code javascript du code HTML pour rendre le code commun entre les pages.Ce fichier sera de plus mieux géré en cache.

– Vérifier les multiples inclusions de fichiers (par exemple jquery), en particulier les inclusions via des plugins dans les CMS.

Contenu

Optimiser les images

Les images, contiennent beaucoup plus d’octets que les textes mais sont utiles pour rendre un site lisible et attractif.
Il est donc demandé de diminuer par tous les moyens de réduire le poids des images.

Ll’image doit être compressée, si possible avec perte de données.
Il est possible, sans déceler de différence à l’oeil, de bénéficier d’un taux de compression jusqu’à 80%.
Seules ces images compressées doivent être archivées sur le serveur.

Mettre en cache le favicon.ico

Eviter une demande de téléchargement du favicon.ico systématique à chaque page et qui, de plus, peut générer une erreur.

Le favicon est recherché par les navigateurs ; il change peu, il doit donc être présent, et être l’objet de règles de cache pour ne pas être redemandé trop souvent.

Adapter les vidéos aux périphériques de visualisation

Diminuer la taille des vidéos servies en fonction de la taille de l’écran de l’utilisateur

Prévoir plusieurs formats et tailles de vidéos permet de fournir à l’utilisateur un média adapté à son périphérique, et diminuer ainsi la taille du fichier à charger pour l’utilisateur final.

Ne pas redimensionner les images dans le code HTML

Les images affichées doivent l’être à leur juste dimension afin d’éviter le chargement inutile d’une image plus grande et donc plus lourde que nécessaire

Préférer le texte brut au HTML lors de l’envoi des mails

Si le site prévoit des envois d’e-mail, et d’autant plus s’il s’agit d’envois fréquents ou nombreux, il est recommandé de ne transmettre que le minimum d’information nécessaire.
Ceci peut diviser en moyenne par 4 le poids des messages envoyés.

Appliquer une alternative textuelle aux images.

Les images doivent systématiquement posséder un attribut « alt ».

L’attribut alt doit vide si l’image est décorative, porteur de sens si l’image est informative. Un attribut alt absent, ou renseigné alors qu’il devrait être vide posera des problèmes de restitutions par les aides techniques (lecteur vocale, etc).

Hébergement

Utiliser un serveur avec une technologie non bloquante

Les serveurs web classique sont généralement basés sur des technologies « tread » (par exemple apache). Avec ces technologies, lorsuq’il y a des visiteurs concurrents, les ressources matériels sont allouées pour chaques utilisateurs tant que les données ne sont pas transmises. Enormement de mémoire est par exemple utilisée.

Les serveurs de type non bloquant permettent un usage plus efficient des ressources matérielles.

Il est nécessaire d’utiliser des technologies non bloquante et basée sur des événements pour les serveurs web.

Ajouter des entêtes Expires ou Cache-Control

Il est possible de diminuer la quantité de fichier transmise sur le réseau en forçant la mise en mémoire cache par le navigateur des fichiers du site.

Lors de sa première visite d’un site, le navigateur reçoit tous les fichiers nécessaires à l’affichage de la page.
La plupart de ces fichiers seront utilisés à nouveau, non seulement lors d’une consultation de cette même page mais lors de la consultation d’autres pages du site.

Il est donc très intéressant que le site demande une « mise en cache » de tous les fichiers qui resteront inchangés entre deux consultations du site.

Compresser la sortie HTML, CSS et JS

Diminuer la taille des pages générées en utilisant la compression fournie par les serveur web

L’activation de moteurs de compression (deflate/gzip sous apache, gzip sur ngnix…) permet de réduire le poids de la page en compression les données envoyées au navigateur.

Regrouper les javascripts et les CSS

Réduire la taille des fichiers CSS envoyés au navigateur

Les fichiers CSS controllent le style d’un page web ; lorsque plusieurs fichiers sont utilisés, ils peuvent être regroupés en 1 seul fichier afin d’éviter de multiples requêtes HTTP

Minifier les fichiers JavaScript

Réduire la taille des fichier javascript.

Le fichiers javascript écrit peuvent être optimisés en supprimant les commentaires et espaces inutiles à leur interprétation par le navigateur.

Supprimer les règles CSS inutilisées

Minimiser le poids des fichiers CSS en supprimant les règles ou les fichiers CSS qui ne correspondent pas aux objets du site consulté.

Les fichiers CSS tranférés avec la page ne doivent pas contenir de règles inutilisés dans le site (ou au mieux dans la page).
Il est important que les fichiers CSS, venant par exemple de démos ou importés d’autres sites, ne soient pas utilisés sans y supprimer toutes les règles non utilisés.

Minifier les fichiers CSS

Minimiser la quantité d’octets nécessaire pour un fichier CSS en supprimant des caractères inutiles ou en optimisant certains codes.

Les fichiers CSS peuvent être allégés de plusieurs manières :
– par des suppressions de caractères inutiles, par exemple
* en supprimant les sauts de ligne inutiles (ou tous les sauts de ligne)
* en supprimant les espaces et les commentaires
– en optimsant le code , par exemple
* supprimer les « ; » redondants ou de fin
* supprmier les déclaration vides (ou en commentaires)
* optimiser les déclarations des couleurs – #0 vaut mieux que rgb(00,00,00)

Désactiver les modules qui ne sont pas utilisés

Charger des modules (javascripts, CSS, ou autres librairies) augmente le poids total de la page. Or, ce poids joue sur la consommation du poste client et des équipements du réseau entre le serveur et chaque poste client.

En plus de diminuer le poids des images, des requêtes http inutiles et des javascripts redondants, le code peut être optimisé pour ne pas charger de librairies ou de codes CSS inutiles.

Code (Client)

Réduire la profondeur du DOM

Simplifier le DOM (Document Object Model) économisera du traitement (affichage, mise en forme, traitement javascript) par le navigateur client.

Le DOM doit être le plus simple possible.
Son arborescence doit être limité et ne pas développer de profondeurs inutiles.
Les éléments disponibles en HTML5 rendent possible un code html lisible et facile à mettre en forme en CSS sans créer des « boites » inutiles.

minimiser le nombre d’Iframes

Réduire le nombre d’iFrame dans le code source, voir s’en passer si possible

Une iFrame qui ne répond pas peut bloquer le site.
On ne peut contrôler le contenu de l’iFrame, il n’y a donc aucune action d’optimisation sur les images ou les scripts possibles ; une iFrame peut donc allonger les temps de chargement

Utiliser des timers les plus adéquates aux éxigences de performance

Les systèmes d’exploitation possèdent des timers périodiques qui séquencent les traitements. Par exemple, Microsoft Windows séquence ses tâches avec un timer de 15,6 ms. Si aucun traitement n’est nécessaire, le processeur se réveille puis entre dans un mode de veille. Certaines applications (comme les applications multimédias) diminuent ce timer pour avoir une performance plus importante.

Cela a un impact sur la consommation du processeur car il entre moins souvent en veille.

Il faut limiter l’usage de fonction qui augmente le timer des systèmes. Par exemple on évitera l’usage de settimout ou setInterval avec des variables inférieur à 10 ms.

Adapter le fonctionnement si l’utilisateur ne visualise pas la fenêtre

Ne pas rafraichir les pages

Il est possible de demander le rafraîchissement d’une page internet régulièrement via la balise metadata avec l’attribut Refresh : <META HTTP-EQUIV= »Refresh » CONTENT= »n »>.
Cela permet de mettre à jour la page (par exemple pour recharger des publicités…)

Cependant cela est couteux car toute la page est rechargée. Même si le cache est utilisé, il y aura des requêtes et des traitements.

L’utilisation de <META HTTP-EQUIV= »Refresh » CONTENT= »n »> devrait être interdite. Si un rafraîchissement est nécessaire, il est préférable d’utiliser des technologies comme AJAX.

De la même manière, l’utilisation de JavaScript doit être évitée afin de recharger la page.

Ne pas charger de données lourdes si elles ne sont pas visibles.

Le but est de diminuer le poids total des éléments téléchargés en se limitant aux données visibles.
Ceci n’a de sens que si le volume de données non visibles (images, graphiques) est important.

Dans les cas où la longeur de la page est bien supérieure à la hauteur de la fenêtre du navigateur et que la quantité de données à afficher est importante, il est possible de ne pas afficher les données (images) non visibles.

Ne pas lancer des contenus de type vidéo, sons sans action de l’utilisateur (dont le passage à la souris)

Eviter le lancement automatique de contenus multimédias sans action volontaire de l’utilisateur (clic par exemple)

Les contenus multimédias consomment de la bande passante et des ressources (CPU/GPU, RAM).
Un lancement non sollicité consommera donc de l’énergie sans utilité finale, car il n’y a pas de solliciation utilisateur.
De plus, le lancement automatique de contenus multimédias pose des problèmes d’accessibilité

 

No comment yet.
Rescooped by Mickael Ruau from Planète DDurable
April 3, 2019 1:29 PM
Scoop.it!

100% d'énergies renouvelables dans le monde, c'est possible grâce aux Step

100% d'énergies renouvelables dans le monde, c'est possible grâce aux Step | EcoConception Logicielle | Scoop.it
Les capacités en éolien et en solaire montent en flèche dans le monde. Mais, sans moyen de stockage sûr, nous sommes condamnés à garder nos centrales thermiques pour prendre le relais. À moin

Via Hubert MESSMER
No comment yet.
Scooped by Mickael Ruau
April 3, 2019 3:52 AM
Scoop.it!

Best practices for energy efficient software - Green software

Best practices for energy efficient software - Green software | EcoConception Logicielle | Scoop.it

Based on sources from literature and the industry, in Energy efficient software a set of best practices has been devised. Generic best practices can be found in the following list

Mickael Ruau's insight:
  1. Lazy loading
  2. Efficient datatraffic
  3. Decrease algorithmic complexity
  4. Power down peripherals
  5. Efficient UI
  6. Static GUI
  7. Use efficient queries
  8. Load balancing
  9. Avoid polling
  10. Avoid use of byte-code
  11. Make proper use of virtualization
  12. Lower the clock frequency
  13. Use low level programming
  14. Use assembly for frequently executed code sequences
  15. Use JIT Compiler
  16. Use specific-purpose hardware
  17. Put application to sleep
  18. Code Migration (agents)
  19. Batch IO
  20. Optimal use peripherals
  21. Less frequent polling
  22. Use flexible timers
  23. Reduce data redundancy
  24. Properly handle external signals and events
  25. Reduce transparency/abstractions
  26. Optimize for underlying layers
  27. Compiler optimization
  28. Reduce QoS dynamically
  29. Keep 3rd party software up-to-date
  30. Free or unmap unneeded memory
  31. Reduce memory leaks
  32. Use asynchronous I/O
  33. Make use of high performance libraries
  34. Software-hardware interaction optimizations

 

The previous list contains techniques that can be applied during software development, that can improve energy efficiency. Some of the best practices are only useful in highly specific cases, to an extent that they are not realistic to most software developers. For this purpose lists are conducted showing per list a set of best practices that are useful for a specific platform. Best practices that are applicable to source code only can be found on the page on source-code best practices. 

No comment yet.
Rescooped by Mickael Ruau from Planète DDurable
April 3, 2019 1:40 AM
Scoop.it!

Efficacité énergétique : est-il vraiment possible de faire mieux avec moins ?

Efficacité énergétique : est-il vraiment possible de faire mieux avec moins ? | EcoConception Logicielle | Scoop.it
Si l’efficacité énergétique recèle un potentiel important en matière d’économies d’énergie, ses résultats demeurent tributaires de la croissance économique.

Via Hubert MESSMER
No comment yet.
Scooped by Mickael Ruau
April 1, 2019 10:30 AM
Scoop.it!

Le livre papier, plus polluant que la liseuse? 4 choses à savoir | Agence Science-Presse

Le livre papier, plus polluant que la liseuse? 4 choses à savoir | Agence Science-Presse | EcoConception Logicielle | Scoop.it
L’empreinte carbone laissée par la production d’un livre imprimé est devenue un argument chez ceux qui défendent le passage aux appareils numériques. Mais d’un autre côté, le bon vieux papier a pour avantage de durer plus longtemps et de pouvoir passer entre plus de mains. Qui dit vrai ? Le Détecteur de rumeurs et Unpointcinq, « média de l’action face aux changements climatiques », survolent quatre aspects du problème.
No comment yet.
Scooped by Mickael Ruau
April 1, 2019 2:05 AM
Scoop.it!

It’s 2019! Let’s End The Debate On Icon Fonts vs SVG Icons - DEV Community �‍��‍�

It’s 2019! Let’s End The Debate On Icon Fonts vs SVG Icons - DEV Community �‍��‍� | EcoConception Logicielle | Scoop.it

Icon Fonts vs SVG Icons! This is a debate that shows no signs of abating and is splitting the dev community into two. Here is a detailed comparison of both.

Mickael Ruau's insight:

Proponents of both icon formats argue the merits of one over another. However, in recent times there has been a general consensus and momentum towards SVG icons format. SVG icons system ensures better performance, higher accessibility standards, high rendering quality, unmatched flexibility, and extensive customization. In this article, we will explore in brief the history of web icons, pros, and cons of font icons vs SVG icons.

No comment yet.