monitoring-jekyll-theme 0.6.1 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +127 -21
- data/_includes/accessibility.html +8 -2
- data/_includes/actions/energy.html +24 -13
- data/_includes/actions/quality.html +7 -1
- data/_includes/competitors.html +23 -16
- data/_includes/index/badge.html +9 -9
- data/_includes/index/energy.html +2 -2
- data/_includes/index/loading.html +1 -1
- data/_includes/index/position.html +8 -1
- data/_includes/index/score.html +9 -3
- data/_includes/index/security.html +12 -7
- data/_includes/index/styles.html +4 -4
- data/_includes/keywords.html +23 -7
- data/_includes/seo.html +18 -8
- data/_includes/statistiques.html +1 -1
- data/_includes/styles.html +25 -15
- data/_includes/value/lastfiledate.html +15 -2
- data/_includes/value/loadingdata.html +15 -11
- data/_layouts/default.html +12 -41
- data/_layouts/monitoring.html +4 -2
- data/_layouts/rank.html +2 -2
- data/assets/css/styles.css +183 -106
- data/assets/favicons/android-icon-144x144.png +0 -0
- data/assets/favicons/android-icon-192x192.png +0 -0
- data/assets/favicons/android-icon-36x36.png +0 -0
- data/assets/favicons/android-icon-48x48.png +0 -0
- data/assets/favicons/android-icon-72x72.png +0 -0
- data/assets/favicons/android-icon-96x96.png +0 -0
- data/assets/favicons/apple-icon-114x114.png +0 -0
- data/assets/favicons/apple-icon-120x120.png +0 -0
- data/assets/favicons/apple-icon-144x144.png +0 -0
- data/assets/favicons/apple-icon-152x152.png +0 -0
- data/assets/favicons/apple-icon-180x180.png +0 -0
- data/assets/favicons/apple-icon-57x57.png +0 -0
- data/assets/favicons/apple-icon-60x60.png +0 -0
- data/assets/favicons/apple-icon-72x72.png +0 -0
- data/assets/favicons/apple-icon-76x76.png +0 -0
- data/assets/favicons/apple-icon-precomposed.png +0 -0
- data/assets/favicons/apple-icon.png +0 -0
- data/assets/favicons/browserconfig.xml +2 -0
- data/assets/favicons/favicon-16x16.png +0 -0
- data/assets/favicons/favicon-32x32.png +0 -0
- data/assets/favicons/favicon-96x96.png +0 -0
- data/assets/favicons/favicon-original.png +0 -0
- data/assets/favicons/favicon.ico +0 -0
- data/assets/favicons/manifest.json +41 -0
- data/assets/favicons/ms-icon-144x144.png +0 -0
- data/assets/favicons/ms-icon-150x150.png +0 -0
- data/assets/favicons/ms-icon-310x310.png +0 -0
- data/assets/favicons/ms-icon-70x70.png +0 -0
- data/assets/images/loowtus-card.svg +114 -0
- data/assets/images/lotus.svg +1 -18
- data/assets/images/lowtus.png +0 -0
- data/assets/images/lowtus.svg +1 -0
- data/scripts/package.sh +13 -0
- data/scripts/perftest.sh +306 -0
- metadata +34 -4
- data/_plugins/humanize.rb +0 -258
- data/assets/favicons/favicon.png +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 12dba1d99668139af46a318273d4d62f37e906db0546c43c55076c669e18e14c
|
|
4
|
+
data.tar.gz: 116f98141759cc7108a6b3dcc8205a79d61102417fdbed1fae26ece5e9ab9dfb
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 804d72c9b76c63714238c9e3fb1e43495a6d5f31160d731d24e865a3cace16d3bcf6e2f6cd27576784643ad285bb7c4d3d6ba5916d41bfd1b39d4ed4e96dab59
|
|
7
|
+
data.tar.gz: e4552248f8f083f0bc67f0733fd15b5b4dab1666ed97d3f163b33ccdd30bdfa01c4133a4d8c16e056e81c5139d17eb2a9480adc3b4a9548f557e4160ba8c52cf
|
data/README.md
CHANGED
|
@@ -1,34 +1,81 @@
|
|
|
1
1
|
# Monitoring Tool for website
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Voici, les ressource et actions concernant l’outils Lowtus. L'évolution de cet outil doit se faire sur des principes simples et économes.
|
|
4
|
+
|
|
5
|
+
Ce fichier doit donc représenter l’état du projet. Ainsi, il liste : des actions à faire, des idées à tester, des ressources à étudier… des classements de sites.
|
|
6
|
+
|
|
7
|
+
## Esprit de l’outil
|
|
8
|
+
|
|
9
|
+
1. Lisible par des "non techniciens"
|
|
10
|
+
2. Favorise l’action
|
|
11
|
+
3. Modulable
|
|
12
|
+
4. Semi-automatique // (action humaine fait partie du processus)
|
|
13
|
+
5. Global
|
|
14
|
+
6. Répicable
|
|
15
|
+
|
|
16
|
+
## Reste à faire - (plugin TODO+ sur VSCode)
|
|
4
17
|
|
|
5
18
|
✔ Afficher une jauge pour les scores sur 100 @done(19-09-12 09:15)
|
|
6
19
|
✔ Ajouter l’écoindex @done(19-09-12 09:15)
|
|
7
20
|
✔ Ajouter la liste de corrections à appliquer => pour gagner des points @done(19-09-16 15:11)
|
|
8
|
-
|
|
9
|
-
☐
|
|
10
|
-
☐ S’inspirer de l’écometer
|
|
11
|
-
☐ Micro
|
|
21
|
+
✔ Ne plus faire appel à Yellow lab tool :: trop lourd @done(19-10-11 17:23)
|
|
22
|
+
☐ Lister les valeurs avec du potential saving et estimer le gain en point. // Partiellement fait
|
|
23
|
+
☐ S’inspirer de l’écometer (?)
|
|
24
|
+
☐ Test des Micro formats et schema
|
|
25
|
+
☐ curl -s -D- <https://example.com/> | grep -i Strict // ??
|
|
26
|
+
☐ Automatiser la correction de JSON incorrects
|
|
27
|
+
☐ Performance budget de Lighthouse
|
|
28
|
+
☐ Multiplier le chargement des bytes de Javascript
|
|
29
|
+
☐ <https://developer.mozilla.org/en-US/docs/Web/API/Long_Tasks_API>
|
|
30
|
+
☐ Droits utilisateurs - sous thèmes - générer des sous pages de tests
|
|
12
31
|
|
|
13
|
-
##
|
|
32
|
+
## À mettre en place
|
|
33
|
+
|
|
34
|
+
- Création d’indicateurs
|
|
35
|
+
- HTML rewrite et service workers testing - <https://justmarkup.com/articles/2017-11-02-network-based-image-loading/> - <https://calendar.perfplanet.com/2019/prototyping-optimizations-with-cloudflare-workers-and-webpagetest/>
|
|
36
|
+
|
|
37
|
+
### Test de la fabrication de plugins LightHouse
|
|
38
|
+
|
|
39
|
+
- <https://engineering.q42.nl/making-a-lighthouse-plugin-work-with-lighthouse-ci/>
|
|
40
|
+
|
|
41
|
+
### Tests automatisés
|
|
14
42
|
|
|
15
|
-
- <https://codepen.io/pbakaus/pen/OJLNNvm>
|
|
16
43
|
- <https://www.npmjs.com/package/google>
|
|
17
|
-
- <https://
|
|
18
|
-
- <https://www.
|
|
44
|
+
- <https://webhint.io/>
|
|
45
|
+
- <https://www.ssllabs.com>
|
|
46
|
+
|
|
47
|
+
### Test erreurs de sécurités
|
|
48
|
+
|
|
49
|
+
- <https://github.com/lirantal/is-website-vulnerable>
|
|
50
|
+
- <https://github.com/qazbnm456/awesome-web-security>
|
|
51
|
+
|
|
52
|
+
### Coût du site
|
|
53
|
+
|
|
54
|
+
- <https://www.websitecarbon.com/>
|
|
55
|
+
- <https://whatdoesmysitecost.com/>
|
|
56
|
+
|
|
57
|
+
### Afficher les couleurs sous un mode graphique
|
|
58
|
+
|
|
59
|
+
- <https://una.im/css-color-theming/> // Sass
|
|
60
|
+
- <https://css-tricks.com/a-handy-sass-powered-tool-for-making-balanced-color-palettes/> // Variables CSS
|
|
61
|
+
- <https://medium.com/@NateBaldwin/leonardo-an-open-source-contrast-based-color-generator-92d61b6521d2>
|
|
62
|
+
|
|
63
|
+
### Test automatisés de contraste de boutons
|
|
64
|
+
|
|
19
65
|
- <https://www.aditus.io/button-contrast-checker/>
|
|
20
|
-
- <https://github.com/sethblack/python-seo-analyzer>
|
|
21
66
|
|
|
22
|
-
|
|
67
|
+
### Animation de l’interface
|
|
23
68
|
|
|
24
|
-
- <https://
|
|
25
|
-
- <
|
|
26
|
-
|
|
27
|
-
|
|
69
|
+
- <https://raphaelfabeni.com/ui-interactions/>
|
|
70
|
+
- <https://codepen.io/pbakaus/pen/OJLNNvm>
|
|
71
|
+
|
|
72
|
+
### Autres
|
|
73
|
+
|
|
74
|
+
- <https://developers.google.com/web/tools/chrome-devtools/network/reference> // has response header encoding
|
|
28
75
|
|
|
29
76
|
## Commandes
|
|
30
77
|
|
|
31
|
-
### Caractères à remplacer
|
|
78
|
+
### Caractères à remplacer de manière manuelle
|
|
32
79
|
|
|
33
80
|
_Regular expression in all files_
|
|
34
81
|
|
|
@@ -49,6 +96,26 @@ replace \\/ => / seocli
|
|
|
49
96
|
|
|
50
97
|
## Ressources
|
|
51
98
|
|
|
99
|
+
### Connexion utilisateur
|
|
100
|
+
|
|
101
|
+
- <https://www.stackbit.com/blog/open-authoring-netlifycms/>
|
|
102
|
+
- <https://www.zachleat.com/web/eleventy-contributors/>
|
|
103
|
+
- <https://www.smashingmagazine.com/2019/12/dynamic-async-functionality-jamsstack-websites/>
|
|
104
|
+
- <https://github.com/chromeos/static-site-scaffold>
|
|
105
|
+
|
|
106
|
+
### Security
|
|
107
|
+
|
|
108
|
+
- <https://github.com/nico3333fr/CSP-useful>
|
|
109
|
+
- <https://sslmate.com/certspotter/api/>
|
|
110
|
+
|
|
111
|
+
### Accessibilité
|
|
112
|
+
|
|
113
|
+
- <https://www.w3.org/WAI/test-evaluate/>
|
|
114
|
+
|
|
115
|
+
### Performance
|
|
116
|
+
|
|
117
|
+
- <https://github.com/Pixboost/lighthouse-ci-docker>
|
|
118
|
+
|
|
52
119
|
### Statistiques
|
|
53
120
|
|
|
54
121
|
- <https://httparchive.org/reports/state-of-the-web>
|
|
@@ -58,7 +125,13 @@ replace \\/ => / seocli
|
|
|
58
125
|
- <https://github.com/bartveneman/constyble>
|
|
59
126
|
- <https://github.com/sethblack/python-seo-analyzer>
|
|
60
127
|
|
|
61
|
-
###
|
|
128
|
+
### Curl & Grep & JSON
|
|
129
|
+
|
|
130
|
+
- <https://medium.com/@LiliSousa/web-scraping-with-bash-690e4ee7f98d>
|
|
131
|
+
- <https://css-tricks.com/query-json-documents-in-the-terminal-with-groq/>
|
|
132
|
+
- <https://github.com/KilledByAPixel/JSONCrush>
|
|
133
|
+
|
|
134
|
+
### Articles & divers
|
|
62
135
|
|
|
63
136
|
- <https://www.smashingmagazine.com/2019/01/front-end-performance-checklist-2019-pdf-pages/>
|
|
64
137
|
- <https://css-tricks.com/in-search-of-a-stack-that-monitors-the-quality-and-complexity-of-css/>
|
|
@@ -74,7 +147,40 @@ replace \\/ => / seocli
|
|
|
74
147
|
- <http://www.ecoindex.fr/>
|
|
75
148
|
- <https://snapboard.io>
|
|
76
149
|
- <https://v8.dev/blog/cost-of-javascript-2019>
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
- <https://
|
|
150
|
+
- <https://openclassrooms.com/fr/courses/6227476-appliquez-les-principes-du-green-it-dans-votre-entreprise/6699431-decouvrez-limpact-du-numerique-sur-lenvironnement>
|
|
151
|
+
- <https://www.ekopedia.fr/wiki/H%C3%A9bergement_Internet>
|
|
152
|
+
- <https://dev.to/addyosmani/loading-web-pages-fast-on-a-20-feature-phone-8h6>
|
|
153
|
+
- <https://www.smashingmagazine.com/2020/01/front-end-performance-checklist-2020-pdf-pages/>
|
|
154
|
+
- <https://calendar.perfplanet.com/2019/prototyping-optimizations-with-cloudflare-workers-and-webpagetest/>
|
|
155
|
+
- <https://dev.to/addyosmani/monitoring-performance-with-the-pagespeed-insights-api-33k7>
|
|
156
|
+
- <https://www.udacity.com/course/offline-web-applications--ud899>
|
|
157
|
+
- <https://dev.to/devteam/instant-webpages-and-terabytes-of-data-savings-through-the-magic-of-service-workers-1mkc>
|
|
158
|
+
- <https://snyk.io/blog/77-percent-of-sites-use-vulnerable-js-libraries/>
|
|
159
|
+
- <https://24ways.org/2019/twelve-days-of-front-end-testing/?mc_cid=4596c5b43a&mc_eid=971aa7dfa4>
|
|
160
|
+
- <https://ux-speed-calculator.netlify.com/>
|
|
161
|
+
|
|
162
|
+
### Videos
|
|
163
|
+
|
|
164
|
+
- <https://www.youtube.com/watch?v=cXLOIIJ1UaE>
|
|
165
|
+
- <https://www.youtube.com/watch?v=JvJ0v5OohNg>
|
|
166
|
+
|
|
167
|
+
## Note d’interntion
|
|
168
|
+
|
|
169
|
+
### Evolutions possibles
|
|
170
|
+
|
|
171
|
+
1. Remonter des indicateurs plus diverses (sécurité, SEO, RGPD (?)…)
|
|
172
|
+
2. Construire des composants plus parlants : couleurs, comparatif entre page clefs.
|
|
173
|
+
3. Axer le tableau sur des scores forts et pertinents: énergie, coût, sécurité…
|
|
174
|
+
4. Modulariser le fonctionnement
|
|
175
|
+
5. Rendre le code réplicable
|
|
176
|
+
|
|
177
|
+
### R&D technique
|
|
178
|
+
|
|
179
|
+
1. Porter le site sous Eleventy (pour plus de performance sur les gros volumes)
|
|
180
|
+
2. Construire des plugins LightHouse
|
|
181
|
+
3. Tester des librairies pour remonter des scores plus variés
|
|
182
|
+
4. Rendre l’outil déployable (contexte d’intégration continue)
|
|
183
|
+
5. Création d’un bookmarklet pour lancer un audit à la main.
|
|
184
|
+
6. Coder une API pour le calcul des scores forts
|
|
185
|
+
7. Lancer des tests depuis des pays spécifiques.
|
|
186
|
+
8. Permettre la génération multi-rapports par instance (et pas un seul rapport par instance)
|
|
@@ -1,10 +1,16 @@
|
|
|
1
|
-
{% for website in
|
|
1
|
+
{% for website in pagestested %}
|
|
2
|
+
|
|
3
|
+
{% if site.data %}
|
|
4
|
+
{% assign axe = site.data.[website].axe[datelastcrawl] %}
|
|
5
|
+
{% else %}
|
|
6
|
+
{% assign axe = [website].axe[datelastcrawl] %}
|
|
7
|
+
{% endif %}
|
|
2
8
|
|
|
3
9
|
<h3 class="js-expandmore mb0 mt0" data-hideshow-prefix-class="animated">{{ website }} - Impact : Critical</h3>
|
|
4
10
|
<div class="js-to_expand">
|
|
5
11
|
|
|
6
12
|
<div class="axe flex-list">
|
|
7
|
-
{% for a11y in
|
|
13
|
+
{% for a11y in axe limit: 1 %}
|
|
8
14
|
|
|
9
15
|
{% for a11ylist in a11y %}
|
|
10
16
|
{% for a11yvalue in a11ylist %}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
<div class="list-actions list-actions-table">
|
|
2
|
-
{% for website in
|
|
2
|
+
{% for website in pagestested limit: 1 %}
|
|
3
|
+
|
|
4
|
+
{% if site.data %}
|
|
3
5
|
{% assign lighthouse = site.data.[website].lighthouse[datelastcrawl] %}
|
|
6
|
+
{% else %}
|
|
7
|
+
{% assign lighthouse = [website].lighthouse[datelastcrawl] %}
|
|
8
|
+
{% endif %}
|
|
9
|
+
|
|
4
10
|
{% assign total = 0 %}
|
|
5
11
|
{% assign networkrequests = lighthouse.audits.["network-requests"].details.items %}
|
|
6
12
|
{% if networkrequests.resourceType != 'Document' %}{% if networkrequests.resourceType != 'Other' %}
|
|
@@ -18,21 +24,26 @@
|
|
|
18
24
|
|
|
19
25
|
<h3 class="js-expandmore mb0 mt0" data-hideshow-prefix-class="animated" id="diagnostic-energy">Points energie</h3>
|
|
20
26
|
<div class="js-to_expand">
|
|
21
|
-
{% for website in
|
|
27
|
+
{% for website in pagestested limit: 1 %}
|
|
28
|
+
|
|
29
|
+
{% if site.data %}
|
|
22
30
|
{% assign lighthouse = site.data.[website].lighthouse[datelastcrawl] %}
|
|
31
|
+
{% else %}
|
|
32
|
+
{% assign lighthouse = [website].lighthouse[datelastcrawl] %}
|
|
33
|
+
{% endif %}
|
|
23
34
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
{% endfor %}
|
|
33
|
-
</ul>
|
|
34
|
-
{% endif %}
|
|
35
|
+
{% assign networkrequests = lighthouse.audits.["network-requests"].details.items | group_by: "resourceType" %}
|
|
36
|
+
{% for items in networkrequests %}
|
|
37
|
+
{% if items.items %}
|
|
38
|
+
{% if items.items %}<h3>{{ items.name }}</h3>{% endif %}
|
|
39
|
+
<ul>
|
|
40
|
+
{% assign requests = items.items | sort: 'transferSize'%}
|
|
41
|
+
{% for request in requests reversed %}
|
|
42
|
+
<li><a href="{{ request.url }}" title="{{ request.url }}">{{ request.url | slice: 0, 100 }}</a><b>{{ request.transferSize}}</b><b class="pointseco">{{ request.transferSize | times: 1.00 | times: 5 | divided_by: 6 | times: 100 | divided_by: ecoworth | round: 0 }}</b></li>
|
|
35
43
|
{% endfor %}
|
|
44
|
+
</ul>
|
|
45
|
+
{% endif %}
|
|
46
|
+
{% endfor %}
|
|
36
47
|
{% endfor %}
|
|
37
48
|
</div>
|
|
38
49
|
</div>
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
<div class="list-actions list-actions-title">
|
|
2
|
-
{% for website in
|
|
2
|
+
{% for website in pagestested limit: 1 %}
|
|
3
3
|
<h3 class="js-expandmore mb0 mt0" data-hideshow-prefix-class="animated" id="diagnostic-quality">Points de conformite</h3>
|
|
4
4
|
<div class="js-to_expand">
|
|
5
5
|
<ul>
|
|
6
|
+
|
|
7
|
+
{% if site.data %}
|
|
6
8
|
{% assign lighthouse = site.data.[website].lighthouse[datelastcrawl] %}
|
|
9
|
+
{% else %}
|
|
10
|
+
{% assign lighthouse = [website].lighthouse[datelastcrawl] %}
|
|
11
|
+
{% endif %}
|
|
12
|
+
|
|
7
13
|
{% assign categories = lighthouse.categories %}
|
|
8
14
|
{% for audit in lighthouse.audits %}
|
|
9
15
|
{% for value in audit %}
|
data/_includes/competitors.html
CHANGED
|
@@ -1,17 +1,24 @@
|
|
|
1
|
-
{% for website in
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
{%
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
</
|
|
12
|
-
<
|
|
13
|
-
<
|
|
14
|
-
{%
|
|
15
|
-
</
|
|
16
|
-
{%
|
|
1
|
+
{% for website in pagestested limit:1 %}
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
{% if site.data %}
|
|
5
|
+
{% assign serpstat = site.data.[website].serpstat[datelastcrawl] %}
|
|
6
|
+
{% else %}
|
|
7
|
+
{% assign serpstat = [website].serpstat[datelastcrawl] %}
|
|
8
|
+
{% endif %}
|
|
9
|
+
|
|
10
|
+
{% if serpstat %}
|
|
11
|
+
<h3>Concurrents</h3>
|
|
12
|
+
<div class="list-actions list-actions-grid">
|
|
13
|
+
<ol>
|
|
14
|
+
{% for value in serpstat %}
|
|
15
|
+
<li><a href="{{ value.domain }}">{{ value.domain }}</a> {% if value.FBshare %}<b>{{ value.FBshare }} {% include svg/facebook.svg %}</b>{% endif %}</li>
|
|
16
|
+
{% endfor %}
|
|
17
|
+
</ol>
|
|
18
|
+
</div>
|
|
19
|
+
<h3>Graphique de similarité</h3>
|
|
20
|
+
<div class="center">
|
|
21
|
+
{% include competitorsgraph.html %}
|
|
22
|
+
</div>
|
|
23
|
+
{% endif %}
|
|
17
24
|
{% endfor %}
|
data/_includes/index/badge.html
CHANGED
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
</div>
|
|
8
8
|
<div>
|
|
9
9
|
<ul>
|
|
10
|
-
{% if
|
|
11
|
-
<li>
|
|
12
|
-
<svg width="48" viewBox="0 0 512 512" fill="{% if
|
|
10
|
+
{% if greenweb %}
|
|
11
|
+
<li>
|
|
12
|
+
<svg width="48" viewBox="0 0 512 512" fill="{% if greenweb.green == false %}#22961e{% else %}#b00202{% endif %}">
|
|
13
13
|
<path d="M298.667 443.733h-85.333a8.536 8.536 0 00-8.533 8.533 8.536 8.536 0 008.533 8.533h85.333a8.536 8.536 0 008.533-8.533 8.536 8.536 0 00-8.533-8.533zM98.133 17.067H42.667C19.14 17.067 0 36.207 0 59.733V435.2c0 23.526 19.14 42.667 42.667 42.667h51.2c4.71 0 8.533-3.823 8.533-8.533s-3.823-8.533-8.533-8.533h-51.2c-14.114 0-25.6-11.486-25.6-25.6V59.733c0-14.114 11.486-25.6 25.6-25.6h55.467a8.536 8.536 0 008.533-8.533c0-4.71-3.823-8.533-8.534-8.533zM298.667 409.6h-85.333c-4.71 0-8.533 3.823-8.533 8.533s3.823 8.533 8.533 8.533h85.333c4.71 0 8.533-3.823 8.533-8.533s-3.823-8.533-8.533-8.533zM349.867 238.933H162.133c-4.71 0-8.533 3.823-8.533 8.533s3.823 8.533 8.533 8.533h187.733c4.71 0 8.533-3.823 8.533-8.533s-3.822-8.533-8.532-8.533zM264.789 213.333a8.53 8.53 0 00-8.533-8.533h-.085c-4.71 0-8.491 3.823-8.491 8.533 0 4.71 3.866 8.533 8.576 8.533a8.53 8.53 0 008.533-8.533zM273.067 358.4c0-9.412-7.654-17.067-17.067-17.067-9.412 0-17.067 7.654-17.067 17.067s7.654 17.067 17.067 17.067c9.412 0 17.067-7.655 17.067-17.067z"/>
|
|
14
14
|
<path d="M94.123 68.267h-.085c-4.71 0-8.491 3.823-8.491 8.533s3.866 8.533 8.576 8.533c4.719 0 8.533-3.823 8.533-8.533s-3.814-8.533-8.533-8.533zM93.867 409.6H76.8c-4.71 0-8.533 3.823-8.533 8.533s3.823 8.533 8.533 8.533h17.067c4.71 0 8.533-3.823 8.533-8.533s-3.823-8.533-8.533-8.533zM94.123 136.533h-.085c-4.71 0-8.491 3.823-8.491 8.533 0 4.71 3.866 8.533 8.576 8.533a8.53 8.53 0 008.533-8.533 8.53 8.53 0 00-8.533-8.533zM93.867 375.467H76.8c-4.71 0-8.533 3.823-8.533 8.533s3.823 8.533 8.533 8.533h17.067c4.71 0 8.533-3.823 8.533-8.533s-3.823-8.533-8.533-8.533zM93.867 238.933h-51.2c-4.71 0-8.533 3.823-8.533 8.533S37.956 256 42.667 256h51.2c4.71 0 8.533-3.823 8.533-8.533s-3.823-8.534-8.533-8.534zM42.667 187.733h51.2c4.71 0 8.533-3.823 8.533-8.533s-3.823-8.533-8.533-8.533h-51.2c-4.71 0-8.533 3.823-8.533 8.533s3.822 8.533 8.533 8.533zM94.123 204.8h-.085c-4.71 0-8.491 3.823-8.491 8.533 0 4.71 3.866 8.533 8.576 8.533a8.53 8.53 0 008.533-8.533 8.53 8.53 0 00-8.533-8.533zM42.667 119.467h51.2c4.71 0 8.533-3.823 8.533-8.533s-3.823-8.533-8.533-8.533h-51.2c-4.71 0-8.533 3.823-8.533 8.533s3.822 8.533 8.533 8.533zM349.867 0H162.133c-23.526 0-42.667 19.14-42.667 42.667v426.667c0 23.526 19.14 42.667 42.667 42.667h187.733c23.526 0 42.667-19.14 42.667-42.667V42.667C392.533 19.14 373.393 0 349.867 0zm25.6 469.333c0 14.114-11.486 25.6-25.6 25.6H162.133c-14.114 0-25.6-11.486-25.6-25.6V42.667c0-14.114 11.486-25.6 25.6-25.6h187.733c14.114 0 25.6 11.486 25.6 25.6v426.666zM418.133 187.733h51.2c4.71 0 8.533-3.823 8.533-8.533s-3.823-8.533-8.533-8.533h-51.2c-4.71 0-8.533 3.823-8.533 8.533s3.823 8.533 8.533 8.533zM418.304 136.533c-4.71 0-8.491 3.823-8.491 8.533 0 4.71 3.866 8.533 8.576 8.533a8.53 8.53 0 008.533-8.533 8.53 8.53 0 00-8.533-8.533h-.085zM418.304 204.8c-4.71 0-8.491 3.823-8.491 8.533 0 4.71 3.866 8.533 8.576 8.533a8.53 8.53 0 008.533-8.533 8.53 8.53 0 00-8.533-8.533h-.085zM418.389 85.333c4.719 0 8.533-3.823 8.533-8.533s-3.814-8.533-8.533-8.533h-.085c-4.71 0-8.491 3.823-8.491 8.533s3.866 8.533 8.576 8.533zM418.133 256h51.2c4.71 0 8.533-3.823 8.533-8.533s-3.823-8.533-8.533-8.533h-51.2c-4.71 0-8.533 3.823-8.533 8.533s3.823 8.533 8.533 8.533zM418.133 426.667H435.2c4.71 0 8.533-3.823 8.533-8.533s-3.823-8.533-8.533-8.533h-17.067c-4.71 0-8.533 3.823-8.533 8.533s3.823 8.533 8.533 8.533zM418.133 392.533H435.2c4.71 0 8.533-3.823 8.533-8.533s-3.823-8.533-8.533-8.533h-17.067c-4.71 0-8.533 3.823-8.533 8.533s3.823 8.533 8.533 8.533z"/>
|
|
15
15
|
<path d="M469.333 17.067h-55.467a8.536 8.536 0 00-8.533 8.533 8.536 8.536 0 008.533 8.533h55.467c14.114 0 25.6 11.486 25.6 25.6V435.2c0 14.114-11.486 25.6-25.6 25.6h-51.2c-4.71 0-8.533 3.823-8.533 8.533s3.823 8.533 8.533 8.533h51.2c23.526 0 42.667-19.14 42.667-42.667V59.733c0-23.526-19.14-42.666-42.667-42.666zM264.789 76.8a8.53 8.53 0 00-8.533-8.533h-.085c-4.71 0-8.491 3.823-8.491 8.533s3.866 8.533 8.576 8.533a8.53 8.53 0 008.533-8.533zM349.867 102.4H162.133c-4.71 0-8.533 3.823-8.533 8.533s3.823 8.533 8.533 8.533h187.733c4.71 0 8.533-3.823 8.533-8.533s-3.822-8.533-8.532-8.533zM264.789 145.067a8.53 8.53 0 00-8.533-8.533h-.085c-4.71 0-8.491 3.823-8.491 8.533 0 4.71 3.866 8.533 8.576 8.533a8.53 8.53 0 008.533-8.533z"/>
|
|
@@ -19,20 +19,20 @@
|
|
|
19
19
|
Green Hosting
|
|
20
20
|
</li>
|
|
21
21
|
{% endif %}
|
|
22
|
-
{% if
|
|
22
|
+
{% if pa11y %}
|
|
23
23
|
<li>
|
|
24
|
-
{% if
|
|
24
|
+
{% if pa11y.errors > 20 %}
|
|
25
25
|
<svg xmlns="http://www.w3.org/2000/svg" width="48" viewBox="0 0 24 24" fill="none" stroke="#b00202" stroke-width="3.5" stroke-linecap="square" stroke-linejoin="bevel"><polygon points="7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2"></polygon><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12" y2="16"></line></svg>
|
|
26
26
|
{% else %}
|
|
27
27
|
<svg xmlns="http://www.w3.org/2000/svg" width="48" viewBox="0 0 24 24" fill="none" stroke="#22961e" stroke-width="3.5" stroke-linecap="square" stroke-linejoin="bevel"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
|
|
28
28
|
{% endif %}
|
|
29
29
|
<br><br>
|
|
30
|
-
{{
|
|
30
|
+
{{ pa11y.errors }} A11y erreurs
|
|
31
31
|
</li>
|
|
32
32
|
{% endif %}
|
|
33
|
-
{% if
|
|
33
|
+
{% if observatory %}
|
|
34
34
|
<li>
|
|
35
|
-
{% if
|
|
35
|
+
{% if observatory.content-security-policy %}
|
|
36
36
|
<svg xmlns="http://www.w3.org/2000/svg" width="48" viewBox="0 0 24 24" fill="none" stroke="#b00202" stroke-width="3.5" stroke-linecap="square" stroke-linejoin="bevel"><polygon points="7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2"></polygon><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12" y2="16"></line></svg>
|
|
37
37
|
{% else %}
|
|
38
38
|
<svg xmlns="http://www.w3.org/2000/svg" width="48" viewBox="0 0 24 24" fill="none" stroke="#22961e" stroke-width="3.5" stroke-linecap="square" stroke-linejoin="bevel"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
|
|
@@ -44,4 +44,4 @@
|
|
|
44
44
|
</ul>
|
|
45
45
|
</div>
|
|
46
46
|
</div>
|
|
47
|
-
{% endif %}
|
|
47
|
+
{% endif %}
|
data/_includes/index/energy.html
CHANGED
|
@@ -10,13 +10,13 @@
|
|
|
10
10
|
<div>
|
|
11
11
|
<!-- <div class="progress-bar-tooltip" style="transform: translate(50%,-50%);background: rgba(34,150,30,1);">Max</div> -->
|
|
12
12
|
<div class="progress-bar-tooltip" style="left: {{ ecoaverageposition }}%;">Moyenne grands sites</div>
|
|
13
|
-
<div class="progress-bar-tooltip" style="left: {{ ecoposition }}%;z-index:2">{{
|
|
13
|
+
<div class="progress-bar-tooltip" style="left: {{ ecoposition }}%;z-index:2">{{ pages.name }}</div>
|
|
14
14
|
<!-- <div class="progress-bar-tooltip" style="background: rgba(176,2,2,1);">Min</div> -->
|
|
15
15
|
</div>
|
|
16
16
|
<div>
|
|
17
17
|
<!-- <div class="progress-bar-score" style="transform: translate(50%,35%);color: rgba(34,150,30,1);">Good</div> -->
|
|
18
18
|
<div class="progress-bar-score" style="left: {{ ecoaverageposition }}%;">{{ ecoaverage }}</div>
|
|
19
|
-
<div class="progress-bar-score" style="left: {{ ecoposition }}%;z-index:2">{{ eco
|
|
19
|
+
<div class="progress-bar-score" style="left: {{ ecoposition }}%;z-index:2">{{ eco }}</div>
|
|
20
20
|
<!-- <div class="progress-bar-score" style="color: rgba(176,2,2,1);">Bad</div> -->
|
|
21
21
|
</div>
|
|
22
22
|
</div>
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
<b>{{ lighthouse.audits["dom-size"].details.items[0].value | replace: ",","" }}</b><br>
|
|
14
14
|
Elements DOM
|
|
15
15
|
</li>
|
|
16
|
-
<li><b>{{ lighthouse.audits.diagnostics.details.items[0].totalByteWeight | times: 1 |
|
|
16
|
+
<li><b>{{ lighthouse.audits.diagnostics.details.items[0].totalByteWeight | times: 1 | filesizeconvert }}</b><br>Poids
|
|
17
17
|
de la page</li>
|
|
18
18
|
</ul>
|
|
19
19
|
</div>
|
|
@@ -3,7 +3,14 @@
|
|
|
3
3
|
<div><h4>Position</h4></div>
|
|
4
4
|
<div>
|
|
5
5
|
<ul>
|
|
6
|
-
|
|
6
|
+
|
|
7
|
+
{% if site.data %}
|
|
8
|
+
{% assign moz = site.data.[website].moz[datelastcrawl] %}
|
|
9
|
+
{% else %}
|
|
10
|
+
{% assign moz = [website].moz[datelastcrawl] %}
|
|
11
|
+
{% endif %}
|
|
12
|
+
|
|
13
|
+
{% for authority in moz %}
|
|
7
14
|
{% for element in authority limit: 2 %}
|
|
8
15
|
{% assign score = element[1] | times: 1 %}
|
|
9
16
|
<li data-name="{{ element[0] }}" data-percent="{{ score }}">
|
data/_includes/index/score.html
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
<div class="js-tabs" data-existing-hx="h2" data-tabs-prefix-class="tabs">
|
|
2
2
|
<ul class="js-tablist">
|
|
3
|
-
{% for website in
|
|
3
|
+
{% for website in pagestested %}
|
|
4
4
|
<li class="js-tablist__item">
|
|
5
5
|
<a href="#id_{{ forloop.index }}" class="js-tablist__link">{{ website }}</a>
|
|
6
6
|
</li>
|
|
7
7
|
{% endfor %}
|
|
8
8
|
</ul>
|
|
9
9
|
|
|
10
|
-
{% for website in
|
|
10
|
+
{% for website in pagestested %}
|
|
11
11
|
|
|
12
12
|
{% assign labels = "" | split: ',' %}
|
|
13
13
|
{% assign ttfb = "" | split: ',' %}
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
{% if site.data.[website].gpagespeed[data] %}
|
|
19
19
|
{% assign date = data | date: "%d/%m/%y" | prepend: "'" | append: "'" %}
|
|
20
20
|
{% assign labels = labels | push: date %}
|
|
21
|
-
{% assign interactive = site.data.[website].lighthouse[data].audits.metrics.details.items[0].
|
|
21
|
+
{% assign interactive = site.data.[website].lighthouse[data].audits.metrics.details.items[0].observedLoad | round: 0 %}
|
|
22
22
|
{% assign tti = tti | push: interactive %}
|
|
23
23
|
{% assign score = score | push: site.data.[website].gpagespeed[data].ruleGroups.SPEED.score %}
|
|
24
24
|
{% endif %}
|
|
@@ -82,9 +82,15 @@
|
|
|
82
82
|
|
|
83
83
|
{% for data in file %}
|
|
84
84
|
|
|
85
|
+
{% if site.data %}
|
|
85
86
|
{% assign gpagespeed = site.data.[website].gpagespeed[data] %}
|
|
86
87
|
{% assign yellowlabtools = site.data.[website].yellowlabtools[data] %}
|
|
87
88
|
{% assign lighthouse = site.data.[website].lighthouse[data] %}
|
|
89
|
+
{% else %}
|
|
90
|
+
{% assign gpagespeed = [website].gpagespeed[data] %}
|
|
91
|
+
{% assign yellowlabtools = [website].yellowlabtools[data] %}
|
|
92
|
+
{% assign lighthouse = [website].lighthouse[data] %}
|
|
93
|
+
{% endif %}
|
|
88
94
|
|
|
89
95
|
{% if gpagespeed %}
|
|
90
96
|
|