0 Votes

Code source wiki de Accueil

Version 1.2 par john le 2026/09/26 16:39

Afficher les derniers auteurs
1 Page d'accueil de Dashy, définie dans ##conf.yml##. Elle regroupe les services auto-hébergés du serveur principal et du Raspberry Pi, avec leur état, et des widgets de supervision (AdGuard Home, Nextcloud) et d'agrément. Configuration commune et déploiement : [[Dashy>>Wiki Batcave John.Infrastructure.ServeurPrincipal.Dashy.WebHome]].
2
3 == En-tête ==
4
5 {{code language="yaml"}}
6 pageInfo:
7 title: <TITRE>
8 description: <SOUS_TITRE>
9 navLinks:
10 - title: <LIBELLE>
11 target: newtab
12 path: https://<SITE_PERSO>
13 {{/code}}
14
15 Le lien de ##navLinks## s'affiche dans l'en-tête, à côté des liens vers les pages secondaires générés depuis ##pages:##.
16
17 == Sections ==
18
19 |=Section|=Icône|=Items|=Widgets
20 |Jours Fériés|emoji|—|##public-holidays##
21 |Portainer|##docker-compose.png##|Portainer|##clock##
22 |Réseau|emoji|AdGuard Home|##adguard-stats##, ##adguard-filter-status##, ##adguard-top-domains##
23 |Medias|##jellyfin.svg##|Jellyfin|##iframe##, ##chucknorris##
24 |International Time|##fad fa-clock##|—|##clock## (x2)
25 |Productivité|##xwiki.svg##|Nextcloud, Xwiki, Joplin|—
26 |OSINT|emoji|Webcheck, SearchXNG|—
27 |plopplop|##github-light.svg##|—|##image## (x4), ##public-ip##
28 |Stats nextcloud|##nextcloud.svg##|—|##nextcloud-system##, ##joke##
29
30 Toutes les sections sont en ##rows: 1##, ##cols: 1##, visibles des invités (##hideForGuests: false##), c'est-à-dire de tout utilisateur connecté à Authelia. Les sections qui contiennent des liens sont en ##sortBy: random##.
31
32 == Items ==
33
34 Un item est un lien vers un service. Forme utilisée pour les services auto-hébergés :
35
36 {{code language="yaml"}}
37 - title: AdGuard Home
38 description: DNS ad-blocking (RPi)
39 icon: hl-adguard-home
40 url: https://<DOMAINE_ADGUARD>/
41 target: newtab
42 statusCheck: true
43 statusCheckAllowInsecure: true
44 {{/code}}
45
46 * ##statusCheck: true## : Dashy interroge l'URL depuis son serveur et affiche un point vert ou rouge. Activé sur Portainer, AdGuard Home, Jellyfin, Webcheck et SearchXNG. Nextcloud, Xwiki et Joplin n'ont pas de vérification d'état.
47 * ##statusCheckAllowInsecure: true## : accepte un certificat non valide, nécessaire pour Portainer joint en https sur son IP locale (##https:~/~/<IP_SERVEUR>:9443/##).
48 * ##target: newtab## : ouverture dans un nouvel onglet.
49
50 == Widgets ==
51
52 === public-holidays ===
53
54 Affiche les prochains jours fériés du pays choisi. Aucun identifiant.
55
56 {{code language="yaml"}}
57 - type: public-holidays
58 useProxy: false
59 options:
60 country: FR
61 monthsToShow: 6
62 lang: fr
63 {{/code}}
64
65 * ##country## : code pays ISO à deux lettres.
66 * ##monthsToShow## : période couverte, en mois.
67
68 === clock ===
69
70 Affiche l'heure et la date d'un fuseau horaire. Utilisé trois fois : heure locale (section Portainer) et deux fuseaux étrangers (section International Time). Aucun identifiant.
71
72 {{code language="yaml"}}
73 - type: clock
74 options:
75 timeZone: Europe/Paris
76 format: fr-FR
77 {{/code}}
78
79 * ##timeZone## : nom de fuseau IANA (##Europe/Lisbon##, ##Asia/Hong_Kong##...).
80 * ##format## : locale d'affichage de la date et de l'heure.
81 * Les options ##hidedate## et ##chartColor## présentes dans le widget de la section Portainer ne sont pas reconnues par ce widget et sont ignorées. L'option qui masque la date s'écrit ##hideDate##.
82
83 === adguard-stats, adguard-filter-status, adguard-top-domains ===
84
85 Trois widgets pour le serveur [[AdGuard Home>>Wiki Batcave John.Infrastructure.RaspberryPi.AdGuard Home.WebHome]] du Raspberry Pi :
86
87 * ##adguard-stats## : nombre de requêtes DNS, requêtes bloquées et temps de traitement moyen ;
88 * ##adguard-filter-status## : état de la protection et des listes de filtrage ;
89 * ##adguard-top-domains## : domaines les plus demandés.
90
91 {{code language="yaml"}}
92 - type: adguard-stats
93 useProxy: true
94 options:
95 hostname: http://<IP_ADGUARD>:3000
96 username: <UTILISATEUR_ADGUARD>
97 password: <MOT_DE_PASSE_ADGUARD>
98 {{/code}}
99
100 Les trois widgets prennent les mêmes options :
101
102 * ##hostname## : adresse de l'interface web d'AdGuard Home, sans chemin ni barre oblique finale.
103 * ##username## / ##password## : identifiants de l'interface web d'AdGuard Home, définis à l'assistant d'installation (ou dans ##AdGuardHome.yaml##, section ##users##). Ils sont envoyés en authentification HTTP Basic.
104 * ##useProxy: true## : AdGuard Home n'envoie pas d'en-têtes CORS. La requête passe par ##/cors-proxy## ; derrière SWAG, ##<IP_ADGUARD>## doit figurer dans ##allowed_internal##.
105
106 === iframe ===
107
108 Intègre une page ou un fichier distant dans un cadre. Utilisé ici pour afficher la bannière de soutien à l'April. Aucun identifiant.
109
110 {{code language="yaml"}}
111 - type: iframe
112 options:
113 url: >-
114 https://www.april.org/files/banniere_horizontale_soutien_adherent_fulltext_300x100.png
115 frameHeight: 100
116 {{/code}}
117
118 * ##frameHeight## : hauteur du cadre en pixels.
119 * Le site intégré doit autoriser l'affichage en iframe (pas d'en-tête ##X-Frame-Options: DENY##).
120
121 === chucknorris ===
122
123 Affiche une blague Chuck Norris au hasard, en anglais. Ni option ni identifiant.
124
125 {{code language="yaml"}}
126 - type: chucknorris
127 {{/code}}
128
129 === image ===
130
131 Affiche une image à partir de son adresse. Utilisé quatre fois pour les cartes SVG de l'instance locale de github-readme-stats : statistiques du profil et trois dépôts épinglés.
132
133 {{code language="yaml"}}
134 - type: image
135 options:
136 imagePath: http://<IP_SERVEUR>:9000/api?username=<UTILISATEUR_GITHUB>&title_color=98ace9&text_color=fff&icon_color=98ace9&bg_color=282a36&border_radius=5&locale=fr&count_private=true&show_icons=true&hide_border=true
137 - type: image
138 options:
139 imagePath: http://<IP_SERVEUR>:9000/api/pin?username=<UTILISATEUR_GITHUB>&repo=<DEPOT>&title_color=98ace9&text_color=fff&icon_color=98ace9&bg_color=282a36&border_radius=5&locale=fr&hide_border=true&show_owner=true
140 {{/code}}
141
142 * Les couleurs (##bg_color=282a36##, ##title_color=98ace9##) reprennent le thème Dracula.
143 * Pas d'identifiant dans Dashy : le jeton GitHub (##PAT_1##) reste dans la stack github-readme-stats, voir la section github-readme-stats de la page [[Dashy>>Wiki Batcave John.Infrastructure.ServeurPrincipal.Dashy.WebHome]].
144 * L'image est chargée directement par le navigateur, sans proxy, depuis une adresse locale en http : les cartes ne s'affichent que depuis le LAN, et un navigateur peut les bloquer comme contenu mixte quand Dashy est consulté en https.
145
146 === public-ip ===
147
148 Affiche l'adresse IP publique vue depuis le navigateur, avec le fournisseur et la localisation approximative. Aucun identifiant.
149
150 {{code language="yaml"}}
151 - type: public-ip
152 {{/code}}
153
154 === nextcloud-system ===
155
156 Affiche l'état du serveur [[Nextcloud>>Wiki Batcave John.Infrastructure.ServeurPrincipal.Nextcloud.WebHome]] : charge CPU, mémoire et versions, lus dans l'API ##serverinfo## (##/ocs/v2.php/apps/serverinfo/api/v1/info##).
157
158 {{code language="yaml"}}
159 - type: nextcloud-system
160 useProxy: true
161 options:
162 hostname: https://<DOMAINE_NEXTCLOUD>
163 username: <UTILISATEUR_NEXTCLOUD>
164 password: <MOT_DE_PASSE_APPLICATION>
165 {{/code}}
166
167 * ##hostname## : adresse racine de Nextcloud, sans barre oblique finale.
168 * ##password## : un mot de passe d'application, pas le mot de passe du compte. Le créer dans Nextcloud, **Paramètres personnels > Sécurité**, rubrique //Appareils et sessions//, en donnant un nom (par exemple ##dashy##) puis //Créer un nouveau mot de passe d'application//. Il n'est affiché qu'une fois. Le révoquer au même endroit supprime l'accès du widget sans toucher au compte.
169 * ##username## : identifiant de connexion du compte qui a créé le mot de passe d'application, pas son nom d'affichage. Il est sensible à la casse : ##Admin## et ##admin## sont deux comptes différents pour l'API.
170 * Le compte doit être administrateur : l'API ##serverinfo## refuse les statistiques système aux autres comptes. L'application //Monitoring// (##serverinfo##) doit être activée ; elle l'est par défaut.
171 * ##useProxy: true## : l'API OCS de Nextcloud ne répond pas aux requêtes CORS d'une autre origine, le navigateur bloquerait l'appel. Le widget envoie ##Authorization## et ##OCS-APIREQUEST## via ##/cors-proxy##, que le bloc Lua de SWAG transmet. ##hostname## étant un domaine public, aucune entrée n'est nécessaire dans ##allowed_internal##.
172 * Après une migration ou une restauration de Nextcloud, les mots de passe d'application ne sont plus valides : en créer un nouveau et le reporter ici.
173
174 === joke ===
175
176 Affiche une blague au hasard, depuis JokeAPI. Aucun identifiant.
177
178 {{code language="yaml"}}
179 - type: joke
180 useProxy: true
181 options:
182 language: fr
183 {{/code}}
184
185 * ##language## : langue des blagues. JokeAPI en propose peu en français.