EcoConception Logicielle
6.2K views | +0 today
Follow
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

Current selected tag: 'mesure'. Clear
Scooped by Mickael Ruau
Scoop.it!

Mesurer l'impact du web avec le 1-byte-model

Mesurer l'impact du web avec le 1-byte-model | EcoConception Logicielle | Scoop.it
Comme les autres secteurs industriels, le numérique a un impact écologique. Les chiffres du dernier rapport du green IT ne laissent pas de place au doute. Le numérique est responsable de près de 4% des émissions de gaz à effet de serre. Soit plus que… le secteur aérien.

Une partie de ces émissions est imputable au web et notamment à la vidéo en ligne. Cette fois-ci c'est le rapport du Shift project qui nous le dit. L'impact de la vidéo en ligne, c'est autant que l'impact de l'Espagne en termes de gaz à effet de serre. Pour le mesurer, l'équipe du Shift a développé le 1 byte model.

Le but de cet article est de comprendre comment marche ce modèle dans le but de l'utiliser à notre tour !
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Sobriété numérique : piloter l'empreinte environnementale du numérique par la mesure

Sobriété numérique : piloter l'empreinte environnementale du numérique par la mesure | EcoConception Logicielle | Scoop.it
Le Cigref publie, sous forme de rapport, la nouvelle itération 2021 des travaux de son groupe de travail sur le thème « Sobriété...
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Mesurez l'impact carbone de votre navigation sur Internet

Toutes navigations sur Internet, toutes recherches, et même une simple touche tapée dans un champ de recherche ont un impact carbone. Comment connaître son impact personnel en tant qu'utilisateur et éventuellement changer son comportement ?
Mickael Ruau's insight:

 

Des extensions, ou plugins, existent pour les navigateurs Firefox et Google Chrome. Par exemple celles proposées par theshiftproject.org. Il s'agit de logiciels libres dont le code source est disponible sur GitHub sous licence MIT. Le site theshiftproject.org explique comme se procurer ces extensions, comment les installer et comment les utiliser.

L'extension Carbonalyser permet de visualiser les consommations d'électricité et les émissions de gaz à effet de serre auxquelles conduit votre navigation sur Internet.

Le visualiser vous fera comprendre que les impacts des technologies numériques sur le changement climatique et les ressources naturelles ne sont pas virtuels, bien qu'ils soient cachés derrière nos écrans.

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Sous le capot de la mesure Ecoindex ! | OCTO Talks !

Sous le capot de la mesure Ecoindex ! | OCTO Talks ! | EcoConception Logicielle | Scoop.it

Sous le capot de la mesure Ecoindex ! Quels sont les impacts sur l’environnement d’un service numérique ? Nous allons voir quelques notions pour appréhender ces enjeux et découvrir un outil utilisé en éco-conception pour quantifier l’empreinte environnementale de la consultation d’une page Web, c’est-à-dire l’Ecoindex.

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Quelle énergie pour quelle vitesse avec quel langage - [Site WWW de Laurent Bloch]

Le numéro de juillet 2012 des Communications of the ACM (CACM vol. 55 n° 7) comporte un article de Hadi Esmaeilzadeh, Ting Cao, Xi Yang, Stephen M. Blackburn et Kathryn S. McKinley, Looking Back and Looking Forward : Power, Performance, and Upheaval, qui renouvelle sensiblement la problématique de la mesure de performance des ordinateurs. En effet, la plupart des bancs d’essai disponibles aujourd’hui utilisent des programmes écrits il y a trente ans avec des langages de programmation de l’époque. Les auteurs de l’article montrent que les mesures effectuées avec des langages modernes, dotés de gestion automatique de mémoire et de capacités de parallélisme à grain fin (multi-threading), donnent des résultats bien différents.

Cet article est précédé d’une introduction de David A. Patterson, architecte des processeurs SPARC et auteur du fameux manuel Computer Architecture - A Quantitative Approach avec John L. Hennessy, l’architecte des processeurs MIPS, livre qui a renouvelé en son temps le sujet en lui donnant une véritable consistance scientifique.

Mickael Ruau's insight:

Nos auteurs ont accompli un travail empirique considérable en mesurant les caractéristiques d’exécution de 61 bancs d’essai sur huit processeurs Intel de générations différentes : Pentium 4 (sorti en mai 2003), Core 2 Duo E6600, Core 2 Quad Q 6600, Core i7 920, Atom 230, Core 2 Duo E7600, Atom D510 et Core i5 670 (sorti en janvier 2010).

Les bancs d’essai utilisés se répartissent en quatre familles, deux pour les programmes de style ancien sans gestion automatique de mémoire, deux pour Java :

 programmes C, C++ et Fortran non parallélisables et intensifs en calcul issus de la suite SPEC CPU 2006 ;
 programmes C et C++ multithreaded de la suite PARSEC ;
 programmes Java peu parallélisables issus de SPECjvm, DaCapo et pjbb2005 ;
 programmes Java parallélisables issus de DaCapo 9.12.

Pour chaque banc d’essai, les auteurs ont mesuré les temps d’exécution, ce qui est habituel, mais aussi la consommation électrique, par une instrumentation des cartes mères, ce qui est moins banal. Voici les principales conclusions tirées de leurs observations, certaines sont très inattendues :

 la puissance électrique dissipée dépend énormément du type de programme exécuté, et fort peu de la puissance électrique nominale du circuit ;
 pour une micro-architecture donnée, la puissance électrique par transistor est à peu près constante et indépendante de la technologie de réalisation ;
 si l’on compare les résultats d’un circuit bi-cœur à ceux du même circuit avec un cœur désactivé, on constate que l’activation des deux cœurs n’est pas toujours une source de gain en efficacité énergétique ;
 la machine virtuelle Java (JVM) introduit du parallélisme même pour l’exécution de programmes à un seul fil d’exécution, parce que le glaneur de cellules (garbage collector), le compilateur just in time (JIT) et le profileur en tirent parti ;
 le simultaneous multithreading (SMT) procure des économies d’énergie considérables aux processeurs les plus modernes et aux processeurs à exécution in order ;
 les architectures out of order et les architectures in order ont des efficacités énergétiques similaires.

Sans surprise, on observe que les bancs d’essai Java tirent un meilleur parti du simultaneous multithreading et des cœurs multiples que les bancs d’essai basés sur les langages traditionnels.

Les auteurs insistent sur le fait que l’énergie électrique consommée pour l’exécution d’un programme donné est une grandeur plus significative que la puissance.

Cet article, absolument pionnier dans sa démarche et dans ses résultats, vient utilement compléter les résultats exposés dans deux articles précédents.

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Méthodologie de mesure - Web Energy Archive

Méthodologie de mesure - Web Energy Archive | EcoConception Logicielle | Scoop.it

La consommation des sites web est mesurée côté client, c’est-à-dire l’ensemble de la consommation liée à l’affichage de la page et à l’exécution des scripts dans le navigateur.

Pour la version actuelle, les mesures sont effectuées sur PC uniquement. Les prochaines versions intégreront des mesures sur mobile, tablette, ainsi que l’impact de la consommation du site côté serveur.

Pour chaque site ajouté dans la base de données WEA, deux services sont appelés : Web Page Test et GREENSPECTOR.

Web Page Test est un service permettant de tester la performance d’un site web qui remonte des statistiques sur les requêtes effectuées, la taille des contenus, la mise en cache des ressources.

GREENSPECTOR est utilisé pour mesurer la puissance consommée par le site web sur un PC de mesure, instrumentés avec la sonde PowerAPI. Ce projet open-source propose une sonde logicielle permettant d’estimer la puissance consommée par un processus, à intervalles réguliers.

Les mesures sont réitérées régulièrement de façon à observer l’évolution des différentes métriques au cours du temps.

No comment yet.
Scooped by Mickael Ruau
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
Scoop.it!

Ecometer - Analyse your website's ecodesign maturity.

Ecometer - Analyse your website's ecodesign maturity. | EcoConception Logicielle | Scoop.it

From design to hosting, 115 best practices are tested and explained. Here are some examples, but be sure to check the other ones:

Mickael Ruau's insight:

Browse it

For decision-makers and IT professionals, ECOMETER assesses the environmental impact of your online service on all phases of its life cycle.

Test it green

ECOMETER tests 115 ecodesign best practices from the reference book published by Eyrolles, with contributions by more than 34 business experts.

Improve it

Internationally intended, conducted with ADEME's financial support, ECOMETER is community driven, open-source, free and pedagogically oriented.

The results given by this tool are for educational and diagnostic purpose only, it is not intended to compare websites. 
This tool is in beta version and still in active development, all given informations may change in the future.
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

GIDZipTest: Web Page Compression (Deflate / Gzip) Test - GIDNetwork

Introducing GIDZipTest™, a simple web page compression / gzip test tool.

Add some PHP code to compress your web pages and test it out with this quick gzip / deflate encoding test tool.

Also, please read the article: How do I compress my web site?

This version of the tool is able to identify web pages with deflate encoded content as well. Also, this tool analyses compressed web pages much faster than the previous one which was located at www.desilva.biz/gzip-test.php.

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

CSS Stress Testing and Performance Profiling / Andy Edinborough

I present you with the CSS Stress Test bookmarklet.

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

GTmetrix | Website Speed and Performance Optimization

GTmetrix | Website Speed and Performance Optimization | EcoConception Logicielle | Scoop.it
GTmetrix is a free tool that analyzes your page's speed performance. Using PageSpeed and YSlow, GTmetrix generates scores for your pages and offers actionable recommendations on how to fix them.
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Web Page Analyzer - free website optimization tool website speed test check website performance report from web site optimization

Web Page Analyzer - free website optimization tool website speed test check website performance report from web site optimization | EcoConception Logicielle | Scoop.it
Free web page analysis service tests page size, composition, and download speed. Recommends speed improvements based on best practices for usability, HCI, and website optimization for maximum website performance.
Mickael Ruau's insight:

The script calculates the size of individual elements and sums up each type of web page component. Based on these page characteristics the script then offers advice on how to improve page load time. The script incorporates the latest best practices from Website Optimization Secrets, web page size guidelines and trends, and web site optimization techniques into its recommendations.

Enter URL to diagnose: 
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Déjà 70 organisations ont participé au Diagnostic MatuGreenIT® : découvrez les résultats ! - A2JV

Déjà 70 organisations ont participé au Diagnostic MatuGreenIT® : découvrez les résultats ! - A2JV | EcoConception Logicielle | Scoop.it
Environ 70 organisations ont répondu à MatuGreenIT®, retrouvez les résultats de Maturité Green IT
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Le Shift Project a-t-il vraiment surestimé l’empreinte carbone de la vidéo ?

Le Shift Project a-t-il vraiment surestimé l’empreinte carbone de la vidéo ? | EcoConception Logicielle | Scoop.it
En dépit des divergences dans nos modélisations, The Shift Project souscrit aux constats macroscopiques de G.Kamiya et la nécessité de contrôler les dynamiques de notre système numérique avec rigueur

4/ Dans la dernière partie de son article, G. Kamiya s’inquiète de l’explosion des usages vidéo et de la consommation d’énergie que cela entraîne (il souligne notamment l’évolution de la consommation électrique de Netflix dont l’augmentation s’élèverait à 84 % entre 2018 et 2019). Bien qu’il existe des divergences dans nos modélisations, nous sommes donc bien en ligne sur les constats macroscopiques et la nécessité de contrôler les dynamiques de notre système numérique avec rigueur. Le gros du sujet reste en effet le rythme de croissance effréné du système numérique, qui fait aujourd’hui plus qu’absorber les gains d’efficacité obtenus grâce aux progrès technologiques. G.Kamiya conclut que « ce qui est incontestable, c’est la nécessité de surveiller de près la croissance explosive des […] technologies et services numériques pour s’assurer que la société en tire un maximum de bénéfices, tout en minimisant les conséquences négatives – notamment sur la consommation d’électricité et les émissions de carbone ».

Et en effet, choisir de ne pas intégrer les contraintes du monde fini dans la construction et l’arbitrage de nos usages c’est prendre le risque qu’elles s’appliquent aléatoirement : c’est ce que nous écrivions en 2019 en conclusion de notre rapport « Climat : l’insoutenable usage de la vidéo en ligne ». Qu’elles soient climatiques ou énergétiques, les crises exogènes éprouvent la résilience de tous nos systèmes, sans épargner le numérique – les crises sanitaires aussi, nous en avons depuis quelques mois une expérience planétaire avec les conséquences de la crise du COVID-19. Dans le monde qui est le nôtre en ce XXIème siècle, il serait ainsi malavisé de ne pas piloter notre système numérique de manière éclairée.
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Numérique au bureau : 27 % de notre forfait GES soutenable

Numérique au bureau : 27 % de notre forfait GES soutenable | EcoConception Logicielle | Scoop.it
Benchmark Green IT. Les émission de gaz à effet de serre du numérqiue des entreprises représentent 27 % du forfait GES soutenable d'un français.
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Projet Scaphandre : mesurez la consommation d'énergie de votre pile technologique

Projet Scaphandre : mesurez la consommation d'énergie de votre pile technologique | EcoConception Logicielle | Scoop.it
Scaphandre est un agent de métrologie dédié aux métriques de consommation d'énergie électrique. L'objectif du projet est de permettre à toute entreprise ou individu de mesurer la consommation d'énergie de ses services technologiques et d'obtenir ces données sous une
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

« Carbonalyser » : découvrez combien surfer sur le web coûte au climat

« Carbonalyser » : découvrez combien surfer sur le web coûte au climat | EcoConception Logicielle | Scoop.it
Découvrez l’extension de navigateur « Carbonalyser », qui rend visible la consommation électrique et l'impact climatique de votre navigation internet.
No comment yet.
Rescooped by Mickael Ruau from Planète DDurable
Scoop.it!

Web : évaluez l’empreinte d’une page en un clic

Web : évaluez l’empreinte d’une page en un clic | EcoConception Logicielle | Scoop.it
C’est non sans une certaine fierté que nous vous annonçons la publication de l’extension GreenIT-Analysis (installer), disponible sur Chrome web store. Cet outil réunit les fonctionnalités des services en ligne EcoIndex et Ecometer. Autrement dit, il analyse la page sur laquelle vous vous situez pour vous fournir automatiquement et sans effort de votre part : …

Via Hubert MESSMER
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Écouter de la musique sur son smartphone sans vider sa batterie c'est possible ?

Écouter de la musique sur son smartphone sans vider sa batterie c'est possible ? | EcoConception Logicielle | Scoop.it
Quel est le moyen le moins consommateur pour votre batterie pour écouter de la musique sur votre smartphone ? Nous comparons différents services en fonction de vos usages et habitudes
No comment yet.
Scooped by Mickael Ruau
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.
Scooped by Mickael Ruau
Scoop.it!

Les outils de mesures qui aident à l’éco-conception - Romain Petiot

Actuellement, il n’existe pas d’outils en ligne performant pour juger le niveau de maturité d’éco-conception d’une page web. Le seul outil de mesure que je connaisse orienté green-it est l’ecoIndex : http://www.ecoindex.fr. L’approche est intéressante mais ne prends pas en compte la complexité fonctionnelle de la page. Par exemple, la page d’un site marchand qui affiche... Read more »
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

WebPagetest - Website Performance and Optimization Test

Run a free website speed test from around the globe using real browsers at consumer connection speeds with detailed optimization recommendations.
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

WhatsMyIP.org | HTTP Compression Test

WhatsMyIP.org | HTTP Compression Test | EcoConception Logicielle | Scoop.it
HTTP Compression Tester lets you verify that web content is being compressed using gzip / deflate / mod_gzip / mod_deflate. Test your web site after enabling compression.
Mickael Ruau's insight:

This tool checks your server to see if it is sending out compressed data. It checks for compression via mod_gzip, mod_deflate, or any server-side language that does content compression. Enter the address of a specific page or file to check.

Browser Compression Compatibility

Only browsers that request compressed content will get it. We can also check to see if your browser is asking for compressed content.

 

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Allan Jardine | Reflections | Visual Event 2

Events in Javascript are often seen as a bit of an enigma. This is odd given that Javascript is very much an event driven language, but it is typically down to their complex nature and difficulty to debug. To this end I've created Visual Event to help track events which are subscribed to DOM nodes.

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Eco-conception du code : pour en finir avec les applications energivores

Eco-conception du code : pour en finir avec les applications energivores | EcoConception Logicielle | Scoop.it

Un retour d'expérience d'une SSII (Atos) sur sa démarche d'éco-conception et l'outillage logiciel concret qu'elle a mis en oeuvre pour mesurer l'impact énergétique du code avec Greenspector.

No comment yet.