monitoring-jekyll-theme 0.4.2 → 0.5.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 +3 -2
- data/_includes/actions/energy.html +39 -0
- data/_includes/actions/quality.html +25 -0
- data/_includes/index/energy.html +54 -0
- data/_includes/index/loading.html +21 -0
- data/_includes/index/position.html +30 -0
- data/_includes/index/quality.html +28 -0
- data/_includes/index/score.html +172 -0
- data/_includes/index/security.html +25 -0
- data/_includes/index/styles.html +20 -0
- data/_includes/statistiques.html +15 -347
- data/_includes/value/lastfiledate.html +14 -0
- data/_layouts/default.html +70 -4
- data/assets/css/styles.css +136 -88
- data/assets/fonts/IBMPlexMono-Medium.woff2 +0 -0
- data/assets/fonts/PublicSans-Black.woff2 +0 -0
- data/assets/fonts/PublicSans-ExtraLight.woff2 +0 -0
- data/assets/fonts/PublicSans-Light.woff2 +0 -0
- data/assets/js/frappe-charts.min.iife.js +0 -1
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8758ea8e62f0b5e6a40222e6e28823f2cae3891b70b94581d23cc207d7c7baef
|
4
|
+
data.tar.gz: 1e4f25a3f454c34eaa6ccbb9c9c879b80ca23e5cfb2809670fb1727f57cd963d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c35c6861de22d1e7a195e28c46e3fe3b67b3c157c14cc9610af363f340f7564f7b739379831d54384ae42c669dbcdd64927f992bbabd65719ff52ec0e53499a9
|
7
|
+
data.tar.gz: 2cc714b1d0cb1d0cdf5a94eeb81130ad1d4f84f9ce1f51d440adf032feafdccbc7968444c7f0ddd2305099a25b948e2e37cd7b4f2c45ff2d3f05822e21d52d58
|
data/README.md
CHANGED
@@ -29,7 +29,7 @@
|
|
29
29
|
### Caractères à remplacer
|
30
30
|
|
31
31
|
_Regular expression in all files_
|
32
|
-
|
32
|
+
|
33
33
|
find \_data/ -name '_.json' -exec sed -i 's/{"charset": "(.\*)"}//g' {} \\;
|
34
34
|
replace \\/ => / seocli
|
35
35
|
|
@@ -43,7 +43,7 @@ replace \\/ => / seocli
|
|
43
43
|
- <https://developers.google.com/webmaster-tools/search-console-api-original/v3/searchanalytics/query>
|
44
44
|
- <https://ahrefs.com/fr/website-authority-checker>
|
45
45
|
- <https://web.dev/measure>
|
46
|
-
-
|
46
|
+
- <https://www.thinkwithgoogle.com/intl/fr-fr/feature/testmysite/>
|
47
47
|
|
48
48
|
## Ressources
|
49
49
|
|
@@ -54,6 +54,7 @@ replace \\/ => / seocli
|
|
54
54
|
### Bibliothèques
|
55
55
|
|
56
56
|
- <https://github.com/bartveneman/constyble>
|
57
|
+
- <https://github.com/sethblack/python-seo-analyzer>
|
57
58
|
|
58
59
|
### Articles
|
59
60
|
|
@@ -0,0 +1,39 @@
|
|
1
|
+
<div class="list-actions list-actions-table">
|
2
|
+
{% for website in site.pagestested limit: 1 %}
|
3
|
+
{% assign lighthouse = site.data.[website].lighthouse[datelastcrawl] %}
|
4
|
+
{% assign total = 0 %}
|
5
|
+
{% assign networkrequests = lighthouse.audits.["network-requests"].details.items %}
|
6
|
+
{% if networkrequests.resourceType != 'Document' %}{% if networkrequests.resourceType != 'Other' %}
|
7
|
+
{% assign requests = networkrequests | sort: 'transferSize'%}
|
8
|
+
{% for request in requests reversed %}{% assign total = total | plus: request.transferSize %}{% endfor %}
|
9
|
+
{% endif %}{% endif %}
|
10
|
+
{% endfor %}
|
11
|
+
<h3>Tableaux des points energie perdus</h3>
|
12
|
+
<div class="grid grid-score">
|
13
|
+
{% for request in requests reversed %}
|
14
|
+
{% if request.transferSize > 32000 %}<div style="grid-area: auto / auto / span 1 / span {{ request.transferSize | 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.transferSize | times: 1.00 | times: 5 | divided_by: 6 | times: 100 | divided_by: ecoworth | round: 0 }}</b></div>{% endif %}
|
15
|
+
{% endfor %}
|
16
|
+
</div>
|
17
|
+
|
18
|
+
|
19
|
+
<h3 class="js-expandmore mb0 mt0" data-hideshow-prefix-class="animated" id="diagnostic-energy">Points energie</h3>
|
20
|
+
<div class="js-to_expand">
|
21
|
+
{% for website in site.pagestested limit: 1 %}
|
22
|
+
{% assign lighthouse = site.data.[website].lighthouse[datelastcrawl] %}
|
23
|
+
|
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
|
+
{% endfor %}
|
36
|
+
{% endfor %}
|
37
|
+
</div>
|
38
|
+
</div>
|
39
|
+
<br><br>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<div class="list-actions list-actions-title">
|
2
|
+
{% for website in site.pagestested limit: 1 %}
|
3
|
+
<h3 class="js-expandmore mb0 mt0" data-hideshow-prefix-class="animated" id="diagnostic-quality">Points de conformite</h3>
|
4
|
+
<div class="js-to_expand">
|
5
|
+
<ul>
|
6
|
+
{% assign lighthouse = site.data.[website].lighthouse[datelastcrawl] %}
|
7
|
+
{% assign categories = lighthouse.categories %}
|
8
|
+
{% for audit in lighthouse.audits %}
|
9
|
+
{% for value in audit %}
|
10
|
+
{% if scoreDisplayMode == binary %}
|
11
|
+
{% for categorie in categories %}
|
12
|
+
{% for element in categorie %}
|
13
|
+
{% for auditRef in element.auditRefs %}
|
14
|
+
{% if value.id == auditRef.id %}{% assign titlecategorie = element.title %}{% endif %}
|
15
|
+
{% endfor %}
|
16
|
+
{% endfor %}
|
17
|
+
{% endfor %}
|
18
|
+
{% if value.score < 0.6 %}<li class="{{ titlecategorie | slugify }}" data-title="{{ titlecategorie }}">{{ value.title | xml_escape}}{% if value.displayValue contains 'Potential' %} <b>{{ value.displayValue }}</b>{% endif %}</li>{% endif %}
|
19
|
+
{% endif %}
|
20
|
+
{% endfor %}
|
21
|
+
{% endfor %}
|
22
|
+
</ul>
|
23
|
+
</div>
|
24
|
+
{% endfor %}
|
25
|
+
</div>
|
@@ -0,0 +1,54 @@
|
|
1
|
+
{% assign gpagespeed = site.data.[website].gpagespeed[datelastcrawl] %}
|
2
|
+
{% assign yellowlabtools = site.data.[website].yellowlabtools[datelastcrawl] %}
|
3
|
+
{% assign lighthouse = site.data.[website].lighthouse[datelastcrawl] %}
|
4
|
+
{% assign moz = site.data.[website].moz[datelastcrawl]%}
|
5
|
+
{% assign stylestats = site.data.[website].stylestats[datelastcrawl] %}
|
6
|
+
{% assign observatory = site.data.[website].observatory[datelastcrawl] %}
|
7
|
+
|
8
|
+
{% assign indexes = "" | split: ',' %}
|
9
|
+
{% assign indexesname = "Accessibilité,Bonnes pratiques,Performance,SEO,PWA,Speed Index" | split: ',' %}
|
10
|
+
{% comment %}{% endcomment %}
|
11
|
+
{% 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 %}
|
12
|
+
|
13
|
+
{% comment %}Calcul du score moyen à partir des données httparchive{% endcomment %}
|
14
|
+
{% assign domaverage = 600 | times: 3 %}{% assign httpaverage = 74 | times: 2 %}
|
15
|
+
{% assign ecoaverage = domaverage | plus: httpaverage | plus: 2000000 | times: 5 | divided_by: 6 %}
|
16
|
+
|
17
|
+
{% comment %}Calcul du score le meilleur à partir du site bertrandkeller.info {% endcomment %}
|
18
|
+
{% assign dombest = 150 | times: 3 %}{% assign httpbest = 15 | times: 2 %}
|
19
|
+
{% assign ecobest = dombest | plus: httpbest | plus: 130000 | times: 5 | divided_by: 6 %}
|
20
|
+
|
21
|
+
{% comment %}Calcul du score pour le site le pire{% endcomment %}
|
22
|
+
{% assign domworth = 3000 | times: 3 %}{% assign httpworth = 120 | times: 2 %}
|
23
|
+
{% assign ecoworth = domworth | plus: httpworth | plus: 5000000 | times: 5 | divided_by: 6 %}
|
24
|
+
|
25
|
+
{% comment %}Calcul du score le meilleur{% endcomment %}
|
26
|
+
{% assign ecobestscore = ecobest | times: 100 | divided_by: ecoworth %}
|
27
|
+
|
28
|
+
{% comment %}Calcul de la valeur du site audité{% endcomment %}
|
29
|
+
{% assign dom = lighthouse.audits["dom-size"].details.items[0].value | replace: ",","" | times: 3 %}{% assign http = lighthouse.audits.diagnostics.details.items[0].numRequests | times: 2 %}
|
30
|
+
{% assign eco = dom | plus: http | plus: lighthouse.audits.diagnostics.details.items[0].totalByteWeight | times: 5 | divided_by: 6 %}
|
31
|
+
|
32
|
+
{% assign ecodiviser = ecoworth | minus: ecobest %}
|
33
|
+
|
34
|
+
{% if lighthouse %}
|
35
|
+
<div class="progress progress-bar flex">
|
36
|
+
<div><h4>Energie</h4></div>
|
37
|
+
<div>
|
38
|
+
<div class="progress-bar-element">
|
39
|
+
<div>
|
40
|
+
<!-- <div class="progress-bar-tooltip" style="transform: translate(50%,-50%);background: rgba(34,150,30,1);">Max</div> -->
|
41
|
+
<div class="progress-bar-tooltip" style="left: {{ ecoaverage | minus: ecobest | times: 100 | divided_by: ecodiviser }}%;">Moyenne grands sites</div>
|
42
|
+
<div class="progress-bar-tooltip" style="left: {{ eco | minus: ecobest | times: 100 | divided_by: ecodiviser }}%;;z-index:2">{{ site.title }}</div>
|
43
|
+
<!-- <div class="progress-bar-tooltip" style="background: rgba(176,2,2,1);">Min</div> -->
|
44
|
+
</div>
|
45
|
+
<div>
|
46
|
+
<!-- <div class="progress-bar-score" style="transform: translate(50%,35%);color: rgba(34,150,30,1);">Good</div> -->
|
47
|
+
<div class="progress-bar-score" style="left: {{ ecoaverage | minus: ecobest | times: 100 | divided_by: ecodiviser }}%;">{{ ecoaverage | minus: ecobest | times: 100 | divided_by: ecodiviser | minus: 100 | times: -1 }}</div>
|
48
|
+
<div class="progress-bar-score" style="left: {{ eco | minus: ecobest | times: 100 | divided_by: ecodiviser }}%;z-index:2">{{ eco | minus: ecobest | times: 100 | divided_by: ecodiviser | minus: 100 | times: -1 }}</div>
|
49
|
+
<!-- <div class="progress-bar-score" style="color: rgba(176,2,2,1);">Bad</div> -->
|
50
|
+
</div>
|
51
|
+
</div>
|
52
|
+
</div>
|
53
|
+
</div>
|
54
|
+
{% endif %}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
{% if lighthouse %}
|
2
|
+
<div class="progress progress-number flex">
|
3
|
+
<div>
|
4
|
+
<h4>Chargement</h4>
|
5
|
+
</div>
|
6
|
+
<div>
|
7
|
+
<ul>
|
8
|
+
<li>
|
9
|
+
<b>{{ lighthouse.audits.diagnostics.details.items[0].numRequests | times: 2 }}</b><br>
|
10
|
+
Requetes
|
11
|
+
</li>
|
12
|
+
<li>
|
13
|
+
<b>{{ lighthouse.audits["dom-size"].details.items[0].value | replace: ",","" }}</b><br>
|
14
|
+
Elements DOM
|
15
|
+
</li>
|
16
|
+
<li><b>{{ lighthouse.audits.diagnostics.details.items[0].totalByteWeight | times: 1 | filesize }}</b><br>Poids
|
17
|
+
de la page</li>
|
18
|
+
</ul>
|
19
|
+
</div>
|
20
|
+
</div>
|
21
|
+
{% endif %}
|
@@ -0,0 +1,30 @@
|
|
1
|
+
{% if moz %}
|
2
|
+
<div class="progress progress-circular flex">
|
3
|
+
<div><h4>Position</h4></div>
|
4
|
+
<div>
|
5
|
+
<ul>
|
6
|
+
{% for authority in site.data.[website].moz[datelastcrawl] %}
|
7
|
+
{% for element in authority limit: 2 %}
|
8
|
+
{% assign score = element[1] | times: 1 %}
|
9
|
+
<li data-name="{{ element[0] }}" data-percent="{{ score }}">
|
10
|
+
{% 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%}
|
11
|
+
<svg viewbox="-10 -10 220 220" class="{{ color }}">
|
12
|
+
<g fill="none" stroke-width="15" transform="translate(100,100)">
|
13
|
+
<path d="M 0,-100 A 100,100 0 0,1 86.6,-50" />
|
14
|
+
<path d="M 86.6,-50 A 100,100 0 0,1 86.6,50" />
|
15
|
+
<path d="M 86.6,50 A 100,100 0 0,1 0,100" />
|
16
|
+
<path d="M 0,100 A 100,100 0 0,1 -86.6,50" />
|
17
|
+
<path d="M -86.6,50 A 100,100 0 0,1 -86.6,-50" />
|
18
|
+
<path d="M -86.6,-50 A 100,100 0 0,1 0,-100" />
|
19
|
+
</g>
|
20
|
+
</svg>
|
21
|
+
<svg viewbox="-10 -10 220 220">
|
22
|
+
<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>
|
23
|
+
</svg>
|
24
|
+
</li>
|
25
|
+
{% endfor %}
|
26
|
+
{% endfor %}
|
27
|
+
</ul>
|
28
|
+
</div>
|
29
|
+
</div>
|
30
|
+
{% endif %}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
{% if lighthouse %}
|
2
|
+
<div class="progress progress-circular flex">
|
3
|
+
<div><h4>Qualite</h4></div>
|
4
|
+
<div>
|
5
|
+
<ul>
|
6
|
+
{% for index in indexes %}
|
7
|
+
{% assign score = index | times: 100 | round %}
|
8
|
+
<li data-name="{{ indexesname[forloop.index0] }}" data-percent="{{ score }}%">
|
9
|
+
{% 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%}
|
10
|
+
<svg viewbox="-10 -10 220 220" class="{{ color }}">
|
11
|
+
<g fill="none" stroke-width="15" transform="translate(100,100)">
|
12
|
+
<path d="M 0,-100 A 100,100 0 0,1 86.6,-50" />
|
13
|
+
<path d="M 86.6,-50 A 100,100 0 0,1 86.6,50" />
|
14
|
+
<path d="M 86.6,50 A 100,100 0 0,1 0,100" />
|
15
|
+
<path d="M 0,100 A 100,100 0 0,1 -86.6,50" />
|
16
|
+
<path d="M -86.6,50 A 100,100 0 0,1 -86.6,-50" />
|
17
|
+
<path d="M -86.6,-50 A 100,100 0 0,1 0,-100" />
|
18
|
+
</g>
|
19
|
+
</svg>
|
20
|
+
<svg viewbox="-10 -10 220 220">
|
21
|
+
<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>
|
22
|
+
</svg>
|
23
|
+
</li>
|
24
|
+
{% endfor %}
|
25
|
+
</ul>
|
26
|
+
</div>
|
27
|
+
</div>
|
28
|
+
{% endif %}
|
@@ -0,0 +1,172 @@
|
|
1
|
+
<div class="js-tabs" data-existing-hx="h2" data-tabs-prefix-class="tabs">
|
2
|
+
<ul class="js-tablist">
|
3
|
+
{% for website in site.pagestested %}
|
4
|
+
<li class="js-tablist__item">
|
5
|
+
<a href="#id_{{ forloop.index }}" class="js-tablist__link">{{ website }}</a>
|
6
|
+
</li>
|
7
|
+
{% endfor %}
|
8
|
+
</ul>
|
9
|
+
|
10
|
+
{% for website in site.pagestested %}
|
11
|
+
|
12
|
+
{% assign labels = "" | split: ',' %}
|
13
|
+
{% assign ttfb = "" | split: ',' %}
|
14
|
+
{% assign tti = "" | split: ',' %}
|
15
|
+
{% assign score = "" | split: ',' %}
|
16
|
+
|
17
|
+
{% for data in file %}
|
18
|
+
{% if site.data.[website].gpagespeed[data] %}
|
19
|
+
{% assign date = data | date: "%d/%m/%y" | prepend: "'" | append: "'" %}
|
20
|
+
{% assign labels = labels | push: date %}
|
21
|
+
{% assign ttfb = ttfb | push: site.data.[website].yellowlabtools[data].toolsResults.phantomas.metrics.timeToFirstByte %}
|
22
|
+
{% assign tti = tti | push: site.data.[website].yellowlabtools[data].toolsResults.phantomas.metrics.domContentLoadedEnd %}
|
23
|
+
{% assign score = score | push: site.data.[website].gpagespeed[data].ruleGroups.SPEED.score %}
|
24
|
+
{% endif %}
|
25
|
+
{% endfor %}
|
26
|
+
|
27
|
+
<div id="id_{{ forloop.index }}" class="js-tabcontent">
|
28
|
+
<h3>{{ website }}</h3>
|
29
|
+
|
30
|
+
<div class="flex">
|
31
|
+
<div>
|
32
|
+
<strong>Temps de chargement</strong>
|
33
|
+
<div id="chart-{{ website }}-1" class="ct-chart"></div>
|
34
|
+
|
35
|
+
<script>
|
36
|
+
var data{{ website }}1 = {
|
37
|
+
labels: [{{ labels | join: ', ' }}],
|
38
|
+
datasets: [{
|
39
|
+
values: [{{ tti | join: ', ' }}]
|
40
|
+
}],
|
41
|
+
// yMarkers: [{
|
42
|
+
// label: "budget",
|
43
|
+
// value: 650,
|
44
|
+
// options: {
|
45
|
+
// labelPos: 'left'
|
46
|
+
// }
|
47
|
+
// }]
|
48
|
+
};
|
49
|
+
|
50
|
+
let chart{{ website}}1 = new frappe.Chart("#chart-{{ website }}-1", {
|
51
|
+
data: data{{ website }}1,
|
52
|
+
...frappeoptions
|
53
|
+
})
|
54
|
+
|
55
|
+
</script>
|
56
|
+
</div>
|
57
|
+
<div>
|
58
|
+
<strong>Score</strong>
|
59
|
+
<div id="chart-{{ website }}-2" class="ct-chart"></div>
|
60
|
+
|
61
|
+
<script>
|
62
|
+
var data{{ website }}2 = {
|
63
|
+
labels: [{{ labels | join: ', ' }}],
|
64
|
+
datasets: [{
|
65
|
+
values: [{{ score | join: ', ' }}]
|
66
|
+
}],
|
67
|
+
};
|
68
|
+
|
69
|
+
let chart{{ website }}2 = new frappe.Chart("#chart-{{ website }}-2", {
|
70
|
+
data: data{{ website }}2,
|
71
|
+
...frappeoptions
|
72
|
+
})
|
73
|
+
|
74
|
+
</script>
|
75
|
+
</div>
|
76
|
+
</div>
|
77
|
+
|
78
|
+
{% assign score = 0 %}
|
79
|
+
{% assign timeToFirstByte = 0 %}
|
80
|
+
|
81
|
+
<div class="table">
|
82
|
+
|
83
|
+
{% for data in file %}
|
84
|
+
|
85
|
+
{% assign gpagespeed = site.data.[website].gpagespeed[data] %}
|
86
|
+
{% assign yellowlabtools = site.data.[website].yellowlabtools[data] %}
|
87
|
+
{% assign lighthouse = site.data.[website].lighthouse[data] %}
|
88
|
+
|
89
|
+
{% if gpagespeed %}
|
90
|
+
|
91
|
+
<div class="grid">
|
92
|
+
<div class="box date">
|
93
|
+
<span>Date</span>
|
94
|
+
<p>{{ data | date: "%d %b %y" }}</p>
|
95
|
+
</div>
|
96
|
+
<div class="box score">
|
97
|
+
<span class="title">Score</span>
|
98
|
+
<span class="number">{{ gpagespeed.ruleGroups.SPEED.score | round }}</span>
|
99
|
+
{% if forloop.index != 1 %}<span
|
100
|
+
class="score-difference{% if score > gpagespeed.ruleGroups.SPEED.score %} score-up{% endif %}{% if score < gpagespeed.ruleGroups.SPEED.score %} score-down{% endif %}"></span>{% endif %}
|
101
|
+
{% assign score = gpagespeed.ruleGroups.SPEED.score %}
|
102
|
+
</div>
|
103
|
+
<div class="box score">
|
104
|
+
<span class="title">TTI</span>
|
105
|
+
<span class="number">{{ yellowlabtools.toolsResults.phantomas.metrics.domContentLoadedEnd | round }}</span>
|
106
|
+
<i>ms</i>
|
107
|
+
{% if forloop.index != 1 %}<span
|
108
|
+
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
|
+
{% assign timeToFirstByte = yellowlabtools.toolsResults.phantomas.metrics.domContentLoadedEnd %}
|
110
|
+
</div>
|
111
|
+
<div class="box score">
|
112
|
+
<span class="title">TTFC</span>
|
113
|
+
<span class="number">{{ yellowlabtools.toolsResults.phantomas.metrics.timeToFirstCss | round }}</span>
|
114
|
+
<i>ms</i>
|
115
|
+
{% if forloop.index != 1 %}<span
|
116
|
+
class="score-difference{% if timeToFirstCss > yellowlabtools.toolsResults.phantomas.metrics.timeToFirstCss %} score-down{% endif %}{% if timeToFirstCss < yellowlabtools.toolsResults.phantomas.metrics.timeToFirstCss %} score-up{% endif %}"></span>{% endif %}
|
117
|
+
{% assign timeToFirstCss = yellowlabtools.toolsResults.phantomas.metrics.timeToFirstCss %}
|
118
|
+
</div>
|
119
|
+
<div class="box score">
|
120
|
+
<span class="title">Total Bytes</span>
|
121
|
+
<span class="number">{{ gpagespeed.pageStats.totalRequestBytes | round }}</span> <i>kb</i>
|
122
|
+
{% if forloop.index != 1 %}<span
|
123
|
+
class="score-difference{% if totalRequestBytes > gpagespeed.pageStats.totalRequestBytes %} score-down{% endif %}{% if totalRequestBytes < gpagespeed.pageStats.totalRequestBytes %} score-up{% endif %}"></span>{% endif %}
|
124
|
+
{% assign totalRequestBytes = gpagespeed.pageStats.totalRequestBytes %}
|
125
|
+
</div>
|
126
|
+
<!-- <div class="box score">
|
127
|
+
<span class="title">Images Bytes</span>
|
128
|
+
<span class="number">{{ gpagespeed.pageStats.imageResponseBytes | round }}</span> <i>kb</i>
|
129
|
+
</div> -->
|
130
|
+
<div class="box score">
|
131
|
+
<span class="title">HTML Size</span>
|
132
|
+
<span class="number">{{ yellowlabtools.toolsResults.phantomas.metrics.htmlSize | round }}</span>
|
133
|
+
<i>kb</i>
|
134
|
+
{% if forloop.index != 1 %}<span
|
135
|
+
class="score-difference{% if htmlSize > yellowlabtools.toolsResults.phantomas.metrics.htmlSize %} score-down{% endif %}{% if htmlSize < yellowlabtools.toolsResults.phantomas.metrics.htmlSize %} score-up{% endif %}"></span>{% endif %}
|
136
|
+
{% assign htmlSize = yellowlabtools.toolsResults.phantomas.metrics.htmlSize %}
|
137
|
+
</div>
|
138
|
+
<div class="box score">
|
139
|
+
<span class="title">JS Size</span>
|
140
|
+
<span class="number">{{ yellowlabtools.toolsResults.phantomas.metrics.jsSize | round }}</span> <i>kb</i>
|
141
|
+
{% if forloop.index != 1 %}<span
|
142
|
+
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 %}
|
143
|
+
{% assign numberResources = yellowlabtools.toolsResults.phantomas.metrics.jsSize %}
|
144
|
+
</div>
|
145
|
+
<div class="box score">
|
146
|
+
<span class="title">Ressources</span>
|
147
|
+
<span class="number">{{ gpagespeed.pageStats.numberResources | round }}</span>
|
148
|
+
{% if forloop.index != 1 %}<span
|
149
|
+
class="score-difference{% if numberResources > gpagespeed.pageStats.numberResources %} score-down{% endif %}{% if numberResources < gpagespeed.pageStats.numberResources %} score-up{% endif %}"></span>{% endif %}
|
150
|
+
{% assign numberResources = gpagespeed.pageStats.numberResources %}
|
151
|
+
</div>
|
152
|
+
<div class="box score">
|
153
|
+
<span class="title">Requests</span>
|
154
|
+
<span class="number">{{ yellowlabtools.toolsResults.phantomas.metrics.httpsRequests | round }}</span>
|
155
|
+
{% if forloop.index != 1 %}<span
|
156
|
+
class="score-difference{% if httpsRequests > yellowlabtools.toolsResults.phantomas.metrics.httpsRequests %} score-down{% endif %}{% if httpsRequests < yellowlabtools.toolsResults.phantomas.metrics.httpsRequests %} score-up{% endif %}"></span>{% endif %}
|
157
|
+
{% assign httpsRequests = yellowlabtools.toolsResults.phantomas.metrics.httpsRequests %}
|
158
|
+
</div>
|
159
|
+
<div class="box score">
|
160
|
+
<span class="title">Not Found</span>
|
161
|
+
<span class="number">{{ yellowlabtools.toolsResults.phantomas.metrics.notFound | round }}</span>
|
162
|
+
{% if forloop.index != 1 %}<span
|
163
|
+
class="score-difference{% if notFound > yellowlabtools.toolsResults.phantomas.metrics.notFound %} score-down{% endif %}{% if notFound < yellowlabtools.toolsResults.phantomas.metrics.notFound %} score-up{% endif %}"></span>{% endif %}
|
164
|
+
{% assign notFound = yellowlabtools.toolsResults.phantomas.metrics.notFound %}
|
165
|
+
</div>
|
166
|
+
</div>
|
167
|
+
{% endif %}
|
168
|
+
{% endfor %}
|
169
|
+
</div>
|
170
|
+
</div>
|
171
|
+
{% endfor %}
|
172
|
+
</div>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
{% if observatory %}
|
2
|
+
<div class="progress progress-number flex">
|
3
|
+
<div>
|
4
|
+
<h4>Securite</h4>
|
5
|
+
</div>
|
6
|
+
<div>
|
7
|
+
{% assign score = 0 %}
|
8
|
+
{% for rules in observatory %}
|
9
|
+
{% for rule in rules %}
|
10
|
+
{% assign score = score | plus: rule.score_modifier %}
|
11
|
+
{% endfor %}
|
12
|
+
{% endfor %}
|
13
|
+
<div class="progress-bar-element">
|
14
|
+
<div>
|
15
|
+
<div class="progress-bar-tooltip" style="left: {% if score < -100 %}100{% else %}{{ score | times: -1 }}{% endif %}%;z-index:2">{{ website }}</div>
|
16
|
+
</div>
|
17
|
+
<div>
|
18
|
+
<!-- <div class="progress-bar-score" style="transform: translate(50%,35%);color: rgba(34,150,30,1);">Good</div> -->
|
19
|
+
<div class="progress-bar-score" style="left: {% if score < -100 %}100{% else %}{{ score | times: -1 }}{% endif %}%;z-index:2">{% if score < -100 %}0{% else %}{{ 100 | plus: score }}{% endif %}</div>
|
20
|
+
<!-- <div class="progress-bar-score" style="color: rgba(176,2,2,1);">Bad</div> -->
|
21
|
+
</div>
|
22
|
+
</div>
|
23
|
+
</div>
|
24
|
+
</div>
|
25
|
+
{% endif %}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
{% if stylestats %}
|
2
|
+
<div class="progress progress-number flex">
|
3
|
+
<div>
|
4
|
+
<h4>Performance</h4>
|
5
|
+
</div>
|
6
|
+
<div>
|
7
|
+
<ul>
|
8
|
+
<li>
|
9
|
+
<b>{{ lighthouse.audits.metrics.details.items[0].observedFirstMeaningfulPaint | times: 1.000 | divided_by: 1000 | round: 2 }} s</b><br>Debut affichage
|
10
|
+
</li>
|
11
|
+
<li>
|
12
|
+
<b>{{ lighthouse.audits.metrics.details.items[0].observedLastVisualChange | times: 1.000 | divided_by: 1000 | round: 2 }} s</b><br>Fin affichage
|
13
|
+
</li>
|
14
|
+
<li>
|
15
|
+
<b>{{ lighthouse.audits.metrics.details.items[0].totalBlockingTime | times: 1.000 | divided_by: 1000 | round: 2 }} s</b><br>Temps de blocage
|
16
|
+
</li>
|
17
|
+
</ul>
|
18
|
+
</div>
|
19
|
+
</div>
|
20
|
+
{% endif %}
|