monitoring-jekyll-theme 0.2.0 → 0.3.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/.ruby-version +1 -0
- data/Gemfile +1 -1
- data/README.md +37 -2
- data/_includes/accessibility.html +21 -27
- data/_includes/seo.html +7 -18
- data/_includes/statistiques.html +184 -5
- data/_includes/styles.html +22 -8
- data/_layouts/default.html +16 -1
- data/assets/css/styles.css +661 -88
- data/budget.json +11 -0
- data/netlify.toml +5 -0
- data/perftest.sh +6 -5
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: db350d4d5687ecbb4b03230975e957fdc43380850781721cbd1df3d1b1a7ccc4
|
4
|
+
data.tar.gz: 033dec87a40b6d546c15cbcae383a0c143b983197b805ed14e163b6fb71a7e87
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 64698968ab7f1751ca77d1721324f52cc1fd2ab793790e0474876520a112b8e4a0c94c2d1c6f60d649b343faecaa060d237eb537cefa652cd927c4216a5abdcf
|
7
|
+
data.tar.gz: 7d22380531670dcf9e1e604a6f1682e9bd2fd87b2e9da3d51bb465f095f14cb15e0c119e51614731825ba5db627385678b76afe15aa0cc45a8e8b98a54da7906
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.6.2
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,4 +1,29 @@
|
|
1
|
-
Monitoring Tool for website
|
1
|
+
# Monitoring Tool for website
|
2
|
+
|
3
|
+
## Reste à faire
|
4
|
+
|
5
|
+
✔ Afficher une jauge pour les scores sur 100 @done(19-09-12 09:15)
|
6
|
+
✔ Ajouter l’écoindex @done(19-09-12 09:15)
|
7
|
+
✔ 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
|
12
|
+
|
13
|
+
## A mettre en place
|
14
|
+
|
15
|
+
- <https://codepen.io/pbakaus/pen/OJLNNvm>
|
16
|
+
- <https://www.npmjs.com/package/google>
|
17
|
+
- <https://raphaelfabeni.com/ui-interactions/>
|
18
|
+
- https://www.ekopedia.fr/wiki/H%C3%A9bergement_Internet
|
19
|
+
|
20
|
+
|
21
|
+
## Annuaires Immobilier
|
22
|
+
|
23
|
+
- <https://www.avendrealouer.fr/>
|
24
|
+
- <http://www.ma-cabane.fr/>
|
25
|
+
- <http://www.lecoute.com/>
|
26
|
+
- <https://www.hannuaire.fr/>
|
2
27
|
|
3
28
|
## Commandes
|
4
29
|
|
@@ -13,17 +38,27 @@ replace \\/ => / seocli
|
|
13
38
|
|
14
39
|
- <https://serpstat.com/domains/search/?search_type=subdomains&se=g_us&query=https%3A%2F%2Fwww.leforestier-immobilier.com%2F>
|
15
40
|
- <https://whatsmyserp.com/domains/a408117d-3cef-4b9f-bf92-fbf71a652252>
|
41
|
+
- <https://www.advancedwebranking.com>
|
42
|
+
- <https://ecograder.com>
|
43
|
+
- <https://moz.com/free-seo-tools>
|
44
|
+
- <https://developers.google.com/webmaster-tools/search-console-api-original/v3/searchanalytics/query>
|
45
|
+
- <https://ahrefs.com/fr/website-authority-checker>
|
16
46
|
|
17
47
|
## Ressources
|
18
48
|
|
49
|
+
### Statistiques
|
50
|
+
|
51
|
+
- <https://httparchive.org/reports/state-of-the-web>
|
52
|
+
|
19
53
|
### Bibliothèques
|
20
54
|
|
21
|
-
-
|
55
|
+
- <https://github.com/bartveneman/constyble>
|
22
56
|
|
23
57
|
### Articles
|
24
58
|
|
25
59
|
- <https://www.smashingmagazine.com/2019/01/front-end-performance-checklist-2019-pdf-pages/>
|
26
60
|
- <https://css-tricks.com/in-search-of-a-stack-that-monitors-the-quality-and-complexity-of-css/>
|
61
|
+
- <https://css-tricks.com/in-search-of-a-stack-that-monitors-the-quality-and-complexity-of-css/>
|
27
62
|
- <https://jameshubbardmarketing.co.uk/seo-blog/essential-technical-seo-audit-tools/>
|
28
63
|
- <https://www.screamingfrog.co.uk/seo-spider/>
|
29
64
|
- <https://github.com/serp-spider/serps-cli>
|
@@ -3,36 +3,30 @@
|
|
3
3
|
<h3 class="js-expandmore mb0 mt0" data-hideshow-prefix-class="animated">{{ website }} - Impact : Critical</h3>
|
4
4
|
<div class="js-to_expand">
|
5
5
|
|
6
|
-
|
7
|
-
|
6
|
+
<div class="axe flex-list">
|
7
|
+
{% for a11y in site.data.[website].axe[datelastcrawl] limit: 1 %}
|
8
|
+
|
9
|
+
{% for a11ylist in a11y %}
|
10
|
+
{% for a11yvalue in a11ylist %}
|
11
|
+
|
12
|
+
{% for elm in a11yvalue %}
|
13
|
+
{% if elm.impact == 'critical' %}
|
14
|
+
<div><strong>> {{ elm.description | xml_escape }}</strong><br>
|
15
|
+
<ul>
|
16
|
+
{% for node in elm.nodes %}
|
17
|
+
<li>{{ node.target | replace:'\"','"' | replace:'\\3','' | replace:'\\=','=' | replace:' ','' | xml_escape }}</li>
|
18
|
+
{% endfor %}
|
19
|
+
</ul>
|
20
|
+
</div>
|
21
|
+
{% endif %}
|
22
|
+
{% endfor %}
|
8
23
|
|
9
|
-
|
10
|
-
|
11
|
-
{% if forloop.first %}
|
12
|
-
|
13
|
-
{% for a11ylist in a11y %}
|
14
|
-
{% for a11yvalue in a11ylist %}
|
15
|
-
|
16
|
-
{% for elm in a11yvalue %}
|
17
|
-
{% if elm.impact == 'critical' %}
|
18
|
-
<div><strong>> {{ elm.description | xml_escape }}</strong><br>
|
19
|
-
<ul>
|
20
|
-
{% for node in elm.nodes %}
|
21
|
-
<li>{{ node.target | replace:'\"','"' | replace:'\\3','' | replace:'\\=','=' | replace:' ','' | xml_escape }}</li>
|
22
|
-
{% endfor %}
|
23
|
-
</ul>
|
24
|
-
</div>
|
25
|
-
{% endif %}
|
24
|
+
{% endfor %}
|
26
25
|
{% endfor %}
|
27
26
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
{% endif %}
|
27
|
+
{% endfor %}
|
28
|
+
</div>
|
32
29
|
|
33
|
-
{% endfor %}
|
34
|
-
</div>
|
35
|
-
{% endfor %}
|
36
30
|
</div>
|
37
31
|
|
38
|
-
|
32
|
+
{% endfor %}
|
data/_includes/seo.html
CHANGED
@@ -26,15 +26,12 @@
|
|
26
26
|
</li>
|
27
27
|
</ul>
|
28
28
|
|
29
|
-
{% for website in site.pagestested
|
30
|
-
{% if forloop.first %}
|
29
|
+
{% for website in site.pagestested limit: 1 %}
|
31
30
|
|
32
31
|
<div id="seo-blocking" class="js-tabcontent">
|
33
32
|
<h3>Blocking URLs</h3>
|
34
33
|
<p>Les urls longues qui bloquent le chargement d’une page.</p>
|
35
|
-
{%
|
36
|
-
{% if forloop.first %}
|
37
|
-
{% assign gpagespeed = site.data.[website].gpagespeed[data] %}
|
34
|
+
{% assign gpagespeed = site.data.[website].gpagespeed[datelastcrawl] %}
|
38
35
|
<ol class="flex-list">
|
39
36
|
{% for urlBlocks in gpagespeed.formattedResults.ruleResults.MinimizeRenderBlockingResources.urlBlocks %}
|
40
37
|
{% if forloop.length != 0 %}
|
@@ -46,13 +43,11 @@
|
|
46
43
|
{% endif %}
|
47
44
|
{% endfor %}
|
48
45
|
</ol>
|
49
|
-
{% endif %}
|
50
|
-
{% endfor %}
|
51
46
|
</div>
|
52
47
|
|
53
|
-
|
54
|
-
|
55
|
-
{% assign screamingfrog = site.data.[website].screamingfrog[
|
48
|
+
|
49
|
+
|
50
|
+
{% assign screamingfrog = site.data.[website].screamingfrog[datelastcrawl] %}
|
56
51
|
<div id="seo-status" class="js-tabcontent screamingfrog">
|
57
52
|
<h3>URL status (different of OK)</h3>
|
58
53
|
<p>Les urls présentant un status différent de valide.</p>
|
@@ -149,13 +144,10 @@
|
|
149
144
|
{% endfor %}
|
150
145
|
</ol>
|
151
146
|
</div>
|
152
|
-
|
153
|
-
{% endfor %}
|
147
|
+
|
154
148
|
|
155
149
|
{% comment %}
|
156
|
-
{%
|
157
|
-
{% if forloop.first %}
|
158
|
-
{% assign seocli = site.data.[website].seocli[data] %}
|
150
|
+
{% assign seocli = site.data.[website].seocli[datelastcrawl] %}
|
159
151
|
<div class="seocli">
|
160
152
|
{% for topList in seocli.topLists %}
|
161
153
|
<h3>{{topList.[0]}}</h3>
|
@@ -168,10 +160,7 @@
|
|
168
160
|
</ul>
|
169
161
|
{% endfor %}
|
170
162
|
</div>
|
171
|
-
{% endif %}
|
172
|
-
{% endfor %}
|
173
163
|
{% endcomment %}
|
174
164
|
|
175
|
-
{% endif %}
|
176
165
|
{% endfor %}
|
177
166
|
</div>
|
data/_includes/statistiques.html
CHANGED
@@ -10,6 +10,116 @@
|
|
10
10
|
}
|
11
11
|
}
|
12
12
|
</script>
|
13
|
+
|
14
|
+
{% for website in site.pagestested limit: 1 %}
|
15
|
+
|
16
|
+
{% assign gpagespeed = site.data.[website].gpagespeed[datelastcrawl] %}
|
17
|
+
{% assign yellowlabtools = site.data.[website].yellowlabtools[datelastcrawl] %}
|
18
|
+
{% assign lighthouse = site.data.[website].lighthouse[datelastcrawl] %}
|
19
|
+
|
20
|
+
{% assign indexes = "" | split: ',' %}
|
21
|
+
{% assign indexesname = "Accessibilité,Bonnes pratiques,Performance,SEO,PWA,Speed Index" | split: ',' %}
|
22
|
+
{% comment %}{% endcomment %}
|
23
|
+
{% assign indexes = indexes | push: lighthouse.categories.accessibility.score | push: lighthouse.categories.best-practices.score | push: lighthouse.categories.performance.score | push: lighthouse.categories.seo.score | push: lighthouse.categories.pwa.score | push: lighthouse.audits.speed-index.score %}
|
24
|
+
|
25
|
+
{% comment %}Calcul du score moyen à partir des données httparchive{% endcomment %}
|
26
|
+
{% assign domaverage = 600 | times: 3 %}{% assign httpaverage = 74 | times: 2 %}
|
27
|
+
{% assign ecoaverage = domaverage | plus: httpaverage | plus: 2000000 | divided_by: 6 %}
|
28
|
+
|
29
|
+
{% comment %}Calcul du score le meilleur à partir du site bertrandkeller.info {% endcomment %}
|
30
|
+
{% assign dombest = 150 | times: 3 %}{% assign httpbest = 15 | times: 2 %}
|
31
|
+
{% assign ecobest = dombest | plus: httpbest | plus: 1000000 | divided_by: 6 %}
|
32
|
+
|
33
|
+
{% comment %}Calcul du score pour le site le pire{% endcomment %}
|
34
|
+
{% assign domworth = 5000 | times: 3 %}{% assign httpworth = 120 | times: 2 %}
|
35
|
+
{% assign ecoworth = domworth | plus: httpworth | plus: 7000000 | divided_by: 6 %}
|
36
|
+
|
37
|
+
{% comment %}Calcul du score le meilleur{% endcomment %}
|
38
|
+
{% assign ecobestscore = ecobest | times: 100 | divided_by: ecoworth %}
|
39
|
+
|
40
|
+
{% comment %}Calcul de la valeur du site calculé{% endcomment %}
|
41
|
+
{% assign dom = lighthouse.audits["dom-size"].details.items[0].value | replace: ",","" | times: 3 %}{% assign http = lighthouse.audits.diagnostics.details.items[0].numRequests | times: 2 %}
|
42
|
+
{% assign eco = dom | plus: http | plus: lighthouse.audits.diagnostics.details.items[0].totalByteWeight | divided_by: 6 %}
|
43
|
+
|
44
|
+
<h3 style="display: none;">Scores</h3>
|
45
|
+
|
46
|
+
<div class="progress progress-bar flex">
|
47
|
+
<div><h4>Energie</h4></div>
|
48
|
+
<div>
|
49
|
+
<div class="progress-bar-element">
|
50
|
+
<div>
|
51
|
+
<!-- <div class="progress-bar-tooltip" style="transform: translate(50%,-50%);background: rgba(34,150,30,1);">Max</div> -->
|
52
|
+
<div class="progress-bar-tooltip" style="left: {{ eco | times: 100 | divided_by: ecoworth }}%;">{{ site.title }}</div>
|
53
|
+
<div class="progress-bar-tooltip" style="left: {{ ecoaverage | times: 100 | divided_by: ecoworth }}%;">Moyenne mondiale</div>
|
54
|
+
<!-- <div class="progress-bar-tooltip" style="background: rgba(176,2,2,1);">Min</div> -->
|
55
|
+
</div>
|
56
|
+
<div>
|
57
|
+
<div class="progress-bar-score" style="transform: translate(50%,35%);color: rgba(34,150,30,1);">100</div>
|
58
|
+
<div class="progress-bar-score" style="left: {{ eco | times: 100 | divided_by: ecoworth }}%;">{{ eco | times: 100 | divided_by: ecoworth | minus: 100 | times: -1 | plus: ecobestscore }}</div>
|
59
|
+
<div class="progress-bar-score" style="left: {{ ecoaverage | times: 100 | divided_by: ecoworth }}%;">{{ ecoaverage | times: 100 | divided_by: ecoworth | minus: 100 | times: -1 | plus: ecobestscore }}</div>
|
60
|
+
<div class="progress-bar-score" style="color: rgba(176,2,2,1);">0</div>
|
61
|
+
</div>
|
62
|
+
</div>
|
63
|
+
</div>
|
64
|
+
</div>
|
65
|
+
|
66
|
+
<div class="progress progress-circular flex">
|
67
|
+
<div><h4>Qualite</h4></div>
|
68
|
+
<div>
|
69
|
+
<ul>
|
70
|
+
{% for index in indexes %}
|
71
|
+
{% assign score = index | times: 100 | round %}
|
72
|
+
<li data-name="{{ indexesname[forloop.index0] }}" data-percent="{{ score }}%">
|
73
|
+
{% if score > 85 %}{% assign color = 'top' %}{% elsif score > 75 %}{% assign color = 'verygood' %}{% elsif score > 60 %}{% assign color = 'good' %}{% elsif score > 40 %}{% assign color = 'bad' %}{% else %}{% assign color = 'verybad' %}{% endif%}
|
74
|
+
<svg viewbox="-10 -10 220 220" class="{{ color }}">
|
75
|
+
<g fill="none" stroke-width="15" transform="translate(100,100)">
|
76
|
+
<path d="M 0,-100 A 100,100 0 0,1 86.6,-50" />
|
77
|
+
<path d="M 86.6,-50 A 100,100 0 0,1 86.6,50" />
|
78
|
+
<path d="M 86.6,50 A 100,100 0 0,1 0,100" />
|
79
|
+
<path d="M 0,100 A 100,100 0 0,1 -86.6,50" />
|
80
|
+
<path d="M -86.6,50 A 100,100 0 0,1 -86.6,-50" />
|
81
|
+
<path d="M -86.6,-50 A 100,100 0 0,1 0,-100" />
|
82
|
+
</g>
|
83
|
+
</svg>
|
84
|
+
<svg viewbox="-10 -10 220 220">
|
85
|
+
<path d="M200,100 C200,44.771525 155.228475,0 100,0 C44.771525,0 0,44.771525 0,100 C0,155.228475 44.771525,200 100,200 C155.228475,200 200,155.228475 200,100 Z" stroke-dashoffset="{{ 630 | times: index }}"></path>
|
86
|
+
</svg>
|
87
|
+
</li>
|
88
|
+
{% endfor %}
|
89
|
+
</ul>
|
90
|
+
</div>
|
91
|
+
</div>
|
92
|
+
|
93
|
+
<div class="progress progress-circular flex">
|
94
|
+
<div><h4>Position</h4></div>
|
95
|
+
<div>
|
96
|
+
<ul>
|
97
|
+
{% for authority in site.data.[website].moz[datelastcrawl] %}
|
98
|
+
{% for element in authority limit: 2 %}
|
99
|
+
{% assign score = element[1] | times: 1 %}
|
100
|
+
<li data-name="{{ element[0] }}" data-percent="{{ score }}">
|
101
|
+
{% if score > 60 %}{% assign color = 'top' %}{% elsif score > 50 %}{% assign color = 'verygood' %}{% elsif score > 30 %}{% assign color = 'good' %}{% elsif score > 15 %}{% assign color = 'bad' %}{% else %}{% assign color = 'verybad' %}{% endif%}
|
102
|
+
<svg viewbox="-10 -10 220 220" class="{{ color }}">
|
103
|
+
<g fill="none" stroke-width="15" transform="translate(100,100)">
|
104
|
+
<path d="M 0,-100 A 100,100 0 0,1 86.6,-50" />
|
105
|
+
<path d="M 86.6,-50 A 100,100 0 0,1 86.6,50" />
|
106
|
+
<path d="M 86.6,50 A 100,100 0 0,1 0,100" />
|
107
|
+
<path d="M 0,100 A 100,100 0 0,1 -86.6,50" />
|
108
|
+
<path d="M -86.6,50 A 100,100 0 0,1 -86.6,-50" />
|
109
|
+
<path d="M -86.6,-50 A 100,100 0 0,1 0,-100" />
|
110
|
+
</g>
|
111
|
+
</svg>
|
112
|
+
<svg viewbox="-10 -10 220 220">
|
113
|
+
<path d="M200,100 C200,44.771525 155.228475,0 100,0 C44.771525,0 0,44.771525 0,100 C0,155.228475 44.771525,200 100,200 C155.228475,200 200,155.228475 200,100 Z" stroke-dashoffset="{{ score | times: 630 | divided_by: 100 }}"></path>
|
114
|
+
</svg>
|
115
|
+
</li>
|
116
|
+
{% endfor %}
|
117
|
+
{% endfor %}
|
118
|
+
</ul>
|
119
|
+
</div>
|
120
|
+
</div>
|
121
|
+
{% endfor %}
|
122
|
+
|
13
123
|
<div class="js-tabs" data-existing-hx="h2" data-tabs-prefix-class="tabs">
|
14
124
|
<ul class="js-tablist">
|
15
125
|
{% for website in site.pagestested %}
|
@@ -27,6 +137,7 @@
|
|
27
137
|
|
28
138
|
<div id="id_{{ forloop.index }}" class="js-tabcontent">
|
29
139
|
<h3>{{ website }}</h3>
|
140
|
+
|
30
141
|
<div class="flex">
|
31
142
|
<div>
|
32
143
|
<strong>Temps de chargement</strong>
|
@@ -105,7 +216,7 @@
|
|
105
216
|
<span class="number">{{ yellowlabtools.toolsResults.phantomas.metrics.domContentLoadedEnd | round }}</span>
|
106
217
|
<i>ms</i>
|
107
218
|
{% if forloop.index != 1 %}<span
|
108
|
-
class="score-difference{% if timeToFirstByte > yellowlabtools.toolsResults.phantomas.metrics.
|
219
|
+
class="score-difference{% if timeToFirstByte > yellowlabtools.toolsResults.phantomas.metrics.domContentLoadedEnd %} score-down{% endif %}{% if timeToFirstByte < yellowlabtools.toolsResults.phantomas.metrics.domContentLoadedEnd %} score-up{% endif %}"></span>{% endif %}
|
109
220
|
{% assign timeToFirstByte = yellowlabtools.toolsResults.phantomas.metrics.domContentLoadedEnd %}
|
110
221
|
</div>
|
111
222
|
<div class="box score">
|
@@ -137,10 +248,10 @@
|
|
137
248
|
</div>
|
138
249
|
<div class="box score">
|
139
250
|
<span class="title">JS Size</span>
|
140
|
-
<span class="number">{{
|
251
|
+
<span class="number">{{ yellowlabtools.toolsResults.phantomas.metrics.jsSize | round }}</span> <i>kb</i>
|
141
252
|
{% if forloop.index != 1 %}<span
|
142
|
-
class="score-difference{% if numberResources >
|
143
|
-
{% assign numberResources =
|
253
|
+
class="score-difference{% if numberResources > yellowlabtools.toolsResults.phantomas.metrics.jsSize %} score-down{% endif %}{% if numberResources < yellowlabtools.toolsResults.phantomas.metrics.jsSize %} score-up{% endif %}"></span>{% endif %}
|
254
|
+
{% assign numberResources = yellowlabtools.toolsResults.phantomas.metrics.jsSize %}
|
144
255
|
</div>
|
145
256
|
<div class="box score">
|
146
257
|
<span class="title">Ressources</span>
|
@@ -165,9 +276,77 @@
|
|
165
276
|
</div>
|
166
277
|
</div>
|
167
278
|
{% endif %}
|
168
|
-
|
169
279
|
{% endfor %}
|
170
280
|
</div>
|
171
281
|
</div>
|
172
282
|
{% endfor %}
|
173
283
|
</div>
|
284
|
+
|
285
|
+
<div class="list-actions list-actions-table">
|
286
|
+
<h3>Tableaux des points energie perdus</h3>
|
287
|
+
<div class="grid grid-score">
|
288
|
+
{% for website in site.pagestested limit: 1 %}
|
289
|
+
{% assign lighthouse = site.data.[website].lighthouse[datelastcrawl] %}
|
290
|
+
|
291
|
+
{% assign networkrequests = lighthouse.audits.["network-requests"].details.items %}
|
292
|
+
|
293
|
+
{% if networkrequests.resourceType != 'Document' %}{% if networkrequests.resourceType != 'Other' %}
|
294
|
+
{% assign requests = networkrequests | sort: 'resourceSize'%}
|
295
|
+
{% for request in requests reversed %}
|
296
|
+
{% if request.resourceSize > 30000 %}<div style="grid-area: auto / auto / span 1 / span {{ request.resourceSize | times: 1.00 | divided_by: 6 | times: 50 | divided_by: ecoworth | round: 0 }};position: relative;"><span>{{ request.url }}</span><b class="pointseco" title="{{ request.url }}">{{ request.resourceSize | times: 1.00 | divided_by: 6 | times: 100 | divided_by: ecoworth | round: 0 }}</b></div>{% endif %}
|
297
|
+
{% endfor %}
|
298
|
+
{% endif %}{% endif %}
|
299
|
+
|
300
|
+
{% endfor %}
|
301
|
+
</div>
|
302
|
+
|
303
|
+
|
304
|
+
<h3 class="js-expandmore mb0 mt0" data-hideshow-prefix-class="animated" id="diagnostic-energy">Points energie</h3>
|
305
|
+
<div class="js-to_expand">
|
306
|
+
{% for website in site.pagestested limit: 1 %}
|
307
|
+
{% assign lighthouse = site.data.[website].lighthouse[datelastcrawl] %}
|
308
|
+
|
309
|
+
{% assign networkrequests = lighthouse.audits.["network-requests"].details.items | group_by: "resourceType" %}
|
310
|
+
{% for items in networkrequests %}
|
311
|
+
{% if items.name != 'Document' %}{% if items.name != 'Other' %}{% if items.items %}
|
312
|
+
<h3>{{ items.name }}</h3>
|
313
|
+
<ul>
|
314
|
+
{% assign requests = items.items | sort: 'resourceSize'%}
|
315
|
+
{% for request in requests reversed %}
|
316
|
+
{% if request.resourceSize > 30000 %}<li><a href="{{ request.url }}" title="{{ request.url }}">{{ request.url | slice: 0, 100 }}</a><b>{{ request.resourceSize | filesize }}</b><b class="pointseco">{{ request.resourceSize | times: 1.00 | divided_by: 6 | times: 100 | divided_by: ecoworth | round: 0 }}</b></li>{% endif %}
|
317
|
+
{% endfor %}
|
318
|
+
</ul>
|
319
|
+
{% endif %}{% endif %}{% endif %}
|
320
|
+
{% endfor %}
|
321
|
+
{% endfor %}
|
322
|
+
</div>
|
323
|
+
</div>
|
324
|
+
|
325
|
+
|
326
|
+
<div class="list-actions list-actions-title">
|
327
|
+
{% for website in site.pagestested limit: 1 %}
|
328
|
+
<h3 class="js-expandmore mb0 mt0" data-hideshow-prefix-class="animated" id="diagnostic-quality">Points de conformité</h3>
|
329
|
+
<div class="js-to_expand">
|
330
|
+
<ul>
|
331
|
+
{% assign lighthouse = site.data.[website].lighthouse[datelastcrawl] %}
|
332
|
+
{% assign categories = lighthouse.categories %}
|
333
|
+
{% for audit in lighthouse.audits %}
|
334
|
+
{% for value in audit %}
|
335
|
+
{% if scoreDisplayMode == binary %}
|
336
|
+
{% for categorie in categories %}
|
337
|
+
{% for element in categorie %}
|
338
|
+
{% for auditRef in element.auditRefs %}
|
339
|
+
{% if value.id == auditRef.id %}{% assign titlecategorie = element.title %}{% endif %}
|
340
|
+
{% endfor %}
|
341
|
+
{% endfor %}
|
342
|
+
{% endfor %}
|
343
|
+
{% if value.score < 0.6 %}<li class="{{ titlecategorie | slugify }}" data-title="{{ titlecategorie }}">{{ value.title }}{% if value.displayValue contains 'Potential' %} <b>{{ value.displayValue }}</b>{% endif %}</li>{% endif %}
|
344
|
+
{% endif %}
|
345
|
+
{% endfor %}
|
346
|
+
{% endfor %}
|
347
|
+
</ul>
|
348
|
+
</div>
|
349
|
+
{% endfor %}
|
350
|
+
</div>
|
351
|
+
|
352
|
+
<br>
|
data/_includes/styles.html
CHANGED
@@ -4,6 +4,7 @@
|
|
4
4
|
<div class="table">
|
5
5
|
{% for data in file %}
|
6
6
|
{% assign stylestats = site.data.accueil.stylestats[data] %}
|
7
|
+
|
7
8
|
{% if stylestats %}
|
8
9
|
<div class="grid">
|
9
10
|
<div class="box date">
|
@@ -23,16 +24,32 @@
|
|
23
24
|
{% endfor %}
|
24
25
|
</div>
|
25
26
|
|
26
|
-
<h3>
|
27
|
+
<h3>Couleurs</h3>
|
27
28
|
<p>Liste des couleurs de la charte graphique. Supprimer les couleurs trop similaires ou non utilisées.</p>
|
28
29
|
|
29
|
-
{%
|
30
|
-
{%
|
31
|
-
|
30
|
+
{% assign stylestats = site.data.accueil.stylestats[datelastcrawl] %}
|
31
|
+
{% assign wallace = site.data.accueil.wallace[datelastcrawl] %}
|
32
|
+
|
33
|
+
{% assign totalcolor = "" %}
|
34
|
+
{% for color in wallace["values.colors.unique"] %}
|
35
|
+
{% assign totalcolor = totalcolor | plus: color.count %}
|
36
|
+
{% assign totalcolornumber = forloop.length %}
|
37
|
+
{% endfor %}
|
38
|
+
|
39
|
+
<h4>{{ totalcolornumber }} couleurs différentes</h4>
|
40
|
+
|
41
|
+
{% if wallace %}
|
42
|
+
<div class="flex-list-color">
|
43
|
+
{% for color in wallace["values.colors.unique"] %}
|
44
|
+
<div style='background:{{ color.value }};width: calc(({{ color.count }} / {{ totalcolor }}) * 100%);'><span style='border: 1px solid {{ color.value }};'>{{ color.value }}</span></div>
|
45
|
+
{% endfor %}
|
46
|
+
<br>
|
47
|
+
</div>
|
48
|
+
{% endif %}
|
49
|
+
|
32
50
|
{% if stylestats %}
|
33
51
|
{% for value in stylestats %}
|
34
52
|
{% if value[0] == "uniqueColors" %}
|
35
|
-
<p><strong><span>Date</span> : {{ data | date: "%d %b %y" }}</strong></p>
|
36
53
|
<div class="table">
|
37
54
|
<div class="grid">
|
38
55
|
{% for color in value[1] %}
|
@@ -45,6 +62,3 @@
|
|
45
62
|
{% endif %}
|
46
63
|
{% endfor %}
|
47
64
|
{% endif %}
|
48
|
-
|
49
|
-
{% endif %}
|
50
|
-
{% endfor %}
|
data/_layouts/default.html
CHANGED
@@ -1,14 +1,22 @@
|
|
1
1
|
<html>
|
2
2
|
|
3
3
|
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<link href="https://gmpg.org/xfn/11" rel="profile">
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
4
7
|
<link rel="stylesheet" href="/assets/css/styles.css">
|
8
|
+
<meta name="subject" content="{{ site.subject }}">
|
9
|
+
<meta name="generator" content="jekyll v{{ jekyll.version }}">
|
10
|
+
<meta itemprop="name" content="{% if page.title %}{{ page.title }}{% endif %} | {% if page.description %}{{ page.description }} - {% endif %}{{ site.name }}">
|
11
|
+
<meta itemprop="description" content="{{ site.subject}}">
|
12
|
+
<meta name="robots" content="{{ site.robots }}">
|
5
13
|
</head>
|
6
14
|
|
7
15
|
<body>
|
8
16
|
|
9
17
|
<header class="wrapper">
|
10
18
|
<p><a href="/">Accueil</a></p>
|
11
|
-
<h1>Monitoring performance
|
19
|
+
<h1>Monitoring performance <small>- {{ site.title }}</small></h1>
|
12
20
|
</header>
|
13
21
|
|
14
22
|
<div class="wrapper">
|
@@ -24,4 +32,11 @@
|
|
24
32
|
run();
|
25
33
|
</script>
|
26
34
|
{% endif %}
|
35
|
+
<script>
|
36
|
+
// var link = document.querySelector(".js-expandmore")
|
37
|
+
// link.addEventListener("click", function(){
|
38
|
+
// history.pushState("", document.title, window.location.pathname);
|
39
|
+
// window.location.href.substr(0, window.location.href.indexOf('#'))
|
40
|
+
// });
|
41
|
+
</script>
|
27
42
|
</html>
|