Fix infos
parent
fbc421701a
commit
e30ba6873d
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,166 @@
|
|||
/**
|
||||
* Définition des marges de la page
|
||||
*/
|
||||
|
||||
@page {
|
||||
margin: 2cm;
|
||||
}
|
||||
|
||||
@media print {
|
||||
/**
|
||||
* Reset global de toutes les propriétés
|
||||
*/
|
||||
* {
|
||||
all: unset;
|
||||
display: revert;
|
||||
}
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
*,
|
||||
*:before,
|
||||
*:after,
|
||||
*:first-letter,
|
||||
p:first-line,
|
||||
div:first-line,
|
||||
blockquote:first-line,
|
||||
li:first-line {
|
||||
background: transparent !important;
|
||||
color: #000 !important;
|
||||
box-shadow: none !important;
|
||||
text-shadow: none !important;
|
||||
}
|
||||
|
||||
img {
|
||||
max-width: 100%;
|
||||
}
|
||||
input,
|
||||
textarea,
|
||||
select {
|
||||
all: revert;
|
||||
}
|
||||
|
||||
/**
|
||||
* Taille de polices globales (13pt=16px), couleur de texte et de fond
|
||||
* Famille de police en serif (avec empattements)
|
||||
*/
|
||||
|
||||
body {
|
||||
font-family: Georgia, "Times New Roman", Times, serif;
|
||||
font-size: 13pt;
|
||||
line-height: 1.5;
|
||||
background-color: #fff!important;
|
||||
color: #000!important;
|
||||
}
|
||||
h1 {
|
||||
font-size: 24pt;
|
||||
}
|
||||
h2 {
|
||||
font-size: 20pt;
|
||||
margin-top: 20pt;
|
||||
}
|
||||
h3,
|
||||
h4 {
|
||||
font-size: 14pt;
|
||||
margin-top: 14pt;
|
||||
}
|
||||
h5,
|
||||
h6 {
|
||||
font-size: 13pt;
|
||||
margin-top: 14pt;
|
||||
}
|
||||
|
||||
/**
|
||||
* Lignes veuves et orphelines
|
||||
*/
|
||||
|
||||
p,
|
||||
blockquote,
|
||||
figcaption {
|
||||
orphans: 3; /* pas de ligne seule en bas */
|
||||
widows: 3; /* pas de ligne seule en haut */
|
||||
}
|
||||
|
||||
/**
|
||||
* Sauts de pages
|
||||
*/
|
||||
|
||||
ul,
|
||||
ol,
|
||||
dl,
|
||||
a,
|
||||
table,
|
||||
pre,
|
||||
blockquote {
|
||||
page-break-inside: avoid; /* pas de sauts au sein de ces élements */
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6,
|
||||
img,
|
||||
figure,
|
||||
caption {
|
||||
page-break-inside: avoid; /* pas de sauts au sein de ces élements */
|
||||
page-break-after: avoid; /* pas de saut après ces éléments */
|
||||
}
|
||||
|
||||
ul,
|
||||
ol,
|
||||
dl {
|
||||
page-break-before: avoid; /* pas de sauts avant de ces élements */
|
||||
}
|
||||
|
||||
/**
|
||||
* Liens
|
||||
*/
|
||||
|
||||
a,
|
||||
a:link,
|
||||
a:visited {
|
||||
background: transparent !important;
|
||||
color: unset;
|
||||
font-weight: 700;
|
||||
text-decoration: underline !important;
|
||||
}
|
||||
|
||||
a[href^=http]:after,
|
||||
a[href^=https]:after,
|
||||
{
|
||||
content: " (" attr(href) ")"; /* affichage des URL des liens externes */
|
||||
}
|
||||
abbr[title]:after {
|
||||
content: ' (' attr(title) ')';
|
||||
}
|
||||
|
||||
/**
|
||||
* Masquage des vidéos
|
||||
*/
|
||||
|
||||
video,
|
||||
object,
|
||||
iframe {
|
||||
display: none !important;
|
||||
width: 0 !important;
|
||||
height: 0 !important;
|
||||
overflow: hidden !important;
|
||||
}
|
||||
|
||||
/**
|
||||
* Classes utilitaires
|
||||
*/
|
||||
|
||||
.u-print {
|
||||
display: block;
|
||||
display: revert !important; /* affichage des éléments de classe u-print */
|
||||
}
|
||||
.no-print {
|
||||
display: none !important; /* masquage des éléments de classe u-no-print */
|
||||
}
|
||||
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
function addCopyButtons(clipboard) {
|
||||
document.querySelectorAll('pre > code').forEach(function (codeBlock) {
|
||||
var button = document.createElement('button');
|
||||
button.className = 'copy-code-button';
|
||||
button.className = 'copy-code-button no-print';
|
||||
button.type = 'button';
|
||||
button.innerText = "{{ .btnTxtCopy }}";
|
||||
|
||||
|
|
|
@ -22,7 +22,8 @@ de requêtes sur la base de données (**Grafana**, …)
|
|||
|
||||
## Installation
|
||||
|
||||
Sous OpenBSD, **influxdb** est disponible en tant que paquet.
|
||||
Sous OpenBSD ≤ 7.3, **influxdb** est disponible en tant que paquet,
|
||||
dans sa version **1.x**.
|
||||
|
||||
Un groupe `_influx` et un utilisateur `_influx` sont créés.
|
||||
|
||||
|
|
|
@ -0,0 +1,174 @@
|
|||
---
|
||||
categories: ['Debian','Système','Base']
|
||||
date: 2024-02-03T14:21:48+01:00
|
||||
description: "Virtualiser Windows 11 sous Debian Sid avec QEMU"
|
||||
draft: true
|
||||
include_toc: true
|
||||
show_comments: false
|
||||
tags: ['Debian','Virtualisation','Windows','QEMU']
|
||||
title: "[Debian :: Virtualisation] Windows 11"
|
||||
translationKey: "debian-vm-windows11"
|
||||
---
|
||||
|
||||
; https://www.debugpoint.com/install-windows-ubuntu-virt-manager/
|
||||
; https://www.debugpoint.com/kvm-share-folder-windows-guest/
|
||||
|
||||
|
||||
; https://getlabsdone.com/how-to-enable-tpm-and-secure-boot-on-kvm/
|
||||
; https://getlabsdone.com/how-to-install-windows-11-on-kvm/
|
||||
|
||||
; https://www.linux-kvm.org/page/WindowsGuestDrivers/Download_Drivers
|
||||
|
||||
;; WinFSP
|
||||
; https://winfsp.dev/rel/
|
||||
;; virtio-win-guest-tools
|
||||
; https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win-guest-tools.exe
|
||||
|
||||
## Description
|
||||
|
||||
Abordons la virtualisation de Windows 11, sous Debian Sid, avec QEMU.
|
||||
|
||||
## Pré-requis
|
||||
|
||||
### Windows 11
|
||||
|
||||
Le téléchargement de l'image ISO de Windows 11 se fait depuis :
|
||||
https://www.microsoft.com/software-download/windows11
|
||||
|
||||
Procurez-vous légalement une clé de licence Windows.
|
||||
|
||||
⇒ Les prérequis minimum pour une [machine virtuelle exécutant Windows](https://learn.microsoft.com/fr-fr/windows/whats-new/windows-11-requirements#virtual-machine-support) 11 sont les suivants :
|
||||
|
||||
- 64 Go de stockage
|
||||
- 4 Go mémoire
|
||||
- 2 CPU virtuels
|
||||
|
||||
### QEMU
|
||||
|
||||
QEMU doit être installé:
|
||||
|
||||
```dash
|
||||
$ sudo apt install bridge-utils libosinfo-bin qemu-system virt-manager
|
||||
```
|
||||
|
||||
- `bridge-utils` est une suite d'outils pour configurer un pont Ethernet sous Linux.
|
||||
- `libosinfo-bin` est un outil pour interroger la base de données osinfo.
|
||||
- `virt-manager`est une application de bureau pour gérer des machines virtuelles.
|
||||
|
||||
### TPM, Secure-Boot, UEFI
|
||||
|
||||
Parmi les pré-requis de Windows 11, il y a la gestion :
|
||||
|
||||
- de TPM.
|
||||
- du Secure Boot
|
||||
- et de l'UEFI.
|
||||
|
||||
Il nous installer les binaires suivants :
|
||||
|
||||
```dash
|
||||
$ sudo apt install ovmf swtpm-tools
|
||||
```
|
||||
|
||||
### Client graphique
|
||||
|
||||
Pour accéder à l'interface graphique de la VM, au choix
|
||||
- le serveur Spice (par défaut)
|
||||
- ou VNC.
|
||||
|
||||
#### Spice
|
||||
|
||||
Par défaut l'interface graphique de la VM est configurée sur **spice**.
|
||||
|
||||
Il faut installer les paquets **spice-vdagent** et **spice-client-gtk** :
|
||||
|
||||
```dash
|
||||
$ sudo apt install spice-vdagent spice-client-gtk
|
||||
```
|
||||
|
||||
#### VNC
|
||||
|
||||
Pour utiliser l'interface graphique avec le serveur VNC, un client comme
|
||||
**tigervnc-viewer** peut être suffisant.
|
||||
|
||||
```dash
|
||||
$ sudo apt install tigervnc-viewer
|
||||
```
|
||||
|
||||
## Création de la VM
|
||||
|
||||
### Droits utilisateur
|
||||
|
||||
Ajoutez votre utilisateur au groupe **libvirt**, voire **libvirt-qemu**.
|
||||
|
||||
```dash
|
||||
$ sudo adduser your-id libvirt libvirt-qemu
|
||||
```
|
||||
|
||||
### Mode CLI
|
||||
|
||||
Partant du principe d'un répertoire dédié dans votre homme, nommé **VM** :
|
||||
|
||||
1. Création de la VM:
|
||||
|
||||
```dash
|
||||
$ name=Win11Test
|
||||
$ size=64
|
||||
$ cd ~/VM
|
||||
$ qemu-img create -f qcow2 "${ROOT}${name}.qcow2" "${size}G"
|
||||
```
|
||||
|
||||
2. Démarrage de l'installation :
|
||||
|
||||
```dash
|
||||
$ isofile=Win11_23H2_French_x64v2.iso
|
||||
$ ROOT="$(pwd)/"
|
||||
$ graphic=spice
|
||||
$ virt-install --accelerate --cdrom "${ROOT}${isofile}" --connect qemu:///system --disk device=disk,format=qcow2,path="${ROOT}${name}.qcow2",size="${size}",target.bus=sata,target.dev=sda,type=file --graphics type="${graphic}" --hvm --machine q35 --name ${name} --os-variant detect=on,name=win11 --memory 4096,maxMemory=16384 --network bridge=br0,model.type=e1000,type=bridge --tpm emulator,version=2.0 --vcpus 2,maxvcpus=4
|
||||
|
||||
```
|
||||
|
||||
`--filesystem mode=passthrough,source="${ROOT}foldername-to-share",target="C:\Users\your-id\hostshare",type=mount`
|
||||
`--graphics type=spice`
|
||||
`--os firmware=efi,firmware.feature.enabled=yes,firmware.feature.name=enrolled-keys,firmware.feature.name=secure-boot,loader="/usr/share/OVMF/OVMF_CODE_4M.ms.fd",loader.readonly=yes,loader.secure=yes,loader.type=pflash,type=x86_64 \`
|
||||
### Virt-manager
|
||||
|
||||
|
||||
## Partage
|
||||
|
||||
Le moyen le plus simple actuellement pour partager des copier-coller,
|
||||
des fichiers entre l'hôte et l'invité est l'utilisation du serveur **spice**.
|
||||
|
||||
D'autres possibilités sont l'usage de SSHFS, voire Samba, qui ne seront
|
||||
pas abordés dans cet article.
|
||||
|
||||
|
||||
Sur l'hôte :
|
||||
|
||||
```dash
|
||||
$ sudo apt install qemu-guest-agent spice-vdagent
|
||||
```
|
||||
|
||||
### Copier-coller
|
||||
|
||||
|
||||
|
||||
### Partager un répertoire
|
||||
|
||||
Pour partager un répertoire entre l'hôte Linux et la VM sous Windows,
|
||||
il y a quelques étapes supplémentaires à pratiquer.
|
||||
|
||||
## Documentations
|
||||
|
||||
|
||||
|
||||
## Remerciements
|
||||
|
||||
Tout particulièrement à @Clochette ;)
|
||||
|
||||
---
|
||||
|
||||
***Enjoy-IT! <br>
|
||||
Enjoy-ID!***
|
||||
|
||||
---
|
||||
|
|
@ -92,9 +92,9 @@ votre session X. C'est "automatique".
|
|||
* Nécessite v76 ≥
|
||||
|
||||
|
||||
### Modules
|
||||
### Extensions
|
||||
|
||||
Les modules suivants semblent essentiels :
|
||||
Les extensions suivantes semblent essentielles :
|
||||
|
||||
* μblock origin
|
||||
* decentraleyes
|
||||
|
@ -102,11 +102,6 @@ Les modules suivants semblent essentiels :
|
|||
|
||||
#### KeePassXC-Browser
|
||||
|
||||
{{<note warning>}}
|
||||
Ne semble pas vouloir communiquer avec Chromium !
|
||||
{{</note>}}
|
||||
|
||||
|
||||
Depuis OpenBSD 6.6, le logiciel de confidentialité
|
||||
**{{< inside2 l="sys/openbsd/keepassxc" t="KeePassXC" >}}** est installable.
|
||||
|
||||
|
@ -119,11 +114,15 @@ module **KeePassXC-Browser**.
|
|||
Lire la page **KeePassXC** pour avoir plus d'informations concernant le
|
||||
module {{< inside2 l="sys/openbsd/keepassxc" t="KeePassXC-Browser" a="keepassxc-browser" >}}
|
||||
|
||||
##### Unveil règle KeepassXC Proxy
|
||||
##### Unveil et KeepassXC Proxy
|
||||
|
||||
Ajouter au {{< anchor "fichier de configuration unveil" "unveil" >}} de
|
||||
Chromium `unveil.main` : <br>
|
||||
`/usr/local/bin/keepassxc-proxy rx`
|
||||
Chromium `unveil.main` :
|
||||
|
||||
```ini
|
||||
/usr/local/bin r
|
||||
/usr/local/bin/keepassxc-proxy rx
|
||||
```
|
||||
|
||||
Ainsi le proxy de KeePassXC pourra communiquer avec le module
|
||||
KeePassXC-Browser.
|
||||
|
@ -139,6 +138,11 @@ limiter les appels systèmes et les accès au système de fichier.
|
|||
par défaut, Chromium ne pourra lire et écrire que dans le dossier de
|
||||
téléchargements de l'utilisateur.
|
||||
|
||||
Retrouvez ces fichiers dans le répertoire `/etc/chromium` et tout particulièrement :
|
||||
|
||||
- `/etc/chromium/pledge.main`
|
||||
- `/etc/chromium/unveil.main`
|
||||
|
||||
### WebRTC
|
||||
|
||||
Par défaut, Chromium a accès au périphérique `/dev/video`.
|
||||
|
|
|
@ -238,7 +238,7 @@ Vous pouvez aussi essayer à {{< inside2 l="sys/openbsd/pkg" t="installer" a="in
|
|||
que : `/usr/local/bin/thunderbird`
|
||||
* sinon créez-la en ajoutant une "nouvelle chaîne" *(`new string`)*
|
||||
|
||||
### Modules
|
||||
### Extensions
|
||||
|
||||
#### KeePassXC-Browser
|
||||
|
||||
|
@ -253,12 +253,15 @@ le module **KeePassXC-Browser**.
|
|||
Lire la page **KeePassXC** pour avoir plus d'informations concernant le
|
||||
module {{< inside2 l="sys/openbsd/keepassxc" t="KeePassXC-Browser" a="keepassxc-browser" >}}
|
||||
|
||||
##### Unveil règle KeePassXC Proxy
|
||||
##### Unveil et KeePassXC Proxy
|
||||
|
||||
Ajouter au {{< anchor "fichier de configuration unveil" "support-pledge-et-unveil" >}}
|
||||
de firefox `unveil.main` :
|
||||
|
||||
`/usr/local/bin/keepassxc-proxy rx`
|
||||
```ini
|
||||
/usr/local/bin r
|
||||
/usr/local/bin/keepassxc-proxy rx
|
||||
```
|
||||
|
||||
Ainsi le proxy de KeePassXC pourra communiquer avec le module
|
||||
KeePassXC-Browser.
|
||||
|
@ -303,9 +306,12 @@ relancez Firefox.
|
|||
* Avant OpenBSD 6.7 : Par défaut, unveil est désactivé !
|
||||
|
||||
Les permissions pour chaque type de processus sont localisées par défaut
|
||||
dans des fichiers contenus dans `etc/firefox` qui est une copie de
|
||||
dans des fichiers contenus dans `/etc/firefox` qui est une copie de
|
||||
`/usr/local/lib/firefox/browser/defaults/preferences/` lors de
|
||||
l'installation.
|
||||
l'installation, principalement :
|
||||
|
||||
- `/etc/firefox/pledge.main`
|
||||
- `/etc/firefox/unveil.main`
|
||||
|
||||
#### Gestion MIME paquets tiers
|
||||
|
||||
|
|
|
@ -24,6 +24,47 @@ consentement.
|
|||
**{{< inside2 l="sys/openbsd/pkg" t="Installez" a="installer" >}} le
|
||||
paquet `iridium`**.
|
||||
|
||||
## Configuration
|
||||
|
||||
### Extensions
|
||||
|
||||
#### KeePassXC-Browser
|
||||
|
||||
Depuis OpenBSD 6.6, le logiciel de confidentialité
|
||||
**{{< inside2 l="sys/openbsd/keepassxc" t="KeePassXC" >}}** est installable.
|
||||
|
||||
Pour fonctionner correctement avec iridium, il est nécessaire
|
||||
d'{{< inside2 l="sys/openbsd/pkg" t="installer" a="installer" >}} le
|
||||
module **KeePassXC-Browser**.
|
||||
|
||||
* https://chrome.google.com/webstore/detail/keepassxc-browser/oboonakemofpalcgghocfoadofidjkkk
|
||||
|
||||
Lire la page **KeePassXC** pour avoir plus d'informations concernant le
|
||||
module {{< inside2 l="sys/openbsd/keepassxc" t="KeePassXC-Browser" a="keepassxc-browser" >}}
|
||||
|
||||
##### Unveil et KeepassXC Proxy
|
||||
|
||||
Ajouter au {{< anchor "fichier de configuration unveil" "unveil" >}} de
|
||||
iridium `unveil.main` :
|
||||
|
||||
```ini
|
||||
/usr/local/bin r
|
||||
/usr/local/bin/keepassxc-proxy rx
|
||||
```
|
||||
|
||||
Ainsi le proxy de KeePassXC pourra communiquer avec le module
|
||||
KeePassXC-Browser.
|
||||
|
||||
### Support Pledge et Unveil
|
||||
|
||||
iridium sur OpenBSD est sécurisé par pledge(2) et unveil(2) - afin de
|
||||
limiter les appels systèmes et les accès au système de fichier.
|
||||
|
||||
Retrouvez ces fichiers dans le répertoire `/etc/chromium` et tout particulièrement :
|
||||
|
||||
- `/etc/iridium/pledge.main`
|
||||
- `/etc/iridium/unveil.main`
|
||||
|
||||
## Dépannage
|
||||
|
||||
### Protonmail
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
<p class="is-right">
|
||||
{{ i18n "countWords" . }}<br>
|
||||
{{ i18n "pTxtSrcMd" }}<a class="raw-src" href="{{ .Site.Params.git4MD }}/{{.Lang}}/{{ .File.Path }}" title="Source Markdown"><i class="fa fa-markdown" aria-hidden="true"></i></a>
|
||||
{{ if .GitInfo }}<br>Commit version : <em><a class="raw-src" href="{{ .Site.Params.git4Commit }}{{ .GitInfo.Hash }}" title="Commit">{{ .GitInfo.AbbreviatedHash }}</a></em>{{ end }}
|
||||
{{ if .GitInfo }}<br><span class="no-print"Commit version : ><em><a class="raw-src" href="{{ .Site.Params.git4Commit }}{{ .GitInfo.Hash }}" title="Commit">{{ .GitInfo.AbbreviatedHash }}</a></em></span>{{ end }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,10 +1,13 @@
|
|||
<p>
|
||||
This content is under the
|
||||
<a href="http://creativecommons.org/publicdomain/zero/1.0/deed.{{ .lang }}" title="Creative Commons 1.0 Universal Public Domain Dedication">
|
||||
<i aria-hidden="true" class="fa fa-creative-commons"></i> <i aria-hidden="true" class="fa fa-cc-zero"></i><span aria-hidden="true" class="hidden">CC-0</span></a> licence, or Public Domain</p>
|
||||
<p>
|
||||
<i aria-hidden="true" class="fa fa-creative-commons"></i> <i aria-hidden="true" class="fa fa-cc-zero"></i><span aria-hidden="true" class="hidden">CC-0</span>
|
||||
</a> licence, or Public Domain
|
||||
</p>
|
||||
<p class="no-print">
|
||||
This site is made with <a href="http://gohugo.io">Hugo</a>,
|
||||
<a href="http://purecss.io" title="Built with ❤️ using PureCSS"><i aria-hidden="true" class=""></i><span aria-hidden="true" class="">PureCSS</span></a>;
|
||||
<a href="https://forkaweso.me" title="The Fork Awesome Icons"><i aria-hidden="true" class="fa fa-html5" title="HTML 5"></i><span aria-hidden="true" class="hidden">HTML 5</span></a>
|
||||
and <i aria-hidden="true" class="fa fa-css3" title="CSS 3"></i><span aria-hidden="true" class="hidden">CSS 3</span>.</p>
|
||||
and <i aria-hidden="true" class="fa fa-css3" title="CSS 3"></i><span aria-hidden="true" class="hidden">CSS 3</span>.
|
||||
</p>
|
||||
<p><i aria-hidden="true" class="fa fa-copyright"></i> <a href="http://huc.fr.eu.org">{{ i18n "me" }}</a> :: {{ .Dot.Site.Params.homeText }}</p>
|
||||
|
|
|
@ -1,11 +1,14 @@
|
|||
<p>
|
||||
Le contenu de cette page est diffusé sous les termes de la licence
|
||||
<a href="http://creativecommons.org/publicdomain/zero/1.0/deed.{{ .lang }}" title="Creative Commons 1.0 Universal Transfert dans le Domaine Public">
|
||||
<i aria-hidden="true" class="fa fa-creative-commons"></i> <i aria-hidden="true" class="fa fa-cc-zero"></i><span aria-hidden="true" class="hidden">CC-0</span></a>, ou domaine public</p>
|
||||
<p>
|
||||
<i aria-hidden="true" class="fa fa-creative-commons"></i> <i aria-hidden="true" class="fa fa-cc-zero"></i><span aria-hidden="true" class="hidden">CC-0</span>
|
||||
</a>, ou domaine public
|
||||
</p>
|
||||
<p class="no-print">
|
||||
Ce site est généré par <a href="http://gohugo.io">Hugo</a>,
|
||||
<a href="http://purecss.io" title="Fait avec ❤️ avec PureCSS"><i aria-hidden="true" class=""></i><span class="">PureCSS</span></a> +
|
||||
<a href="https://forkaweso.me" title="Les Icônes Fork Awesome"><i aria-hidden="true" class="fa fa-fork-awesome" title="Fork Awesome"></i><span aria-hidden="true" class="hidden">Fork Awesome</span></a> ;
|
||||
<i aria-hidden="true" class="fa fa-html5" title="HTML 5"></i><span class="hidden">HTML 5</span>
|
||||
et <i aria-hidden="true" class="fa fa-css3" title="CSS 3"></i><span aria-hidden="true" class="hidden">CSS 3</span>.</p>
|
||||
et <i aria-hidden="true" class="fa fa-css3" title="CSS 3"></i><span aria-hidden="true" class="hidden">CSS 3</span>.
|
||||
</p>
|
||||
<p><i aria-hidden="true" class="fa fa-copyright"></i> <a href="http://huc.fr.eu.org">{{ i18n "me" }}</a> :: {{ .Dot.Site.Params.homeText | safeHTML }}</p>
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
<div class="pure-u-1 pure-u-md-3-5" id="footer-copyright">
|
||||
{{ if eq .lang "en" }} {{ partial "footer.en.html" (dict "Dot" .Dot "lang" .lang) }} {{ else }} {{ partial "footer.fr.html" (dict "Dot" .Dot "lang" .lang) }} {{ end }}
|
||||
<p>
|
||||
<p class="no-print">
|
||||
{{- if and .Dot.IsHome .Dot.GitInfo -}}
|
||||
Commit version : <em><a class="raw-src" href="{{ $.Site.Params.git4Commit }}{{ .Dot.GitInfo.Hash }}" title="Commit">{{ .Dot.GitInfo.AbbreviatedHash }}</a></em><br>
|
||||
{{ end -}}
|
||||
|
@ -21,7 +21,7 @@
|
|||
</p>
|
||||
</div>
|
||||
|
||||
<div class="is-center pure-u-1 pure-u-md-1-5" id="footer-infos">
|
||||
<div class="is-center no-print pure-u-1 pure-u-md-1-5" id="footer-infos">
|
||||
{{/* {{- partial "switcher-themes" . -}} */}}
|
||||
{{ partialCached "don" (dict "lang" .lang) }}
|
||||
{{ partial "feeds" (dict "Dot" .Dot) }}
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
<link href="/img/favicon.ico" rel="shortcut icon" type="image/x-icon"><!-- integrity="sha512-/IZKAgWA8ajP4kTBYC2/3f+YaYmecd0W5Y38cvMQdKT8sXrjV1V1h4UoqBTnMYSykz9dD0WQYq8sWE+zePWO2Q== sha384-CKCvkSIbj5i2uFPIQbf7HImQ/uFTNU+YbHq3aYHsR11/RgEFfv9Q3c/rwDrDajWP sha256-PoC4C1tkwXPE77pKqs30plVi6xA839nG/SNHH/N502I="> -->
|
||||
<link href="{{ .logo }}" rel="shortcut icon" type="image/svg+xml"><!-- integrity="sha512-mT7mdaD8A7CT7YEeH2V8xBRzTYsk9hGDwBaN8U3rldqCajTuFg2tIyHxyoj8Jgx7pose7Xn2h7IMg7yBTHBfAQ== sha384-Btuu5srpKJ4xoLLUdxjItnIfHrZReYObv2837eYpOGCEjM8NCXdRTCAQwqMZugRM sha256-gfrnRvdMDQlUzPCajS4J81TGDpJYcCjXQjPpKET1vEg="> -->
|
||||
<link href="/sitemap.xml" rel="sitemap">
|
||||
<link href="/{{ .lang }}/sitemap.xml"rel="sitemap">
|
||||
<link href="/{{ .lang }}/sitemap.xml" rel="sitemap">
|
||||
<link href="{{ .baseURL }}{{ .lang }}/" hreflang="{{ .lang }}" rel="start">
|
||||
<link crossorigin="anonymous" href="/css/pure-min.css" integrity="sha384-X38yfunGUhNzHpBaEBsWLO+A0HDYOQi8ufWDkZ0k9e0eXz/tH3II7uKZ9msv++Ls" rel="stylesheet">
|
||||
<link crossorigin="anonymous" href="/css/grids-responsive-min.css" integrity="" rel="stylesheet">
|
||||
|
@ -32,4 +32,8 @@
|
|||
{{ $huc := resources.Get "css/huc.css" }}
|
||||
{{ $global := slice $nav $huc | resources.Concat "css/1.css" }}
|
||||
{{ $css := $global | minify | fingerprint }}
|
||||
<link rel="stylesheet" href="{{ $css.RelPermalink }}" crossorigin="anonymous" integrity="{{ $css.Data.Integrity }}" media="all">
|
||||
<link rel="stylesheet" href="{{ $css.RelPermalink }}" crossorigin="anonymous" integrity="{{ $css.Data.Integrity }}" media="screen">
|
||||
|
||||
{{ $css := resources.Get "css/gutenberg.min.css" | fingerprint }}
|
||||
<link rel="stylesheet" href="{{ $css.RelPermalink }}" crossorigin="anonymous" integrity="{{ $css.Data.Integrity }}" media="print">
|
||||
|
||||
|
|
|
@ -12,9 +12,9 @@
|
|||
<figcaption aria-hidden="true" class="hidden" hidden>Logo</figcaption>
|
||||
</figure>
|
||||
</div>
|
||||
<label for="drop" class="toggle"><i aria-hidden="true" class="fa fa-bars"></i><span aria-hidden="true" class="hidden" hidden>Menu</span></label>
|
||||
<input type="checkbox" id="drop" />
|
||||
<ul aria-labelledby="main-menu" class="menu">
|
||||
<label for="drop" class="no-print toggle"><i aria-hidden="true" class="fa fa-bars"></i><span aria-hidden="true" class="hidden" hidden>Menu</span></label>
|
||||
<input class="no-print" id="drop" type="checkbox" />
|
||||
<ul aria-labelledby="main-menu" class="menu no-print">
|
||||
{{- range .Site.Menus.main -}}
|
||||
{{ if .HasChildren }} {{ $id := print "drop-" .Identifier }}
|
||||
<li class="" role="none">{{ $icon := printf `<i aria-hidden="true" class="%s"></i>` .Pre }} {{ $text := print $icon " " .Name | safeHTML }}
|
||||
|
@ -42,7 +42,7 @@
|
|||
{{ end -}}
|
||||
|
||||
</ul>
|
||||
<ul aria-labelledby="lang-selector" class="menu">
|
||||
<ul aria-labelledby="lang-selector" class="menu no-print">
|
||||
<li class="lang-selector" role="none">
|
||||
{{ partial "language-selector" . }}
|
||||
</li>
|
||||
|
@ -52,7 +52,7 @@
|
|||
|
||||
{{- if not .IsHome }}
|
||||
<ul class="menu">
|
||||
<li class="menu-search" role="none">
|
||||
<li class="menu-search no-print" role="none">
|
||||
<input class="form-control" id="search" placeholder="{{ i18n "searchHolderTitle" }}">
|
||||
<input aria-hidden="true" id="replyer" type="hidden">
|
||||
{{- $baseURL := (printf "%s%s" $.Site.BaseURL $.Site.Language.Lang) | absLangURL -}}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<div id="prev-to-next" class="is-center">
|
||||
<div id="prev-to-next" class="is-center no-print">
|
||||
<hr>
|
||||
<span class="hidden">|</span>
|
||||
{{ if .PrevInSection }}
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
<div class="pgbar"></div>
|
||||
<div class="percent"><span></span> %</div>
|
||||
<div class="no-print pgbar"></div>
|
||||
<div class="no-print percent"><span></span> %</div>
|
||||
|
|
|
@ -7,6 +7,6 @@
|
|||
<i aria-hidden="true" class="fa fa-calendar"></i>
|
||||
<em>
|
||||
{{ i18n "published" . }}<time class="post-date" datetime="{{ $dateTime }}">{{ print $dateCreated }}</time>
|
||||
{{ if gt $dateModifUnix $dateTimeUnix }}{{ T "modified" . }}<time class="post-date" datetime="{{ $dateTimeModif }}">{{ print $dateModified }}</time>{{ end }}<br>
|
||||
<i aria-hidden="true" class="fa fa-clock-o"></i> {{ i18n "timeToRead" .ReadingTime }}
|
||||
{{ if gt $dateModifUnix $dateTimeUnix }}{{ T "modified" . }}<time class="post-date" datetime="{{ $dateTimeModif }}">{{ print $dateModified }}</time>{{ end }}<br>
|
||||
<i aria-hidden="true" class="fa fa-clock-o"></i> {{ i18n "timeToRead" .ReadingTime }}
|
||||
</em>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
{{/* at least one header to link to */}}
|
||||
{{- $has_headers := ge (len $headers) 1 -}}
|
||||
{{- if $has_headers -}}
|
||||
<div id="toc" class="bg-dark">
|
||||
<div id="toc" class="bg-dark no-print">
|
||||
<details>
|
||||
<summary>
|
||||
<b class="">{{ i18n "tocTitle" . }}</b>
|
||||
|
|
|
@ -1 +1 @@
|
|||
<div class="is-top"><a href="{{ .Permalink | absLangURL }}#top" class="pure-button" title="{{ .Permalink | absLangURL }}">↑ TOP ↑</a></div>
|
||||
<div class="is-top no-print"><a href="{{ .Permalink | absLangURL }}#top" class="pure-button" title="{{ .Permalink | absLangURL }}">↑ TOP ↑</a></div>
|
||||
|
|
Loading…
Reference in New Issue