Afficher les derniers auteurs
| author | version | line-number | content |
|---|---|---|---|
| 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. |