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.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +127 -21
  3. data/_includes/accessibility.html +8 -2
  4. data/_includes/actions/energy.html +24 -13
  5. data/_includes/actions/quality.html +7 -1
  6. data/_includes/competitors.html +23 -16
  7. data/_includes/index/badge.html +9 -9
  8. data/_includes/index/energy.html +2 -2
  9. data/_includes/index/loading.html +1 -1
  10. data/_includes/index/position.html +8 -1
  11. data/_includes/index/score.html +9 -3
  12. data/_includes/index/security.html +12 -7
  13. data/_includes/index/styles.html +4 -4
  14. data/_includes/keywords.html +23 -7
  15. data/_includes/seo.html +18 -8
  16. data/_includes/statistiques.html +1 -1
  17. data/_includes/styles.html +25 -15
  18. data/_includes/value/lastfiledate.html +15 -2
  19. data/_includes/value/loadingdata.html +15 -11
  20. data/_layouts/default.html +12 -41
  21. data/_layouts/monitoring.html +4 -2
  22. data/_layouts/rank.html +2 -2
  23. data/assets/css/styles.css +183 -106
  24. data/assets/favicons/android-icon-144x144.png +0 -0
  25. data/assets/favicons/android-icon-192x192.png +0 -0
  26. data/assets/favicons/android-icon-36x36.png +0 -0
  27. data/assets/favicons/android-icon-48x48.png +0 -0
  28. data/assets/favicons/android-icon-72x72.png +0 -0
  29. data/assets/favicons/android-icon-96x96.png +0 -0
  30. data/assets/favicons/apple-icon-114x114.png +0 -0
  31. data/assets/favicons/apple-icon-120x120.png +0 -0
  32. data/assets/favicons/apple-icon-144x144.png +0 -0
  33. data/assets/favicons/apple-icon-152x152.png +0 -0
  34. data/assets/favicons/apple-icon-180x180.png +0 -0
  35. data/assets/favicons/apple-icon-57x57.png +0 -0
  36. data/assets/favicons/apple-icon-60x60.png +0 -0
  37. data/assets/favicons/apple-icon-72x72.png +0 -0
  38. data/assets/favicons/apple-icon-76x76.png +0 -0
  39. data/assets/favicons/apple-icon-precomposed.png +0 -0
  40. data/assets/favicons/apple-icon.png +0 -0
  41. data/assets/favicons/browserconfig.xml +2 -0
  42. data/assets/favicons/favicon-16x16.png +0 -0
  43. data/assets/favicons/favicon-32x32.png +0 -0
  44. data/assets/favicons/favicon-96x96.png +0 -0
  45. data/assets/favicons/favicon-original.png +0 -0
  46. data/assets/favicons/favicon.ico +0 -0
  47. data/assets/favicons/manifest.json +41 -0
  48. data/assets/favicons/ms-icon-144x144.png +0 -0
  49. data/assets/favicons/ms-icon-150x150.png +0 -0
  50. data/assets/favicons/ms-icon-310x310.png +0 -0
  51. data/assets/favicons/ms-icon-70x70.png +0 -0
  52. data/assets/images/loowtus-card.svg +114 -0
  53. data/assets/images/lotus.svg +1 -18
  54. data/assets/images/lowtus.png +0 -0
  55. data/assets/images/lowtus.svg +1 -0
  56. data/scripts/package.sh +13 -0
  57. data/scripts/perftest.sh +306 -0
  58. metadata +34 -4
  59. data/_plugins/humanize.rb +0 -258
  60. data/assets/favicons/favicon.png +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e48528e29eb01eca6279cfa0e027591ab5012a15cf078cb649da472abde9788d
4
- data.tar.gz: 664854d71ae82ad631487547273aef3c68c18b2a0964456958d2a3ec51f88245
3
+ metadata.gz: 12dba1d99668139af46a318273d4d62f37e906db0546c43c55076c669e18e14c
4
+ data.tar.gz: 116f98141759cc7108a6b3dcc8205a79d61102417fdbed1fae26ece5e9ab9dfb
5
5
  SHA512:
6
- metadata.gz: 2e2f5f1a7c1e28beb7ad7f78b8553fa2f73c4ab68c5d48a80df13d42a5f5a1a8efe62e2264be25e7df713f9539c1570bcd8b6666d34ab64f8b069f821c1427be
7
- data.tar.gz: c9a6c2bc63c27a44565379511425e6096ed4dd03fe53e5c99e57f83d2e2df0c754406fa0e3bf71e4a8b457dfbcba760dc15c8add2a2882705f09a132c3967eaf
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
- ## Reste à faire
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
- Lister les valeurs avec du potential saving et estimer le gain en point.
9
- Ne plus faire appel à Yellow lab tool :: trop lourd
10
- ☐ S’inspirer de l’écometer
11
- ☐ Micro format et schema detection
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
- ## A mettre en place
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://raphaelfabeni.com/ui-interactions/>
18
- - <https://www.ekopedia.fr/wiki/H%C3%A9bergement_Internet>
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
- ## Annuaires Immobilier
67
+ ### Animation de l’interface
23
68
 
24
- - <https://www.avendrealouer.fr/>
25
- - <http://www.ma-cabane.fr/>
26
- - <http://www.lecoute.com/>
27
- - <https://www.hannuaire.fr/>
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
- ### Articles
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
- ### Curl & Grep
79
-
80
- - <https://medium.com/@LiliSousa/web-scraping-with-bash-690e4ee7f98d>
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 site.pagestested %}
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 site.data.[website].axe[datelastcrawl] limit: 1 %}
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 site.pagestested limit: 1 %}
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 site.pagestested limit: 1 %}
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
- {% assign networkrequests = lighthouse.audits.["network-requests"].details.items | group_by: "resourceType" %}
25
- {% for items in networkrequests %}
26
- {% if items.items %}
27
- {% if items.items %}<h3>{{ items.name }}</h3>{% endif %}
28
- <ul>
29
- {% assign requests = items.items | sort: 'transferSize'%}
30
- {% for request in requests reversed %}
31
- <li><a href="{{ request.url }}" title="{{ request.url }}">{{ request.url | slice: 0, 100 }}</a><b>{{ request.transferSize | filesize }}</b><b class="pointseco">{{ request.transferSize | times: 1.00 | times: 5 | divided_by: 6 | times: 100 | divided_by: ecoworth | round: 0 }}</b></li>
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 site.pagestested limit: 1 %}
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 %}
@@ -1,17 +1,24 @@
1
- {% for website in site.pagestested limit:1 %}
2
- {% assign serpstat = site.data.[website].serpstat[datelastcrawl] %}
3
- {% if serpstat %}
4
- <h3>Concurrents</h3>
5
- <div class="list-actions list-actions-grid">
6
- <ol>
7
- {% for value in serpstat %}
8
- <li><a href="{{ value.domain }}">{{ value.domain }}</a> {% if value.FBshare %}<b>{{ value.FBshare }} {% include svg/facebook.svg %}</b>{% endif %}</li>
9
- {% endfor %}
10
- </ol>
11
- </div>
12
- <h3>Graphique de similarité</h3>
13
- <div class="center">
14
- {% include competitorsgraph.html %}
15
- </div>
16
- {% endif %}
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 %}
@@ -7,9 +7,9 @@
7
7
  </div>
8
8
  <div>
9
9
  <ul>
10
- {% if site.data.[website].greenweb[datelastcrawl] %}
11
- <li>
12
- <svg width="48" viewBox="0 0 512 512" fill="{% if site.data.[website].greenweb[datelastcrawl].green == false %}#22961e{% else %}#b00202{% endif %}">
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 site.data.[website].pa11y[datelastcrawl] %}
22
+ {% if pa11y %}
23
23
  <li>
24
- {% if site.data.[website].pa11y[datelastcrawl].errors > 20 %}
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
- {{ site.data.[website].pa11y[datelastcrawl].errors }} A11y erreurs
30
+ {{ pa11y.errors }} A11y erreurs
31
31
  </li>
32
32
  {% endif %}
33
- {% if site.data.[website].observatory[datelastcrawl] %}
33
+ {% if observatory %}
34
34
  <li>
35
- {% if site.data.[website].observatory[datelastcrawl].content-security-policy %}
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 %}
@@ -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">{{ website }}</div>
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 }}</div>
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 | filesize }}</b><br>Poids
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
- {% for authority in site.data.[website].moz[datelastcrawl] %}
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 }}">
@@ -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 site.pagestested %}
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 site.pagestested %}
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].observedLastVisualChange | round: 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