A - synthèse des procédures et état de fonctionnement
Rédigé le 13/09/2026, ligne Seedbox-Films ajoutée le 14/09. La colonne « Dernière utilisation connue » est figée à cette date : la valeur vivante est relue chaque matin par le canari et affichée dans le tableau « Procédures » en pied de la page de veille du jour.
Ce que cette page fait
Depuis juin, les procédures se sont multipliées : compression de PDF et de photos, conversion de musique, sauvegardes, synchronisations, tunnels. Chacune a sa page détaillée. Celle-ci les rassemble en une ligne chacune — quoi, où, quand, dernière trace, comment vérifier — pour répondre vite à « est-ce que ça tourne encore ? ».
Trois familles selon qui peut les voir : le VPS observe directement ce qui tourne chez lui et, par le tunnel, le NAS ; il ne voit pas le PC. Les procédures du PC laissent donc un petit fichier témoin dans l'arbre Syncthing (Jux-scripts/Etat-Infra/temoins/) à chaque passe réelle, et c'est lui que le canari lit.
Automatiques sur le VPS
Tournent sans intervention. Le canari du matin les relit chaque jour ; toute dérive apparaît dans la page de veille.
| Procédure | Ce qu'elle fait | Où / quand | Dernière utilisation connue | Vérification |
|---|---|---|---|---|
| Sauvegardes VPS → kDrive page 176 | vps_backup.sh : BookStack, Immich, Joplin, Mealie, Readeck, Baïkal + ~/Documents (Syncthing) en 7z vers kDrive. Rotation 7 jours ; copie mensuelle de Documents sur 12 mois. | VPS · cron 2h UTC (14 min, Joplin en tête) | 13/09 02:13 UTC — BILAN 8/8 | tail -3 /opt/backups/backup.log → BILAN 8/8 OK. Première ligne de la veille. |
| Komga-PDF page 220 | Un PDF déposé dans D:\Syncthing\komga-pdf\ revient compressé par StirlingPDF dans komga-compressed/ (−57 à −66 %). Écriture atomique, 3 tentatives, journal persistant. | VPS · service komga-watch (inotify + rebalayage 10 min) | 09/09 — Cuisine et Vins de France 09-10.2026, 59,9 → 20,5 Mio en 62 s | journalctl -u komga-watch -n 20 ; /home/debian/logs/komga_compress.log. Le canari teste le login Stirling chaque matin (panne muette du 7 au 9/09). |
| Komga-Cache page 168 | komga_scan.sh : vfs/refresh du montage kDrive puis scan des 23 bibliothèques, avant le scan interne de Komga à 4 h. Sans lui un fichier déposé reste invisible jusqu'à 72 h. | VPS · cron 3h45 UTC | 13/09 — 23 scans, aucun échec | tail /home/debian/logs/komga_scan.log → aucun echec. |
| Seedbox-Films page 318 | seedbox_films.sh : les films du dossier FILMS de la seedbox (WebDAV) copiés vers kDrive Videos_NAS/video/movies sans toucher le disque du VPS, puis vfs/refresh du montage et scan de la seule bibliothèque Jellyfin « Films récents ». copy jamais sync ; mémoire locale des copies (kDrive liste les gros fichiers frais avec retard). | VPS · cron toutes les 5 min, muet si rien de nouveau | 14/09 — 7 films, 13,4 Gio en 196 s (~73 Mo/s) | tail /home/debian/logs/seedbox_films.log ; sonde « Seedbox-Films » des tâches nocturnes et ligne « Seedbox » du tableau des procédures de la veille. |
| Scan Navidrome page 170 | Quick scan quotidien (titres existants) et full scan hebdomadaire par redémarrage du conteneur (nouveaux albums), après vfs/refresh du montage music. | VPS · cron 4h30 UTC quotidien, lundi 3h UTC complet | 13/09 04:30 UTC | tail /var/log/navidrome_scan.log ; API getScanStatus → scanning:false. |
| Scan Audiobookshelf page 155 | Scan des 36 bibliothèques par l'API (JWT). | VPS · cron 4h UTC | 13/09 — SCAN OK 36/36 | tail /var/log/abs_scan.log → SCAN OK. |
| Compression Joplin page 222 | Images stockées en base PostgreSQL recompressées en JPEG 85 % ; observatoire réécrit sur la page 166. Terminée depuis juin, ne traite que les nouvelles ressources. | VPS · timer systemd 3h UTC | 13/09 — 893 ressources, 396,5 Mo économisés (−77,7 %) | sudo grep -c Traceback /var/log/joplin-compress.log doit rester stable ; page 166 datée du jour. |
| Veille FreshRSS → BookStack page 252 | Page « Veille AAAA-MM-JJ » : articles du jour par thème, dédoublonnés, critères lus dans la page 252. Porte aussi l'état de l'infrastructure et le tableau des procédures. | VPS · cron 5h30 UTC | 13/09 07:30 — page 314, 13 432 caractères | La page du jour existe dans le chapitre 251 ; tail /home/debian/logs/veille_freshrss.log. |
| Canari Etat-Infra page 251 | etat_infra.py : sauvegardes, 17 services web, conteneurs, certificats servis, montages, Syncthing, WireGuard, NAS, Komga-PDF, journaux nocturnes, disque, agenda Baïkal, procédures → JSON du jour, rendu dans la veille. Muet quand tout va bien. | VPS · cron 5h15 UTC | 13/09 07:15 — vert, 0 anomalie | Ligne du haut de la veille (Sonde absente = le collecteur n'a pas tourné) ; /home/debian/logs/etat_infra.log ; python3 etat_infra.py --dry-run. |
| monitor-rclone page 170 | Vérifie les 7 montages FUSE ; si l'un est mort : restart du service rclone puis des conteneurs qui le lisent. Silencieux quand tout va bien. | VPS · cron toutes les 5 min | 12/09 00:20 UTC — recovery de /home/debian/photo (Immich redémarré) | tail /home/debian/logs/rclone-monitor.log ; ligne « interventions depuis hier » de la veille. |
| Montages rclone kDrive page 165 | Six montages media (photo, romans, komga, livres, music, audiobooks) + /mnt/nas_videos pour Jellyfin. Cache VFS full plafonné, sauf video en minimal. RC sur 127.0.0.1 uniquement. | VPS · services systemd permanents | permanent — 7/7 répondent le 13/09 | ls de chaque point de montage ; rclone rc … vfs/stats ; ligne « Montages rclone » de la veille. |
| disk_monitor | Alerte au-delà de 85 % de disque, purge /tmp/rclone-spool* de plus d'une heure (incident du 24/06). | VPS · cron toutes les 30 min | 13/09 20:00 — 78 % | tail /var/log/disk_monitor.log. |
Sur le NAS sasnexte
Le VPS y accède par le tunnel WireGuard (10.0.0.2). Les journaux vivent dans /volume1/homes/SAS_NEXTE/logs/.
| Procédure | Ce qu'elle fait | Où / quand | Dernière utilisation connue | Vérification |
|---|---|---|---|---|
| Synchro NAS → kDrive page 238 | sync_kdrive_complete.sh : miroir rclone sync de audiobooks, music, photo/2026 et Komga vers SYNC-pour_VPS/Sync-SASNEXTE. Version durcie du 28/08 (config absolue, refus de source vide, --max-delete). | NAS · planificateur DSM, quotidien | 13/09 — 4/4 sans CRITICAL | grep -l CRITICAL logs/sync_*_$(date +%Y%m%d)*.log doit être vide ; ligne « NAS sasnexte » de la veille (lecture par ssh). |
| Photos NAS — compression par lots page 285 | Inventaire (photos.sqlite) → lot par album (traiter_lot_nas.py, originaux intacts) → validation dans Synology Photos (supprimer = refuser) → bascule en root (basculer_lot_nas.py --go). Photos < 2 Mo exclues, EXIF/mtime vérifiés. | NAS · manuel, lot par lot | 28/08 — lot 2022 (359 photos, 1,47 Go) en validation ; doublons : 75 fichiers en quarantaine | python3 traiter_lot_nas.py --lot X --lister ; colonne statut de photos.sqlite. |
| Navidrome-Paroles (Beets) page 312 | Conteneur beets-paroles : beet lyrics (LRCLIB) → ecrire_paroles.py (SYLT/USLT seulement) → propager_paroles.sh vers kDrive → full scan Navidrome. Beets n'écrit jamais dans les fichiers. | NAS · manuel, chaîne finir_paroles.sh en setsid | 11-12/09 — 13 139 fichiers écrits, 10 998 paroles synchronisées en base (avant : 15) | Navidrome : compte des titres avec paroles ; conteneur à l'arrêt entre deux passes. Point ouvert : décalage 2-3 s dans le lecteur web. |
| Video → kDrive page 290 | Les 694 Go du partage video copiés dans Private/Videos_NAS/ et vérifiés par rclone check --download ; Jellyfin lit kDrive (×13 plus rapide que le CIFS via WireGuard). | fait le 30/08 · reste : suppression sur le NAS après observation | 30/08 — 0 différence sur 4 056 fichiers, 629 films dans Jellyfin | systemctl status kdrive-video ; montage /mnt/nas_videos dans le canari. |
Sur le poste julie (PC)
Le VPS ne voit pas le PC. Ces procédures déposent un témoin (Jux-scripts/Etat-Infra/temoins/<id>.json, dans l'arbre Syncthing) à chaque passe réelle ; c'est ce témoin que la veille affiche. « Non observé » = aucune passe depuis l'ajout du témoin (13/09).
| Procédure | Ce qu'elle fait | Où / quand | Dernière utilisation connue | Vérification |
|---|---|---|---|---|
| Photos-Caesium page 284 | Dépôt dans D:\Procedures photos\Tofs a compresse\, résultat dans Tofs-compressed\ (caesiumclt q80, EXIF et GPS conservés, −64 % mesuré). Dossiers hors Syncthing volontairement. | PC · tâche planifiée Photos-Caesium (ONLOGON, pythonw), sondage 15 s | 27/08 — 71 photos, 251 → 90 Mo en 22 s | Get-CimInstance Win32_Process -Filter "Name='pythonw.exe'" ; D:\Procedures photos\logs\ ; témoin photos-caesium. |
| Musique-FLAC page 298 | Dépôt dans D:\Musique\FLAC à encoder\, MP3 V0 dans MP3 fait\. Tags lus dans le FLAC, réécrits, relus dans le MP3 et comparés ; durée vérifiée (un FLAC tronqué se convertit sans erreur). | PC · tâche planifiée Musique-FLAC à créer par Julien ; sinon flac_mp3.py à la main | 04/09 — Dry Cleaning, 11 pistes, 824 → 81 Mo en 50 s | D:\Musique\logs\flac_mp3.log ; témoin musique-flac. |
| Livres-ISBN page 300 | inventaire_livres.py (métadonnées lues dans les fichiers) puis resoudre_livres.py (BnF, OpenLibrary) → CSV rangé par rayon, à relire. Lecture seule sur \\NASMAISON\foxy : Julien saisit. | PC · manuel, par lots déposés dans D:\Procedures Calibre\Dossier à renseigner\ | 04-05/09 — lot Cuisine Géo : 619 fichiers, 233 ISBN (41 pré-cochés) | CSV dans D:\Procedures Calibre\ISBN\ ; témoin livres-isbn. |
| Calibre-Metadonnees | Pour les 1 572 livres déjà dans metadata.db : corriger_auteurs.py, resoudre_isbn.py, appliquer_isbn.py (rien sans --go). La source Google de Calibre est morte : seul l'ISBN fonctionne. | PC · manuel, Calibre fermé pour écrire | 31/08 — 76 auteurs corrigeables, 121 ISBN proposés ; relecture en attente | propositions.csv ; fetch-ebook-metadata.exe -I isbn:… rend une fiche complète. |
| Mealie-Recettes page 315 | Note Joplin publiée (carnet « A transcrire dans Mealie » obligatoire) → Claude structure → recette Mealie avec photo, catégories = cuisine, tags = ingrédients. | PC · à la demande, outils MCP lire_note_joplin / creer_recette | 13/09 — köttbullar, brochettes d'espadon | Recette visible dans Mealie ; témoin mealie. |
| Surveillance Blink page 275 | Sonde le module Sync toutes les 30 s et balaie le /24 toutes les 5 min ; CSV dans D:\Logs\Blink\. Mesure seulement, ne réveille rien. | PC · dossier Démarrage (Surveillance Blink.cmd, pythonw) | en service depuis le 30/08 | pythonw.exe présent ; surveiller_blink.py --resume. Non relayé dans la veille (hors Syncthing). |
| Scan LAN page 275 | scan_lan.py --ports : balayage ping, ARP, OUI, ports, DNS inverse du réseau maison. | PC · à la demande | 23/08 — 9 appareils | — |
| PC-Health page 249 | collect_bsod.ps1 (élevé) : arrêts anormaux, codes bugcheck, pilote AMD, SMART → ligne ajoutée au journal de la page 249. | PC · manuel, toutes les 1-2 semaines | 25/08 — 4 épisodes inexpliqués ; action en attente : pilote AMD | Journal de la page 249 ; smartctl -A /dev/pd0 (Unsafe_Shutdown_Count). |
| Kobo — dépôt d'epub page 271 | Un epub déposé dans D:\Syncthing\Kobo\ est servi par nginx à juxjux.ovh/56ifciz, à taper dans le navigateur bêta de la liseuse (USB en panne). | Syncthing + vhost nginx VPS · à la demande | 22/08 — 1 fichier en ligne | curl -I https://juxjux.ovh/56ifciz/ → 200 ; ligne « Kobo » de la veille (date du dernier fichier). |
Liaisons permanentes
Pas des procédures à proprement parler, mais tout le reste repose dessus.
| Procédure | Ce qu'elle fait | Où / quand | Dernière utilisation connue | Vérification |
|---|---|---|---|---|
| Maillage Syncthing page 174 | Un seul dossier afltj-njyuy partagé par 8 appareils, hub VPS. Réplication, pas sauvegarde : la sauvegarde de ~/Documents couvre ce trou depuis le 30/08. | permanent · SyncTrayzor sur le PC (home D:\SyncthingHome) | 13/09 — 3 appareils vus depuis hier | GUI http://127.0.0.1:8384 ; ligne « Syncthing » de la veille (tolérances par appareil dans config.json). |
| Tunnel WireGuard page 245 | VPS 10.0.0.1 (hub) ↔ NAS 10.0.0.2 ↔ PC 10.0.0.3. Lecteur S: → \\10.0.0.2\NEXTE. Le service Windows meurt après un plantage sec ; relance automatique posée le 13/09. | permanent · service Windows + wg0 sur le VPS | 13/09 — poignées de main NAS et PC à la minute | Test-NetConnection 10.0.0.2 -Port 445 côté PC ; sudo wg show côté VPS ; ligne « WireGuard » de la veille. |
| Baïkal + DAVx5 page 247 | Contacts et agenda : Baïkal source de vérité, DAVx5 (15 min) sur le téléphone, InfCloud et Roundcube en web. Sauvegardé chaque nuit. | permanent · conteneurs baikal, roundcube | permanent — agenda affiché chaque matin | Bloc « Agenda » sous la ligne du haut de la veille (lecture directe de db.sqlite) ; curl -X PROPFIND sur /dav.php/. |
| Serveurs MCP | BookStack et kDrive (npm), et les serveurs Python stdlib de Jux-scripts/MCP/ : Portainer, Syncthing, Komga, Navidrome, Readeck, Mealie. | PC · au démarrage de chaque session Claude Code | 13/09 — mcp_mealie.py ajouté | Outils listés en début de session ; un MCP en échec n'apparaît pas. |
Chantiers en attente (relevé du 13/09)
- Musique-FLAC : tâche planifiée
Musique-FLACà créer par Julien dans sa propre console (piège MSIX). - Video → kDrive : suppression des 694 Go sur le NAS, après période d'observation.
- Photos NAS : valider ou refuser le lot 2022 dans Synology Photos, puis
basculer_lot_nas.py --go. - Calibre / Livres-ISBN : relecture des CSV de propositions, saisie manuelle.
- PC : réinstaller le pilote AMD Radeon (cause des
0x50), réappliquerHiberbootEnabled=0et les réglages de vidage. - Joplin :
EVENTS_AUTO_DELETE_ENABLED=1sur la stack 16 (tableeventsà 1 Go) — à appliquer par Julien. - Syncthing : corbeille
trashcan30 j non tranchée. - Immich-SERVER redémarre la nuit — vu par le canari, cause à établir (monitor-rclone est intervenu sur
/home/debian/photole 12/09 à 00:20 UTC). - Ubuntu : désactiver l'ancien service
komga-watchutilisateur, cassé depuis le 23/08.
Ajouter une procédure au tableau
- Une entrée dans
Jux-scripts/Etat-Infra/procedures.json:id,nom,pageBookStack,source(journalavec chemin et motif,dossier,domained'une sonde existante,temoin, oumanuelavec une date), etcadence_heuressi elle doit tourner régulièrement — au-delà la ligne passe « En retard ». - Pour une procédure du PC : appeler
ecrire_temoin("<id>", "résumé")en fin de passe (fonction de dix lignes, déjà présente danscompress_photos.py,flac_mp3.py,isbn_commun.py,joplin_mealie.py). Le témoin ne doit jamais faire échouer la procédure. python3 etat_infra.py --dry-runsur le VPS montre le tableau sans rien publier.
Le tableau de la veille ne lève pas d'alerte en tête de page : c'est un récapitulatif. Les alertes viennent des sondes dédiées (sauvegardes, journaux nocturnes, Komga-PDF, NAS…), qui couvrent déjà ce qui est critique.