cnumr / greenit-analysis Goto Github PK
View Code? Open in Web Editor NEWGreenIT-Analysis
License: GNU Affero General Public License v3.0
GreenIT-Analysis
License: GNU Affero General Public License v3.0
Ajouter le HTML et le SVG
Titre : Minifier les fichiers CSS, JavaScript, HTML et SVG
Note A si tout est minifié
Note C sinon
Bonjour,
J'essaye tant bien que mal de reproduire le calcul, de mon côté manuellement, et je crois comprendre que measures.responsesSize provient d'une addition des entry.response._transferSize puis au final measures.responsesSize est converti en Ko grâce à un Math.round(measures.responsesSize / 1000)
Ma question, c'est, est-ce qu'il n'y aurait pas une erreur, ou est-ce que je suis mal documenté/j'ai raté une ligne, mais selon moi, entry.response._transferSize est en bytes, alors que derrière, on considère cela comme étant en octet, ne devrait-on pas convertir _transferSize en octet avant de le convertir en Ko puis de l'afficher / l'utiliser pour calculer l'ecoindex ?
Note:
1 bit = 0,125 octet
Si ce que je dis est correcte, le correctif serait alors:
measures.responsesSize += entry.response._transferSize / 8;
On m'a remonté hier un problème d'implémentation critique :
Le score qui en découle d'un écosystème à un autre n'est donc pas comparable (ni même valide sur Firefox, puisque ce sont il me semble les données transférées, relatives au tiers 2, qui doivent être prises en compte).
Il est possible de récupérer à la fois les données transférées et décodées sur l'ensemble des navigateurs :
bodySize
peut être utilisé pour Firefox ;_transferSize
peut être utilisé pour Chrome (et consorts). À noter que c'est Chrome qui ici ne respecte pas la spécification HttpArchive (HAR).À voir si cela doit (peut) être corrigé avant la sortie d'une nouvelle version.
La documentation devrait sinon expliciter que Firefox ne devrait pas être utilisé à cause de cette implémentation.
The extension wrongly complains about cookies for static resources when cookies has a path.
For example, this resource : https://example.com/build/runtime.2b530b.js
The cookies on this domain are defined with a path that does not match the resource: "PHP=xxx; path=/admin".
Bonjour Didier,
Merci beaucoup pour le développement de cette extension. Cela nous est très utile.
Sinon, on obtient des résultats que l'on ne comprend pas très bien.
L'écoIndex de la même page est meilleur avant nettoyage du cache qu'après nettoyage du cache.
Les copies d'écrans sont jointes
On ne comprend pas trop.
Est-ce que l'on a mal compris quelque chose? ou, est-ce que c'est un bug?
Très cordialement.
T Hirsch
Lors que je sauvegarde une analyse puis l'exporte est CSV, le champ 'url' est vide.
La propriété est définie deux fois avec deux valeurs différentes.
Après une analyse, je peux sauvegarder son résultat. J'y retrouve la taille du DOM ou le Co2. Par contre, les informations sur les bonnes pratiques ne sont pas historisées.
Bonjour,
Impossible pour moi d'enregistrer une analyse. J'ai beau cliquer sur le bouton "sauver une analyse", rien ne se passe et rien n'apparait dans l'historique. :(
Une idée d'où vient le soucis?
Hi,
I suspect there is an issue (or an inconsistency against the Ecoindex specification) in the current EcoIndex implementation located in the file ecoIndex.js
.
As it is currently computed, EcoIndex value is between -5 and 94 rather than between 0 and 99 :
<html></html>
containing 3 DOM objects (page + empty header + empty body), generating 1 HTTP request and being 13-byte long) gets an EcoIndex equal to 94.00 (if rounded to 2 digits after the decimal point).Rachel Pellin's EcoIndex simulator (https://rachelwe.github.io/Simulateur-ecoindex/), which uses ecoIndex.js
current implementation, helps highligting this behaviour:
In my opinion, the issue lies in the calculateIndex
function, which should return:
return ((i - 1) + (value - quantiles[i - 1]) / (quantiles[i] - quantiles[i - 1]));
and
return quantiles.length - 1;
instead of:
return (i + (value - quantiles[i - 1]) / (quantiles[i] - quantiles[i - 1]));
and
return quantiles.length;
If such a change were to be made, the grade computation would obviously have to be also altered, by adding 5 to every threshold:
case score >= 80: return 'A';
// instead of 75
case score >= 70: return 'B';
// instead of 65
...
case score >= 10: return 'F';
// instead of 5
Best Regards,
Olivier Descout
Modifier les seuils :
S'il manque au moins 1 expires ou cache control , note C
Note A : si 0,1 ou 2 css / js inline
Note C sinon
Bonjour,
Une (grosse) partie du code d'analyse des bonnes pratiques semble avoir été copiée/collée depuis EcoMeter, et enfreint la license Affero GPL: aucune mention des auteurs / copyright, et changement de license en MPL.
Ne mettant plus d'énergie à maintenir EcoMeter, je soutiens cette initiative de reproduire ces analyses dans un plugin de navigateur, mais la license d'EcoMeter avait été soigneusement choisie et doit être respectée (d'autant plus par un membre de la communauté), même si je ne doute pas une seule seconde qu'il s'agisse de méconnaissance et/ou “manque d'attention”, et pas de malveillance.
/cc @Bornholm, @Cadoles, @atolcd, @lowki, @logomotion
Bonjour
La règle pour rechercher les print css est uniquement basée sur la recherche d'une balise link
avec un attribut media=~print
Dans les language type React, buildé par du webpack, le bloc @media print est ressemblé dans le même fichié que les autres règles CSS, et n'a pas de balise link dédiée pour son import.
Le print css n'est donc pas pris en compte par cd plugin.
Compléter les tests unitaires, comparer avec EcoIndex et EcoMeter.
Modifier l'echelle :
Ajouter les champs GES et Eau, de façon similaire à ce qui a été fait sur l'extension EcoIndex.
Les modules ECMAScript ne semblent pas être pris en compte correctement et génèrent systématiquement des erreurs sur la partie Javascript dans le rapport.
Selon le paramétrage de l'onglet network dans Chrome (ici Brave browser), le score peut être différent et instable (se détériore).
En tant que développeur, j'ai tendance à utiliser les options suivantes:
Utiliser ces options altére le score d'écoindex calculé par l'extension.
Ajouter un readme détaillant comment utiliser cette extension.
Modifier l'echelle :
Note de B si 8 css
Note de C si > 10
Ajouter du texte de commentaires sur les bonnes pratiques (par exemple à l’image de la rubrique « how to fix « du site ecometer)
Bonjour,
Lors de l'utilisation de l'extension, les balises styles contenues au sein des images SVG sont comptabilisées comme des feuilles de syle inline.
Exemple actuel :
https://lowtechlab.org/en , 3 feuilles de style inline sont détectées par le plugin mais elles font toutes les 3 parties d'une image SVG.
Je ne connais pas les normes de calcul pour les notes de l'écoindex mais je pense qu'on pourrait supposer que les balises <style> inclues dans les SVG ne sont pas des feuilles de style inline pour la page elle-même.
Code de reproduction (Compte 3 inline style) :
<html>
<head>
<title>This is the title of the webpage!</title>
</head>
<body>
<svg viewBox="0 0 10 10" xmlns="http://www.w3.org/2000/svg">
<style>
circle {
fill: gold;
stroke: maroon;
stroke-width: 2px;
}
</style>
<circle cx="5" cy="5" r="4"></circle>
</svg>
<svg viewBox="0 0 10 10" xmlns="http://www.w3.org/2000/svg">
<style>
circle {
fill: gold;
stroke: maroon;
stroke-width: 2px;
}
</style>
<circle cx="5" cy="5" r="4"></circle>
</svg>
<svg viewBox="0 0 10 10" xmlns="http://www.w3.org/2000/svg">
<style>
circle {
fill: gold;
stroke: maroon;
stroke-width: 2px;
}
</style>
<circle cx="5" cy="5" r="4"></circle>
</svg>
</body>
</html>
Cordialement,
Sur Edge, depuis la dernière mise à jour, après avoir appuyé sur F12 l'onglet GreenIT Analysis n'apparaît plus.
J'ai essayé de désinstaller et réinstaller le plugin mais le problème persiste.
Lors de l'utilisation de l'extension du projet sur différents navigateurs, j'ai remarqué des incohérences dans son comportement. En particulier, j'ai constaté qu'elle fonctionne différemment d'un navigateur à un autre.
J'ai récemment installé l'extension du projet pour calculer l'impact environnemental des sites web que j'ai créés ( #238 ). Toutefois, je me suis rendu compte que le calcul du nombre de DOM (éléments de la page) ne fonctionne pas correctement sur Chrome et Edge.
En effet, lorsque j'utilise l'extension sur ces navigateurs, le nombre de DOM visités semble toujours être inférieur au nombre attendu. En outre, elle ne prend pas en compte le contenu des iframes dans le calcul de l'écoindex d'une page. Le nombre de nœuds DOM détectés est de 6, ce qui correspond au contenu du fichier html principal, mais cela n'inclut pas le contenu du html à l'intérieur de l'iframe (J'utilise les fichiers suivants comme testcase.zip servi localement sur le port 8080).
En revanche, lorsque j'utilise l'extension sur Firefox, le calcul du nombre de DOM visités semble fonctionner correctement et le nombre affiché correspond à mes attentes (18).
Ce problème de calcul sur Chrome et Edge rend l'utilisation de l'extension du projet moins fiable sur ces navigateurs. J'aimerais donc savoir s'il existe une solution pour résoudre ce problème.
Hello,
Je suis en train de faire quelques tests sur des sites avec une réflexion sur la localisation du datacenter, j'avais une question concernant les mix énergétiques : est ce qu'il serait possible dans une prochaine version de les paramétrer (Datacenter, Réseau, Terminal) ?
Merci d'avance !
Bonjour,
Nous rencontrons un bug avec GreenIT analysis : le bouton d'analyse n'est plus actif après un premier test et il faut quitter les outils de développement et réafficher pour débloquer. Ce problème n'était pas présent il y a quelques semaines.
Cela rend l'analyse d'un parcours complet assez pénible.
Constaté par moi même et plusieurs autres personne cmme @EmmanuelDemey , @margaux-e , @aureliebaton
Bonjour,
Je pense qu'il y a un bug dans la dernière version de l'extension.
Config : W10, FF 106.03
Lors de l'enregistrement d'un parcours utilisateurs classique, tout se passe bien (nombre d'éléments du DOM cohérent). Mais arrivé sur un formulaire, l'extension GIT-Analysis me remonte 26501 éléments du DOM alors qu'on a entre 500 et 800 sur les autres pages.
Des stagiaires en formation ont également eu cette situation sur d'autres sites à partir d'autres configurations (autres OS et navigateur).
Cf. par exemple ce dump avec la valeur 26501 dans la deuxième ligne :
Date;Url;Nombre requêtes;Taille(kb);Taille du dom;GES;Eau;ecoIndex;Note
05/11/2022 10:52:17;"https://www.techchallenger.fr/inscription/";187;8824;26501;2.85;4.28;7.42;G
05/11/2022 10:51:36;"https://www.techchallenger.fr/reglement-du-concours/";85;2965;750;2.21;3.32;39.32;E
05/11/2022 10:51:26;"https://www.techchallenger.fr/conferences/";86;3016;585;2.11;3.16;44.62;D
05/11/2022 10:51:14;"https://www.techchallenger.fr/";91;3316;740;2.24;3.36;37.95;E
Ne plus donner une note sur la base de la taille mais sur le nombre de polices téléchargées :
Ajout d’une fonction d’historique à l’image d’ecoindex (ajout d’un bouton « add to history ») avec fonction d’export
Bonjour, je travaille sur un PC windows et je n'arrive pas à exécuter le plug in lorsque j'appuie sur la touche F12. Est ce que quelqu'un d'autre a rencontré le problème ? Auriez-vous une solution pour contourner ce problème ? Merci
Bonjour,
Cette issue fait suite à cnumr/GreenIT-Analysis-cli#40.
Je cherche à calculer l'écoindex des pages traversées dans un scénario utilisateur, que je définis ainsi : c'est un parcours, généralement à partir de la page d'accueil, où l'on passe d'une page à l'autre via des actions effectuées au travers du navigateur (click, remplissage de formulaire, etc.).
Au delà de l'outil lui même (qu'il faudrait éventuellement faire évoluer), que pensez-vous de cette approche. Je vois deux façon de procéder :
Idéalement, je pense qu'il faudrait obtenir un score par page, et un score global pour le scénario. Ce score global pourrait être calculé soit en faisant une simple moyenne (bof), soit en trouvant une méthode un peu plus intelligente qui pénaliserait les parcours trop longs et trop lourds (pour favoriser un parcours avec moins de requêtes et moins de données échangées).
Modifier le seuil
0 ou 1 : note A
1 : note C
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.