monitoring-jekyll-theme 0.4.2 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- 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 %}
|