Le livre de Claude
Pages de scripts et d'études de Claude Code sur le PC Elio+Jux
- 0_Claude et le Jux_VPS
- A_liens entre Claude et le KDRIVE
- B_les procédures de Claude
- C_ installation de Claude Code dans le VPS juxjux
- 00_Recapitulatif
- 01_Portainer
- 02_Bookstack
- 03_Homarr
- 04_Audiobookshelf
- 05_BentoPDF
- 06_Cadvisor
- 07_Calibre-web
- 08_Dozzle
- 09_FileBrowser
- 10_FreshRSS
- 11_Gitea
- 12_Grafana
- 13_Immich
- 14_Jellyfin
- 15_Joplin
- 16_Kavita
- 17_Komga
- 18_Mealie
- 19_Navidrome
- 20_NodeExporter
- 21_Prometheus
- 22_Readeck
- 23_Syncthing
- 24_Yourls
- 25_StirlingPDF
- 26_JDownloader
- 27 - Rustdesk
- D_la solution contacts et calendrier
- E_la gestion du SWAP du VPS par Claude
- 01_Les recherches de Claude
- 01A_Kdrive_les explorations
- 01_Portainer - les explorations
- 02_Bookstack_les explorations
- 03_Homarr_les explorations
- 04_Audiobookshelf_les explorations
- 05_BentoPDF_les explorations
- 06_Cadvisor_les explorations
- 07_Calibre-web_les explorations
- 08_Dozzle_les explorations
- 09_FileBrowser_les explorations
- 10_FreshRSS_les explorations
- 11_Gitea_les explorations
- 12_Grafana_les explorations
- 13_Immich_les explorations
- 14_Jellyfin_les explorations
- 15_Joplin_les explorations
- 16_Kavita_les explorations
- 17_Komga_les explorations
- 18_Mealie_les explorations
- 19_Navidrome_les explorations
- 20_NodeExporter_les explorations
- 21_Prometheus_les explorations
- 22_Readeck_les explorations
- 23_Syncthing_les explorations
- 24_Yourls_les explorations
- 25_StirlingPDF
- 02_les petites procédures de Claude
- A - synthèse des procédures et état de fonctionnement
- 260801 - Mon Linux OS sur SASNEXTE
- 260528_Essai sur \\NASMAISON\foxy\Géographie\
- 260611_procédure Komga-PDF par Claude sur StirlingPDF
- 260614 - procedure Joplin-compression
- 260615 - Immich performance
- Montages Rclone Sasnexte et Kdrive
- 260727 - Claude en MCP sur le NASmaison
- 260731-Claude et SASNEXTE sur le PC Elio+Jux
- 260827-Tofs à compresse sur le PC Windows
- 260828-Tofs à compresse sur SASNEXTE
- 260830 - Basculement des videos de SASNEXTE vers kDrive
- 260901-reprise des règles du pare-feu de SASNEXTE
- 260903-Capture du texte sur applications Android vers Joplin
- 260904-conversion des fichiers FLAC en MP3 avec Tags vérifiés
- 260904 - ISBN des livres pour indexation Calibre
- 260911- Paroles dans ma musique / paroles sur Navidrome
- 260913-recettes de Joplin vers MEALIE par Claude
- 260914-les films de la Seedbox sur le Kdrive et indexation automatique Jellyfin
- 260916-Proxy pour IP étrangères — les proxys de la seedbox dans Firefox
- 260916-IPTV-Publiques — la télévision publique européenne dans Jellyfin
- 261001-les playlistes de Claude sur Navidrome
- 03_Claude et Ubuntu
- Compétences Claude_QGIS
- 04_Claude et les dépannages informatiques
- 260803-suivi des logs de dysfonctionnement du PC - écrans bleus de la mort
- 260813 - solutions de page Internet pour transfert des epub sur la liseuse Kobo Aura 2
- 260823-Le réglage du pare-feu Portmaster
- 260826-Secure Virtual Machine et Emulateur Android
- 260903 - Mise à jour du pilote AMD
- 05_Claude et les MCP
- Quelles opportunités entre logiciels opensource et les IA
- Retours de Claude et propositions d'intégration
- QGIS MCP
- Inkscape MCP
- LibreOffice MCP
- Baikal MCP pour la gestion des agendas perso et NEXTE et de l'observatoire des tâches
- 06_Veille quotidienne FreshRSS
- 00_Configuration de la veille
- Veille 2026-08-05
- Veille 2026-08-06
- Veille 2026-08-07
- Veille 2026-08-08
- Veille 2026-08-09
- Veille 2026-08-10
- Veille 2026-08-11
- Veille 2026-08-12
- Veille 2026-08-13
- Veille 2026-08-14
- Veille 2026-08-15
- Veille 2026-08-16
- Veille 2026-08-17
- Veille 2026-08-18
- Veille 2026-08-19
- Veille 2026-08-20
- Veille 2026-08-21
- Veille 2026-08-22
- Veille 2026-08-23
- Veille 2026-08-24
- Veille 2026-08-25
- Veille 2026-08-26
- Veille 2026-08-27
- Veille 2026-08-28
- Veille 2026-08-29
- Veille 2026-08-30
- Veille 2026-08-31
- Veille 2026-09-01
- Veille 2026-09-02
- Veille 2026-09-03
- Veille 2026-09-04
- Veille 2026-09-05
- Veille 2026-09-06
- Veille 2026-09-07
- Veille 2026-09-08
- Veille 2026-09-09
- Veille 2026-09-10
- Veille 2026-09-11
- Veille 2026-09-12
- Veille 2026-09-13
- Veille 2026-09-14
- Veille 2026-09-15
- Veille 2026-09-16
- Veille 2026-09-17
- Veille 2026-09-18
- Veille 2026-09-19
- Veille 2026-09-20
- Veille 2026-09-21
- Veille 2026-09-22
- Veille 2026-09-23
- Veille 2026-09-24
- Veille 2026-09-25
- Veille 2026-09-26
- Veille 2026-09-27
- Veille 2026-09-28
- Veille 2026-09-29
- Veille 2026-09-30
- Veille 2026-10-01
- Veille 2026-10-02
- 07_Claude et la domotique de la maison
- 08_Claude et la sécurité digitale du jux's univers
- 09- Claude et la debian-jux
0_Claude et le Jux_VPS
A_liens entre Claude et le KDRIVE
kDrive API REST — Infomaniak
| Paramètre | Valeur |
|---|---|
| Drive ID | 591617 |
| Token Bearer | cnAZannhRpecgAfsQM7QiO4Vqh37g6Ht_hm4f0E6eDihMRaP2ZckKCmW959T5ST2Nv3qhGlqs0ltpNAb |
| Base URL | https://api.infomaniak.com/3/drive/591617 |
Endpoints fonctionnels
| Méthode | Endpoint | Usage |
|---|---|---|
GET |
/files/{dir_id}/files |
Lister le contenu d'un dossier |
GET |
/files/{file_id} |
Métadonnées d'un fichier |
POST |
/upload?directory_id={id}&file_name={name}&conflict=replace&total_size={bytes} |
Uploader un fichier. ⚠ conflict=replace n'est pas accepté par kDrive — l'API répond 422 en silence et l'upload est perdu. C'est ce qui avait cassé toutes les sauvegardes du 2026-06-12 au 2026-06-19. conflict=version crée une nouvelle version. |
Recovery automatique FUSE — monitor-rclone.sh (2026-06-24)
Le script /home/debian/monitor-rclone.sh (cron */5 * * * *) surveille les 5 mounts rclone et effectue une recovery complète si l'un d'eux est mort.
Fonctionnement
Pour chaque mount (/music, /komga, /livres, /audiobookshelf/audiobooks, /photo) :
timeout 10 ls — si inaccessible : sudo systemctl restart (kdrive-music, kdrive-komga, kdrive-livres, rclone-audiobooks, rclone-photo) Attente 5s + vérification que le mount répond Restart des containers Docker associés : /music → navidrome-navidrome-1 /komga → komga /livres → Kavita /audiobookshelf/audiobooks → audiobookshelf /photo → Immich-SERVER Immich-MICROSERVICES
Le script est silencieux quand tout va bien — il ne logue que les pannes et recoveries. Log : /home/debian/logs/rclone-monitor.log
Avant cette refactorisation, le script lançait un rclone mount direct (en parallèle des services systemd) et ne redémarrait pas les containers — le FUSE était remonté mais Navidrome gardait l'ancienne référence corrompue.
Suppression de fichiers — non fonctionnelle (testé 2026-06-09)
Tous les endpoints suivants retournent {"result":"error","error":{"code":"method_not_found"}} :
DELETE /files/{file_id}POST /files/trashavec body{"file_ids":[id]}POST /files/trashavec body{"ids":[id]}POST /files/{file_id}/trashPUT /files/{file_id}avec{"deleted":true}DELETE /filesavec body{"ids":[id]}
La doc officielle (developer.infomaniak.com) n'est pas accessible publiquement. L'endpoint de suppression reste inconnu.
Stratégie de rétention — rotation par jour de la semaine
Puisque la suppression via API ne fonctionne pas, le script de backup utilise une rotation par jour de la semaine (date +%u → 1=lundi … 7=dimanche) avec conflict=version. Résultat : exactement 7 fichiers max par service, les anciens sont écrasés automatiquement chaque semaine.
Script : /opt/backups/vps_backup.sh — cron : 0 2 * * *
Dossiers kDrive (TOOJUX/jux_vps)
| Service | Dossier ID | Exemple de fichier |
|---|---|---|
| BookStack | 1427916 |
bookstack_db_day1.7z |
| Immich | 1427919 |
immich_db_day1.7z |
| Joplin | 1427920 |
joplin_db_day1.7z (~630 Mo) |
| Mealie | 1427921 |
mealie_db_day1.7z |
| Readeck | 1427922 |
readeck_db_day1.7z |
| Baïkal | 1467771 |
baikal_day1.7z (contacts + agendas + config) |
| Documents (dossier Syncthing) | 1485489 |
documents_day1.7z (~489 Mo) — ajouté le 2026-08-30 |
| Documents — mensuel | 1486390 |
documents_month01.7z à month12.7z — année glissante |
Télécharger un fichier depuis kDrive — il faut suivre la redirection (2026-08-30)
Point découvert en testant la restauration d'une sauvegarde. L'endpoint de
téléchargement est en API v2, pas v3, et il répond
302 vers un hôte séparé
(*.download.kdrive.infomaniakusercontent.com) :
curl -sL -H "Authorization: Bearer $TOKEN" -o archive.7z \
"https://api.infomaniak.com/2/drive/591617/files/{file_id}/download"
- Sans
-L, on obtient un fichier de 0 octet et aucune erreur — le piège est silencieux et fait croire à une sauvegarde corrompue. - La variante v3 (
/3/drive/…/download) répond404: l'upload est en v3, le téléchargement en v2. - Débit mesuré VPS → kDrive : 489 Mo téléversés en 6 s (~80 Mo/s).
Sauvegarde du dossier Syncthing ~/Documents (2026-08-30)
Septième service ajouté à /opt/backups/vps_backup.sh.
Le détail du pourquoi est sur la page 23_Syncthing ;
ici, le côté kDrive :
| Dossier kDrive | 1485489 (backups/documents) |
|---|---|
| Fichier (quotidien) | documents_day{1-7}.7z, rotation hebdomadaire comme les autres |
| Fichier (mensuel) | documents_month{01-12}.7z dans le sous-dossier mensuel (1486390) |
| Taille | 489 Mo par nuit (1 760 entrées) |
| Durée | 34 s au total (26 s de compression, 6 s d'upload) |
| Niveau 7z | -mx=1 et non -mx=5 |
Pourquoi -mx=1 : 73 % du volume est le coffre Cryptomator
« Vault 2603 » (fichiers .c9r), déjà
chiffré donc incompressible. Mesuré : -mx=1 rend
2,9 % en 44 s. Monter le niveau coûterait des minutes de CPU
pour un gain nul.
Pourquoi une archive et pas un rclone sync : le remote
kdrive: est un WebDAV vendor = other —
rclone backend features kdrive: renvoie Hashes: [] et une
Precision de 100 ans, autrement dit ni empreinte ni date de
modification exploitables. rclone n'y compare que les tailles et
raterait toute modification à taille constante — typiquement un bloc de
coffre Cryptomator réécrit. L'archive monolithique supprime cette
dépendance.
Restauration vérifiée de bout en bout le 2026-08-30 :
archive re-téléchargée depuis kDrive, 7z t →
Everything is Ok, tar extrait (1 760 entrées,
masterkey.cryptomator présent), et un fichier témoin
comparé à la source — identique à l'octet près.
Profondeur de rétention — copie mensuelle sur un an (2026-08-30)
La rotation par jour de la semaine ne donne que 7 jours de recul : une suppression repérée au bout de huit jours était perdue. Une seconde copie a donc été ajoutée, sur le même principe de nom qui revient — puisque la suppression via l'API kDrive ne fonctionne pas (voir plus haut), on ne purge pas, on écrase un nom déjà pris.
date +%dvaut01→ on produitdocuments_month$(date +%m).7zdans le dossier1486390.- Les autres jours, la fonction sort en succès sans rien faire (ligne « Ignore : copie mensuelle seulement le 1er du mois » au journal), pour ne pas inscrire un faux échec au bilan de fin de log.
- Au bout d'un an,
month08est écrasé par le mois d'août suivant : la fenêtre reste glissante sans aucune purge.
Coût réel : 12 × 489 Mo ≈ 5,9 Go — et non 1,5 Go comme estimé de tête au moment de la décision. kDrive avait 2,0 To libres à cette date, la question ne se pose donc pas.
Le tar est produit par une fonction commune documents_tar(), appelée par
les deux copies. Le 1er du mois l'archive est donc construite deux fois (~33 s de plus) :
c'est le prix de l'indépendance des deux séries — un échec du quotidien n'empêche pas
le mensuel.
B_les procédures de Claude
1/ la sauvegarde quotidienne de la base de données Joplin sur Kdrive (sans images)
5/ 260611 - Komga-PDF
6/ 260614 - Joplin-Compression
C_ installation de Claude Code dans le VPS juxjux
Installation de Claude Code dans le VPS juxjux
Objectif
Pouvoir intervenir sur les containers du VPS (redémarrage, diagnostic, logs, fix rapide) depuis un mobile Android en mobilité, via SSH + tmux + Claude Code CLI directement installé sur le VPS.
Prérequis constatés (2026-07-21)
- Node.js : v20.20.2 déjà présent sur le VPS (Debian) — aucune installation nécessaire
- npm : v10.8.2
- tmux : absent, installé via
sudo apt-get install -y tmux(v3.3a-3)
Installation de Claude Code CLI
Installation en local user (pas de sudo npm install -g) pour éviter de faire tourner le CLI en root et éviter les conflits de permissions npm globales :
mkdir -p ~/.npm-global
npm config set prefix '~/.npm-global'
npm install -g @anthropic-ai/claude-code
Ajout du PATH dans ~/.bashrc :
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
Version installée : 2.1.197
Authentification
Choix retenu : login OAuth avec le compte claude.ai (Julien, plan Claude Pro) — pas de clé API Anthropic séparée, donc pas de facturation à l'usage additionnelle.
Procédure suivie (le VPS est headless, pas de navigateur local) :
- Lancer
claudedans une session tmux dédiée (tmux new-session -d -s claude) pour que la session survive à une déconnexion SSH - Choisir "Claude account with subscription" au login
- Le CLI affiche une URL
https://claude.com/cai/oauth/authorize?...— impossible à ouvrir depuis le VPS, donc récupérée viatmux capture-paneet ouverte manuellement sur un navigateur (PC ou mobile) - Après connexion sur claude.ai, un code
xxxx#yyyyest retourné — collé dans le promptPaste code here if prompted >viatmux send-keys - Confirmation :
Logged in as julien.bertrand@live.fr
Les credentials sont persistés dans ~/.claude/.credentials.json (permissions 600, debian:debian) — la connexion reste valide pour les sessions futures, pas besoin de se ré-authentifier à chaque lancement.
Usage depuis Android (Termux)
- Installer Termux depuis F-Droid (pas le Play Store, version obsolète)
- Se connecter en SSH au VPS :
ssh debian@51.77.141.54 - Rattacher ou créer la session tmux :
tmux attach -t claude # si la session existe déjà tmux new -s claude # sinon - Lancer
claude(ou il tourne déjà si la session persiste) - Détacher sans tuer la session :
Ctrl+bpuisd— permet de couper la connexion mobile sans interrompre Claude Code
Sécurité
- Le VPS a déjà subi un incident de sécurité (CVE rclone RC, 2026-06-09 — voir page correspondante) : rester vigilant sur toute nouvelle surface d'exposition
- Claude Code tourne en utilisateur
debian(non-root), scope de travail/home/debianaccepté comme dossier de confiance - Authentification liée au compte personnel Julien (Claude Pro) — pas de clé API partagée à protéger séparément
- Accès à la session Claude Code = accès SSH au VPS (mot de passe
debian) — aucune surface réseau supplémentaire ouverte (pas de port exposé, tout passe par SSH existant)
Répertoire de lancement recommandé
Le VPS a déjà en local le CLAUDE.md partagé, synchronisé via Syncthing :
~/Documents/Jux_univers/Claude-pcelio+jux/CLAUDE.md
C'est le même fichier que celui utilisé sur le PC Windows (D:\Syncthing\Jux_univers\Claude-pcelio+jux\CLAUDE.md) et sur Ubuntu. Il fait partie du dossier Syncthing afltj-njyuy ("Tablette VPS Syncthing"), local path ~/Documents.
Lancer claude depuis ce dossier plutôt que /home/debian : le CLI charge automatiquement ce CLAUDE.md et récupère tout le contexte partagé (MCPs, infra, conventions) sans rien reconfigurer.
cd ~/Documents/Jux_univers/Claude-pcelio+jux/
claude
Piège constaté — Syncthing VPS silencieusement déconnecté (2026-07-21)
En vérifiant le CLAUDE.md sur le VPS, le fichier était resté figé au 24 juin alors que la version de référence (PC Windows) avait été mise à jour bien plus récemment (ex. section Inkscape du 21/07).
Diagnostic via le MCP Syncthing :
get_folder_statussur le dossierafltj-njyuyrenvoyaitstate: idle,needBytes: 0,errors: 0— en apparence tout va bien- Mais
get_connections/get_devicesmontraitnumConnections: 0sur tous les appareils — le VPS n'avait aucune connexion active vers ses pairs, y compris PC-Elio+Jux
Autrement dit : Syncthing sur le VPS ne remonte aucune erreur quand il est déconnecté de tout le monde — il affiche juste l'état "idle" du dernier sync connu, ce qui peut faire croire à tort que tout est synchronisé.
Résolution : dès que Syncthing a été relancé côté PC Windows, la connexion TCP vers le VPS (device I4M5WXU) s'est rétablie en quelques secondes, et le CLAUDE.md s'est mis à jour immédiatement (nouveau hash, date du jour).
Point de vigilance pour la suite : si le CLAUDE.md sur le VPS semble périmé, ne pas se fier à get_folder_status seul (peut afficher "idle" à tort) — vérifier get_connections pour confirmer que le VPS a bien une connexion active vers au moins un appareil source avant de creuser plus loin.
Points d'attention pour la suite
- Penser à
/initpour générer un CLAUDE.md propre au contexte VPS si l'usage se confirme - Vérifier que la session tmux ne meurt pas silencieusement (pas de
Restart=alwaystype systemd ici, contrairement aux services rclone)
00_Recapitulatif
260802 - Allegement JVM Komga + StirlingPDF (applique le 2026-08-02 a 22h)
Application des optimisations memoire validees le 2026-08-01, apres verification du backup quotidien (BILAN 5/5 OK).
Les deux stacks ont ete redeployees depuis /home/debian/{komga,stirling}-compose-new.yml,
les composes precedents sauvegardes en .bak-260802.
| Service | Avant | Apres | Resultat |
|---|---|---|---|
| Komga (stack 7) | -Xmx4g -Xms2g -XX:MaxRAMPercentage=70.0limits 4500M / reservations 3000M 707 Mio residents |
-Xmx1glimits 1500M / reservations 256M |
415 Mio (-292 Mio, -41 %) |
| StirlingPDF (stack 89) | JVM sans limite 722 Mio residents |
-Xmx512mlimits 2g |
785 Mio — pas de reduction, mais consommation desormais bornee |
Bilan hote : swap 3,7 Go -> 2,2 Go (-1,5 Go), memoire disponible 4,4 -> 4,6 Gi.
L'essentiel du gain vient de Komga : c'est le -Xms2g qui pre-allouait 2 Go de heap au demarrage.
Pourquoi StirlingPDF ne baisse pas : le process java conserve 799 Mio de RSS malgre
-Xmx512m (512 Mio de heap + non-heap : metaspace, code cache, piles de threads), auxquels s'ajoutent
LibreOffice (soffice.bin, ~98 Mio), unoserver et Xvfb que Stirling lance pour les conversions.
Le benefice obtenu n'est pas une baisse mais un plafond : la consommation ne peut plus deborder.
Limite portee de 1 Go a 2 Go avant application. Le plan initial prevoyait 1 Go. Or l'OCR fait tourner
ocrmypdf et tesseract comme processus Python hors JVM : -Xmx ne les borne pas, seul le plafond cgroup du
container s'applique. Pic mesure a 894-969 Mio pour une seule page A4 300 dpi — un plafond de 1 Go aurait
provoque un OOM kill des le premier OCR. La version 1 Go est conservee en
/home/debian/stirling-compose-new.yml.orig1g mais ne doit pas etre utilisee.
Verifications apres deploiement : Komga repond 200 et son API /api/v1/libraries renvoie bien les
bibliotheques ; StirlingPDF valide ses deux fonctions critiques, compress-pdf (utilise par les workflows
komga-pdf et nas_geo_compress) et l'OCR (page A4 300 dpi, pic 969 Mio, aucun OOM kill, aucun redemarrage).
Piege de deploiement : les projets compose s'appellent 7 et 89 (les IDs de stack Portainer),
pas komga / stirlingpdf. La commande correcte est
sudo docker compose -p 7 -f /var/lib/docker/volumes/portainer_data/_data/compose/7/docker-compose.yml up -d.
Rollback : restaurer le .bak-260802 de la stack concernee et redeployer de la meme facon.
Vue d ensemble - VPS Jux + Claude Code
34 containers en production sur le VPS. 25 pages de documentation, une par service. 13 services disposent d un MCP actif dans Claude Code. Mis a jour le 2026-05-30.
| Page | URL | MCP Claude Code | Statut integration |
|---|---|---|---|
| 01_Portainer | https://portainer.juxjux.ovh | mcp__portainer__* |
MCP actif |
| 02_Bookstack | https://bookstack.juxjux.ovh | bookstack-mcp-server (npm) |
MCP actif |
| 03_Homarr | https://homarr.juxjux.ovh | mcp__homarr__* |
MCP actif |
| 04_Audiobookshelf | https://audiobookshelf.juxjux.ovh | mcp__audiobookshelf__* |
MCP actif |
| 05_BentoPDF | - | - | API directe |
| 06_Cadvisor | - | - | via Prometheus |
| 07_Calibre-web | - | - | OPDS |
| 08_Dozzle | - | - | via Portainer MCP |
| 09_FileBrowser | https://files.juxjux.ovh | mcp__filebrowser__* |
MCP actif |
| 10_FreshRSS | https://freshrss.juxjux.ovh | mcp__freshrss__* |
MCP actif |
| 11_Gitea | - | - | API REST directe |
| 12_Grafana | https://grafana.juxjux.ovh | - | API REST directe |
| 13_Immich | https://immich.juxjux.ovh | mcp__immich__* |
MCP actif (5 containers) |
| 14_Jellyfin | https://jellyfin.juxjux.ovh | mcp__jellyfin__* |
MCP actif |
| 15_Joplin | - | - | sync server uniquement |
| 16_Kavita | https://kavita.juxjux.ovh | mcp__kavita__* |
MCP actif |
| 17_Komga | https://komga.juxjux.ovh | mcp__komga__* |
MCP actif |
| 18_Mealie | https://mealie.juxjux.ovh | mcp__mealie__* |
MCP actif |
| 19_Navidrome | https://navidrome.juxjux.ovh | mcp__navidrome__* |
MCP actif |
| 20_NodeExporter | - | - | via Prometheus |
| 21_Prometheus | - | - | API REST / PromQL |
| 22_Readeck | https://readeck.juxjux.ovh | mcp__readeck__* |
MCP actif |
| 23_Syncthing | https://syncthing.juxjux.ovh | mcp__syncthing__* |
MCP actif |
| 24_Yourls | - | - | API REST directe |
| 25_StirlingPDF | https://spdf.juxjux.ovh | - | API directe |
| A_liens entre Claude et le KDRIVE | kdrive.infomaniak.com | @infomaniak/mcp-server-kdrive + API REST |
MCP actif (kdrive_search) + API directe |
Scripts de maintenance
| fill_bookstack_pages.py | Remplit les pages avec les infos containers (image, ports, volumes) | C:\Users\eliob\.claude\fill_bookstack_pages.py |
|---|---|---|
| fill_bookstack_mcp.py | Ajoute la section integration Claude Code / MCP a chaque page | C:\Users\eliob\.claude\fill_bookstack_mcp.py |
Configuration MCP
Scripts dans C:\Users\eliob\.claude\, enregistres dans C:\Users\eliob\.mcp.json. Projet Claude Code principal : C:\Users\eliob. Endpoint Portainer Docker local : ID 3.
260611-REX VPS par Claude
Releve du 2026-06-11 via Prometheus (PromQL sur localhost:9090) + Portainer MCP.
Etat global
| RAM | 8.4 / 11.41 GB (73.6%) |
|---|---|
| Swap | 3.99 / 4.0 GB (quasi plein) |
| CPU | 5.2% |
Top consommateurs RAM (RSS)
| Container | RAM RSS |
|---|---|
| komga | 1059 MB |
| Immich-SERVER | 1011 MB |
| Immich-MICROSERVICES | 520 MB |
| stirling-pdf | 442 MB |
| homarr2026 | 355 MB |
| jellyfin | 272 MB |
| prometheus | 259 MB |
| jdownloader | 220 MB |
| Kavita | 196 MB |
| joplin | 179 MB |
| calibre-web-eyrolles | 132 MB |
| mealie | 129 MB |
| grafana | 125 MB |
| cadvisor | 91 MB |
| navidrome | 86 MB |
Swap sature : komga + Immich representent ~2.5 GB a eux deux. StirlingPDF (442 MB) reste charge entre les appels.
260801-REX VPS par Claude
Releve du 2026-08-01 via docker stats + /proc en SSH (PC eliob).
Etat global
| RAM | 8.2 / 11.41 GB (71.7%) |
|---|---|
| Swap | 4.0 / 4.0 GB (sature a 100%) |
| CPU | 28% (compression 7z du backup en cours) |
Top consommateurs RAM (RSS)
| Container | RAM RSS |
|---|---|
| Immich-SERVER | 1147 MB |
| komga | 791 MB |
| Immich-MICROSERVICES | 618 MB |
| stirling-pdf | 566 MB |
| jellyfin | 380 MB |
| homarr2026 | 313 MB |
| Immich-DB | 310 MB |
| prometheus | 282 MB |
| joplin | 241 MB |
| Kavita | 240 MB |
| cadvisor | 195 MB |
| grafana | 164 MB |
| joplin-db | 158 MB |
| yourls-db | 157 MB |
| audiobookshelf | 140 MB |
Swap sature : komga (760 MB) + StirlingPDF (406 MB) en tete des processus swappes, Immich ~330 MB. Des limites memoire ont ete posees depuis juin sur les gros containers (komga 4.4G, Immich 2G, Kavita 4G, joplin 2G). Decouvertes du jour : GNOME/gdm3 tourne a vide sur tty1 depuis le 8 juillet (98 paquets installes, ~150 MB RAM, aucun acces distant configure) ; sauvegardes Immich vides depuis l'origine (pg_dump sans -d immich, archives de 4 Ko) — corrigees le 2026-08-01, dump reel 307 MB.
Actions realisees le 2026-08-01 (soir)
| Action | Detail | Gain |
|---|---|---|
| Fix backup Immich | -d immich ajoute dans /opt/backups/vps_backup.sh + run manuel complet 5/5 OK (archive 87 MB sur kDrive, premiere sauvegarde Immich valide) |
donnees enfin sauvegardees |
| Fusion Immich | 5 containers → 3 : SERVER unique (API + workers, NODE_OPTIONS=--max-old-space-size=768), MICROSERVICES et LEARNING supprimes (recherche semantique et visages non utilises). Ancien compose : compose/29/docker-compose.yml.bak-260801 |
~900 MB RAM |
| Arret cAdvisor | docker update --restart=no cadvisor + stop. Plus de metriques par container dans Prometheus/Grafana (node-exporter conserve le host) |
~200 MB RAM + 4-8% CPU |
| GDM/GNOME desactive puis purge | gdm3 + gnome-shell + Xorg tournaient a vide sur tty1 depuis le 2026-07-08. systemctl disable --now gdm puis purge apt de 263 paquets (bureau complet + LibreOffice, jeux...). Verifie avant : ens3 gere par systemd-networkd, NetworkManager non critique. Verifie apres : 30 containers up, nginx/docker/ssh/wg actifs, sites en 200 |
~150 MB RAM + 3,5 GB disque |
Resultat global du 2026-08-01 : swap 4,0/4,0 GB (sature depuis juin) → 2,6/4,0 GB ; disque 62% → 59% ; ~1,3 GB de RAM liberes. Immich verifie fonctionnel par Julien.
Plan du 2026-08-02 a 19h (tache planifiee Claude Code)
Apres verification du backup nocturne (BILAN 5/5 OK), appliquer les deux fixes JVM prepares et valides (fichiers en attente dans /home/debian/) :
| Service | Avant | Apres | Gain attendu |
|---|---|---|---|
| Komga (stack 7) | -Xmx4g -Xms2g (2 GB pre-alloues, ~760 MB en swap), limites 4500M/3000M |
-Xmx1g sans Xms, limites 1500M/256M |
~400-500 MB RAM + ~700 MB swap |
| StirlingPDF (stack 89) | JVM sans plafond (566-643 MB residents + ~406 MB swap) | JAVA_TOOL_OPTIONS=-Xmx512m, limite 1g |
~300-400 MB RAM |
Verifications prevues : komga.juxjux.ovh en 200, test compress-pdf sur spdf.juxjux.ovh (fonction critique des workflows komga-pdf et geo_loud), docker stats, free -h (swap attendu sous ~2 GB). Rollback : restaurer les .bak-260802. Nota : BentoPDF n'existe plus sur le VPS (container supprime) — il ne peut de toute facon pas remplacer StirlingPDF (pas d'API serveur, traitement 100% navigateur).
01_Portainer
portainer
Docker container management made simple, with the world’s most popular GUI-based container management platform.
| Image | portainer/portainer-ce:latest |
|---|---|
| Etat | Up 9 hours |
| Reseau | bridge |
| URL | https://portainer.juxjux.ovh |
Ports
| Hote | Container | IP |
|---|---|---|
| 9443 | 9443/tcp | 0.0.0.0 |
| 9443 | 9443/tcp | :: |
| 8000 | 8000/tcp | 0.0.0.0 |
| 8000 | 8000/tcp | :: |
| 9000 | 9000/tcp | 0.0.0.0 |
| 9000 | 9000/tcp | :: |
Volumes
| Source (hote) | Destination | Type | Mode |
|---|---|---|---|
/var/lib/docker/volumes/portainer_data/_data | /data | volume | rw |
/var/run/docker.sock | /var/run/docker.sock | bind | rw |
Integration Claude Code — MCP
| Statut MCP | MCP actif |
|---|---|
| Outils (prefix) | mcp__portainer__ |
| Configuration | Script Python : C:\Users\eliob\.claude\mcp_portainer.py | Projet Claude Code : C:\Users\eliob | Auth : JWT via POST /api/auth, endpoint Docker local ID 3 |
Outils disponibles
list_endpointslist_stacksget_stackget_stack_fileredeploy_stacklist_containersget_containerget_container_logsrestart_containerstart_containerstop_containerlist_images
Ce que nous pouvons faire ensemble
- Lister et inspecter tous les containers et leurs états
- Consulter les logs d'un container en temps réel
- Redémarrer, démarrer ou arrêter un container à la demande
- Lire le fichier docker-compose.yml d'une stack
- Redéployer une stack après modification
- Lister toutes les images Docker disponibles sur le VPS
02_Bookstack
bookstack
[Bookstack](https://github.com/BookStackApp/BookStack) is a free and open source Wiki designed for creating beautiful documentation. Featuring a simple, but powerful WYSIWYG editor it allows for teams to create detailed and useful documentation with ease. Powered by SQL and including a Markdown editor for those who prefer it, BookStack is geared towards making documentation more of a pleasure than a chore. For more information on BookStack visit their website and check it out: https://www.bookstackapp.com
| Image | lscr.io/linuxserver/bookstack:latest |
|---|---|
| Version | v26.03.3-ls256 |
| Etat | Up 9 hours |
| Compose project | bookstack |
| Reseau | bookstack_default |
| URL | https://bookstack.juxjux.ovh |
| Source | https://github.com/linuxserver/docker-bookstack |
Ports
| Hote | Container | IP |
|---|---|---|
| 6875 | 80/tcp | 0.0.0.0 |
| 6875 | 80/tcp | :: |
Volumes
| Source (hote) | Destination | Type | Mode |
|---|---|---|---|
/home/debian/docker/bookstack/app | /config | bind | rw |
bookstack_db
[Mariadb](https://mariadb.org/) is one of the most popular database servers. Made by the original developers of MySQL.
| Image | lscr.io/linuxserver/mariadb:latest |
|---|---|
| Version | 11.4.9-r0-ls212 |
| Etat | Up 9 hours |
| Compose project | bookstack |
| Reseau | bookstack_default |
| URL | https://bookstack.juxjux.ovh |
| Source | https://github.com/linuxserver/docker-mariadb |
Volumes
| Source (hote) | Destination | Type | Mode |
|---|---|---|---|
/home/debian/docker/bookstack/db | /config | bind | rw |
Integration Claude Code — MCP
| Statut MCP | MCP actif |
|---|---|
| Outils (prefix) | bookstack MCP (npm bookstack-mcp-server) |
| Configuration | npm via npx -y bookstack-mcp-server | Projet Claude Code : C:\Users\eliob | Auth : Token ID + Secret en variables d'environnement (.claude.json) |
Outils disponibles
list_booksget_booklist_chaptersget_chapterlist_pagesget_pagecreate_pageupdate_pagesearchget_shelves
Ce que nous pouvons faire ensemble
- Lire et écrire des pages de documentation directement depuis Claude Code
- Créer et organiser des livres, chapitres et pages
- Rechercher du contenu dans toute la base de connaissance
- Auto-documenter des projets ou des sessions de travail
- Mettre à jour cette page et les autres pages containers automatiquement
Sauvegarde de la base de données
Sauvegarde automatique quotidienne de la base MariaDB bookstackapp vers kDrive Infomaniak. Mise en place le 2026-06-01.
Paramètres
| Script | /opt/backups/bookstack_backup.sh |
|---|---|
| Cron | Tous les jours à 2h du matin (0 2 * * *) |
| Base sauvegardée | bookstackapp — container bookstack_db (MariaDB) |
| Taille base (disque) | ~203 Mo |
| Format archive | .7z (compression niveau 5) — ~564 Ko |
| Destination | kDrive Infomaniak — TOOJUX/jux_vps/bookstack (dossier ID 1427916) |
| Rétention | 7 jours glissants (purge automatique des anciens fichiers) |
| Log | /opt/backups/backup.log |
| Nommage fichier | bookstack_db_YYYY-MM-DD.7z |
Fonctionnement du script
- Exécute
mysqldumpdepuis le containerbookstack_dbvers/tmp/ - Compresse en
.7zavec7z(déjà installé sur le VPS) - Upload sur kDrive via l'API REST Infomaniak (
POST /3/drive/{id}/upload) avec le paramètretotal_size - Supprime le fichier temporaire local
- Purge les fichiers kDrive nommés
bookstack_db_*de plus de 7 jours
Consulter les logs
ssh debian@51.77.141.54 "tail -50 /opt/backups/backup.log"Relancer manuellement
ssh debian@51.77.141.54 "bash /opt/backups/bookstack_backup.sh"
03_Homarr
homarr2026
A modern and easy to use dashboard. 30+ integrations. 10K+ icons built in. Authentication out of the box. No YAML, drag and drop configuration.
| Image | ghcr.io/homarr-labs/homarr:latest |
|---|---|
| Version | main |
| Etat | Up 9 hours |
| Compose project | homarr |
| Reseau | homarr_homarr_network |
| URL | https://homarr.juxjux.ovh |
| Source | https://github.com/homarr-labs/homarr |
Ports
| Hote | Container | IP |
|---|---|---|
| 7575 | 3000/tcp | 0.0.0.0 |
| 7575 | 3000/tcp | :: |
Volumes
| Source (hote) | Destination | Type | Mode |
|---|---|---|---|
/etc/localtime | /etc/localtime | bind | ro |
/var/run/docker.sock | /var/run/docker.sock | bind | ro |
/home/debian/docker/homarr2026/icons | /app/public/icons | bind | rw |
/home/debian/docker/homarr2026/appdata | /appdata | bind | rw |
Integration Claude Code — MCP
| Statut MCP | MCP actif |
|---|---|
| Outils (prefix) | mcp__homarr__ |
| Configuration | Script Python : C:\Users\eliob\.claude\mcp_homarr.py | Projet Claude Code : C:\Users\eliob | Auth : cookie NextAuth session (authjs.session-token) |
Outils disponibles
get_all_boardsget_board_itemsget_home_boardget_integrationstrpc_call
Ce que nous pouvons faire ensemble
- Lire la configuration du tableau de bord principal
- Lister les services et widgets configurés
- Consulter les intégrations actives (Jellyfin, Sonarr, etc.)
- Appeler des procédures tRPC personnalisées
Mise a jour disponible (verifie le 2026-07-19)
| Version installee | 0.53 |
|---|---|
| Derniere version | 1.71.0 (2026-07-17) |
| Ecart | Traverse la refonte majeure 1.0 (reecriture complete, ete 2024) + ~70 releases mineures jusqu'a juillet 2026 |
Attention : migration majeure, pas un simple bump
Le projet a ete entierement reecrit en version 1.0 et le depot a change de proprietaire : ghcr.io/ajnart/homarr -> ghcr.io/homarr-labs/homarr. Le stack VPS (homarr2026) utilise deja l'image homarr-labs avec le tag latest et un volume /appdata, donc une partie de la migration structurelle semble deja faite -- a verifier avant de bumper vers un tag fige.
Principaux breaking changes (0.x -> 1.0)
- Variables d'env renommees :
DATABASE_URL->DB_URL(conditionnelle),DOCKER_HOST->DOCKER_HOSTNAMES+DOCKER_PORTS,AUTH_PROVIDER->AUTH_PROVIDERS - Nouvelle variable requise :
SECRET_ENCRYPTION_KEY - Variables supprimees :
DISABLE_ANALYTICS,AUTH_OIDC_TIMEOUT,AUTH_LDAP_ADMIN_GROUP,AUTH_LDAP_OWNER_GROUP,AUTH_OIDC_ADMIN_GROUP,AUTH_OIDC_OWNER_GROUP(gestion des groupes/permissions passee dans l'UI) /datarestructure et deplace vers/appdata(non retrocompatible)/app/data/configs(JSON) et/app/public/iconsabandonnes -- gestion des icones et des configs via l'UI- Support ARM v7 supprime
- Tous les widgets reecrits ; systeme d'integrations passe en asynchrone (fetch en arriere-plan + WebSockets/bus de messages)
- Test de connexion desormais obligatoire avant d'activer une integration
Nouveautes notables depuis la 1.0 (jusqu'a 1.71.0)
- v1.65.0 -- support MCP (integration IA), nouvelles integrations Beszel, Technitium DNS, Uptime Kuma, Audiobookshelf, Paperless-ngx, Navidrome ; widgets personnalises ; sauvegarde/restauration SQLite avec apercu WASM ; cache Redis global
- v1.66.1 -- support des groupes locaux OIDC
- v1.68.0 -- ameliorations de l'interface Beszel (stats en direct)
- v1.69.0 -- menu contextuel (clic droit) sur les widgets avec actions auto-generees, evenements calendrier au survol avec epinglage au clic, stockage de secrets par widget
- v1.70.0 -- integrations Traefik (widget dedie), Bazarr, PatchMon, et monitoring systeme Synology ; widgets media manquants/en file d'attente pour Radarr et Sonarr
- v1.71.0 -- support direction de texte pour le widget notes, bouton de rafraichissement compact sur le widget Docker, tri ameliore des torrents qBittorrent
Etapes de migration recommandees
- Sauvegarder
/home/debian/docker/homarr2026/appdataavant toute action - Exporter la config du dashboard depuis l'UI (fonction export/backup SQLite)
- Verifier les variables d'environnement du compose homarr2026 contre la liste des breaking changes ci-dessus (notamment
SECRET_ENCRYPTION_KEY,DOCKER_HOSTNAMES/DOCKER_PORTS) - Redeployer le stack, puis retester chaque integration (Jellyfin, Sonarr, etc.) -- test de connexion obligatoire en 1.x
- Reimporter la sauvegarde SQLite si necessaire
Sources : github.com/homarr-labs/homarr/releases, homarr.dev/blog - Homarr 1.0
04_Audiobookshelf
audiobookshelf
Self-hosted audiobook and podcast server
| Image | ghcr.io/advplyr/audiobookshelf:latest |
|---|---|
| Version | 2.35.0 |
| Etat | Up (healthy) |
| Compose project | audiobookshelf |
| Reseau | audiobookshelf_audiobookshelf_network |
| URL | https://audiobookshelf.juxjux.ovh |
| Source | https://github.com/advplyr/audiobookshelf |
Ports
| Hote | Container | IP |
|---|---|---|
| 13378 | 80/tcp | 127.0.0.1 |
Volumes
| Source (hote) | Destination | Type | Mode |
|---|---|---|---|
/home/debian/audiobookshelf/config | /config | bind | rw |
/home/debian/audiobookshelf/metadata | /metadata | bind | rw |
/home/debian/audiobookshelf/podcasts | /podcasts | bind | rw |
/home/debian/audiobookshelf/audiobooks | /audiobooks | bind | rw, :shared |
Integration Claude Code — MCP
| Statut MCP | MCP actif |
|---|---|
| Outils (prefix) | mcp__audiobookshelf__ |
| Configuration | Script Python : C:\Users\eliob\.claude\mcp_audiobookshelf.py | Auth : JWT Bearer via POST /login |
Outils disponibles
get_librariesget_libraryget_library_itemsget_library_personalizedget_itemget_item_progressget_podcast_episodesdownload_podcast_episodesget_listening_sessionsget_listening_statsget_mesearch_library
Ce que nous pouvons faire ensemble
- Parcourir la bibliothèque d'audiobooks et de podcasts
- Suivre la progression d'écoute d'un livre ou épisode
- Rechercher un titre, auteur ou podcast
- Consulter les statistiques d'écoute (temps total, sessions)
- Télécharger des épisodes de podcast
Scan quotidien automatique — 2026-06-24
Un cron tourne chaque nuit à 04h00 UTC pour scanner toutes les bibliothèques Audiobookshelf et détecter les nouveaux contenus ou les renommages de dossiers.
Script
/home/debian/abs_scan.sh — log : /var/log/abs_scan.log
0 4 * * * bash /home/debian/abs_scan.sh
Fonctionnement
- Authentification via
POST /loginpour obtenir un token JWT frais - Récupération de toutes les bibliothèques via
GET /api/libraries - Déclenchement d'un scan pour chaque bibliothèque via
POST /api/libraries/{id}/scan
Bibliothèques scannées : 36 (audiobooks + podcasts). Durée estimée : quelques minutes.
Exemple de log :
2026-06-24 04:00 SCAN OK 36/36 libs
REX — 2026-06-24 : audiobook illisible après renommage de dossier
Contexte
Audiobookshelf ne pouvait plus lire Les routes de la soie (Peter Frankopan). Erreur dans les logs :
Error: ENOENT: no such file or directory, stat '/audiobooks/Histoire/2 - Moyen Age/Peter Frankopan - Les routes de la soie/27_CH_08_LA_ROUTE_DU_CIEL.mp3'
Cause
Le dossier avait été renommé sur kDrive/NAS de Peter Frankopan - Les routes de la soie en Peter Frankopan-les routes de la soie (tiret sans espaces, minuscule). Audiobookshelf conservait l'ancien chemin dans sa base.
Solution
Le scan quotidien abs_scan.sh détecte ce type de désynchronisation et met à jour les chemins. Pour forcer immédiatement : lancer un scan manuel depuis l'interface Audiobookshelf ou exécuter bash /home/debian/abs_scan.sh.
05_BentoPDF
bentopdf
Unprivileged NGINX Dockerfiles
| Image | bentopdfteam/bentopdf-simple:latest |
|---|---|
| Version | 1.28.0-alpine-slim |
| Etat | Up 9 hours |
| Compose project | bentopdf |
| Reseau | bentopdf_default |
| URL | https://bento.juxjux.ovh |
| Source | https://github.com/alam00000/bentopdf |
Ports
| Hote | Container | IP |
|---|---|---|
| 8089 | 8080/tcp | 0.0.0.0 |
| 8089 | 8080/tcp | :: |
Integration Claude Code — API directe
| Statut MCP | Pas de MCP — API directe possible |
|---|---|
| Note technique | API REST interne, pas de MCP configuré. Accessible via PowerShell/Python httpx. |
Ce que nous pouvons faire ensemble
- Manipulation de PDF via l'API REST (fusion, découpage, conversion)
- Automatisation de traitements PDF dans des scripts Claude Code
06_Cadvisor
cadvisor
| Image | gcr.io/cadvisor/cadvisor:latest |
|---|---|
| Etat | Up 9 hours (healthy) |
| Compose project | gemini_grafana |
| Reseau | gemini_grafana_monitor_net |
Volumes
| Source (hote) | Destination | Type | Mode |
|---|---|---|---|
/var/run | /var/run | bind | rw |
/ | /root | bind | ro |
/sys | /sys | bind | ro |
/var/lib/docker | /var/lib/docker | bind | ro |
Integration Claude Code — API directe
| Statut MCP | Pas de MCP — API directe possible |
|---|---|
| Note technique | Endpoint Prometheus /metrics exposé à Prometheus (port 8080). Pas de MCP. Données lisibles via Prometheus MCP ou requêtes PromQL directes. |
Ce que nous pouvons faire ensemble
- Métriques CPU/RAM/réseau/disque par container (via Prometheus)
- Surveillance des performances en temps réel de chaque service
- Détection de containers consommant trop de ressources
07_Calibre-web
calibre-web-eyrolles
[Calibre-web](https://github.com/janeczku/calibre-web) is a web app providing a clean interface for browsing, reading and downloading eBooks using an existing Calibre database. It is also possible to integrate google drive and edit metadata and your calibre library through the app itself. This software is a fork of library and licensed under the GPL v3 License.
| Image | lscr.io/linuxserver/calibre-web:latest |
|---|---|
| Version | 0.6.26-ls383 |
| Etat | Up 9 hours (healthy) |
| Compose project | calibreweb_automated |
| Reseau | calibre_network |
| Source | https://github.com/linuxserver/docker-calibre-web |
Ports
| Hote | Container | IP |
|---|---|---|
| 8214 | 8083/tcp | 0.0.0.0 |
| 8214 | 8083/tcp | :: |
Volumes
| Source (hote) | Destination | Type | Mode |
|---|---|---|---|
/home/debian/livres/Eyrolles | /books | bind | rw |
/home/debian/docker/calibre-web-automated/config | /config | bind | rw |
Integration Claude Code — API directe
| Statut MCP | Pas de MCP — API directe possible |
|---|---|
| Note technique | Interface OPDS disponible pour parcourir la bibliothèque. API REST limitée. Pas de MCP configuré. |
Ce que nous pouvons faire ensemble
- Parcourir la bibliothèque Eyrolles via le catalogue OPDS
- Potentielle automatisation d'ajout/export de livres via l'API
08_Dozzle
dozzle
Realtime log viewer for containers. Supports Docker, Swarm and K8s.
| Image | amir20/dozzle:latest |
|---|---|
| Version | v8.14.9 |
| Etat | Up 9 hours |
| Compose project | dozzle |
| Reseau | nginx_npm-network |
| URL | https://dozzle.juxjux.ovh |
| Source | https://github.com/amir20/dozzle |
Ports
| Hote | Container | IP |
|---|---|---|
| 9091 | 8080/tcp | 0.0.0.0 |
| 9091 | 8080/tcp | :: |
Volumes
| Source (hote) | Destination | Type | Mode |
|---|---|---|---|
/var/run/docker.sock | /var/run/docker.sock | bind | rw |
Integration Claude Code — API directe
| Statut MCP | Pas de MCP — API directe possible |
|---|---|
| Note technique | Interface de visualisation de logs uniquement. Pas d'API publique exploitable. Les logs sont mieux accessibles via mcp__portainer__get_container_logs. |
Ce que nous pouvons faire ensemble
- Logs containers accessibles en alternative via le MCP Portainer
09_FileBrowser
File-Browser
| Image | filebrowser/filebrowser:latest |
|---|---|
| Version | 2.63.3 |
| Etat | Up 9 hours (healthy) |
| Compose project | filebrowser |
| Reseau | filebrowser_default |
| URL | https://files.juxjux.ovh |
| Source | https://github.com/filebrowser/filebrowser |
Ports
| Hote | Container | IP |
|---|---|---|
| 8147 | 80/tcp | 0.0.0.0 |
| 8147 | 80/tcp | :: |
Volumes
| Source (hote) | Destination | Type | Mode |
|---|---|---|---|
/home/debian/docker/filebrowser/database | /database | bind | rw |
/home/debian | /srv | bind | rw |
/home/debian/docker/filebrowser/config | /config | bind | rw |
Integration Claude Code — MCP
| Statut MCP | MCP actif |
|---|---|
| Outils (prefix) | mcp__filebrowser__ |
| Configuration | Script Python : C:\Users\eliob\.claude\mcp_filebrowser.py | Auth : JWT via POST /api/login (admin) |
Outils disponibles
list_filesread_text_fileupload_text_fileget_file_infosearch_filescopy_filemove_or_renamecreate_directorydelete_path
Ce que nous pouvons faire ensemble
10_FreshRSS
freshrss
A free, self-hostable news aggregator…
| Image | freshrss/freshrss:latest |
|---|---|
| Version | 1.28.1 |
| Etat | Up 26 minutes |
| Compose project | freshrss |
| Reseau | freshrss_default |
| URL | https://freshrss.juxjux.ovh |
| Source | https://github.com/FreshRSS/FreshRSS |
Ports
| Hote | Container | IP |
|---|---|---|
| 8081 | 80/tcp | 0.0.0.0 |
| 8081 | 80/tcp | :: |
Volumes
| Source (hote) | Destination | Type | Mode |
|---|---|---|---|
/home/debian/docker/freshrss/data | /var/www/FreshRSS/data | bind | rw |
Integration Claude Code — MCP
| Statut MCP | MCP actif |
|---|---|
| Outils (prefix) | mcp__freshrss__ |
| Configuration | Script Python : C:\Users\eliob\.claude\mcp_freshrss.py | Auth : GReader API avec mot de passe API dédié (≠ mot de passe web) |
Outils disponibles
get_feedsget_categoriesget_articlesget_unread_countget_starred_articlesmark_as_readmark_feed_as_readstar_articlesearch_articlesadd_feeddelete_feed
Ce que nous pouvons faire ensemble
- Lire les derniers articles de tous les flux RSS
- Rechercher des articles par mots-clés dans toute la veille
- Marquer des articles comme lus ou les étoiler
- Ajouter ou supprimer des flux
- Faire une synthèse de veille thématique à partir des non-lus
11_Gitea
gitea
Git with a cup of tea! Painless self-hosted all-in-one software development service, including Git hosting, code review, team collaboration, package registry and CI/CD
| Image | gitea/gitea:latest |
|---|---|
| Version | 1.25.4 |
| Etat | Up 9 hours (healthy) |
| Compose project | gitea |
| Reseau | gitea_default |
| URL | https://gitea.juxjux.ovh |
| Source | https://github.com/go-gitea/gitea |
Ports
| Hote | Container | IP |
|---|---|---|
| 2222 | 2222/tcp | 0.0.0.0 |
| 2222 | 2222/tcp | :: |
| 3005 | 3000/tcp | 0.0.0.0 |
| 3005 | 3000/tcp | :: |
Volumes
| Source (hote) | Destination | Type | Mode |
|---|---|---|---|
/var/lib/gitea_data | /data | bind | rw |
/etc/localtime | /etc/localtime | bind | ro |
/etc/timezone | /etc/timezone | bind | ro |
Integration Claude Code — API directe
| Statut MCP | Pas de MCP — API directe possible |
|---|---|
| Note technique | API REST Gitea complète disponible sur /api/v1. Auth : token Bearer ou Basic Auth. Pas de MCP configuré — appels directs via PowerShell/Python. |
Ce que nous pouvons faire ensemble
- Lister repositories, branches, commits via l'API REST
- Lire/écrire des fichiers dans les repos (contenu base64)
- Gérer issues, pull requests, tags et releases
- Automatiser des workflows de versionning depuis Claude Code
12_Grafana
grafana
| Image | grafana/grafana:latest |
| Etat | Up 5 days (healthy) |
| Compose project | gemini_grafana (stack ID 63) |
| Réseau | gemini_grafana_monitor_net |
| URL | https://grafana.juxjux.ovh |
| Source | https://github.com/grafana/grafana |
Ports
| Hote | Container | IP |
|---|---|---|
| 3000 | 3000/tcp | 0.0.0.0 |
| 3000 | 3000/tcp | :: |
Volumes
| Source (hote) | Destination | Type | Mode |
|---|---|---|---|
/opt/monitoring/grafana_data |
/var/lib/grafana |
bind | rw |
Intégration Claude Code — API directe
| Statut MCP | Pas de MCP — API directe possible |
| Note technique | API REST Grafana sur /api. Auth : clé API ou Basic Admin. Pas de MCP configuré — appels directs possibles. |
Ce que nous pouvons faire ensemble
- Lister les dashboards et leur état
- Interroger des datasources Prometheus via l'API (PromQL)
- Créer ou modifier des annotations sur les graphiques
- Exporter des dashboards en JSON pour sauvegarde/versioning
Compte rendu — 2026-06-11
Vérification via Portainer MCP (endpoint 3) + Prometheus PromQL (localhost:9090).
Métriques VPS globales
| Métrique | Valeur | |
|---|---|---|
| RAM | 8.4 / 11.41 GB | 73.6% |
| Swap | 3.99 / 4.0 GB | quasi plein |
| CPU | 5.2% | — |
Stack gemini_grafana — 4 containers, tous running (5 jours)
| Container | Image | Etat | Healthcheck | Port exposé |
|---|---|---|---|---|
| grafana | grafana/grafana:latest | running | healthy | 3000 |
| prometheus | prom/prometheus:latest | running | — | 9090 |
| node-exporter | prom/node-exporter:latest | running | — | 9100 |
| cadvisor | gcr.io/cadvisor/cadvisor:latest | running | healthy | 8080 (interne) |
Notes
- Stack ID Portainer : 63 — compose sur
/data/compose/63/docker-compose.yml - Config Prometheus :
/opt/monitoring/prometheus.yml| Data :/opt/monitoring/prometheus_data --web.enable-lifecycleactif sur Prometheus (reload API disponible sur:9090/-/reload)- cadvisor port 8080 non exposé publiquement (aucun mapping IP externe)
- grafana.juxjux.ovh : DNS non résolu depuis l'extérieur — pas de vhost nginx configuré, accès direct via port 3000
- Ports 3000, 9090, 9100 exposés sur
0.0.0.0— à vérifier dans ufw
13_Immich
Immich-SERVER
High performance self-hosted photo and video management solution.
| Image | ghcr.io/immich-app/immich-server:release |
|---|---|
| Version | v2.7.5 |
| Etat | Up (healthy) |
| Compose project | immich |
| Reseau | immich_immich-network |
| URL | https://immich.juxjux.ovh |
| Source | https://github.com/immich-app/immich |
Ports
| Hote | Container | IP |
|---|---|---|
| 8212 | 2283/tcp | 0.0.0.0 |
| 8212 | 2283/tcp | :: |
Volumes
| Source (hote) | Destination | Type | Mode |
|---|---|---|---|
/home/debian/docker/immich/upload | /data | bind | rw |
/etc/localtime | /etc/localtime | bind | ro |
/home/debian/docker/immich/upload/encoded-video | /mnt/media/encoded-video | bind | rw |
/home/debian/photo | /mnt/media/photo | bind | ro,shared |
Immich-MICROSERVICES
High performance self-hosted photo and video management solution.
| Image | ghcr.io/immich-app/immich-server:release |
|---|---|
| Version | v2.7.5 |
| Etat | Up (healthy) |
| Compose project | immich |
| Reseau | immich_immich-network |
| URL | https://immich.juxjux.ovh |
| Source | https://github.com/immich-app/immich |
Volumes
| Source (hote) | Destination | Type | Mode |
|---|---|---|---|
/home/debian/docker/immich/upload | /data | bind | rw |
/etc/localtime | /etc/localtime | bind | ro |
/home/debian/docker/immich/upload/encoded-video | /mnt/media/encoded-video | bind | rw |
/home/debian/photo | /mnt/media/photo | bind | ro,shared |
Immich-LEARNING
High performance self-hosted photo and video management solution.
| Image | ghcr.io/immich-app/immich-machine-learning:release |
|---|---|
| Version | v2.7.5 |
| Etat | Up (healthy) |
| Compose project | immich |
| Reseau | immich_immich-network |
| URL | https://immich.juxjux.ovh |
| Source | https://github.com/immich-app/immich |
Volumes
| Source (hote) | Destination | Type | Mode |
|---|---|---|---|
/home/debian/docker/immich/cache | /cache | bind | rw |
Immich-REDIS
| Image | redis:6.2-alpine |
|---|---|
| Etat | Up (healthy) |
| Compose project | immich |
| Reseau | immich_immich-network |
| URL | https://immich.juxjux.ovh |
Volumes
| Source (hote) | Destination | Type | Mode |
|---|---|---|---|
/data | volume | rw |
Immich-DB
Base images for Immich containers
| Image | ghcr.io/immich-app/postgres:16-vectorchord0.3.0-pgvectors0.2.0 |
|---|---|
| Version | 16-vectorchord0.3.0-pgvector0.8.1-pgvectors0.2.0 |
| Etat | Up (healthy) |
| Compose project | immich |
| Reseau | immich_immich-network |
| URL | https://immich.juxjux.ovh |
| Source | https://github.com/immich-app/base-images |
Volumes
| Source (hote) | Destination | Type | Mode |
|---|---|---|---|
/home/debian/docker/immich/db | /var/lib/postgresql/data | bind | rw |
Integration Claude Code — MCP
| Statut MCP | MCP actif |
|---|---|
| Outils (prefix) | mcp__immich__ |
| Configuration | Script Python : C:\Users\eliob\.claude\mcp_immich.py | Auth : JWT via POST /api/auth/login |
Outils disponibles
get_assetsget_assetsearch_assetsupdate_assetget_albumsget_albumcreate_albumget_peopleget_person_assetsget_memoriesget_statisticsget_my_userget_server_info
Ce que nous pouvons faire ensemble
- Rechercher des photos par date, lieu, contenu ou personne reconnue
- Parcourir les albums et les souvenirs générés automatiquement
- Consulter les statistiques de la photothèque (nb photos, vidéos, taille)
- Créer un album et y regrouper des assets
- Mettre à jour les métadonnées d'un asset (description, date, lieu)
Sauvegarde de la base de données
Sauvegarde automatique quotidienne de la base PostgreSQL Immich-DB vers kDrive Infomaniak. Mise en place le 2026-06-01.
Paramètres
| Script | /opt/backups/vps_backup.sh |
|---|---|
| Cron | Tous les jours à 2h du matin (0 2 * * *) |
| Container DB | Immich-DB (PostgreSQL 16) |
| Commande | pg_dump -U postgres |
| Taille base (disque) | ~7.5 Mo (métadonnées uniquement — photos sur volume séparé) |
| Format archive | .7z (compression niveau 5) |
| Destination | kDrive Infomaniak — TOOJUX/jux_vps/immich (dossier ID 1427919) |
| Rétention | 7 jours glissants |
| Nommage fichier | immich_db_YYYY-MM-DD.7z |
Note importante
Cette sauvegarde couvre uniquement les métadonnées (albums, faces, tags, utilisateurs). Les fichiers photos/vidéos sont stockés dans /home/debian/docker/immich/upload et /home/debian/photo — ils ne sont pas inclus dans ce backup.
REX — 2026-06-21 — FUSE cassé après restart rclone-photo
Symptôme
Immich connecté mais aucune photo visible. Logs Immich-SERVER :
WARN [Microservices:LibraryService] Skipping invalid import path: /mnt/media/photo. Reason: Error: ENOTCONN: socket is not connected, stat '/mnt/media/photo'
Cause
Le service rclone-photo.service a redémarré le 2026-06-18 (suite à l'incident sécurité du 2026-06-09 — fix --rc-addr 127.0.0.1). Les containers Immich-SERVER et Immich-MICROSERVICES, démarrés avant ce restart, conservent un file descriptor FUSE invalide. La propagation :shared aide pour les nouveaux montages mais ne restaure pas un fd FUSE mort.
Fix immédiat
docker restart Immich-SERVER Immich-MICROSERVICES
# puis déclencher un scan de bibliothèque :
curl -s -X POST "https://immich.juxjux.ovh/api/libraries/89bfcdc1-1604-47a1-90a3-975d2f6c4639/scan" \
-H "Authorization: Bearer TOKEN"
# TOKEN obtenu via POST /api/auth/login (bertrand.dadone@gmail.com / 27101809)
Fix structurel — ExecStartPost dans rclone-photo.service (2026-06-21)
Ajout d'un ExecStartPost dans /etc/systemd/system/rclone-photo.service : à chaque redémarrage de rclone-photo, les containers Immich sont automatiquement relancés si et seulement s'ils tournent déjà (pas de blocage au boot).
ExecStartPost=/bin/bash -c 'sleep 3; docker ps --filter name=Immich-SERVER --filter status=running -q | grep -q . && docker restart Immich-SERVER Immich-MICROSERVICES || true'
Rechargement : sudo systemctl daemon-reload (pas de restart du service nécessaire — prendra effet au prochain redémarrage de rclone-photo).
Library ID Immich
89bfcdc1-1604-47a1-90a3-975d2f6c4639
Inventaire par Claude le 251001
2026-08-28 — Photos en double et chronologie cassee : diagnostic et reparation
Symptome : apres la resynchronisation d'un dossier renomme cote NAS, les photos de l'ete 2026 apparaissaient en double dans Immich et ne se rangeaient plus a leur date de prise de vue.
Deux causes distinctes se superposaient, et les confondre fait perdre du temps.
1. Les doublons — deja resolus par Immich lui-meme
Le dossier 2026_Eté UK ayant ete renomme en 2026_Eté UK et Italia, 308 assets pointaient sur un chemin disparu. Immich les avait deja marques hors ligne et mis a la corbeille tout seul : ils ne polluaient donc plus la chronologie. Ils ont ete purges definitivement par API.
POST /api/search/metadata {"isOffline": true} -> recensement
DELETE /api/assets {"ids": [...], "force": true}
Aucun fichier reel n'est touche (ils n'existent plus sur le disque) et ces assets n'appartenaient a aucun album — verifie avant la purge.
2. Les dates — 275 photos n'avaient plus AUCUN bloc EXIF
Non pas « un EXIF sans date » : plus une seule metadonnee. Mesure sur les 351 fichiers du dossier :
| Nombre | Taille moyenne | Periode | |
|---|---|---|---|
| Sans aucun EXIF | 275 | 493 Ko | 02/07 au 21/07 |
| EXIF complet + GPS | 76 | 1103 Ko | 17/07 au 17/08 |
Cause : la passe de compression Caesium du 2026-07-14, lancee sans l'option -e — le piege decouvert et documente seulement le 27/08 (page 284). Les fichiers traites ont perdu date et GPS. Le GPS est definitivement perdu ; seule la date etait reconstituable, parce que les appareils Android nomment leurs prises IMG_AAAAMMJJ_HHMMSS au declenchement.
Pourquoi le probleme n'est apparu que maintenant
Prive de DateTimeOriginal, Immich retombe sur la date de modification du fichier. Or le WebDAV kDrive ne preserve pas les mtime : chaque reupload redate les fichiers au jour de la synchronisation, et les photos partent se ranger a cette date. Tant qu'aucune resynchronisation n'avait lieu, le defaut dormait — la compression de juillet ne s'est vue qu'en aout.
⚠ Corriger la date dans Immich ne tient pas
Teste puis abandonne : PUT /api/assets/{id} avec dateTimeOriginal a tenu quelques secondes, puis la valeur a ete ecrasee par la re-extraction des metadonnees du fichier. Sur une bibliotheque externe, le fichier fait autorite.
Il n'existe aucun reglage Immich pour « n'utiliser que la date de prise de vue » : sans EXIF, le logiciel n'a pas d'autre source. Exiger ce comportement revient a exiger que les fichiers portent leur date. La reparation doit donc se faire dans le fichier.
Reparation appliquee
Jux-scripts/Photos-Caesium/dater_photos_nas.py (stdlib seule, deploye sur le NAS) reconstruit la date depuis le nom et l'inscrit dans un segment APP1 de 138 octets insere apres le marqueur SOI.
python3 dater_photos_nas.py "/volume1/photo/2026/2026_Eté UK et Italia" # simulation
python3 dater_photos_nas.py "/volume1/photo/2026/2026_Eté UK et Italia" --go # ecriture
Garde-fous : ne touche que les JPEG totalement depourvus d'EXIF ; n'invente jamais de date (sans motif reconnu, le fichier est laisse tel quel) ; refuse les dates impossibles ; ecriture atomique avec relecture de controle avant remplacement ; mtime, proprietaire et permissions releves puis reimposes et verifies.
Resultat : 275 fichiers dates en 224 s, 0 echec. Donnees image identiques a l'octet pres (+138 octets de metadonnees), mtime preserve. Apres resynchronisation et POST /api/libraries/{id}/scan, Immich a relu l'EXIF en moins de 40 s : les 351 photos se repartissent du 02/07 au 17/08, et plus une seule n'est datee du jour de la synchro.
Audit du reste du stock — pas de reparation de masse
auditer_exif_nas.py sur les 16 262 JPEG du NAS : 1 001 sans date de prise de vue, mais aucun autre degat Caesium.
- 859 sont des numerisations anciennes (
1930-2016 - Photos BERTRAND MER,L'album de Papa et Maman, cartes de voeux) : elles n'ont jamais eu d'EXIF, c'est leur nature. - 85 dans
2024 - Nouvel an Arriègesont des photos WhatsApp (IMG-AAAAMMJJ-WA0004.jpg, 151 Ko de moyenne) : WhatsApp strippe systematiquement l'EXIF. Normal. - ⚠ Ne jamais dater en masse depuis le nom de fichier. Dans l'album
1999, un nom en20xxest la date de numerisation : l'inscrire comme date de prise de vue daterait une photo de 1999 en 2015. Le traitement se decide album par album.
Reperes API (aucun MCP Immich dans la session)
POST /api/auth/login -> accessToken (Bearer)
POST /api/search/metadata isOffline, originalFileName, takenAfter/takenBefore,
withExif ; pagination par le champ nextPage
GET /api/assets/statistics
GET /api/libraries + /api/libraries/{id}/statistics
POST /api/libraries/{id}/scan
Bibliotheque externe : 89bfcdc1-1604-47a1-90a3-975d2f6c4639, chemin d'import /mnt/media/photo.
14_Jellyfin
jellyfin
The Free Software Media System
| Image | jellyfin/jellyfin:latest |
|---|---|
| Version | 10.10.7 |
| Etat | Up 9 hours (healthy) |
| Compose project | jellyfin |
| Reseau | host |
| URL | https://jellyfin.juxjux.ovh |
| Source | https://github.com/jellyfin/jellyfin-packaging |
Volumes
| Source (hote) | Destination | Type | Mode |
|---|---|---|---|
/mnt/nas_videos/movies | /data/movies | bind | rw |
/mnt/nas_videos/palettes | /data/palettes | bind | rw |
/home/debian/jellyfin/config | /config | bind | rw |
/mnt/nas_videos/cinema_europe | /data/cinema_europe | bind | rw |
/mnt/nas_videos/cinema_UK | /data/cinema_uk | bind | rw |
/mnt/nas_videos/spectacles | /data/spectacles | bind | rw |
| /cache | volume | rw |
/mnt/nas_videos/animes | /data/animes | bind | rw |
/mnt/nas_videos/cinema_asie | /data/cinema_asie | bind | rw |
/mnt/nas_videos/cinema_realisateurs | /data/cinema_realisateurs | bind | rw |
/mnt/nas_videos/fantastique_et_SF | /data/fantastique_et_SF | bind | rw |
/mnt/nas_videos/historiques | /data/historiques | bind | rw |
/mnt/nas_videos/series | /data/series | bind | rw |
/mnt/nas_videos/cinema_italie | /data/cinema_italie | bind | rw |
/mnt/nas_videos/culture_cuisine | /data/culture_cuisine | bind | rw |
/mnt/nas_videos/documentaires | /data/documentaires | bind | rw |
Integration Claude Code — MCP
| Statut MCP | MCP actif |
|---|---|
| Outils (prefix) | mcp__jellyfin__ |
| Configuration | Script Python : C:\Users\eliob\.claude\mcp_jellyfin.py | Auth : JWT MediaBrowser Token via POST /Users/AuthenticateByName |
Outils disponibles
get_librariesget_itemsget_itemget_recently_addedget_resume_itemsget_sessionsget_usersget_server_infoscan_librarysearch_items
Ce que nous pouvons faire ensemble
- Parcourir films, séries et musiques de la médiathèque
- Voir les ajouts récents et les éléments en cours de lecture
- Surveiller les sessions actives (qui lit quoi en ce moment)
- Déclencher un scan de bibliothèque après ajout de contenu
- Rechercher un titre dans toute la médiathèque
260830 - Lecture des flux vidéos Jellyfin à partir de kDrive
Statut : FAIT le 2026-08-30. Jellyfin ne lit plus le NAS. Il lit kDrive par un montage rclone FUSE. Le NAS conserve l'intégralité des 694 Go — l'étape 6 (suppression) reste en attente, après période d'observation.
Résultat mesuré
| Avant | Après | |
|---|---|---|
Source de /mnt/nas_videos | CIFS //10.0.0.2/video | rclone kDrive Videos_NAS |
| Débit lu depuis le container | 5,0 Mo/s | 65,6 Mo/s |
| Propagation des 15 binds | absente | shared sur les 15 |
EnableRealtimeMonitor | actif sur 15 biblios | désactivé partout |
monitor-rclone.sh | 5 montages | 6, avec restart de jellyfin |
| Films catalogués | 343 | 629 (+286, fusion cuisine) |
Le goulot était le tunnel WireGuard depuis Toulon (40 Mbit/s, incompatible avec deux flux simultanés), pas kDrive. La bascule améliore la lecture au lieu de la dégrader.
Le montage
Service /etc/systemd/system/kdrive-video.service, activé au démarrage, calqué sur kdrive-music.service :
ExecStart=/usr/bin/rclone --config=/home/debian/.config/rclone/rclone.conf mount \
--rc --rc-addr 127.0.0.1:5578 --rc-user=rcadmin --rc-pass=RcVideo2026! --rc-enable-metrics \
"kdrive:Julien Bertrand (0)/Videos_NAS" /mnt/nas_videos \
--allow-other --dir-cache-time 72h --poll-interval 15s \
--vfs-cache-mode minimal --buffer-size 256M \
--uid 1000 --gid 1000 --umask 002 --allow-non-empty
--vfs-cache-mode minimal: lectures en direct, seules les écritures (nfo, trickplay) passent par le disque. Surtout pasfullcomme les montages musique — il cacherait 4 Go par film, or le VPS n'a que 33 Go libres sur 99 et l'incident du 2026-06-24 (disque à 100 %) est parti de là.--rc-addr 127.0.0.1: jamais0.0.0.0, règle permanente depuis l'incident du 2026-06-09.--uid 1000 --gid 1000: la compose déclareuser: 1000:1000./mntétait déjà en propagationshared— lemount --bindprévu s'est révélé inutile.
La carte des binds
Le montage porte sur Videos_NAS entier, pas seulement sur son sous-dossier video, parce que deux bibliothèques ont été fusionnées avec du contenu kDrive préexistant. Les chemins conteneur sont restés identiques : aucune ré-identification, aucun historique de visionnage perdu.
| Chemin hôte | Chemin conteneur |
|---|---|
/mnt/nas_videos/Séries | /data/series — fusionné |
/mnt/nas_videos/Video Cuisine | /data/culture_cuisine — fusionné |
/mnt/nas_videos/video/<13 autres> | /data/<13 autres> |
/home/debian/jellyfin/config | /config |
Compose : stack Portainer 5, projet compose 5. Sauvegarde docker-compose.yml.bak-260830.
sudo docker compose -p 5 -f /var/lib/docker/volumes/portainer_data/_data/compose/5/docker-compose.yml up -d --force-recreate
Disponible pour de futures bibliothèques
Le montage expose aussi ce qui vivait déjà dans Videos_NAS et qui n'est branché sur aucune bibliothèque : Video Culture Arts et Peinture (130,8 Go), Video Architecture et Urbanisme (29,4 Go), Video concerts (3,5 Go).
Pièges rencontrés — à ne pas re-découvrir
- Le point de montage n'était pas vide. Sous l'ancien CIFS subsistaient 15 dossiers vides. Laissés en place, un montage rclone mort ferait voir à Jellyfin des dossiers vides au lieu d'une erreur — et il purgerait ses bibliothèques. Vérifié (0 fichier réel, 65 536 octets de dossiers) puis supprimés, montage arrêté le temps de l'opération.
grep -crenvoie 1 quand il ne trouve rien et tue un script enset -e. Le redéploiement avait réussi, seule la vérification a échoué.- Docker ne montre pas
:shareddans.HostConfig.Binds, il le normalise dans.Mounts[].Propagation. Vérifier là. - Le projet compose est
5(l'ID de stack), pasjellyfin— lire le labelcom.docker.compose.projectavant tout redéploiement, sous peine de créer une pile en double.
Retour arrière
- Décommenter la ligne 36 de
/etc/fstab(sauvegarde/etc/fstab.bak-260830) sudo systemctl disable --now kdrive-video.service- Restaurer
docker-compose.yml.bak-260830et redéployer
Tant que le NAS n'a pas été vidé, le retour arrière est complet.
À signaler, hors périmètre
/home/debian/jellyfin/config (688 Mo — tout l'historique de visionnage et les métadonnées) n'est pas dans vps_backup.sh, qui ne couvre que BookStack, Immich, Joplin, Mealie, Readeck, Baïkal et ~/Documents. Cela se compresserait bien. À traiter séparément.
15_Joplin
joplin_to_obsidian
| Image | joplin_to_obsidian-joplin_to_obsidian |
|---|---|
| Etat | Up 9 hours |
| Compose project | joplin_to_obsidian |
| Reseau | joplin_joplin_network |
| URL | https://joplin.juxjux.ovh |
Volumes
| Source (hote) | Destination | Type | Mode |
|---|---|---|---|
/home/debian/Documents/Joplin_Obsidian | /home/debian/Documents/Joplin_Obsidian | bind | rw |
joplin-nginx
| Image | nginx:alpine |
|---|---|
| Etat | Up 9 hours |
| Compose project | joplin |
| Reseau | joplin_joplin_network |
| URL | https://joplin.juxjux.ovh |
Ports
| Hote | Container | IP |
|---|---|---|
| 22301 | 80/tcp | 0.0.0.0 |
| 22301 | 80/tcp | :: |
joplin
Docker image for Joplin Server
| Image | joplin/server:latest |
|---|---|
| Version | 3.4.3 |
| Etat | Up 9 hours |
| Compose project | joplin |
| Reseau | joplin_joplin_network |
| URL | https://joplin.juxjux.ovh |
| Source | https://github.com/laurent22/joplin.git |
Ports
| Hote | Container | IP |
|---|---|---|
| 22300 | 22300/tcp | 0.0.0.0 |
| 22300 | 22300/tcp | :: |
Volumes
| Source (hote) | Destination | Type | Mode |
|---|---|---|---|
/home/debian/joplin-data | /home/joplin/.config/joplin | bind | rw |
joplin-db
| Image | postgres:15-alpine |
|---|---|
| Etat | Up 9 hours |
| Compose project | joplin |
| Reseau | joplin_joplin_network |
| URL | https://joplin.juxjux.ovh |
Volumes
| Source (hote) | Destination | Type | Mode |
|---|---|---|---|
/home/debian/joplin-db-data | /var/lib/postgresql/data | bind | rw |
Integration Claude Code — API directe
| Statut MCP | Pas de MCP — API directe possible |
|---|---|
| Note technique | Le container Joplin est un serveur de synchronisation (sync server), pas un serveur de notes interrogeable. Pas d'API de lecture du contenu. Le container joplin_to_obsidian est un script de migration ponctuelle vers Obsidian. |
Ce que nous pouvons faire ensemble
- Synchronisation des notes entre appareils (via le client Joplin)
- Migration Joplin → Obsidian via le script joplin_to_obsidian (ponctuel)
Sauvegarde de la base de données
Sauvegarde automatique quotidienne de la base PostgreSQL joplin-db vers kDrive Infomaniak. Mise en place le 2026-06-01.
Paramètres
| Script | /opt/backups/vps_backup.sh |
|---|---|
| Cron | Tous les jours à 2h du matin (0 2 * * *) |
| Container DB | joplin-db (PostgreSQL 15) |
| Commande | pg_dump -U joplin -d joplin |
| Taille base (disque) | ~1.4 Go (notes + pièces jointes stockées en BLOB) |
| Format archive | .7z (compression niveau 5) |
| Destination | kDrive Infomaniak — TOOJUX/jux_vps/joplin (dossier ID 1427920) |
| Rétention | 7 jours glissants |
| Nommage fichier | joplin_db_YYYY-MM-DD.7z |
Note
La base est volumineuse (~1.4 Go) car Joplin stocke toutes les pièces jointes en BLOB dans PostgreSQL. L'archive compressée pèse ~500 Mo à 1 Go. Quota kDrive consommé : ~3.5 à 7 Go pour 7 jours.
Observatoire Joplin-Compression
Mis ? jour le 14/06/2026 12:50 ? dernier run compression : 2026-06-14T10:47
Bilan global
| Ressources totales (actuelles) | 736 fichiers |
|---|---|
| Poids total actuel | 119.7 Mo |
| Ressources compress?es | 424 |
| Poids avant compression | 451.5 Mo |
| ?conomie r?alis?e | 356.3 Mo (-78.9%) |
| Ignor?es (gain insuffisant) | 212 |
| Erreurs | 0 |
Top 15 ressources les plus lourdes (?tat actuel)
| # | ID | Format | Taille actuelle | Gain compression |
|---|---|---|---|---|
| 1 | vVO2ePdMvtty3sXZy5nY6M | ? | 3146 KB | |
| 2 | 0xh87pWrRt82z0DbO9n3yQ | ZIP | 2250 KB | -81% |
| 3 | VasIoF2e9EGuNQt38aOFMx | JPEG | 1633 KB | -66% |
| 4 | TzWK21r4n0yvbEtJh02DGB | JPEG | 1529 KB | -63% |
| 5 | M0C32hKC2hMqPAxpRGiVgp | JPEG | 937 KB | -87% |
| 6 | Hn6z6lvvbJzRsX0KGM8FNW | JPEG | 928 KB | -53% |
| 7 | 7EyAL9NNysJzWke6NT4ttJ | JPEG | 803 KB | -76% |
| 8 | bz9Twmb2F5lj0mPIQi48IB | JPEG | 798 KB | -81% |
| 9 | UbAqQY3cEbH62vioIHU6Pj | JPEG | 776 KB | -87% |
| 10 | SrJi1UyeNGf8OhaRsaOCGq | JPEG | 745 KB | -79% |
| 11 | 87mV49tXupZcpt2wplcGjU | JPEG | 685 KB | -59% |
| 12 | JsJFO6dIzqMKLA7clqW8nG | JPEG | 683 KB | -66% |
| 13 | VSyNmO0uN1fNNeqN6XZucO | JPEG | 674 KB | -19% |
| 14 | hExoJEEWT2tHz1demE5Nhm | JPEG | 674 KB | -84% |
| 15 | slTzAxAQ4xi0pMvzsLIDez | ? | 670 KB |
Observatoire Joplin-Compression
Mis ? jour le 15/06/2026 03:00 ? dernier run compression : 2026-06-15T03:00
Bilan global
| Ressources totales (actuelles) | 736 fichiers |
|---|---|
| Poids total actuel | 119.9 Mo |
| Ressources compress?es | 425 |
| Poids avant compression | 452.0 Mo |
| ?conomie r?alis?e | 356.4 Mo (-78.8%) |
| Ignor?es (gain insuffisant) | 212 |
| Erreurs | 0 |
Top 15 ressources les plus lourdes (?tat actuel)
| # | ID | Format | Taille actuelle | Gain compression |
|---|---|---|---|---|
| 1 | vVO2ePdMvtty3sXZy5nY6M | ? | 3146 KB | |
| 2 | 0xh87pWrRt82z0DbO9n3yQ | ZIP | 2250 KB | -81% |
| 3 | VasIoF2e9EGuNQt38aOFMx | JPEG | 1633 KB | -66% |
| 4 | TzWK21r4n0yvbEtJh02DGB | JPEG | 1529 KB | -63% |
| 5 | M0C32hKC2hMqPAxpRGiVgp | JPEG | 937 KB | -87% |
| 6 | Hn6z6lvvbJzRsX0KGM8FNW | JPEG | 928 KB | -53% |
| 7 | 7EyAL9NNysJzWke6NT4ttJ | JPEG | 803 KB | -76% |
| 8 | bz9Twmb2F5lj0mPIQi48IB | JPEG | 798 KB | -81% |
| 9 | UbAqQY3cEbH62vioIHU6Pj | JPEG | 776 KB | -87% |
| 10 | SrJi1UyeNGf8OhaRsaOCGq | JPEG | 745 KB | -79% |
| 11 | 87mV49tXupZcpt2wplcGjU | JPEG | 685 KB | -59% |
| 12 | JsJFO6dIzqMKLA7clqW8nG | JPEG | 683 KB | -66% |
| 13 | VSyNmO0uN1fNNeqN6XZucO | JPEG | 674 KB | -19% |
| 14 | hExoJEEWT2tHz1demE5Nhm | JPEG | 674 KB | -84% |
| 15 | slTzAxAQ4xi0pMvzsLIDez | ? | 670 KB |
Observatoire Joplin-Compression
Mis ? jour le 16/06/2026 03:00 ? dernier run compression : 2026-06-16T03:00
Bilan global
| Ressources totales (actuelles) | 736 fichiers |
|---|---|
| Poids total actuel | 119.9 Mo |
| Ressources compress?es | 425 |
| Poids avant compression | 452.0 Mo |
| ?conomie r?alis?e | 356.4 Mo (-78.8%) |
| Ignor?es (gain insuffisant) | 212 |
| Erreurs | 0 |
Top 15 ressources les plus lourdes (?tat actuel)
| # | ID | Format | Taille actuelle | Gain compression |
|---|---|---|---|---|
| 1 | vVO2ePdMvtty3sXZy5nY6M | ? | 3146 KB | |
| 2 | 0xh87pWrRt82z0DbO9n3yQ | ZIP | 2250 KB | -81% |
| 3 | VasIoF2e9EGuNQt38aOFMx | JPEG | 1633 KB | -66% |
| 4 | TzWK21r4n0yvbEtJh02DGB | JPEG | 1529 KB | -63% |
| 5 | M0C32hKC2hMqPAxpRGiVgp | JPEG | 937 KB | -87% |
| 6 | Hn6z6lvvbJzRsX0KGM8FNW | JPEG | 928 KB | -53% |
| 7 | 7EyAL9NNysJzWke6NT4ttJ | JPEG | 803 KB | -76% |
| 8 | bz9Twmb2F5lj0mPIQi48IB | JPEG | 798 KB | -81% |
| 9 | UbAqQY3cEbH62vioIHU6Pj | JPEG | 776 KB | -87% |
| 10 | SrJi1UyeNGf8OhaRsaOCGq | JPEG | 745 KB | -79% |
| 11 | 87mV49tXupZcpt2wplcGjU | JPEG | 685 KB | -59% |
| 12 | JsJFO6dIzqMKLA7clqW8nG | JPEG | 683 KB | -66% |
| 13 | VSyNmO0uN1fNNeqN6XZucO | JPEG | 674 KB | -19% |
| 14 | hExoJEEWT2tHz1demE5Nhm | JPEG | 674 KB | -84% |
| 15 | slTzAxAQ4xi0pMvzsLIDez | ? | 670 KB |
Observatoire Joplin-Compression
Mis ? jour le 27/08/2026 19:34 ? dernier run compression : 2026-08-27T03:00
Bilan global
| Ressources totales (actuelles) | 729 fichiers |
|---|---|
| Poids total actuel | 117.2 Mo |
| Ressources compress?es | 446 |
| Poids avant compression | 483.2 Mo |
| ?conomie r?alis?e | 383.2 Mo (-79.3%) |
| Ignor?es (gain insuffisant) | 228 |
| Erreurs | 0 |
Top 15 ressources les plus lourdes (?tat actuel)
| # | ID | Format | Taille actuelle | Gain compression |
|---|---|---|---|---|
| 1 | vVO2ePdMvtty3sXZy5nY6M | ? | 3146 KB | |
| 2 | rHfnJYnQeGAcNgRbYPmDqN | PNG | 1808 KB | -0% |
| 3 | VasIoF2e9EGuNQt38aOFMx | JPEG | 1633 KB | -66% |
| 4 | TzWK21r4n0yvbEtJh02DGB | JPEG | 1529 KB | -63% |
| 5 | M0C32hKC2hMqPAxpRGiVgp | JPEG | 937 KB | -87% |
| 6 | Hn6z6lvvbJzRsX0KGM8FNW | JPEG | 928 KB | -53% |
| 7 | 7EyAL9NNysJzWke6NT4ttJ | JPEG | 803 KB | -76% |
| 8 | bz9Twmb2F5lj0mPIQi48IB | JPEG | 798 KB | -81% |
| 9 | UbAqQY3cEbH62vioIHU6Pj | JPEG | 776 KB | -87% |
| 10 | SrJi1UyeNGf8OhaRsaOCGq | JPEG | 745 KB | -79% |
| 11 | 87mV49tXupZcpt2wplcGjU | JPEG | 685 KB | -59% |
| 12 | JsJFO6dIzqMKLA7clqW8nG | JPEG | 683 KB | -66% |
| 13 | VSyNmO0uN1fNNeqN6XZucO | JPEG | 674 KB | -19% |
| 14 | hExoJEEWT2tHz1demE5Nhm | JPEG | 674 KB | -84% |
| 15 | slTzAxAQ4xi0pMvzsLIDez | ? | 670 KB |
Observatoire Joplin-Compression
Mis ? jour le 28/08/2026 03:00 ? dernier run compression : 2026-08-28T03:00
Bilan global
| Ressources totales (actuelles) | 729 fichiers |
|---|---|
| Poids total actuel | 117.2 Mo |
| Ressources compress?es | 446 |
| Poids avant compression | 483.2 Mo |
| ?conomie r?alis?e | 383.2 Mo (-79.3%) |
| Ignor?es (gain insuffisant) | 228 |
| Erreurs | 0 |
Top 15 ressources les plus lourdes (?tat actuel)
| # | ID | Format | Taille actuelle | Gain compression |
|---|---|---|---|---|
| 1 | vVO2ePdMvtty3sXZy5nY6M | ? | 3146 KB | |
| 2 | rHfnJYnQeGAcNgRbYPmDqN | PNG | 1808 KB | -0% |
| 3 | VasIoF2e9EGuNQt38aOFMx | JPEG | 1633 KB | -66% |
| 4 | TzWK21r4n0yvbEtJh02DGB | JPEG | 1529 KB | -63% |
| 5 | M0C32hKC2hMqPAxpRGiVgp | JPEG | 937 KB | -87% |
| 6 | Hn6z6lvvbJzRsX0KGM8FNW | JPEG | 928 KB | -53% |
| 7 | 7EyAL9NNysJzWke6NT4ttJ | JPEG | 803 KB | -76% |
| 8 | bz9Twmb2F5lj0mPIQi48IB | JPEG | 798 KB | -81% |
| 9 | UbAqQY3cEbH62vioIHU6Pj | JPEG | 776 KB | -87% |
| 10 | SrJi1UyeNGf8OhaRsaOCGq | JPEG | 745 KB | -79% |
| 11 | 87mV49tXupZcpt2wplcGjU | JPEG | 685 KB | -59% |
| 12 | JsJFO6dIzqMKLA7clqW8nG | JPEG | 683 KB | -66% |
| 13 | VSyNmO0uN1fNNeqN6XZucO | JPEG | 674 KB | -19% |
| 14 | hExoJEEWT2tHz1demE5Nhm | JPEG | 674 KB | -84% |
| 15 | slTzAxAQ4xi0pMvzsLIDez | ? | 670 KB |
Observatoire Joplin-Compression
Mis ? jour le 29/08/2026 03:00 ? dernier run compression : 2026-08-29T03:00
Bilan global
| Ressources totales (actuelles) | 729 fichiers |
|---|---|
| Poids total actuel | 117.2 Mo |
| Ressources compress?es | 446 |
| Poids avant compression | 483.2 Mo |
| ?conomie r?alis?e | 383.2 Mo (-79.3%) |
| Ignor?es (gain insuffisant) | 228 |
| Erreurs | 0 |
Top 15 ressources les plus lourdes (?tat actuel)
| # | ID | Format | Taille actuelle | Gain compression |
|---|---|---|---|---|
| 1 | vVO2ePdMvtty3sXZy5nY6M | ? | 3146 KB | |
| 2 | rHfnJYnQeGAcNgRbYPmDqN | PNG | 1808 KB | -0% |
| 3 | VasIoF2e9EGuNQt38aOFMx | JPEG | 1633 KB | -66% |
| 4 | TzWK21r4n0yvbEtJh02DGB | JPEG | 1529 KB | -63% |
| 5 | M0C32hKC2hMqPAxpRGiVgp | JPEG | 937 KB | -87% |
| 6 | Hn6z6lvvbJzRsX0KGM8FNW | JPEG | 928 KB | -53% |
| 7 | 7EyAL9NNysJzWke6NT4ttJ | JPEG | 803 KB | -76% |
| 8 | bz9Twmb2F5lj0mPIQi48IB | JPEG | 798 KB | -81% |
| 9 | UbAqQY3cEbH62vioIHU6Pj | JPEG | 776 KB | -87% |
| 10 | SrJi1UyeNGf8OhaRsaOCGq | JPEG | 745 KB | -79% |
| 11 | 87mV49tXupZcpt2wplcGjU | JPEG | 685 KB | -59% |
| 12 | JsJFO6dIzqMKLA7clqW8nG | JPEG | 683 KB | -66% |
| 13 | VSyNmO0uN1fNNeqN6XZucO | JPEG | 674 KB | -19% |
| 14 | hExoJEEWT2tHz1demE5Nhm | JPEG | 674 KB | -84% |
| 15 | slTzAxAQ4xi0pMvzsLIDez | ? | 670 KB |
Observatoire Joplin-Compression
Mis ? jour le 30/08/2026 03:00 ? dernier run compression : 2026-08-30T03:00
Bilan global
| Ressources totales (actuelles) | 747 fichiers |
|---|---|
| Poids total actuel | 117.2 Mo |
| Ressources compress?es | 446 |
| Poids avant compression | 483.2 Mo |
| ?conomie r?alis?e | 383.2 Mo (-79.3%) |
| Ignor?es (gain insuffisant) | 228 |
| Erreurs | 0 |
Top 15 ressources les plus lourdes (?tat actuel)
| # | ID | Format | Taille actuelle | Gain compression |
|---|---|---|---|---|
| 1 | vVO2ePdMvtty3sXZy5nY6M | ? | 3146 KB | |
| 2 | rHfnJYnQeGAcNgRbYPmDqN | PNG | 1808 KB | -0% |
| 3 | VasIoF2e9EGuNQt38aOFMx | JPEG | 1633 KB | -66% |
| 4 | TzWK21r4n0yvbEtJh02DGB | JPEG | 1529 KB | -63% |
| 5 | M0C32hKC2hMqPAxpRGiVgp | JPEG | 937 KB | -87% |
| 6 | Hn6z6lvvbJzRsX0KGM8FNW | JPEG | 928 KB | -53% |
| 7 | 7EyAL9NNysJzWke6NT4ttJ | JPEG | 803 KB | -76% |
| 8 | bz9Twmb2F5lj0mPIQi48IB | JPEG | 798 KB | -81% |
| 9 | UbAqQY3cEbH62vioIHU6Pj | JPEG | 776 KB | -87% |
| 10 | SrJi1UyeNGf8OhaRsaOCGq | JPEG | 745 KB | -79% |
| 11 | 87mV49tXupZcpt2wplcGjU | JPEG | 685 KB | -59% |
| 12 | JsJFO6dIzqMKLA7clqW8nG | JPEG | 683 KB | -66% |
| 13 | VSyNmO0uN1fNNeqN6XZucO | JPEG | 674 KB | -19% |
| 14 | hExoJEEWT2tHz1demE5Nhm | JPEG | 674 KB | -84% |
| 15 | slTzAxAQ4xi0pMvzsLIDez | ? | 670 KB |
Observatoire Joplin-Compression
Mis ? jour le 31/08/2026 03:00 ? dernier run compression : 2026-08-31T03:00
Bilan global
| Ressources totales (actuelles) | 747 fichiers |
|---|---|
| Poids total actuel | 117.2 Mo |
| Ressources compress?es | 446 |
| Poids avant compression | 483.2 Mo |
| ?conomie r?alis?e | 383.2 Mo (-79.3%) |
| Ignor?es (gain insuffisant) | 228 |
| Erreurs | 0 |
Top 15 ressources les plus lourdes (?tat actuel)
| # | ID | Format | Taille actuelle | Gain compression |
|---|---|---|---|---|
| 1 | vVO2ePdMvtty3sXZy5nY6M | ? | 3146 KB | |
| 2 | rHfnJYnQeGAcNgRbYPmDqN | PNG | 1808 KB | -0% |
| 3 | VasIoF2e9EGuNQt38aOFMx | JPEG | 1633 KB | -66% |
| 4 | TzWK21r4n0yvbEtJh02DGB | JPEG | 1529 KB | -63% |
| 5 | M0C32hKC2hMqPAxpRGiVgp | JPEG | 937 KB | -87% |
| 6 | Hn6z6lvvbJzRsX0KGM8FNW | JPEG | 928 KB | -53% |
| 7 | 7EyAL9NNysJzWke6NT4ttJ | JPEG | 803 KB | -76% |
| 8 | bz9Twmb2F5lj0mPIQi48IB | JPEG | 798 KB | -81% |
| 9 | UbAqQY3cEbH62vioIHU6Pj | JPEG | 776 KB | -87% |
| 10 | SrJi1UyeNGf8OhaRsaOCGq | JPEG | 745 KB | -79% |
| 11 | 87mV49tXupZcpt2wplcGjU | JPEG | 685 KB | -59% |
| 12 | JsJFO6dIzqMKLA7clqW8nG | JPEG | 683 KB | -66% |
| 13 | VSyNmO0uN1fNNeqN6XZucO | JPEG | 674 KB | -19% |
| 14 | hExoJEEWT2tHz1demE5Nhm | JPEG | 674 KB | -84% |
| 15 | slTzAxAQ4xi0pMvzsLIDez | ? | 670 KB |
Observatoire Joplin-Compression
Mis ? jour le 01/09/2026 03:00 ? dernier run compression : 2026-09-01T03:00
Bilan global
| Ressources totales (actuelles) | 747 fichiers |
|---|---|
| Poids total actuel | 117.2 Mo |
| Ressources compress?es | 446 |
| Poids avant compression | 483.2 Mo |
| ?conomie r?alis?e | 383.2 Mo (-79.3%) |
| Ignor?es (gain insuffisant) | 228 |
| Erreurs | 0 |
Top 15 ressources les plus lourdes (?tat actuel)
| # | ID | Format | Taille actuelle | Gain compression |
|---|---|---|---|---|
| 1 | vVO2ePdMvtty3sXZy5nY6M | ? | 3146 KB | |
| 2 | rHfnJYnQeGAcNgRbYPmDqN | PNG | 1808 KB | -0% |
| 3 | VasIoF2e9EGuNQt38aOFMx | JPEG | 1633 KB | -66% |
| 4 | TzWK21r4n0yvbEtJh02DGB | JPEG | 1529 KB | -63% |
| 5 | M0C32hKC2hMqPAxpRGiVgp | JPEG | 937 KB | -87% |
| 6 | Hn6z6lvvbJzRsX0KGM8FNW | JPEG | 928 KB | -53% |
| 7 | 7EyAL9NNysJzWke6NT4ttJ | JPEG | 803 KB | -76% |
| 8 | bz9Twmb2F5lj0mPIQi48IB | JPEG | 798 KB | -81% |
| 9 | UbAqQY3cEbH62vioIHU6Pj | JPEG | 776 KB | -87% |
| 10 | SrJi1UyeNGf8OhaRsaOCGq | JPEG | 745 KB | -79% |
| 11 | 87mV49tXupZcpt2wplcGjU | JPEG | 685 KB | -59% |
| 12 | JsJFO6dIzqMKLA7clqW8nG | JPEG | 683 KB | -66% |
| 13 | VSyNmO0uN1fNNeqN6XZucO | JPEG | 674 KB | -19% |
| 14 | hExoJEEWT2tHz1demE5Nhm | JPEG | 674 KB | -84% |
| 15 | slTzAxAQ4xi0pMvzsLIDez | ? | 670 KB |
Observatoire Joplin-Compression
Mis ? jour le 02/09/2026 03:00 ? dernier run compression : 2026-09-02T03:00
Bilan global
| Ressources totales (actuelles) | 799 fichiers |
|---|---|
| Poids total actuel | 129.6 Mo |
| Ressources compress?es | 481 |
| Poids avant compression | 501.9 Mo |
| ?conomie r?alis?e | 389.7 Mo (-77.6%) |
| Ignor?es (gain insuffisant) | 229 |
| Erreurs | 0 |
Top 15 ressources les plus lourdes (?tat actuel)
| # | ID | Format | Taille actuelle | Gain compression |
|---|---|---|---|---|
| 1 | vVO2ePdMvtty3sXZy5nY6M | ? | 3146 KB | |
| 2 | rHfnJYnQeGAcNgRbYPmDqN | PNG | 1808 KB | -0% |
| 3 | VasIoF2e9EGuNQt38aOFMx | JPEG | 1633 KB | -66% |
| 4 | TzWK21r4n0yvbEtJh02DGB | JPEG | 1529 KB | -63% |
| 5 | mLOzpeA8XSX2APbtzYsus4 | JPEG | 1013 KB | -26% |
| 6 | M0C32hKC2hMqPAxpRGiVgp | JPEG | 937 KB | -87% |
| 7 | Hn6z6lvvbJzRsX0KGM8FNW | JPEG | 928 KB | -53% |
| 8 | Gz99SArqVWevqIJXe6osFP | JPEG | 915 KB | -25% |
| 9 | 63CxmGlTsKAXd02QcxFntj | JPEG | 897 KB | -28% |
| 10 | GGNUibagtNqGrPbYl7OfSQ | JPEG | 887 KB | -25% |
| 11 | Pz07yWDFjH1EXWXOquGEAe | JPEG | 864 KB | -31% |
| 12 | 7EyAL9NNysJzWke6NT4ttJ | JPEG | 803 KB | -76% |
| 13 | bz9Twmb2F5lj0mPIQi48IB | JPEG | 798 KB | -81% |
| 14 | UbAqQY3cEbH62vioIHU6Pj | JPEG | 776 KB | -87% |
| 15 | 5wpsuLJtyM19FIifc9Iz5x | JPEG | 755 KB | -26% |
Observatoire Joplin-Compression
Mis ? jour le 03/09/2026 03:00 ? dernier run compression : 2026-09-03T03:00
Bilan global
| Ressources totales (actuelles) | 834 fichiers |
|---|---|
| Poids total actuel | 133.1 Mo |
| Ressources compress?es | 484 |
| Poids avant compression | 502.5 Mo |
| ?conomie r?alis?e | 390.1 Mo (-77.6%) |
| Ignor?es (gain insuffisant) | 261 |
| Erreurs | 0 |
Top 15 ressources les plus lourdes (?tat actuel)
| # | ID | Format | Taille actuelle | Gain compression |
|---|---|---|---|---|
| 1 | vVO2ePdMvtty3sXZy5nY6M | ? | 3146 KB | |
| 2 | rHfnJYnQeGAcNgRbYPmDqN | PNG | 1808 KB | -0% |
| 3 | VasIoF2e9EGuNQt38aOFMx | JPEG | 1633 KB | -66% |
| 4 | TzWK21r4n0yvbEtJh02DGB | JPEG | 1529 KB | -63% |
| 5 | mLOzpeA8XSX2APbtzYsus4 | JPEG | 1013 KB | -26% |
| 6 | M0C32hKC2hMqPAxpRGiVgp | JPEG | 937 KB | -87% |
| 7 | Hn6z6lvvbJzRsX0KGM8FNW | JPEG | 928 KB | -53% |
| 8 | Gz99SArqVWevqIJXe6osFP | JPEG | 915 KB | -25% |
| 9 | 63CxmGlTsKAXd02QcxFntj | JPEG | 897 KB | -28% |
| 10 | GGNUibagtNqGrPbYl7OfSQ | JPEG | 887 KB | -25% |
| 11 | Pz07yWDFjH1EXWXOquGEAe | JPEG | 864 KB | -31% |
| 12 | 7EyAL9NNysJzWke6NT4ttJ | JPEG | 803 KB | -76% |
| 13 | bz9Twmb2F5lj0mPIQi48IB | JPEG | 798 KB | -81% |
| 14 | UbAqQY3cEbH62vioIHU6Pj | JPEG | 776 KB | -87% |
| 15 | 5wpsuLJtyM19FIifc9Iz5x | JPEG | 755 KB | -26% |
Observatoire Joplin-Compression
Mis ? jour le 04/09/2026 03:00 ? dernier run compression : 2026-09-04T03:00
Bilan global
| Ressources totales (actuelles) | 870 fichiers |
|---|---|
| Poids total actuel | 133.8 Mo |
| Ressources compress?es | 493 |
| Poids avant compression | 504.0 Mo |
| ?conomie r?alis?e | 391.1 Mo (-77.6%) |
| Ignor?es (gain insuffisant) | 266 |
| Erreurs | 0 |
Top 15 ressources les plus lourdes (?tat actuel)
| # | ID | Format | Taille actuelle | Gain compression |
|---|---|---|---|---|
| 1 | vVO2ePdMvtty3sXZy5nY6M | ? | 3146 KB | |
| 2 | rHfnJYnQeGAcNgRbYPmDqN | PNG | 1808 KB | -0% |
| 3 | VasIoF2e9EGuNQt38aOFMx | JPEG | 1633 KB | -66% |
| 4 | TzWK21r4n0yvbEtJh02DGB | JPEG | 1529 KB | -63% |
| 5 | mLOzpeA8XSX2APbtzYsus4 | JPEG | 1013 KB | -26% |
| 6 | M0C32hKC2hMqPAxpRGiVgp | JPEG | 937 KB | -87% |
| 7 | Hn6z6lvvbJzRsX0KGM8FNW | JPEG | 928 KB | -53% |
| 8 | Gz99SArqVWevqIJXe6osFP | JPEG | 915 KB | -25% |
| 9 | 63CxmGlTsKAXd02QcxFntj | JPEG | 897 KB | -28% |
| 10 | GGNUibagtNqGrPbYl7OfSQ | JPEG | 887 KB | -25% |
| 11 | Pz07yWDFjH1EXWXOquGEAe | JPEG | 864 KB | -31% |
| 12 | 7EyAL9NNysJzWke6NT4ttJ | JPEG | 803 KB | -76% |
| 13 | bz9Twmb2F5lj0mPIQi48IB | JPEG | 798 KB | -81% |
| 14 | UbAqQY3cEbH62vioIHU6Pj | JPEG | 776 KB | -87% |
| 15 | 5wpsuLJtyM19FIifc9Iz5x | JPEG | 755 KB | -26% |
Observatoire Joplin-Compression
Mis ? jour le 05/09/2026 03:00 ? dernier run compression : 2026-09-05T03:00
Bilan global
| Ressources totales (actuelles) | 872 fichiers |
|---|---|
| Poids total actuel | 134.7 Mo |
| Ressources compress?es | 495 |
| Poids avant compression | 508.2 Mo |
| ?conomie r?alis?e | 394.4 Mo (-77.6%) |
| Ignor?es (gain insuffisant) | 266 |
| Erreurs | 0 |
Top 15 ressources les plus lourdes (?tat actuel)
| # | ID | Format | Taille actuelle | Gain compression |
|---|---|---|---|---|
| 1 | vVO2ePdMvtty3sXZy5nY6M | ? | 3146 KB | |
| 2 | rHfnJYnQeGAcNgRbYPmDqN | PNG | 1808 KB | -0% |
| 3 | VasIoF2e9EGuNQt38aOFMx | JPEG | 1633 KB | -66% |
| 4 | TzWK21r4n0yvbEtJh02DGB | JPEG | 1529 KB | -63% |
| 5 | mLOzpeA8XSX2APbtzYsus4 | JPEG | 1013 KB | -26% |
| 6 | M0C32hKC2hMqPAxpRGiVgp | JPEG | 937 KB | -87% |
| 7 | Hn6z6lvvbJzRsX0KGM8FNW | JPEG | 928 KB | -53% |
| 8 | Gz99SArqVWevqIJXe6osFP | JPEG | 915 KB | -25% |
| 9 | 63CxmGlTsKAXd02QcxFntj | JPEG | 897 KB | -28% |
| 10 | GGNUibagtNqGrPbYl7OfSQ | JPEG | 887 KB | -25% |
| 11 | Pz07yWDFjH1EXWXOquGEAe | JPEG | 864 KB | -31% |
| 12 | 7EyAL9NNysJzWke6NT4ttJ | JPEG | 803 KB | -76% |
| 13 | bz9Twmb2F5lj0mPIQi48IB | JPEG | 798 KB | -81% |
| 14 | UbAqQY3cEbH62vioIHU6Pj | JPEG | 776 KB | -87% |
| 15 | 5wpsuLJtyM19FIifc9Iz5x | JPEG | 755 KB | -26% |
Observatoire Joplin-Compression
Mis ? jour le 06/09/2026 03:00 ? dernier run compression : 2026-09-06T03:00
Bilan global
| Ressources totales (actuelles) | 872 fichiers |
|---|---|
| Poids total actuel | 134.7 Mo |
| Ressources compress?es | 495 |
| Poids avant compression | 508.2 Mo |
| ?conomie r?alis?e | 394.4 Mo (-77.6%) |
| Ignor?es (gain insuffisant) | 266 |
| Erreurs | 0 |
Top 15 ressources les plus lourdes (?tat actuel)
| # | ID | Format | Taille actuelle | Gain compression |
|---|---|---|---|---|
| 1 | vVO2ePdMvtty3sXZy5nY6M | ? | 3146 KB | |
| 2 | rHfnJYnQeGAcNgRbYPmDqN | PNG | 1808 KB | -0% |
| 3 | VasIoF2e9EGuNQt38aOFMx | JPEG | 1633 KB | -66% |
| 4 | TzWK21r4n0yvbEtJh02DGB | JPEG | 1529 KB | -63% |
| 5 | mLOzpeA8XSX2APbtzYsus4 | JPEG | 1013 KB | -26% |
| 6 | M0C32hKC2hMqPAxpRGiVgp | JPEG | 937 KB | -87% |
| 7 | Hn6z6lvvbJzRsX0KGM8FNW | JPEG | 928 KB | -53% |
| 8 | Gz99SArqVWevqIJXe6osFP | JPEG | 915 KB | -25% |
| 9 | 63CxmGlTsKAXd02QcxFntj | JPEG | 897 KB | -28% |
| 10 | GGNUibagtNqGrPbYl7OfSQ | JPEG | 887 KB | -25% |
| 11 | Pz07yWDFjH1EXWXOquGEAe | JPEG | 864 KB | -31% |
| 12 | 7EyAL9NNysJzWke6NT4ttJ | JPEG | 803 KB | -76% |
| 13 | bz9Twmb2F5lj0mPIQi48IB | JPEG | 798 KB | -81% |
| 14 | UbAqQY3cEbH62vioIHU6Pj | JPEG | 776 KB | -87% |
| 15 | 5wpsuLJtyM19FIifc9Iz5x | JPEG | 755 KB | -26% |
Observatoire Joplin-Compression
Mis ? jour le 07/09/2026 03:00 ? dernier run compression : 2026-09-07T03:00
Bilan global
| Ressources totales (actuelles) | 872 fichiers |
|---|---|
| Poids total actuel | 134.7 Mo |
| Ressources compress?es | 495 |
| Poids avant compression | 508.2 Mo |
| ?conomie r?alis?e | 394.4 Mo (-77.6%) |
| Ignor?es (gain insuffisant) | 266 |
| Erreurs | 0 |
Top 15 ressources les plus lourdes (?tat actuel)
| # | ID | Format | Taille actuelle | Gain compression |
|---|---|---|---|---|
| 1 | vVO2ePdMvtty3sXZy5nY6M | ? | 3146 KB | |
| 2 | rHfnJYnQeGAcNgRbYPmDqN | PNG | 1808 KB | -0% |
| 3 | VasIoF2e9EGuNQt38aOFMx | JPEG | 1633 KB | -66% |
| 4 | TzWK21r4n0yvbEtJh02DGB | JPEG | 1529 KB | -63% |
| 5 | mLOzpeA8XSX2APbtzYsus4 | JPEG | 1013 KB | -26% |
| 6 | M0C32hKC2hMqPAxpRGiVgp | JPEG | 937 KB | -87% |
| 7 | Hn6z6lvvbJzRsX0KGM8FNW | JPEG | 928 KB | -53% |
| 8 | Gz99SArqVWevqIJXe6osFP | JPEG | 915 KB | -25% |
| 9 | 63CxmGlTsKAXd02QcxFntj | JPEG | 897 KB | -28% |
| 10 | GGNUibagtNqGrPbYl7OfSQ | JPEG | 887 KB | -25% |
| 11 | Pz07yWDFjH1EXWXOquGEAe | JPEG | 864 KB | -31% |
| 12 | 7EyAL9NNysJzWke6NT4ttJ | JPEG | 803 KB | -76% |
| 13 | bz9Twmb2F5lj0mPIQi48IB | JPEG | 798 KB | -81% |
| 14 | UbAqQY3cEbH62vioIHU6Pj | JPEG | 776 KB | -87% |
| 15 | 5wpsuLJtyM19FIifc9Iz5x | JPEG | 755 KB | -26% |
Observatoire Joplin-Compression
Mis ? jour le 08/09/2026 03:00 ? dernier run compression : 2026-09-08T03:00
Bilan global
| Ressources totales (actuelles) | 872 fichiers |
|---|---|
| Poids total actuel | 134.7 Mo |
| Ressources compress?es | 495 |
| Poids avant compression | 508.2 Mo |
| ?conomie r?alis?e | 394.4 Mo (-77.6%) |
| Ignor?es (gain insuffisant) | 266 |
| Erreurs | 0 |
Top 15 ressources les plus lourdes (?tat actuel)
| # | ID | Format | Taille actuelle | Gain compression |
|---|---|---|---|---|
| 1 | vVO2ePdMvtty3sXZy5nY6M | ? | 3146 KB | |
| 2 | rHfnJYnQeGAcNgRbYPmDqN | PNG | 1808 KB | -0% |
| 3 | VasIoF2e9EGuNQt38aOFMx | JPEG | 1633 KB | -66% |
| 4 | TzWK21r4n0yvbEtJh02DGB | JPEG | 1529 KB | -63% |
| 5 | mLOzpeA8XSX2APbtzYsus4 | JPEG | 1013 KB | -26% |
| 6 | M0C32hKC2hMqPAxpRGiVgp | JPEG | 937 KB | -87% |
| 7 | Hn6z6lvvbJzRsX0KGM8FNW | JPEG | 928 KB | -53% |
| 8 | Gz99SArqVWevqIJXe6osFP | JPEG | 915 KB | -25% |
| 9 | 63CxmGlTsKAXd02QcxFntj | JPEG | 897 KB | -28% |
| 10 | GGNUibagtNqGrPbYl7OfSQ | JPEG | 887 KB | -25% |
| 11 | Pz07yWDFjH1EXWXOquGEAe | JPEG | 864 KB | -31% |
| 12 | 7EyAL9NNysJzWke6NT4ttJ | JPEG | 803 KB | -76% |
| 13 | bz9Twmb2F5lj0mPIQi48IB | JPEG | 798 KB | -81% |
| 14 | UbAqQY3cEbH62vioIHU6Pj | JPEG | 776 KB | -87% |
| 15 | 5wpsuLJtyM19FIifc9Iz5x | JPEG | 755 KB | -26% |
Observatoire Joplin-Compression
Mis ? jour le 09/09/2026 03:00 ? dernier run compression : 2026-09-09T03:00
Bilan global
| Ressources totales (actuelles) | 872 fichiers |
|---|---|
| Poids total actuel | 134.7 Mo |
| Ressources compress?es | 495 |
| Poids avant compression | 508.2 Mo |
| ?conomie r?alis?e | 394.4 Mo (-77.6%) |
| Ignor?es (gain insuffisant) | 266 |
| Erreurs | 0 |
Top 15 ressources les plus lourdes (?tat actuel)
| # | ID | Format | Taille actuelle | Gain compression |
|---|---|---|---|---|
| 1 | vVO2ePdMvtty3sXZy5nY6M | ? | 3146 KB | |
| 2 | rHfnJYnQeGAcNgRbYPmDqN | PNG | 1808 KB | -0% |
| 3 | VasIoF2e9EGuNQt38aOFMx | JPEG | 1633 KB | -66% |
| 4 | TzWK21r4n0yvbEtJh02DGB | JPEG | 1529 KB | -63% |
| 5 | mLOzpeA8XSX2APbtzYsus4 | JPEG | 1013 KB | -26% |
| 6 | M0C32hKC2hMqPAxpRGiVgp | JPEG | 937 KB | -87% |
| 7 | Hn6z6lvvbJzRsX0KGM8FNW | JPEG | 928 KB | -53% |
| 8 | Gz99SArqVWevqIJXe6osFP | JPEG | 915 KB | -25% |
| 9 | 63CxmGlTsKAXd02QcxFntj | JPEG | 897 KB | -28% |
| 10 | GGNUibagtNqGrPbYl7OfSQ | JPEG | 887 KB | -25% |
| 11 | Pz07yWDFjH1EXWXOquGEAe | JPEG | 864 KB | -31% |
| 12 | 7EyAL9NNysJzWke6NT4ttJ | JPEG | 803 KB | -76% |
| 13 | bz9Twmb2F5lj0mPIQi48IB | JPEG | 798 KB | -81% |
| 14 | UbAqQY3cEbH62vioIHU6Pj | JPEG | 776 KB | -87% |
| 15 | 5wpsuLJtyM19FIifc9Iz5x | JPEG | 755 KB | -26% |
Observatoire Joplin-Compression
Mis ? jour le 10/09/2026 03:00 ? dernier run compression : 2026-09-10T03:00
Bilan global
| Ressources totales (actuelles) | 889 fichiers |
|---|---|
| Poids total actuel | 134.7 Mo |
| Ressources compress?es | 495 |
| Poids avant compression | 508.2 Mo |
| ?conomie r?alis?e | 394.4 Mo (-77.6%) |
| Ignor?es (gain insuffisant) | 266 |
| Erreurs | 0 |
Top 15 ressources les plus lourdes (?tat actuel)
| # | ID | Format | Taille actuelle | Gain compression |
|---|---|---|---|---|
| 1 | vVO2ePdMvtty3sXZy5nY6M | ? | 3146 KB | |
| 2 | rHfnJYnQeGAcNgRbYPmDqN | PNG | 1808 KB | -0% |
| 3 | VasIoF2e9EGuNQt38aOFMx | JPEG | 1633 KB | -66% |
| 4 | TzWK21r4n0yvbEtJh02DGB | JPEG | 1529 KB | -63% |
| 5 | mLOzpeA8XSX2APbtzYsus4 | JPEG | 1013 KB | -26% |
| 6 | M0C32hKC2hMqPAxpRGiVgp | JPEG | 937 KB | -87% |
| 7 | Hn6z6lvvbJzRsX0KGM8FNW | JPEG | 928 KB | -53% |
| 8 | Gz99SArqVWevqIJXe6osFP | JPEG | 915 KB | -25% |
| 9 | 63CxmGlTsKAXd02QcxFntj | JPEG | 897 KB | -28% |
| 10 | GGNUibagtNqGrPbYl7OfSQ | JPEG | 887 KB | -25% |
| 11 | Pz07yWDFjH1EXWXOquGEAe | JPEG | 864 KB | -31% |
| 12 | 7EyAL9NNysJzWke6NT4ttJ | JPEG | 803 KB | -76% |
| 13 | bz9Twmb2F5lj0mPIQi48IB | JPEG | 798 KB | -81% |
| 14 | UbAqQY3cEbH62vioIHU6Pj | JPEG | 776 KB | -87% |
| 15 | 5wpsuLJtyM19FIifc9Iz5x | JPEG | 755 KB | -26% |
Observatoire Joplin-Compression
Mis ? jour le 11/09/2026 03:00 ? dernier run compression : 2026-09-11T03:00
Bilan global
| Ressources totales (actuelles) | 889 fichiers |
|---|---|
| Poids total actuel | 134.7 Mo |
| Ressources compress?es | 495 |
| Poids avant compression | 508.2 Mo |
| ?conomie r?alis?e | 394.4 Mo (-77.6%) |
| Ignor?es (gain insuffisant) | 266 |
| Erreurs | 0 |
Top 15 ressources les plus lourdes (?tat actuel)
| # | ID | Format | Taille actuelle | Gain compression |
|---|---|---|---|---|
| 1 | vVO2ePdMvtty3sXZy5nY6M | ? | 3146 KB | |
| 2 | rHfnJYnQeGAcNgRbYPmDqN | PNG | 1808 KB | -0% |
| 3 | VasIoF2e9EGuNQt38aOFMx | JPEG | 1633 KB | -66% |
| 4 | TzWK21r4n0yvbEtJh02DGB | JPEG | 1529 KB | -63% |
| 5 | mLOzpeA8XSX2APbtzYsus4 | JPEG | 1013 KB | -26% |
| 6 | M0C32hKC2hMqPAxpRGiVgp | JPEG | 937 KB | -87% |
| 7 | Hn6z6lvvbJzRsX0KGM8FNW | JPEG | 928 KB | -53% |
| 8 | Gz99SArqVWevqIJXe6osFP | JPEG | 915 KB | -25% |
| 9 | 63CxmGlTsKAXd02QcxFntj | JPEG | 897 KB | -28% |
| 10 | GGNUibagtNqGrPbYl7OfSQ | JPEG | 887 KB | -25% |
| 11 | Pz07yWDFjH1EXWXOquGEAe | JPEG | 864 KB | -31% |
| 12 | 7EyAL9NNysJzWke6NT4ttJ | JPEG | 803 KB | -76% |
| 13 | bz9Twmb2F5lj0mPIQi48IB | JPEG | 798 KB | -81% |
| 14 | UbAqQY3cEbH62vioIHU6Pj | JPEG | 776 KB | -87% |
| 15 | 5wpsuLJtyM19FIifc9Iz5x | JPEG | 755 KB | -26% |
Observatoire Joplin-Compression
Mis ? jour le 12/09/2026 03:00 ? dernier run compression : 2026-09-12T03:00
Bilan global
| Ressources totales (actuelles) | 893 fichiers |
|---|---|
| Poids total actuel | 135.2 Mo |
| Ressources compress?es | 496 |
| Poids avant compression | 510.6 Mo |
| ?conomie r?alis?e | 396.5 Mo (-77.7%) |
| Ignor?es (gain insuffisant) | 269 |
| Erreurs | 0 |
Top 15 ressources les plus lourdes (?tat actuel)
| # | ID | Format | Taille actuelle | Gain compression |
|---|---|---|---|---|
| 1 | vVO2ePdMvtty3sXZy5nY6M | ? | 3146 KB | |
| 2 | rHfnJYnQeGAcNgRbYPmDqN | PNG | 1808 KB | -0% |
| 3 | VasIoF2e9EGuNQt38aOFMx | JPEG | 1633 KB | -66% |
| 4 | TzWK21r4n0yvbEtJh02DGB | JPEG | 1529 KB | -63% |
| 5 | mLOzpeA8XSX2APbtzYsus4 | JPEG | 1013 KB | -26% |
| 6 | M0C32hKC2hMqPAxpRGiVgp | JPEG | 937 KB | -87% |
| 7 | Hn6z6lvvbJzRsX0KGM8FNW | JPEG | 928 KB | -53% |
| 8 | Gz99SArqVWevqIJXe6osFP | JPEG | 915 KB | -25% |
| 9 | 63CxmGlTsKAXd02QcxFntj | JPEG | 897 KB | -28% |
| 10 | GGNUibagtNqGrPbYl7OfSQ | JPEG | 887 KB | -25% |
| 11 | Pz07yWDFjH1EXWXOquGEAe | JPEG | 864 KB | -31% |
| 12 | 7EyAL9NNysJzWke6NT4ttJ | JPEG | 803 KB | -76% |
| 13 | bz9Twmb2F5lj0mPIQi48IB | JPEG | 798 KB | -81% |
| 14 | UbAqQY3cEbH62vioIHU6Pj | JPEG | 776 KB | -87% |
| 15 | 5wpsuLJtyM19FIifc9Iz5x | JPEG | 755 KB | -26% |
Observatoire Joplin-Compression
Mis ? jour le 13/09/2026 03:00 ? dernier run compression : 2026-09-13T03:00
Bilan global
| Ressources totales (actuelles) | 893 fichiers |
|---|---|
| Poids total actuel | 135.2 Mo |
| Ressources compress?es | 496 |
| Poids avant compression | 510.6 Mo |
| ?conomie r?alis?e | 396.5 Mo (-77.7%) |
| Ignor?es (gain insuffisant) | 269 |
| Erreurs | 0 |
Top 15 ressources les plus lourdes (?tat actuel)
| # | ID | Format | Taille actuelle | Gain compression |
|---|---|---|---|---|
| 1 | vVO2ePdMvtty3sXZy5nY6M | ? | 3146 KB | |
| 2 | rHfnJYnQeGAcNgRbYPmDqN | PNG | 1808 KB | -0% |
| 3 | VasIoF2e9EGuNQt38aOFMx | JPEG | 1633 KB | -66% |
| 4 | TzWK21r4n0yvbEtJh02DGB | JPEG | 1529 KB | -63% |
| 5 | mLOzpeA8XSX2APbtzYsus4 | JPEG | 1013 KB | -26% |
| 6 | M0C32hKC2hMqPAxpRGiVgp | JPEG | 937 KB | -87% |
| 7 | Hn6z6lvvbJzRsX0KGM8FNW | JPEG | 928 KB | -53% |
| 8 | Gz99SArqVWevqIJXe6osFP | JPEG | 915 KB | -25% |
| 9 | 63CxmGlTsKAXd02QcxFntj | JPEG | 897 KB | -28% |
| 10 | GGNUibagtNqGrPbYl7OfSQ | JPEG | 887 KB | -25% |
| 11 | Pz07yWDFjH1EXWXOquGEAe | JPEG | 864 KB | -31% |
| 12 | 7EyAL9NNysJzWke6NT4ttJ | JPEG | 803 KB | -76% |
| 13 | bz9Twmb2F5lj0mPIQi48IB | JPEG | 798 KB | -81% |
| 14 | UbAqQY3cEbH62vioIHU6Pj | JPEG | 776 KB | -87% |
| 15 | 5wpsuLJtyM19FIifc9Iz5x | JPEG | 755 KB | -26% |
Observatoire Joplin-Compression
Mis ? jour le 14/09/2026 03:00 ? dernier run compression : 2026-09-14T03:00
Bilan global
| Ressources totales (actuelles) | 910 fichiers |
|---|---|
| Poids total actuel | 137.0 Mo |
| Ressources compress?es | 500 |
| Poids avant compression | 510.8 Mo |
| ?conomie r?alis?e | 396.5 Mo (-77.6%) |
| Ignor?es (gain insuffisant) | 279 |
| Erreurs | 0 |
Top 15 ressources les plus lourdes (?tat actuel)
| # | ID | Format | Taille actuelle | Gain compression |
|---|---|---|---|---|
| 1 | vVO2ePdMvtty3sXZy5nY6M | ? | 3146 KB | |
| 2 | rHfnJYnQeGAcNgRbYPmDqN | PNG | 1808 KB | -0% |
| 3 | VasIoF2e9EGuNQt38aOFMx | JPEG | 1633 KB | -66% |
| 4 | TzWK21r4n0yvbEtJh02DGB | JPEG | 1529 KB | -63% |
| 5 | mLOzpeA8XSX2APbtzYsus4 | JPEG | 1013 KB | -26% |
| 6 | M0C32hKC2hMqPAxpRGiVgp | JPEG | 937 KB | -87% |
| 7 | Hn6z6lvvbJzRsX0KGM8FNW | JPEG | 928 KB | -53% |
| 8 | Gz99SArqVWevqIJXe6osFP | JPEG | 915 KB | -25% |
| 9 | 63CxmGlTsKAXd02QcxFntj | JPEG | 897 KB | -28% |
| 10 | GGNUibagtNqGrPbYl7OfSQ | JPEG | 887 KB | -25% |
| 11 | Pz07yWDFjH1EXWXOquGEAe | JPEG | 864 KB | -31% |
| 12 | 7EyAL9NNysJzWke6NT4ttJ | JPEG | 803 KB | -76% |
| 13 | bz9Twmb2F5lj0mPIQi48IB | JPEG | 798 KB | -81% |
| 14 | UbAqQY3cEbH62vioIHU6Pj | JPEG | 776 KB | -87% |
| 15 | 5wpsuLJtyM19FIifc9Iz5x | JPEG | 755 KB | -26% |
Observatoire Joplin-Compression
Mis ? jour le 15/09/2026 03:00 ? dernier run compression : 2026-09-15T03:00
Bilan global
| Ressources totales (actuelles) | 917 fichiers |
|---|---|
| Poids total actuel | 137.5 Mo |
| Ressources compress?es | 500 |
| Poids avant compression | 510.8 Mo |
| ?conomie r?alis?e | 396.5 Mo (-77.6%) |
| Ignor?es (gain insuffisant) | 285 |
| Erreurs | 0 |
Top 15 ressources les plus lourdes (?tat actuel)
| # | ID | Format | Taille actuelle | Gain compression |
|---|---|---|---|---|
| 1 | vVO2ePdMvtty3sXZy5nY6M | ? | 3146 KB | |
| 2 | rHfnJYnQeGAcNgRbYPmDqN | PNG | 1808 KB | -0% |
| 3 | VasIoF2e9EGuNQt38aOFMx | JPEG | 1633 KB | -66% |
| 4 | TzWK21r4n0yvbEtJh02DGB | JPEG | 1529 KB | -63% |
| 5 | mLOzpeA8XSX2APbtzYsus4 | JPEG | 1013 KB | -26% |
| 6 | M0C32hKC2hMqPAxpRGiVgp | JPEG | 937 KB | -87% |
| 7 | Hn6z6lvvbJzRsX0KGM8FNW | JPEG | 928 KB | -53% |
| 8 | Gz99SArqVWevqIJXe6osFP | JPEG | 915 KB | -25% |
| 9 | 63CxmGlTsKAXd02QcxFntj | JPEG | 897 KB | -28% |
| 10 | GGNUibagtNqGrPbYl7OfSQ | JPEG | 887 KB | -25% |
| 11 | Pz07yWDFjH1EXWXOquGEAe | JPEG | 864 KB | -31% |
| 12 | 7EyAL9NNysJzWke6NT4ttJ | JPEG | 803 KB | -76% |
| 13 | bz9Twmb2F5lj0mPIQi48IB | JPEG | 798 KB | -81% |
| 14 | UbAqQY3cEbH62vioIHU6Pj | JPEG | 776 KB | -87% |
| 15 | 5wpsuLJtyM19FIifc9Iz5x | JPEG | 755 KB | -26% |
Observatoire Joplin-Compression
Mis ? jour le 16/09/2026 03:00 ? dernier run compression : 2026-09-16T03:00
Bilan global
| Ressources totales (actuelles) | 917 fichiers |
|---|---|
| Poids total actuel | 137.5 Mo |
| Ressources compress?es | 500 |
| Poids avant compression | 510.8 Mo |
| ?conomie r?alis?e | 396.5 Mo (-77.6%) |
| Ignor?es (gain insuffisant) | 285 |
| Erreurs | 0 |
Top 15 ressources les plus lourdes (?tat actuel)
| # | ID | Format | Taille actuelle | Gain compression |
|---|---|---|---|---|
| 1 | vVO2ePdMvtty3sXZy5nY6M | ? | 3146 KB | |
| 2 | rHfnJYnQeGAcNgRbYPmDqN | PNG | 1808 KB | -0% |
| 3 | VasIoF2e9EGuNQt38aOFMx | JPEG | 1633 KB | -66% |
| 4 | TzWK21r4n0yvbEtJh02DGB | JPEG | 1529 KB | -63% |
| 5 | mLOzpeA8XSX2APbtzYsus4 | JPEG | 1013 KB | -26% |
| 6 | M0C32hKC2hMqPAxpRGiVgp | JPEG | 937 KB | -87% |
| 7 | Hn6z6lvvbJzRsX0KGM8FNW | JPEG | 928 KB | -53% |
| 8 | Gz99SArqVWevqIJXe6osFP | JPEG | 915 KB | -25% |
| 9 | 63CxmGlTsKAXd02QcxFntj | JPEG | 897 KB | -28% |
| 10 | GGNUibagtNqGrPbYl7OfSQ | JPEG | 887 KB | -25% |
| 11 | Pz07yWDFjH1EXWXOquGEAe | JPEG | 864 KB | -31% |
| 12 | 7EyAL9NNysJzWke6NT4ttJ | JPEG | 803 KB | -76% |
| 13 | bz9Twmb2F5lj0mPIQi48IB | JPEG | 798 KB | -81% |
| 14 | UbAqQY3cEbH62vioIHU6Pj | JPEG | 776 KB | -87% |
| 15 | 5wpsuLJtyM19FIifc9Iz5x | JPEG | 755 KB | -26% |
Observatoire Joplin-Compression
Mis ? jour le 17/09/2026 03:00 ? dernier run compression : 2026-09-17T03:00
Bilan global
| Ressources totales (actuelles) | 920 fichiers |
|---|---|
| Poids total actuel | 138.8 Mo |
| Ressources compress?es | 503 |
| Poids avant compression | 515.8 Mo |
| ?conomie r?alis?e | 400.2 Mo (-77.6%) |
| Ignor?es (gain insuffisant) | 285 |
| Erreurs | 0 |
Top 15 ressources les plus lourdes (?tat actuel)
| # | ID | Format | Taille actuelle | Gain compression |
|---|---|---|---|---|
| 1 | vVO2ePdMvtty3sXZy5nY6M | ? | 3146 KB | |
| 2 | rHfnJYnQeGAcNgRbYPmDqN | PNG | 1808 KB | -0% |
| 3 | VasIoF2e9EGuNQt38aOFMx | JPEG | 1633 KB | -66% |
| 4 | TzWK21r4n0yvbEtJh02DGB | JPEG | 1529 KB | -63% |
| 5 | mLOzpeA8XSX2APbtzYsus4 | JPEG | 1013 KB | -26% |
| 6 | M0C32hKC2hMqPAxpRGiVgp | JPEG | 937 KB | -87% |
| 7 | Hn6z6lvvbJzRsX0KGM8FNW | JPEG | 928 KB | -53% |
| 8 | Gz99SArqVWevqIJXe6osFP | JPEG | 915 KB | -25% |
| 9 | 63CxmGlTsKAXd02QcxFntj | JPEG | 897 KB | -28% |
| 10 | GGNUibagtNqGrPbYl7OfSQ | JPEG | 887 KB | -25% |
| 11 | Pz07yWDFjH1EXWXOquGEAe | JPEG | 864 KB | -31% |
| 12 | 7EyAL9NNysJzWke6NT4ttJ | JPEG | 803 KB | -76% |
| 13 | bz9Twmb2F5lj0mPIQi48IB | JPEG | 798 KB | -81% |
| 14 | UbAqQY3cEbH62vioIHU6Pj | JPEG | 776 KB | -87% |
| 15 | 5wpsuLJtyM19FIifc9Iz5x | JPEG | 755 KB | -26% |
Observatoire Joplin-Compression
Mis ? jour le 18/09/2026 03:00 ? dernier run compression : 2026-09-18T03:00
Bilan global
| Ressources totales (actuelles) | 920 fichiers |
|---|---|
| Poids total actuel | 138.8 Mo |
| Ressources compress?es | 503 |
| Poids avant compression | 515.8 Mo |
| ?conomie r?alis?e | 400.2 Mo (-77.6%) |
| Ignor?es (gain insuffisant) | 285 |
| Erreurs | 0 |
Top 15 ressources les plus lourdes (?tat actuel)
| # | ID | Format | Taille actuelle | Gain compression |
|---|---|---|---|---|
| 1 | vVO2ePdMvtty3sXZy5nY6M | ? | 3146 KB | |
| 2 | rHfnJYnQeGAcNgRbYPmDqN | PNG | 1808 KB | -0% |
| 3 | VasIoF2e9EGuNQt38aOFMx | JPEG | 1633 KB | -66% |
| 4 | TzWK21r4n0yvbEtJh02DGB | JPEG | 1529 KB | -63% |
| 5 | mLOzpeA8XSX2APbtzYsus4 | JPEG | 1013 KB | -26% |
| 6 | M0C32hKC2hMqPAxpRGiVgp | JPEG | 937 KB | -87% |
| 7 | Hn6z6lvvbJzRsX0KGM8FNW | JPEG | 928 KB | -53% |
| 8 | Gz99SArqVWevqIJXe6osFP | JPEG | 915 KB | -25% |
| 9 | 63CxmGlTsKAXd02QcxFntj | JPEG | 897 KB | -28% |
| 10 | GGNUibagtNqGrPbYl7OfSQ | JPEG | 887 KB | -25% |
| 11 | Pz07yWDFjH1EXWXOquGEAe | JPEG | 864 KB | -31% |
| 12 | 7EyAL9NNysJzWke6NT4ttJ | JPEG | 803 KB | -76% |
| 13 | bz9Twmb2F5lj0mPIQi48IB | JPEG | 798 KB | -81% |
| 14 | UbAqQY3cEbH62vioIHU6Pj | JPEG | 776 KB | -87% |
| 15 | 5wpsuLJtyM19FIifc9Iz5x | JPEG | 755 KB | -26% |
Observatoire Joplin-Compression
Mis ? jour le 19/09/2026 03:00 ? dernier run compression : 2026-09-19T03:00
Bilan global
| Ressources totales (actuelles) | 920 fichiers |
|---|---|
| Poids total actuel | 138.8 Mo |
| Ressources compress?es | 503 |
| Poids avant compression | 515.8 Mo |
| ?conomie r?alis?e | 400.2 Mo (-77.6%) |
| Ignor?es (gain insuffisant) | 285 |
| Erreurs | 0 |
Top 15 ressources les plus lourdes (?tat actuel)
| # | ID | Format | Taille actuelle | Gain compression |
|---|---|---|---|---|
| 1 | vVO2ePdMvtty3sXZy5nY6M | ? | 3146 KB | |
| 2 | rHfnJYnQeGAcNgRbYPmDqN | PNG | 1808 KB | -0% |
| 3 | VasIoF2e9EGuNQt38aOFMx | JPEG | 1633 KB | -66% |
| 4 | TzWK21r4n0yvbEtJh02DGB | JPEG | 1529 KB | -63% |
| 5 | mLOzpeA8XSX2APbtzYsus4 | JPEG | 1013 KB | -26% |
| 6 | M0C32hKC2hMqPAxpRGiVgp | JPEG | 937 KB | -87% |
| 7 | Hn6z6lvvbJzRsX0KGM8FNW | JPEG | 928 KB | -53% |
| 8 | Gz99SArqVWevqIJXe6osFP | JPEG | 915 KB | -25% |
| 9 | 63CxmGlTsKAXd02QcxFntj | JPEG | 897 KB | -28% |
| 10 | GGNUibagtNqGrPbYl7OfSQ | JPEG | 887 KB | -25% |
| 11 | Pz07yWDFjH1EXWXOquGEAe | JPEG | 864 KB | -31% |
| 12 | 7EyAL9NNysJzWke6NT4ttJ | JPEG | 803 KB | -76% |
| 13 | bz9Twmb2F5lj0mPIQi48IB | JPEG | 798 KB | -81% |
| 14 | UbAqQY3cEbH62vioIHU6Pj | JPEG | 776 KB | -87% |
| 15 | 5wpsuLJtyM19FIifc9Iz5x | JPEG | 755 KB | -26% |
Observatoire Joplin-Compression
Mis ? jour le 20/09/2026 03:00 ? dernier run compression : 2026-09-20T03:00
Bilan global
| Ressources totales (actuelles) | 920 fichiers |
|---|---|
| Poids total actuel | 138.8 Mo |
| Ressources compress?es | 503 |
| Poids avant compression | 515.8 Mo |
| ?conomie r?alis?e | 400.2 Mo (-77.6%) |
| Ignor?es (gain insuffisant) | 285 |
| Erreurs | 0 |
Top 15 ressources les plus lourdes (?tat actuel)
| # | ID | Format | Taille actuelle | Gain compression |
|---|---|---|---|---|
| 1 | vVO2ePdMvtty3sXZy5nY6M | ? | 3146 KB | |
| 2 | rHfnJYnQeGAcNgRbYPmDqN | PNG | 1808 KB | -0% |
| 3 | VasIoF2e9EGuNQt38aOFMx | JPEG | 1633 KB | -66% |
| 4 | TzWK21r4n0yvbEtJh02DGB | JPEG | 1529 KB | -63% |
| 5 | mLOzpeA8XSX2APbtzYsus4 | JPEG | 1013 KB | -26% |
| 6 | M0C32hKC2hMqPAxpRGiVgp | JPEG | 937 KB | -87% |
| 7 | Hn6z6lvvbJzRsX0KGM8FNW | JPEG | 928 KB | -53% |
| 8 | Gz99SArqVWevqIJXe6osFP | JPEG | 915 KB | -25% |
| 9 | 63CxmGlTsKAXd02QcxFntj | JPEG | 897 KB | -28% |
| 10 | GGNUibagtNqGrPbYl7OfSQ | JPEG | 887 KB | -25% |
| 11 | Pz07yWDFjH1EXWXOquGEAe | JPEG | 864 KB | -31% |
| 12 | 7EyAL9NNysJzWke6NT4ttJ | JPEG | 803 KB | -76% |
| 13 | bz9Twmb2F5lj0mPIQi48IB | JPEG | 798 KB | -81% |
| 14 | UbAqQY3cEbH62vioIHU6Pj | JPEG | 776 KB | -87% |
| 15 | 5wpsuLJtyM19FIifc9Iz5x | JPEG | 755 KB | -26% |
Observatoire Joplin-Compression
Mis ? jour le 21/09/2026 03:00 ? dernier run compression : 2026-09-21T03:00
Bilan global
| Ressources totales (actuelles) | 920 fichiers |
|---|---|
| Poids total actuel | 138.8 Mo |
| Ressources compress?es | 503 |
| Poids avant compression | 515.8 Mo |
| ?conomie r?alis?e | 400.2 Mo (-77.6%) |
| Ignor?es (gain insuffisant) | 285 |
| Erreurs | 0 |
Top 15 ressources les plus lourdes (?tat actuel)
| # | ID | Format | Taille actuelle | Gain compression |
|---|---|---|---|---|
| 1 | vVO2ePdMvtty3sXZy5nY6M | ? | 3146 KB | |
| 2 | rHfnJYnQeGAcNgRbYPmDqN | PNG | 1808 KB | -0% |
| 3 | VasIoF2e9EGuNQt38aOFMx | JPEG | 1633 KB | -66% |
| 4 | TzWK21r4n0yvbEtJh02DGB | JPEG | 1529 KB | -63% |
| 5 | mLOzpeA8XSX2APbtzYsus4 | JPEG | 1013 KB | -26% |
| 6 | M0C32hKC2hMqPAxpRGiVgp | JPEG | 937 KB | -87% |
| 7 | Hn6z6lvvbJzRsX0KGM8FNW | JPEG | 928 KB | -53% |
| 8 | Gz99SArqVWevqIJXe6osFP | JPEG | 915 KB | -25% |
| 9 | 63CxmGlTsKAXd02QcxFntj | JPEG | 897 KB | -28% |
| 10 | GGNUibagtNqGrPbYl7OfSQ | JPEG | 887 KB | -25% |
| 11 | Pz07yWDFjH1EXWXOquGEAe | JPEG | 864 KB | -31% |
| 12 | 7EyAL9NNysJzWke6NT4ttJ | JPEG | 803 KB | -76% |
| 13 | bz9Twmb2F5lj0mPIQi48IB | JPEG | 798 KB | -81% |
| 14 | UbAqQY3cEbH62vioIHU6Pj | JPEG | 776 KB | -87% |
| 15 | 5wpsuLJtyM19FIifc9Iz5x | JPEG | 755 KB | -26% |
Observatoire Joplin-Compression
Mis ? jour le 22/09/2026 03:00 ? dernier run compression : 2026-09-22T03:00
Bilan global
| Ressources totales (actuelles) | 920 fichiers |
|---|---|
| Poids total actuel | 138.8 Mo |
| Ressources compress?es | 503 |
| Poids avant compression | 515.8 Mo |
| ?conomie r?alis?e | 400.2 Mo (-77.6%) |
| Ignor?es (gain insuffisant) | 285 |
| Erreurs | 0 |
Top 15 ressources les plus lourdes (?tat actuel)
| # | ID | Format | Taille actuelle | Gain compression |
|---|---|---|---|---|
| 1 | vVO2ePdMvtty3sXZy5nY6M | ? | 3146 KB | |
| 2 | rHfnJYnQeGAcNgRbYPmDqN | PNG | 1808 KB | -0% |
| 3 | VasIoF2e9EGuNQt38aOFMx | JPEG | 1633 KB | -66% |
| 4 | TzWK21r4n0yvbEtJh02DGB | JPEG | 1529 KB | -63% |
| 5 | mLOzpeA8XSX2APbtzYsus4 | JPEG | 1013 KB | -26% |
| 6 | M0C32hKC2hMqPAxpRGiVgp | JPEG | 937 KB | -87% |
| 7 | Hn6z6lvvbJzRsX0KGM8FNW | JPEG | 928 KB | -53% |
| 8 | Gz99SArqVWevqIJXe6osFP | JPEG | 915 KB | -25% |
| 9 | 63CxmGlTsKAXd02QcxFntj | JPEG | 897 KB | -28% |
| 10 | GGNUibagtNqGrPbYl7OfSQ | JPEG | 887 KB | -25% |
| 11 | Pz07yWDFjH1EXWXOquGEAe | JPEG | 864 KB | -31% |
| 12 | 7EyAL9NNysJzWke6NT4ttJ | JPEG | 803 KB | -76% |
| 13 | bz9Twmb2F5lj0mPIQi48IB | JPEG | 798 KB | -81% |
| 14 | UbAqQY3cEbH62vioIHU6Pj | JPEG | 776 KB | -87% |
| 15 | 5wpsuLJtyM19FIifc9Iz5x | JPEG | 755 KB | -26% |
Observatoire Joplin-Compression
Mis ? jour le 23/09/2026 03:00 ? dernier run compression : 2026-09-23T03:00
Bilan global
| Ressources totales (actuelles) | 920 fichiers |
|---|---|
| Poids total actuel | 138.8 Mo |
| Ressources compress?es | 503 |
| Poids avant compression | 515.8 Mo |
| ?conomie r?alis?e | 400.2 Mo (-77.6%) |
| Ignor?es (gain insuffisant) | 285 |
| Erreurs | 0 |
Top 15 ressources les plus lourdes (?tat actuel)
| # | ID | Format | Taille actuelle | Gain compression |
|---|---|---|---|---|
| 1 | vVO2ePdMvtty3sXZy5nY6M | ? | 3146 KB | |
| 2 | rHfnJYnQeGAcNgRbYPmDqN | PNG | 1808 KB | -0% |
| 3 | VasIoF2e9EGuNQt38aOFMx | JPEG | 1633 KB | -66% |
| 4 | TzWK21r4n0yvbEtJh02DGB | JPEG | 1529 KB | -63% |
| 5 | mLOzpeA8XSX2APbtzYsus4 | JPEG | 1013 KB | -26% |
| 6 | M0C32hKC2hMqPAxpRGiVgp | JPEG | 937 KB | -87% |
| 7 | Hn6z6lvvbJzRsX0KGM8FNW | JPEG | 928 KB | -53% |
| 8 | Gz99SArqVWevqIJXe6osFP | JPEG | 915 KB | -25% |
| 9 | 63CxmGlTsKAXd02QcxFntj | JPEG | 897 KB | -28% |
| 10 | GGNUibagtNqGrPbYl7OfSQ | JPEG | 887 KB | -25% |
| 11 | Pz07yWDFjH1EXWXOquGEAe | JPEG | 864 KB | -31% |
| 12 | 7EyAL9NNysJzWke6NT4ttJ | JPEG | 803 KB | -76% |
| 13 | bz9Twmb2F5lj0mPIQi48IB | JPEG | 798 KB | -81% |
| 14 | UbAqQY3cEbH62vioIHU6Pj | JPEG | 776 KB | -87% |
| 15 | 5wpsuLJtyM19FIifc9Iz5x | JPEG | 755 KB | -26% |
Observatoire Joplin-Compression
Mis ? jour le 24/09/2026 03:00 ? dernier run compression : 2026-09-24T03:00
Bilan global
| Ressources totales (actuelles) | 920 fichiers |
|---|---|
| Poids total actuel | 138.8 Mo |
| Ressources compress?es | 503 |
| Poids avant compression | 515.8 Mo |
| ?conomie r?alis?e | 400.2 Mo (-77.6%) |
| Ignor?es (gain insuffisant) | 285 |
| Erreurs | 0 |
Top 15 ressources les plus lourdes (?tat actuel)
| # | ID | Format | Taille actuelle | Gain compression |
|---|---|---|---|---|
| 1 | vVO2ePdMvtty3sXZy5nY6M | ? | 3146 KB | |
| 2 | rHfnJYnQeGAcNgRbYPmDqN | PNG | 1808 KB | -0% |
| 3 | VasIoF2e9EGuNQt38aOFMx | JPEG | 1633 KB | -66% |
| 4 | TzWK21r4n0yvbEtJh02DGB | JPEG | 1529 KB | -63% |
| 5 | mLOzpeA8XSX2APbtzYsus4 | JPEG | 1013 KB | -26% |
| 6 | M0C32hKC2hMqPAxpRGiVgp | JPEG | 937 KB | -87% |
| 7 | Hn6z6lvvbJzRsX0KGM8FNW | JPEG | 928 KB | -53% |
| 8 | Gz99SArqVWevqIJXe6osFP | JPEG | 915 KB | -25% |
| 9 | 63CxmGlTsKAXd02QcxFntj | JPEG | 897 KB | -28% |
| 10 | GGNUibagtNqGrPbYl7OfSQ | JPEG | 887 KB | -25% |
| 11 | Pz07yWDFjH1EXWXOquGEAe | JPEG | 864 KB | -31% |
| 12 | 7EyAL9NNysJzWke6NT4ttJ | JPEG | 803 KB | -76% |
| 13 | bz9Twmb2F5lj0mPIQi48IB | JPEG | 798 KB | -81% |
| 14 | UbAqQY3cEbH62vioIHU6Pj | JPEG | 776 KB | -87% |
| 15 | 5wpsuLJtyM19FIifc9Iz5x | JPEG | 755 KB | -26% |
Observatoire Joplin-Compression
Mis ? jour le 25/09/2026 03:00 ? dernier run compression : 2026-09-25T03:00
Bilan global
| Ressources totales (actuelles) | 920 fichiers |
|---|---|
| Poids total actuel | 138.8 Mo |
| Ressources compress?es | 503 |
| Poids avant compression | 515.8 Mo |
| ?conomie r?alis?e | 400.2 Mo (-77.6%) |
| Ignor?es (gain insuffisant) | 285 |
| Erreurs | 0 |
Top 15 ressources les plus lourdes (?tat actuel)
| # | ID | Format | Taille actuelle | Gain compression |
|---|---|---|---|---|
| 1 | vVO2ePdMvtty3sXZy5nY6M | ? | 3146 KB | |
| 2 | rHfnJYnQeGAcNgRbYPmDqN | PNG | 1808 KB | -0% |
| 3 | VasIoF2e9EGuNQt38aOFMx | JPEG | 1633 KB | -66% |
| 4 | TzWK21r4n0yvbEtJh02DGB | JPEG | 1529 KB | -63% |
| 5 | mLOzpeA8XSX2APbtzYsus4 | JPEG | 1013 KB | -26% |
| 6 | M0C32hKC2hMqPAxpRGiVgp | JPEG | 937 KB | -87% |
| 7 | Hn6z6lvvbJzRsX0KGM8FNW | JPEG | 928 KB | -53% |
| 8 | Gz99SArqVWevqIJXe6osFP | JPEG | 915 KB | -25% |
| 9 | 63CxmGlTsKAXd02QcxFntj | JPEG | 897 KB | -28% |
| 10 | GGNUibagtNqGrPbYl7OfSQ | JPEG | 887 KB | -25% |
| 11 | Pz07yWDFjH1EXWXOquGEAe | JPEG | 864 KB | -31% |
| 12 | 7EyAL9NNysJzWke6NT4ttJ | JPEG | 803 KB | -76% |
| 13 | bz9Twmb2F5lj0mPIQi48IB | JPEG | 798 KB | -81% |
| 14 | UbAqQY3cEbH62vioIHU6Pj | JPEG | 776 KB | -87% |
| 15 | 5wpsuLJtyM19FIifc9Iz5x | JPEG | 755 KB | -26% |
Observatoire Joplin-Compression
Mis ? jour le 26/09/2026 03:00 ? dernier run compression : 2026-09-26T03:00
Bilan global
| Ressources totales (actuelles) | 922 fichiers |
|---|---|
| Poids total actuel | 139.1 Mo |
| Ressources compress?es | 505 |
| Poids avant compression | 518.1 Mo |
| ?conomie r?alis?e | 402.2 Mo (-77.6%) |
| Ignor?es (gain insuffisant) | 285 |
| Erreurs | 0 |
Top 15 ressources les plus lourdes (?tat actuel)
| # | ID | Format | Taille actuelle | Gain compression |
|---|---|---|---|---|
| 1 | vVO2ePdMvtty3sXZy5nY6M | ? | 3146 KB | |
| 2 | rHfnJYnQeGAcNgRbYPmDqN | PNG | 1808 KB | -0% |
| 3 | VasIoF2e9EGuNQt38aOFMx | JPEG | 1633 KB | -66% |
| 4 | TzWK21r4n0yvbEtJh02DGB | JPEG | 1529 KB | -63% |
| 5 | mLOzpeA8XSX2APbtzYsus4 | JPEG | 1013 KB | -26% |
| 6 | M0C32hKC2hMqPAxpRGiVgp | JPEG | 937 KB | -87% |
| 7 | Hn6z6lvvbJzRsX0KGM8FNW | JPEG | 928 KB | -53% |
| 8 | Gz99SArqVWevqIJXe6osFP | JPEG | 915 KB | -25% |
| 9 | 63CxmGlTsKAXd02QcxFntj | JPEG | 897 KB | -28% |
| 10 | GGNUibagtNqGrPbYl7OfSQ | JPEG | 887 KB | -25% |
| 11 | Pz07yWDFjH1EXWXOquGEAe | JPEG | 864 KB | -31% |
| 12 | 7EyAL9NNysJzWke6NT4ttJ | JPEG | 803 KB | -76% |
| 13 | bz9Twmb2F5lj0mPIQi48IB | JPEG | 798 KB | -81% |
| 14 | UbAqQY3cEbH62vioIHU6Pj | JPEG | 776 KB | -87% |
| 15 | 5wpsuLJtyM19FIifc9Iz5x | JPEG | 755 KB | -26% |
Observatoire Joplin-Compression
Mis ? jour le 27/09/2026 03:00 ? dernier run compression : 2026-09-27T03:00
Bilan global
| Ressources totales (actuelles) | 922 fichiers |
|---|---|
| Poids total actuel | 139.1 Mo |
| Ressources compress?es | 505 |
| Poids avant compression | 518.1 Mo |
| ?conomie r?alis?e | 402.2 Mo (-77.6%) |
| Ignor?es (gain insuffisant) | 285 |
| Erreurs | 0 |
Top 15 ressources les plus lourdes (?tat actuel)
| # | ID | Format | Taille actuelle | Gain compression |
|---|---|---|---|---|
| 1 | vVO2ePdMvtty3sXZy5nY6M | ? | 3146 KB | |
| 2 | rHfnJYnQeGAcNgRbYPmDqN | PNG | 1808 KB | -0% |
| 3 | VasIoF2e9EGuNQt38aOFMx | JPEG | 1633 KB | -66% |
| 4 | TzWK21r4n0yvbEtJh02DGB | JPEG | 1529 KB | -63% |
| 5 | mLOzpeA8XSX2APbtzYsus4 | JPEG | 1013 KB | -26% |
| 6 | M0C32hKC2hMqPAxpRGiVgp | JPEG | 937 KB | -87% |
| 7 | Hn6z6lvvbJzRsX0KGM8FNW | JPEG | 928 KB | -53% |
| 8 | Gz99SArqVWevqIJXe6osFP | JPEG | 915 KB | -25% |
| 9 | 63CxmGlTsKAXd02QcxFntj | JPEG | 897 KB | -28% |
| 10 | GGNUibagtNqGrPbYl7OfSQ | JPEG | 887 KB | -25% |
| 11 | Pz07yWDFjH1EXWXOquGEAe | JPEG | 864 KB | -31% |
| 12 | 7EyAL9NNysJzWke6NT4ttJ | JPEG | 803 KB | -76% |
| 13 | bz9Twmb2F5lj0mPIQi48IB | JPEG | 798 KB | -81% |
| 14 | UbAqQY3cEbH62vioIHU6Pj | JPEG | 776 KB | -87% |
| 15 | 5wpsuLJtyM19FIifc9Iz5x | JPEG | 755 KB | -26% |
Observatoire Joplin-Compression
Mis ? jour le 28/09/2026 03:00 ? dernier run compression : 2026-09-28T03:00
Bilan global
| Ressources totales (actuelles) | 922 fichiers |
|---|---|
| Poids total actuel | 139.1 Mo |
| Ressources compress?es | 505 |
| Poids avant compression | 518.1 Mo |
| ?conomie r?alis?e | 402.2 Mo (-77.6%) |
| Ignor?es (gain insuffisant) | 285 |
| Erreurs | 0 |
Top 15 ressources les plus lourdes (?tat actuel)
| # | ID | Format | Taille actuelle | Gain compression |
|---|---|---|---|---|
| 1 | vVO2ePdMvtty3sXZy5nY6M | ? | 3146 KB | |
| 2 | rHfnJYnQeGAcNgRbYPmDqN | PNG | 1808 KB | -0% |
| 3 | VasIoF2e9EGuNQt38aOFMx | JPEG | 1633 KB | -66% |
| 4 | TzWK21r4n0yvbEtJh02DGB | JPEG | 1529 KB | -63% |
| 5 | mLOzpeA8XSX2APbtzYsus4 | JPEG | 1013 KB | -26% |
| 6 | M0C32hKC2hMqPAxpRGiVgp | JPEG | 937 KB | -87% |
| 7 | Hn6z6lvvbJzRsX0KGM8FNW | JPEG | 928 KB | -53% |
| 8 | Gz99SArqVWevqIJXe6osFP | JPEG | 915 KB | -25% |
| 9 | 63CxmGlTsKAXd02QcxFntj | JPEG | 897 KB | -28% |
| 10 | GGNUibagtNqGrPbYl7OfSQ | JPEG | 887 KB | -25% |
| 11 | Pz07yWDFjH1EXWXOquGEAe | JPEG | 864 KB | -31% |
| 12 | 7EyAL9NNysJzWke6NT4ttJ | JPEG | 803 KB | -76% |
| 13 | bz9Twmb2F5lj0mPIQi48IB | JPEG | 798 KB | -81% |
| 14 | UbAqQY3cEbH62vioIHU6Pj | JPEG | 776 KB | -87% |
| 15 | 5wpsuLJtyM19FIifc9Iz5x | JPEG | 755 KB | -26% |
Observatoire Joplin-Compression
Mis ? jour le 29/09/2026 03:00 ? dernier run compression : 2026-09-29T03:00
Bilan global
| Ressources totales (actuelles) | 931 fichiers |
|---|---|
| Poids total actuel | 140.2 Mo |
| Ressources compress?es | 513 |
| Poids avant compression | 524.8 Mo |
| ?conomie r?alis?e | 407.9 Mo (-77.7%) |
| Ignor?es (gain insuffisant) | 286 |
| Erreurs | 0 |
Top 15 ressources les plus lourdes (?tat actuel)
| # | ID | Format | Taille actuelle | Gain compression |
|---|---|---|---|---|
| 1 | vVO2ePdMvtty3sXZy5nY6M | ? | 3146 KB | |
| 2 | rHfnJYnQeGAcNgRbYPmDqN | PNG | 1808 KB | -0% |
| 3 | VasIoF2e9EGuNQt38aOFMx | JPEG | 1633 KB | -66% |
| 4 | TzWK21r4n0yvbEtJh02DGB | JPEG | 1529 KB | -63% |
| 5 | mLOzpeA8XSX2APbtzYsus4 | JPEG | 1013 KB | -26% |
| 6 | M0C32hKC2hMqPAxpRGiVgp | JPEG | 937 KB | -87% |
| 7 | Hn6z6lvvbJzRsX0KGM8FNW | JPEG | 928 KB | -53% |
| 8 | Gz99SArqVWevqIJXe6osFP | JPEG | 915 KB | -25% |
| 9 | 63CxmGlTsKAXd02QcxFntj | JPEG | 897 KB | -28% |
| 10 | GGNUibagtNqGrPbYl7OfSQ | JPEG | 887 KB | -25% |
| 11 | Pz07yWDFjH1EXWXOquGEAe | JPEG | 864 KB | -31% |
| 12 | 7EyAL9NNysJzWke6NT4ttJ | JPEG | 803 KB | -76% |
| 13 | bz9Twmb2F5lj0mPIQi48IB | JPEG | 798 KB | -81% |
| 14 | UbAqQY3cEbH62vioIHU6Pj | JPEG | 776 KB | -87% |
| 15 | 5wpsuLJtyM19FIifc9Iz5x | JPEG | 755 KB | -26% |
Observatoire Joplin-Compression
Mis ? jour le 30/09/2026 03:00 ? dernier run compression : 2026-09-30T03:00
Bilan global
| Ressources totales (actuelles) | 931 fichiers |
|---|---|
| Poids total actuel | 140.2 Mo |
| Ressources compress?es | 513 |
| Poids avant compression | 524.8 Mo |
| ?conomie r?alis?e | 407.9 Mo (-77.7%) |
| Ignor?es (gain insuffisant) | 286 |
| Erreurs | 0 |
Top 15 ressources les plus lourdes (?tat actuel)
| # | ID | Format | Taille actuelle | Gain compression |
|---|---|---|---|---|
| 1 | vVO2ePdMvtty3sXZy5nY6M | ? | 3146 KB | |
| 2 | rHfnJYnQeGAcNgRbYPmDqN | PNG | 1808 KB | -0% |
| 3 | VasIoF2e9EGuNQt38aOFMx | JPEG | 1633 KB | -66% |
| 4 | TzWK21r4n0yvbEtJh02DGB | JPEG | 1529 KB | -63% |
| 5 | mLOzpeA8XSX2APbtzYsus4 | JPEG | 1013 KB | -26% |
| 6 | M0C32hKC2hMqPAxpRGiVgp | JPEG | 937 KB | -87% |
| 7 | Hn6z6lvvbJzRsX0KGM8FNW | JPEG | 928 KB | -53% |
| 8 | Gz99SArqVWevqIJXe6osFP | JPEG | 915 KB | -25% |
| 9 | 63CxmGlTsKAXd02QcxFntj | JPEG | 897 KB | -28% |
| 10 | GGNUibagtNqGrPbYl7OfSQ | JPEG | 887 KB | -25% |
| 11 | Pz07yWDFjH1EXWXOquGEAe | JPEG | 864 KB | -31% |
| 12 | 7EyAL9NNysJzWke6NT4ttJ | JPEG | 803 KB | -76% |
| 13 | bz9Twmb2F5lj0mPIQi48IB | JPEG | 798 KB | -81% |
| 14 | UbAqQY3cEbH62vioIHU6Pj | JPEG | 776 KB | -87% |
| 15 | 5wpsuLJtyM19FIifc9Iz5x | JPEG | 755 KB | -26% |
Observatoire Joplin-Compression
Mis ? jour le 01/10/2026 03:00 ? dernier run compression : 2026-10-01T03:00
Bilan global
| Ressources totales (actuelles) | 932 fichiers |
|---|---|
| Poids total actuel | 140.7 Mo |
| Ressources compress?es | 513 |
| Poids avant compression | 524.8 Mo |
| ?conomie r?alis?e | 407.9 Mo (-77.7%) |
| Ignor?es (gain insuffisant) | 287 |
| Erreurs | 0 |
Top 15 ressources les plus lourdes (?tat actuel)
| # | ID | Format | Taille actuelle | Gain compression |
|---|---|---|---|---|
| 1 | vVO2ePdMvtty3sXZy5nY6M | ? | 3146 KB | |
| 2 | rHfnJYnQeGAcNgRbYPmDqN | PNG | 1808 KB | -0% |
| 3 | VasIoF2e9EGuNQt38aOFMx | JPEG | 1633 KB | -66% |
| 4 | TzWK21r4n0yvbEtJh02DGB | JPEG | 1529 KB | -63% |
| 5 | mLOzpeA8XSX2APbtzYsus4 | JPEG | 1013 KB | -26% |
| 6 | M0C32hKC2hMqPAxpRGiVgp | JPEG | 937 KB | -87% |
| 7 | Hn6z6lvvbJzRsX0KGM8FNW | JPEG | 928 KB | -53% |
| 8 | Gz99SArqVWevqIJXe6osFP | JPEG | 915 KB | -25% |
| 9 | 63CxmGlTsKAXd02QcxFntj | JPEG | 897 KB | -28% |
| 10 | GGNUibagtNqGrPbYl7OfSQ | JPEG | 887 KB | -25% |
| 11 | Pz07yWDFjH1EXWXOquGEAe | JPEG | 864 KB | -31% |
| 12 | 7EyAL9NNysJzWke6NT4ttJ | JPEG | 803 KB | -76% |
| 13 | bz9Twmb2F5lj0mPIQi48IB | JPEG | 798 KB | -81% |
| 14 | UbAqQY3cEbH62vioIHU6Pj | JPEG | 776 KB | -87% |
| 15 | 5wpsuLJtyM19FIifc9Iz5x | JPEG | 755 KB | -26% |
Observatoire Joplin-Compression
Mis ? jour le 02/10/2026 03:00 ? dernier run compression : 2026-10-02T03:00
Bilan global
| Ressources totales (actuelles) | 932 fichiers |
|---|---|
| Poids total actuel | 140.7 Mo |
| Ressources compress?es | 513 |
| Poids avant compression | 524.8 Mo |
| ?conomie r?alis?e | 407.9 Mo (-77.7%) |
| Ignor?es (gain insuffisant) | 287 |
| Erreurs | 0 |
Top 15 ressources les plus lourdes (?tat actuel)
| # | ID | Format | Taille actuelle | Gain compression |
|---|---|---|---|---|
| 1 | vVO2ePdMvtty3sXZy5nY6M | ? | 3146 KB | |
| 2 | rHfnJYnQeGAcNgRbYPmDqN | PNG | 1808 KB | -0% |
| 3 | VasIoF2e9EGuNQt38aOFMx | JPEG | 1633 KB | -66% |
| 4 | TzWK21r4n0yvbEtJh02DGB | JPEG | 1529 KB | -63% |
| 5 | mLOzpeA8XSX2APbtzYsus4 | JPEG | 1013 KB | -26% |
| 6 | M0C32hKC2hMqPAxpRGiVgp | JPEG | 937 KB | -87% |
| 7 | Hn6z6lvvbJzRsX0KGM8FNW | JPEG | 928 KB | -53% |
| 8 | Gz99SArqVWevqIJXe6osFP | JPEG | 915 KB | -25% |
| 9 | 63CxmGlTsKAXd02QcxFntj | JPEG | 897 KB | -28% |
| 10 | GGNUibagtNqGrPbYl7OfSQ | JPEG | 887 KB | -25% |
| 11 | Pz07yWDFjH1EXWXOquGEAe | JPEG | 864 KB | -31% |
| 12 | 7EyAL9NNysJzWke6NT4ttJ | JPEG | 803 KB | -76% |
| 13 | bz9Twmb2F5lj0mPIQi48IB | JPEG | 798 KB | -81% |
| 14 | UbAqQY3cEbH62vioIHU6Pj | JPEG | 776 KB | -87% |
| 15 | 5wpsuLJtyM19FIifc9Iz5x | JPEG | 755 KB | -26% |
16_Kavita
Kavita
Kavita is a fast, feature rich, cross platform reading server. Built with the goal of being a full solution for all your reading needs. Setup your own server and share your reading collection with your friends and family.
| Image | jvmilazz0/kavita:latest |
| Version | latest |
| Etat | Up (healthy) |
| Compose project | kavita |
| Réseau | kavita_default |
| URL | https://kavita.juxjux.ovh |
| Source | https://github.com/Kareadita/Kavita |
Ports
| Hote | Container | IP |
|---|---|---|
| 5471 | 5000/tcp | 0.0.0.0 |
Volumes
| Source (hote) | Destination | Type | Mode |
|---|---|---|---|
/home/debian/docker/kavita/config |
/kavita/config |
bind | rw |
/home/debian/livres |
/manga |
bind | rw |
Integration Claude Code — MCP
| Statut MCP | MCP actif |
| Outils (prefix) | mcp__kavita__ |
| Configuration | Script Python : C:\Users\eliob\.claude\mcp_kavita.py | Auth : JWT via POST /api/Account/login |
Outils opérationnels (confirmés 2026-06-25)
get_libraries— liste les 53 bibliothèquesget_series— liste les séries (filtre library_id non fonctionnel : retourne toutes les bibliothèques)get_series_detailget_series_metadata— retourne genres, auteurs, éditeur, résumé, annéeget_series_volumesget_recently_addedget_on_deck— séries en cours de lectureget_server_statssearch— recherche full-text sur noms de séries, genres, fichiers, chapitresget_collections— corrigé 2026-06-25get_reading_lists— corrigé 2026-06-25get_want_to_read— corrigé 2026-06-25add_to_want_to_readremove_from_want_to_readget_user_stats— corrigé 2026-06-25get_reading_list
Ce que nous pouvons faire ensemble
- Parcourir la bibliothèque par série, volume ou bibliothèque thématique
- Rechercher un titre, auteur ou genre
- Consulter les séries récemment ajoutées ou en cours de lecture
- Gérer la liste "À lire" (ajout/suppression)
- Consulter les collections et listes de lecture
- Appeler l'API directement via PowerShell pour filtrer par genre (
/api/Series/all-v2)
REX — 2026-06-25
Statistiques bibliothèque
| Stat | Valeur |
|---|---|
| Bibliothèques | 53 (toutes de type Book/epub+PDF) |
| Séries | 2 976 |
| Fichiers | 5 519 |
| Volumes | 1 173 |
| Taille totale | ~79 Go |
| Auteurs/contributeurs indexés | 3 475 |
| Genres indexés | 6 990 |
| Tags | 0 |
Étiquettes Calibre → genres Kavita
Les étiquettes appliquées via Calibre sont visibles dans Kavita sous le champ genres, pas tags (qui reste toujours vide, totalTags: 0).
Mécanisme : Calibre écrit ses étiquettes dans <dc:subject> du fichier epub lors du writeback → Kavita lit ce champ et le mappe en genres.
Exemple confirmé — "Il faut s'adapter" (Barbara Stiegler, lib. Actualités, ID série 4210) :
- genres :
Actualités,Philosophie,Politique,2020-2025
Conditions pour que ça fonctionne :
- Le fichier epub doit avoir été re-sauvegardé depuis Calibre après ajout des étiquettes (Préférences > Sauvegarde des métadonnées → writeback activé)
- La bibliothèque Kavita doit avoir
enableMetadata: true(c'est le cas pour Actualités) - Les PDFs ne portent généralement pas les métadonnées Calibre → genres vides
La bibliothèque Actualités (ID 63) est entièrement étiquetée et correctement indexée.
Lecture du contenu
Le MCP ne permet pas de lire le contenu des livres — uniquement les métadonnées. Kavita expose des endpoints de lecture (/api/Reader/image, /api/Reader/epub-file) mais non implémentés dans le MCP. Pour les epub, la lecture via appel API direct + parsing HTML serait techniquement faisable au cas par cas.
Corrections endpoints MCP (2026-06-25)
4 outils retournaient 404 suite à des changements d'API dans la version Kavita en production. Corrections appliquées dans mcp_kavita.py :
| Outil | Ancien endpoint (404) | Nouveau endpoint (200) |
|---|---|---|
get_collections |
GET /api/Collection/list |
GET /api/Collection |
get_reading_lists |
GET /api/ReadingList/lists?includePromoted=true |
POST /api/ReadingList/lists body {} |
get_want_to_read |
POST /api/Want-To-Read/get-list |
POST /api/Want-To-Read |
get_user_stats |
GET /api/Stats/user/0/read |
GET /api/Stats/user-stats?userId={id} |
Note : le userId est désormais extrait dynamiquement du payload de login (data["id"]) et stocké dans _user_id.
Limitations MCP identifiées
- Le paramètre
library_iddeget_seriesne filtre pas : retourne toutes les bibliothèques triées alphabétiquement - Pour filtrer par genre, utiliser l'API directe :
POST /api/Series/all-v2avec filtre JSON (hors MCP, via PowerShell)
Problème pipeline Calibre → Kavita — À résoudre
Constat (2026-06-25) : les fichiers enrichis par Calibre (avec étiquettes + métadonnées ISBN) ne remplacent pas les fichiers originaux dans le dossier Kavita. Kavita lit depuis le dossier source original (/manga = kDrive Sync_NAS-Maison/Foxy) qui contient les fichiers sans métadonnées.
Calibre, en mode par défaut, copie les fichiers dans sa propre arborescence et les enrichit là — les originaux restent intacts. Résultat : 98% des fichiers ont des métadonnées correctes dans Calibre, mais Kavita voit des genres vides.
Questions ouvertes à clarifier :
- Où est la bibliothèque Calibre (Windows, NAS Maison, autre) ?
- Le dossier source Kavita et le dossier d'import Calibre sont-ils le même, ou séparés ?
- Calibre est-il en mode copie (défaut) ou lien vers fichier original ?
Piste de solution : exporter les fichiers enrichis depuis la bibliothèque Calibre vers le dossier source Kavita (via "Enregistrer sur le disque" dans Calibre), en remplacement des originaux. Peut s'automatiser. À instruire.
17_Komga
komga
| Image | gotson/komga |
|---|---|
| Version | 1.25.0 |
| Etat | Up 9 hours |
| Compose project | komga |
| Reseau | komga_default |
| URL | https://komga.juxjux.ovh |
| Source | https://github.com/gotson/komga |
Ports
| Hote | Container | IP |
|---|---|---|
| 25600 | 25600/tcp | 0.0.0.0 |
| 25600 | 25600/tcp | :: |
Volumes
| Source (hote) | Destination | Type | Mode |
|---|---|---|---|
/home/debian/docker/komga/config | /config | bind | rw |
/home/debian/komga | /data | bind | rw |
/etc/timezone | /etc/timezone | bind | ro |
| /tmp | volume | rw |
Integration Claude Code — MCP
| Statut MCP | MCP actif |
|---|---|
| Outils (prefix) | mcp__komga__ |
| Configuration | Script Python : C:\Users\eliob\.claude\mcp_komga.py | Auth : Basic Auth (Base64 login:password) |
Outils disponibles
get_librariesget_seriesget_series_detailget_series_booksget_bookget_book_metadataget_booksget_latest_booksget_new_seriesget_updated_seriesget_on_deckget_read_listsget_read_listget_collectionsget_collectionsearchmark_series_readupdate_book_progressget_recently_added
Ce que nous pouvons faire ensemble
- Parcourir la bibliothèque comics/manga par série et tome
- Voir les dernières acquisitions et séries mises à jour
- Marquer une série comme lue ou mettre à jour la progression
- Gérer les listes de lecture et collections
- Rechercher dans toute la bibliothèque
Lenteur d'affichage des pages PDF — diagnostic et correctif (2026-08-30)
Symptome : temps d'attente de 4 a 6 secondes a chaque page d'un PDF, y compris sur une page deja consultee. Decourageant a l'usage.
Ce qui n'est PAS en cause : la definition de rendu
Premier reflexe : abaisser la definition des pages. Ce n'est pas possible, et cela n'aurait pratiquement rien change.
La resolution de rasterisation des PDF est cablee en dur dans
Komga, dans StaticConfiguration.kt :
@Bean("pdfResolution") fun pdfResolution(): Float = 3200F
@Bean("pdfImageType") fun pdfImageType() = ImageType.JPEG
PdfExtractor calcule scale = 3200 / min(largeur, hauteur),
soit 3200 px sur le petit cote : une page A4 sort en
3200 × 4040 = 12,9 Mpx, 0,75 a 1,4 Mo de JPEG.
Aucune propriete komga.pdf.* n'existe dans les metadonnees de
configuration Spring du jar (verifie sur la 1.25.0 installee), et la
documentation officielle n'expose rien de tel.
Attention — deux variables inertes dans la stack Portainer 7 :
KOMGA_PDF_RENDERING_DPI=72 et KOMGA_IMAGE_QUALITY=LOW ne
correspondent a aucune propriete existante. Spring les ignore en silence. Elles
laissent croire a un reglage actif : ne pas s'y fier. Laissees en
place le 2026-08-30 sur decision de Julien.
La vraie cause : le montage rclone etait en cache d'ecriture seule
kdrive-komga.service tournait en
--vfs-cache-mode writes, qui ne met en cache que les
ecritures. Chaque lecture repartait vers kDrive, indefiniment. Or PDFBox
saute d'abord a la table xref en fin de fichier, puis picore les objets : plusieurs
allers-retours reseau par page.
C'etait le seul montage kDrive reste en writes :
music, livres, audiobooks, photo et romans etaient deja en full avec
un plafond de 10G. Une exception oubliee, pas un choix.
Mesures — ou passait reellement le temps
Livre temoin : Geo 2012 - Iles de Reve.pdf, 96,8 Mo, 140 pages.
| Operation | Resultat |
|---|---|
| Page rendue en JPEG | 12,9 Mpx — 4,5 a 6,0 s |
| Page PDF brute (aucun rendu) | 60 a 90 Ko — 3,8 a 4,2 s |
| Acces aleatoire de 1 Mo sur le montage | 0,52 a 0,67 s, identique a la 2e lecture |
| Lecture sequentielle du fichier entier | 84 a 111 Mo/s (97 Mo en ~1 s) |
Le plancher de ~3,9 s etait commun au rendu et a la page brute : la preuve que le coupable etait l'I/O, pas la rasterisation, qui n'ajoutait que 0,6 a 2 s.
Consequence contre-intuitive : lire un fichier de 100 Mo de bout en bout (~1 s) coute moins cher que d'y picorer trois pages en acces aleatoire (~2 s). C'est le principe du prechauffage decrit plus bas.
Correctif applique le 2026-08-30
Options ajoutees a l'ExecStart de
kdrive-komga.service (sauvegarde :
kdrive-komga.service.bak-260830) :
--vfs-cache-mode full --vfs-cache-max-size 8G --vfs-cache-max-age 6h
--vfs-cache-poll-interval 1m --vfs-read-chunk-size 32M
--vfs-read-chunk-size-limit 512M
Avant (writes) | Apres (full) | |
|---|---|---|
| 1re page d'un livre froid | 4,5 a 6,0 s | 3,4 s |
| Pages suivantes | 4,5 a 6,0 s | 0,69 a 0,84 s |
| Meme page redemandee | 6,0 s (aucun gain) | 0,99 s |
Facteur 6 a 7 sur tout ce qui suit la premiere page. Les 0,7 s residuels sont la rasterisation PDFBox : le plancher est desormais le CPU du VPS, plus rien a voir avec kDrive.
Pieges a ne pas refaire
- Redemarrer le container Komga apres le remontage — il garde
sinon l'ancienne reference FUSE et continue de lire dans le vide. Meme piege que le
correctif
:shareddu 2026-06-08. - Ne jamais passer un mount en
fullsans--vfs-cache-max-size. Six montages enfulltotalisent 58 Go de plafond theorique pour 34 Go libres sur/home/debian. En pratique le cache reel plafonne vers 4,3 Go, car--vfs-cache-max-agepurge bien avant que la taille ne morde — mais l'incident du 2026-06-24 (spool rclone de 14 Go, disque plein, VPS a terre) rappelle ce qui arrive sans bornage. - Le choix est l'inverse de celui retenu pour Jellyfin
(
minimal), et a juste titre : un film est lu une fois en flux lineaire, un PDF subit des acces aleatoires repetes sur le meme fichier. - L'API renvoie le chemin vu par le container
(
/data/...) : le retraduire en/home/debian/komga/...cote hote.
Piste non deployee : le prechauffage a l'ouverture
--vfs-cache-mode full telecharge a la demande, pas d'un bloc. Un
demon peut forcer la lecture sequentielle complete des l'ouverture du livre, ce
qui supprime les 3,4 s de la premiere page.
Ecrit et teste, non installe (le cache seul suffisait) :
Jux-scripts/Komga-Cache/precharger_komga.py +
komga-precharge.service, avec un README.md detaillant
mesures, deploiement et retour arriere.
Declencheur retenu : GET /api/v1/books/{id}/manifest dans le
journal nginx — appel emis par le lecteur web avant la premiere
page (verifie dans le JS du webreader). Repli sur
pages/1-3 pour les clients tiers. La suppression du fichier est
deleguee a rclone : --vfs-cache-max-age vaut mieux qu'une
suppression a la fermeture, car un livre rouvert dix minutes plus tard reste
chaud.
Retour arriere
sudo cp /etc/systemd/system/kdrive-komga.service.bak-260830 \
/etc/systemd/system/kdrive-komga.service
sudo systemctl daemon-reload
sudo systemctl restart kdrive-komga.service
sudo docker restart komga
Note : la section « Integration Claude Code — MCP »
ci-dessus est perimee. Le script C:\Users\eliob\.claude\mcp_komga.py
a disparu avec le profil Windows eliob ; il a ete reecrit sans
dependance dans Jux-scripts/MCP/mcp_komga.py, mais n'est pas
enregistre sur le poste julie (seuls bookstack et
kdrive le sont).
Nouveaux fichiers invisibles de la bibliotheque — 2026-09-02
Symptome : un magazine depose (Beaux Arts de septembre 2026) n'apparait pas dans Komga, malgre plusieurs scans manuels.
Cause : le cache de listing du montage, --dir-cache-time 72h
rclone conserve la liste des fichiers d'un dossier pendant 72 h sans jamais la reverifier. Un fichier ajoute sur kDrive apres le dernier listing reste donc invisible du montage — et donc de Komga — pendant jusqu'a trois jours. Aucun scan ne peut y remedier : Komga ne voit que ce que le systeme de fichiers lui montre.
Preuve relevee le 2026-09-02 sur Arts/Beaux Arts/Beaux Arts 2026 :
| Vue | Contenu |
|---|---|
Le montage (ls) | 5 fichiers, listing fige au 5 mai |
kDrive en direct (rclone lsl) | 7 fichiers, dont deux deposes le 01/09 a 14:21 |
Ce n'etait pas un seul magazine : la purge du cache a fait apparaitre 20 livres d'un coup — Revue du Vin de France (juin, juillet-aout, septembre), Saveurs, Monde Gourmand × 3, Elle a Table, Cuisine et Vins, Connaissance des Arts × 4, Destination Portugal/Italie/Espagne, Beaux Arts × 3. Des mois de nouveautes.
Fausses pistes — ne pas les reprendre
- Ce n'est ni Komga ni son scan. Les taches de scan
s'executaient normalement toutes les nuits (cron
0 4 * * * ?), sans la moindre erreur au journal. Relancer un scan ne pouvait rien changer. - Ce n'est pas la synchro NAS → kDrive. Elle fonctionnait
parfaitement :
There was nothing to transfer, 36 608 fichiers verifies le 02/09 a 00:01. Le fichier etait bien monte du NAS vers kDrive le 01/09 a 16:21. Ne pas rejouer le diagnostic de la panne du 2026-08-28 (rclone.confdeplace) : le canarigrep -l CRITICAL logs/sync_*etait muet. - Piege de diagnostic rencontre en direct : un
rclone lsl --include '**eaux*rts**' | tail -12n'a retourne que des fichiers de 2025, ce qui a fait conclure a tort que le fichier etait absent de kDrive. Le filtre remontait en fait le sous-dossier Hors Series, ettailcoupait le reste. Toujours lister le dossier exact, sans filtre glob ni troncature, avant de conclure a l'absence d'un fichier.
Reparation immediate
kdrive-komga.service n'a pas de flag --rc :
il est le seul montage rclone du VPS qu'on ne peut pas rafraichir
par rclone rc vfs/refresh. Le seul moyen de purger son cache de
listing est donc de redemarrer le service.
sudo systemctl restart kdrive-komga.service
ls "/home/debian/komga/Arts/Beaux Arts/Beaux Arts 2026/" # le fichier apparait
sudo docker restart komga # ancienne ref FUSE
# puis scan de chaque bibliotheque :
curl -u USER:PASS -X POST http://127.0.0.1:25600/api/v1/libraries/{id}/scan
Le cache VFS de donnees (les 8 Go sur disque) survit au redemarrage du service : seul le cache de listing, qui vit en memoire, est perdu. Rien n'est retelecharge.
Deux pieges rencontres pendant la reparation
ERR_1005transitoire. Sur les 20 livres, 2 sont sortis du scan enERROR. Les fichiers etaient sains (%PDF-1.5…%%EOF) : c'est l'analyse de 20 PDF simultanement sur un montage encore froid qui a fait echouer deux lectures. Une simple relance (POST /api/v1/books/{id}/analyze) les a passes enREADY. Ne pas conclure a un PDF corrompu sans avoir reanalyse une fois.- La recherche Komga par titre est trompeuse.
?search=Beaux Arts - 09ne renvoyait pas le livre alors qu'il etait bien indexe etREADY: la tokenisation Lucene ne matche pas ce genre de titre. Verifier la presence d'un livre par?library_id={id}, jamais par?search=.
Correctif durable — APPLIQUE le 2026-09-02
Ne pas baisser --dir-cache-time : sur un dossier
de cette taille, une valeur courte provoque une instabilite permanente (kDrive ne
repond pas assez vite entre deux expirations, le dossier apparait vide). 72 h
reste le bon reglage — ce qui manquait, c'etait la capacite a
rafraichir a la demande.
Trois actions, appliquees le 2026-09-02 :
- Flag
--rcajoute au montage — il en etait depourvu, seul de tous les montages du VPS (sauvegarde de l'unit :kdrive-komga.service.bak-260902) :
Le rafraichissement du listing prend 18 s pour 1 580 dossiers et 38 187 fichiers, sans redemarrer quoi que ce soit :--rc --rc-addr 127.0.0.1:5574 --rc-user=rcadmin --rc-pass=RcKomga2026!rclone rc --rc-addr 127.0.0.1:5574 --rc-user=rcadmin --rc-pass='RcKomga2026!' \ vfs/refresh recursive=true - Regle ufw
DENY 5574/tcpajoutee. Les ports 5572, 5573, 5575, 5576 et 5577 etaient bloques depuis l'incident du 2026-06-09, mais pas 5574 — il n'existait pas encore. Les six sont desormais couverts uniformement. L'ecoute reste sur127.0.0.1de toute facon. - Cron
45 3 * * *→Jux-scripts/Komga-Cache/komga_scan.sh: rafraichit le listing puis relance les 23 bibliotheques, avant le scan interne de Komga a 4 h, pour que celui-ci en profite aussi. Journal :/home/debian/logs/komga_scan.log. Modele repris denavidrome_scan.sh, en production depuis juin 2026.
Execution de controle : vfs/refresh 18 s, 23 scans lances, 24 s au
total, code de sortie 0.
Rafraichissement immediat, quand un fichier vient d'etre depose et qu'on ne veut pas attendre la nuit :
bash /home/debian/Documents/Jux_univers/Jux-scripts/Komga-Cache/komga_scan.sh
Les identifiants du script vivent dans
/home/debian/.komga_scan.env (chmod 600), hors de l'arbre
Syncthing ; le script lui-meme est versionne dans Jux-scripts/
et se replique sur les 7 appareils.
Note annexe : Syncthing sur le poste julie n'avait pas
detecte seul le nouveau script — les deux instances s'annoncaient
idle avec 0 fichier en attente. Il a fallu forcer le scan par
POST /rest/db/scan?folder=afltj-njyuy&sub=.... A garder en
tete avant de conclure a une panne de synchronisation.
18_Mealie
mealie
Mealie is a self hosted recipe manager and meal planner with a RestAPI backend and a reactive frontend application built in Vue for a pleasant user experience for the whole family. Easily add recipes into your database by providing the url and mealie will automatically import the relevant data or add a family recipe with the UI editor
| Image | ghcr.io/mealie-recipes/mealie:latest |
|---|---|
| Version | v3.16.0 |
| Etat | Up 9 hours (healthy) |
| Compose project | mealie2 |
| Reseau | mealie2_default |
| URL | https://mealie.juxjux.ovh |
| Source | https://github.com/mealie-recipes/mealie |
Ports
| Hote | Container | IP |
|---|---|---|
| 9925 | 9000/tcp | 0.0.0.0 |
| 9925 | 9000/tcp | :: |
Volumes
| Source (hote) | Destination | Type | Mode |
|---|---|---|---|
/home/debian/docker/mealie/backups | /app/backups | bind | rw |
/home/debian/docker/mealie/config | /app/config | bind | rw |
/home/debian/docker/mealie/data | /app/data | bind | rw |
Integration Claude Code — MCP
| Statut MCP | MCP actif |
|---|---|
| Outils (prefix) | mcp__mealie__ |
| Configuration | Script Python : C:\Users\eliob\.claude\mcp_mealie.py | Auth : OAuth2 Bearer Token via POST /api/auth/token |
Outils disponibles
get_recipesget_recipecreate_recipecreate_recipe_from_urldelete_recipeget_categoriesget_tagsget_cookbooksget_cookbookget_meal_planadd_meal_plan_entryget_shopping_listsget_shopping_listadd_shopping_item
Ce que nous pouvons faire ensemble
- Parcourir et rechercher des recettes par catégorie ou tag
- Importer automatiquement une recette depuis une URL
- Planifier les repas de la semaine
- Gérer les listes de courses (ajout d'ingrédients)
- Créer une recette depuis une description ou un texte fourni
Sauvegarde de la base de données
Sauvegarde automatique quotidienne de la base SQLite de Mealie vers kDrive Infomaniak. Mise en place le 2026-06-01.
Paramètres
| Script | /opt/backups/vps_backup.sh |
|---|---|
| Cron | Tous les jours à 2h du matin (0 2 * * *) |
| Type base | SQLite — /app/data/mealie.db (dans le container) |
| Méthode | docker cp mealie:/app/data/mealie.db |
| Taille base | ~2.9 Mo |
| Format archive | .7z (compression niveau 5) |
| Destination | kDrive Infomaniak — TOOJUX/jux_vps/mealie (dossier ID 1427921) |
| Rétention | 7 jours glissants |
| Nommage fichier | mealie_db_YYYY-MM-DD.7z |
19_Navidrome
navidrome-navidrome-1
🎧 Your Personal Streaming Service
| Image | deluan/navidrome:latest |
|---|---|
| Version | 0.61.2 |
| Etat | Up |
| Compose project | navidrome |
| Reseau | navidrome_default |
| URL | https://navidrome.juxjux.ovh |
| Source | https://github.com/navidrome/navidrome |
Ports
| Hote | Container | IP |
|---|---|---|
| 4533 | 4533/tcp | 0.0.0.0 |
Volumes
| Source (hote) | Destination | Type | Mode |
|---|---|---|---|
/home/debian/music |
/music |
bind | rw, :shared |
/home/debian/docker/navidrome/data |
/data |
bind | rw |
Integration Claude Code — MCP
| Statut MCP | MCP actif |
|---|---|
| Outils (prefix) | mcp__navidrome__ |
| Configuration | Script Python : C:\Users\eliob\.claude\mcp_navidrome.py | Auth : Subsonic API avec hachage MD5 (user + token + sel) |
Outils disponibles
pingget_artistsget_artistget_albumsget_albumget_songget_genresget_random_songsget_playlistsget_playlistcreate_playlistget_starredstarunstarsearchget_now_playing
Ce que nous pouvons faire ensemble
- Parcourir artistes, albums et pistes de la médiathèque musicale
- Rechercher un titre, artiste ou album
- Voir ce qui est en cours de lecture (now playing)
- Gérer les playlists (création, lecture)
- Étoiler/désigner des favoris
- Générer une sélection aléatoire par genre
Scans automatiques
Trois mécanismes automatiques assurent la fraîcheur de la bibliothèque :
| Cron | Script | Type | Rôle |
|---|---|---|---|
*/5 * * * * |
/home/debian/monitor-rclone.sh |
Watchdog | Détecte FUSE mort → restart service + restart container (recovery auto) |
30 4 * * * |
/home/debian/navidrome_scan.sh |
Quick scan | vfs/refresh + scan quotidien (MAJ des titres existants) |
0 3 * * 1 |
/home/debian/navidrome_fullscan.sh |
Full scan | vfs/refresh + restart container → full scan hebdomadaire (détecte nouveaux albums/artistes) |
Log commun : /var/log/navidrome_scan.log
Quick scan vs Full scan
Le quick scan (startScan via API Subsonic) ne traverse que les dossiers déjà connus de Navidrome — il ne détecte pas les nouveaux artistes ou albums ajoutés sur kDrive. Seul un full scan indexe les nouveaux dossiers.
Le full scan est déclenché automatiquement au démarrage du container. C'est pourquoi navidrome_fullscan.sh fait un restart container plutôt qu'un simple appel API.
Auth RC sur kdrive-music.service
Depuis rclone 1.74.3, vfs/refresh exige une authentification RC. Le service kdrive-music.service a été mis à jour le 2026-06-24 avec --rc-user=rcadmin --rc-pass=RcMusic2026!.
Commande de refresh manuel :
rclone rc --rc-addr 127.0.0.1:5576 --rc-user=rcadmin --rc-pass=RcMusic2026! vfs/refresh recursive=true
REX — 2026-06-24 : FUSE mort récurrent
Contexte
Le FUSE /music est mort en cours de journée. Symptôme Navidrome : stat /music: transport endpoint is not connected lors du scan.
Cause
Le service kdrive-music.service peut rester active (running) avec un FUSE mort — le process rclone est vivant mais la connexion noyau FUSE est cassée. Systemd ne détecte pas ce cas et ne redémarre pas le service.
Solution mise en place
Refactorisation de monitor-rclone.sh pour utiliser systemctl restart (au lieu d'un rclone mount direct) et redémarrer les containers Docker après remontage. Le watchdog tourne toutes les 5 minutes — la panne est détectée et corrigée automatiquement sans intervention.
Procédure manuelle si besoin
sudo systemctl restart kdrive-music.service
ls /home/debian/music | head -5
sudo docker restart navidrome-navidrome-1
Puis force-fermer Symfonium et relancer — le token de session Navidrome est invalidé après le restart du container.
REX — 2026-06-24 : nouveaux albums non détectés
Contexte
Les Négresses Vertes (et d'autres albums récemment ajoutés sur kDrive) n'apparaissaient pas dans Navidrome malgré le cron quotidien.
Cause
Double problème :
- Cache VFS 72h :
--dir-cache-time 72hsurkdrive-music.service— les nouveaux dossiers kDrive ne sont pas visibles dans le mount avant expiration ouvfs/refresh. - Quick scan insuffisant : le scan quotidien (
startScanAPI) est un quick scan qui ne traverse que les dossiers déjà connus. Il ne détecte pas de nouveaux artistes.
Solution immédiate
rclone rc --rc-addr 127.0.0.1:5576 --rc-user=rcadmin --rc-pass=RcMusic2026! vfs/refresh recursive=true
sudo docker restart navidrome-navidrome-1
Le restart container déclenche un full scan au démarrage (~20 min pour 16 000 titres). Vérifier avec getScanStatus ("scanning":false = terminé).
Solution pérenne
Full scan hebdomadaire chaque lundi à 3h UTC (navidrome_fullscan.sh) — garantit que tout nouvel album ajouté dans la semaine est indexé au plus tard le lundi matin.
REX — 2026-06-13 : FUSE corrompu / Symfonium inaccessible
Contexte
Après l'incident sécurité rclone du 2026-06-09 (CVE-2026-41179), le service kdrive-music.service a été relancé. Il est resté actif 4 jours sans crash apparent, mais le mount FUSE /home/debian/music était silencieusement corrompu.
Symptômes
- Symfonium (Subsonic) : erreur "trop d'erreurs, arrêt de lecture" sur tous les appareils portables
- Logs Navidrome :
transport endpoint is not connectedsur tous les fichiers audio systemctl status kdrive-music.service: active (running) depuis 3 jours — aucune indication du problème
Cause
Le process rclone était vivant mais la connexion noyau FUSE était morte. Pas de crash = pas de restart automatique par systemd.
Procédure de résolution
- Redémarrer le service rclone :
sudo systemctl restart kdrive-music.service - Vérifier que le mount répond :
ls /home/debian/music | head -5 - Redémarrer le container Navidrome — nécessaire même avec
:shared, car le container garde l'ancienne référence FUSE corrompue - Sur les appareils : force-fermer Symfonium et relancer
Notes
- La propagation
:sharedne suffit pas à propager un nouveau mount FUSE à un container déjà démarré — le container doit être redémarré. - Attention spool /tmp : un restart du service rclone peut créer un fichier
/tmp/rclone-spool*de plusieurs Go si des fichiers cachés sont marqués "dirty". Préférervfs/refresh(avec auth RC) au restart quand le FUSE n'est pas corrompu.
20_NodeExporter
node-exporter
| Image | prom/node-exporter:latest |
|---|---|
| Etat | Up 9 hours |
| Compose project | gemini_grafana |
| Reseau | gemini_grafana_monitor_net |
Ports
| Hote | Container | IP |
|---|---|---|
| 9100 | 9100/tcp | 0.0.0.0 |
| 9100 | 9100/tcp | :: |
Volumes
| Source (hote) | Destination | Type | Mode |
|---|---|---|---|
/proc | /host/proc | bind | ro |
/sys | /host/sys | bind | ro |
/ | /rootfs | bind | ro |
Integration Claude Code — API directe
| Statut MCP | Pas de MCP — API directe possible |
|---|---|
| Note technique | Exporte des métriques système (CPU, RAM, disque, réseau) au format Prometheus sur /metrics. Pas de MCP. Données consommées par Prometheus puis visualisées dans Grafana. |
Ce que nous pouvons faire ensemble
- Métriques système VPS (CPU load, RAM libre, espace disque, I/O)
- Accessible via requêtes PromQL sur Prometheus ou via l'API Grafana
21_Prometheus
prometheus
| Image | prom/prometheus:latest |
|---|---|
| Etat | Up 9 hours |
| Compose project | gemini_grafana |
| Reseau | gemini_grafana_monitor_net |
| Source | https://github.com/prometheus/prometheus |
Ports
| Hote | Container | IP |
|---|---|---|
| 9090 | 9090/tcp | 0.0.0.0 |
| 9090 | 9090/tcp | :: |
Volumes
| Source (hote) | Destination | Type | Mode |
|---|---|---|---|
/opt/monitoring/prometheus.yml | /etc/prometheus/prometheus.yml | bind | ro |
/opt/monitoring/prometheus_data | /prometheus | bind | rw |
Integration Claude Code — API directe
| Statut MCP | Pas de MCP — API directe possible |
|---|---|
| Note technique | API REST Prometheus sur /api/v1. Requêtes PromQL via /api/v1/query et /api/v1/query_range. Pas de MCP configuré — appels directs via PowerShell/Python. |
Ce que nous pouvons faire ensemble
- Requêtes PromQL pour métriques CPU, RAM, réseau, containers
- Interroger l'historique d'un container ou du système sur une période
- Détecter des anomalies ou pics de consommation
- Lister les targets et leurs états (up/down)
22_Readeck
readeck
| Image | codeberg.org/readeck/readeck:latest |
|---|---|
| Etat | Up 9 hours |
| Compose project | readeck |
| Reseau | readeck_default |
| URL | https://readeck.juxjux.ovh |
Ports
| Hote | Container | IP |
|---|---|---|
| 4567 | 8000/tcp | 0.0.0.0 |
| 4567 | 8000/tcp | :: |
Volumes
| Source (hote) | Destination | Type | Mode |
|---|---|---|---|
/home/debian/readeck/exports | /exports | bind | rw |
| /readeck | volume | rw |
/home/debian/readeck/data | /readeck/data | bind | rw |
Integration Claude Code — MCP
| Statut MCP | MCP actif |
|---|---|
| Outils (prefix) | mcp__readeck__ |
| Configuration | Script Python : C:\Users\eliob\.claude\mcp_readeck.py | Auth : token API Bearer (MFA actif sur le compte web) |
Outils disponibles
get_bookmarksget_bookmarkcreate_bookmarkupdate_bookmarkdelete_bookmarkget_labelsget_profile
Ce que nous pouvons faire ensemble
- Sauvegarder un article ou une page web depuis Claude Code
- Parcourir et rechercher les articles enregistrés
- Organiser les bookmarks avec des labels
- Mettre à jour le statut (lu/archivé) d'un article
- Supprimer des bookmarks obsolètes
Sauvegarde de la base de données
Sauvegarde automatique quotidienne de la base SQLite de Readeck vers kDrive Infomaniak. Mise en place le 2026-06-01.
Paramètres
| Script | /opt/backups/vps_backup.sh |
|---|---|
| Cron | Tous les jours à 2h du matin (0 2 * * *) |
| Type base | SQLite — /readeck/data/db.sqlite3 (dans le container) |
| Méthode | docker cp readeck:/readeck/data/db.sqlite3 |
| Taille base | ~8.5 Mo |
| Format archive | .7z (compression niveau 5) |
| Destination | kDrive Infomaniak — TOOJUX/jux_vps/readeck (dossier ID 1427922) |
| Rétention | 7 jours glissants |
| Nommage fichier | readeck_db_YYYY-MM-DD.7z |
Note
Le volume /readeck (non bindé) contient les fichiers des articles (images, HTML). La base SQLite ne couvre que les métadonnées et le texte extrait — les contenus médias ne sont pas inclus dans ce backup.
Incident résolu — pages trop lourdes rejetées (2026-08-20)
Symptôme : l'extension navigateur Readeck échouait à sauvegarder certaines pages, avec une erreur indiquant une page trop lourde.
Cause
Le vhost nginx qui sert readeck.juxjux.ovh (fichier trompeur sites-enabled/radicale.juxjux.ovh, voir plus haut) n'avait pas de directive client_max_body_size. Nginx applique alors sa limite par défaut de 1 Mo. L'extension navigateur envoie le contenu complet de la page (DOM) en POST plutôt qu'une simple URL — une page riche en images dépasse facilement ce seuil, d'où un rejet (413) que l'extension affiche comme « page trop lourde ».
Correctif
| Fichier | sites-enabled/radicale.juxjux.ovh |
|---|---|
| Modification | Ajout de client_max_body_size 100M; dans le bloc serveur 443, juste après server_name readeck.juxjux.ovh; |
| Sauvegarde | /home/debian/nginx-backups/radicale.juxjux.ovh.bak-260820 |
| Vérification | sudo nginx -t puis sudo nginx -s reload, testé en conditions réelles — la sauvegarde de pages précédemment refusées fonctionne |
Piège rencontré : le premier fichier de sauvegarde a été déposé par erreur dans sites-enabled/ lui-même. Comme nginx inclut sites-enabled/* sans filtrer sur l'extension, ce doublon a déclenché un warning conflicting server name. Toujours sauvegarder les fichiers de vhost en dehors de sites-enabled/ (ex. /home/debian/nginx-backups/).
Si une page dépasse encore 100 Mo, augmenter la valeur dans ce même fichier puis recharger nginx.
23_Syncthing
Dernière vérification complète : 2026-08-11. Syncthing assure la synchronisation de fichiers entre le VPS Jux (hub), les postes Windows et Ubuntu, le téléphone et la tablette.
Le container sur le VPS
| Image | syncthing/syncthing:latest |
|---|---|
| Version | v2.1.2 « Hafnium Hornet » (go1.26.5, build noupgrade) |
| Container | syncthing — running (healthy), démarré le 2026-07-31 |
| Politique de redémarrage | unless-stopped |
| Projet compose | 33 (l'ID de stack Portainer, pas syncthing) |
| Réseau | 33_syncthing_net |
| URL | https://syncthing.juxjux.ovh |
| Clé API | KWwkF5dD5CxeyGwFJ9ejFLHiohALysyF |
| Device ID | HKY4MM4-3ACZXNE-PVUUI6W-4MEYOR4-SYRXXHG-F4U6EPO-OWBDE62-ZBVHJQ3 |
| Source | github.com/syncthing/syncthing |
Ports
| Hôte | Container | Rôle |
|---|---|---|
| 8384 | 8384/tcp | interface web / API REST |
| 22000 | 22000/tcp + udp | protocole de synchronisation (BEP) |
| 21027 | 21027/udp | découverte locale |
Volumes
| Source (hôte) | Destination | Type |
|---|---|---|
| volume anonyme | /var/syncthing | volume |
/home/debian/Documents | /var/syncthing/Documents | bind |
/home/debian/Public | /var/syncthing/Public | bind |
/home/debian/docker/syncthing/config | /var/syncthing/config | bind |
/home/debian/docker/syncthing/data1 | /var/syncthing/data1 | bind |
/home/debian/docker/syncthing/data2 | /var/syncthing/data2 | bind |
/home/debian/joplin-data | /var/syncthing/joplin-data | bind |
Plusieurs volumes sont montés mais un seul est réellement partagé (voir ci-dessous).
Le maillage
Un seul dossier partagé
| ID | afltj-njyuy |
|---|---|
| Libellé | Tablette VPS Syncthing |
| Chemin VPS | /home/debian/Documents |
| Chemin Windows | D:\Syncthing |
| Type | sendreceive |
| Contenu | 1 284 fichiers, 495 dossiers, 1 061 Mo |
Point d'attention fréquent : Jux_univers, komga-pdf, Jux_Obsidian, Ouvrages… ne sont pas des partages Syncthing distincts — ce sont des sous-dossiers de l'unique dossier afltj-njyuy. Il n'y a rien d'autre à configurer pour qu'ils se synchronisent.
Appareils (état au 2026-08-11)
| Nom | Device ID (début) | État | Dernier contact |
|---|---|---|---|
| syncthing-vps | HKY4MM4 | hub, toujours actif | — |
| PC-Julien 08/2026 | XLNMUWS | connecté | 2026-08-11 |
| XIAOMI15Pro | ITCNNE7 | connecté | 2026-08-11 |
| Jux_Ubuntu | Y3FSVEF | hors ligne | 2026-08-08 |
| PCNexte | QF2XTKM | hors ligne | 2026-08-07 |
| SM-T720 | UUB72GL | hors ligne | 2026-07-23 |
| NAS SASNEXTE | SBLUVCW | hors ligne depuis 6 mois | 2026-01-30 |
Le VPS sert de hub : deux appareils qui ne se voient jamais directement restent synchronisés en passant par lui.
Le poste Windows « PC-Julien 08/2026 » (2026-08-10)
| Machine | DESKTOP-B7J2KGP, utilisateur julie |
|---|---|
| Device ID | XLNMUWS-P23BMTA-CJPC52K-VOS733O-YGBB2QF-GDA4EI6-YH7TZGP-FENRWA2 |
| Interface | SyncTrayzor 2.2.0, winget GermanCoding.SyncTrayzor — le fork maintenu |
| Home Syncthing | D:\SyncthingHome |
| Interface web | http://127.0.0.1:8384 — clé API PhAm5RvM9gJEzVEosHUWp9fPg2hKLhwr |
| Démarrage | clé HKCU:\…\CurrentVersion\Run, entrée SyncTrayzor -minimized |
Trois pièges rencontrés
1. Ne pas prendre SyncTrayzor.SyncTrayzor (1.1.29). Ce paquet winget est le projet d'origine, abandonné depuis 2021 et antérieur à Syncthing 2.x. Le fork maintenu est GermanCoding.SyncTrayzor (2.2.0). Il embarque son propre syncthing.exe (v2.1.2) et le pilote.
2. Le home Syncthing ne doit pas être sous %LOCALAPPDATA% sur ce poste. Claude Code s'exécute dans un conteneur MSIX : ce qu'il écrit dans %LOCALAPPDATA% atterrit en réalité dans …\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Local\. Le profil créé depuis une session Claude était donc invisible pour SyncTrayzor, qui a démarré sur un profil vierge — le poste est resté déconnecté du maillage sans qu'aucun message ne le signale. Symptômes : API locale en 403, plus aucune ligne écrite dans syncthing.log, appareil vu hors ligne côté VPS. Correctif : profil déplacé dans D:\SyncthingHome et <SyncthingCustomHomePath> renseigné dans %APPDATA%\SyncTrayzor\config.xml.
Get-CimInstance Win32_Process -Filter "Name='syncthing.exe'" | Select-Object CommandLine
# doit afficher --home=D:\SyncthingHome
3. Ne jamais faire tourner deux instances sur le même home. Le binaire winget Syncthing.Syncthing avait d'abord été lancé par tâche planifiée ; il a fallu l'arrêter et supprimer la tâche avant d'installer SyncTrayzor, sous peine de verrouillage de la base.
Faire rejoindre le maillage à un poste dont la copie locale est périmée
Méthode à reproduire telle quelle. Un poste qui arrive avec des fichiers vieux de plusieurs jours peut, en sendreceive, ressusciter des fichiers supprimés ailleurs et générer des conflits en série sur toutes les machines.
- Sauvegarder hors de l'arbre synchronisé tout fichier modifié localement (voir plus bas).
- Ajouter le dossier en
receiveonly: l'état du maillage fait autorité, les divergences locales sont retenues sans être poussées. - Attendre
needFiles = 0— ici 229 fichiers / 547 Mo rapatriés. - Basculer en
sendreceive:PATCH /rest/config/folders/afltj-njyuyavec{"type":"sendreceive"}.
Constaté lors de cette bascule : la synchronisation a écrasé CLAUDE.md par la version du maillage et déposé les modifications locales dans CLAUDE.sync-conflict-20260810-230652-I4M5WXU.md. Rien n'est perdu, mais il faut penser à rouvrir le fichier de conflit. Contrôle : GET /rest/db/localchanged?folder=afltj-njyuy.
Identité perdue : « PC-Elio+Jux » (supprimé le 2026-08-11)
Ce même poste Windows préexistait dans le maillage sous le nom PC-Elio+Jux (I4M5WXU-…), vu pour la dernière fois le 2026-08-07 à 22:16.
Un device ID Syncthing est sa clé privée (cert.pem / key.pem, rangés dans le home sous le profil Windows). Le profil C:\Users\eliob ayant disparu, la clé a disparu avec lui : l'identité est irrécupérable, et l'appareil ne pouvait pas être « reconnecté » — seulement remplacé par un nouvel ID. Le disque D:, lui, a survécu intact mais figé au 2026-08-06.
Leçon : sauvegarder cert.pem et key.pem hors du profil Windows si l'on tient à conserver l'identité d'un appareil au travers d'une réinstallation.
L'entrée a été retirée du VPS (appareil + liste de partage du dossier) par PUT /rest/config, après sauvegarde de la configuration complète. Elle subsiste sur les autres appareils (Xiaomi, PCNexte, SM-T720, Jux_Ubuntu, NAS), où elle apparaît hors ligne : à retirer à la main sur chacun.
Piloter Syncthing depuis Claude
Il n'y a plus de MCP Syncthing. Le script mcp_syncthing.py ne vivait que dans C:\Users\eliob\.claude\, hors périmètre Syncthing — il a disparu avec le profil. Passer par l'API REST directe, qui couvre tout ce que faisait le MCP.
Authentification : en-tête X-API-Key. Base VPS : https://syncthing.juxjux.ovh/rest. Base locale Windows : http://127.0.0.1:8384/rest.
| Besoin | Appel |
|---|---|
| Configuration complète | GET /config — et PUT /config pour la remplacer |
| Appareils connectés | GET /system/connections |
| Dernier contact par appareil | GET /stats/device |
| État d'un dossier | GET /db/status?folder=afltj-njyuy |
| Divergences locales | GET /db/localchanged?folder=afltj-njyuy |
| Appareils en attente d'acceptation | GET /cluster/pending/devices |
| Modifier un dossier | PATCH /config/folders/{id} |
| Identité de l'instance | GET /system/status → myID |
| Lancer un scan | POST /db/scan?folder={id} |
Appairer un appareil sans toucher à l'interface : ajouter l'entrée dans devices et dans la liste devices du dossier, puis PUT /rest/config. C'est ainsi que « PC-Julien 08/2026 » a rejoint le maillage. L'appareil distant doit toutefois accepter le nouveau venu de son côté, sauf si un appareil introducer s'en charge.
Points de vigilance
- Aucune alerte en cas de décrochage. Un appareil peut rester des jours hors du maillage sans que rien ne le signale — c'est ce qui s'est produit ici du 2026-08-07 au 2026-08-10. Le seul contrôle fiable est
GET /stats/devicesur le VPS. - NAS SASNEXTE n'a plus donné signe de vie depuis le 2026-01-30. À diagnostiquer.
- L'interface web du poste Windows n'a ni utilisateur ni mot de passe. Sans danger tant qu'elle n'écoute que sur
127.0.0.1; à corriger si le port venait à être exposé. - UPnP saturé sur la Livebox (
PinholeSpaceExhausteddans les journaux) : sans conséquence, la connexion sortante TCP vers le VPS suffit. - Ne pas confondre le nom du projet compose et celui du service : la stack s'appelle
33, passyncthing. Pour un redéploiement :docker compose -p 33 -f /var/lib/docker/volumes/portainer_data/_data/compose/33/docker-compose.yml up -d.
⚠ Syncthing n'est pas une sauvegarde — corrigé le 2026-08-30
Constat de départ : le dossier afltj-njyuy est en
sendreceive avec versioning = AUCUNE
(vérifié par GET /rest/config/folders, aucun
.stversions sur le VPS). Syncthing fait de la
réplication : une suppression ou un écrasement sur l'un
des 7 appareils se propage partout en quelques secondes, sans retour arrière
possible. Sept copies d'un fichier effacé font zéro copie.
Ce n'était pas théorique — c'est arrivé deux fois : le
CLAUDE.md écrasé par le maillage le 2026-08-10, et les
308 suppressions provoquées par un simple renommage de dossier le 2026-08-28.
C'était le seul trou de l'architecture de sauvegarde : les
6 services sauvegardés chaque nuit sont des bases de données, et
~/Documents n'y figurait pas.
Ce qui a été mis en place
Un septième service dans /opt/backups/vps_backup.sh
(cron 0 2 * * *), sur le modèle de backup_baikal :
tar de ~/Documents → 7z -mx=1 → upload vers le
dossier kDrive 1485489, rotation documents_day{1-7}.7z.
Plus une copie mensuelle le 1er de chaque mois
(documents_month{01-12}.7z, dossier kDrive 1486390), qui donne
une année glissante de recul.
Sauvegarde du script avant modification :
/opt/backups/vps_backup.sh.bak-260830. Le bilan de fin de log passe de
6/6 à 7/7.
Deux garde-fous dans la fonction :
- Contrôle d'espace sur
/tmpavant de commencer — l'incident du 2026-06-24 (disque à 100 %, tout le VPS à terre) est parti d'un fichier temporaire. tarrenvoyant 1 est traité comme un avertissement, pas comme un échec : Syncthing peut écrire pendant la sauvegarde ettarsignale alors « file changed as we read it ». Seul un code > 1 fait échouer le service.
Le périmètre, mesuré le 2026-08-30
Après le rangement fait par Julien le même jour (retrait de
APK temp, des conflits de komga-pdf, et déplacement de
Suretés vers le NAS), l'arbre est passé de 1,6 Go
à 493 Mo. Maillage cohérent : 1 267 fichiers des deux
côtés, needFiles = 0, aucun .stignore.
| Dossier | Fichiers | Taille |
|---|---|---|
Jux_univers | 609 | 380,5 Mo |
Ouvrages | 6 | 72,1 Mo |
Kobo | 1 | 34,4 Mo |
Jux_Obsidian | 649 | 3,2 Mo |
Vocaux | 1 | 2,9 Mo |
Alteris, PDF temps, komga-pdf,
komga-compressed | 1 | ~0 |
À retenir : 73 % de tout l'arbre Syncthing est le coffre Cryptomator
« Vault 2603 » — 513 fichiers .c9r
pour 359,5 Mo, à l'intérieur de Jux_univers. Le reste de
Jux_univers (Jux-scripts, Claude-pcelio+jux, 2026, EMOA) ne pèse
que 6,2 Mo. Trier cet arbre par taille ne donne donc plus rien : le seul arbitrage
réel est de savoir si le coffre reste ou non dans l'arbre répliqué.
Décision de Julien le 2026-08-30 : il reste, et il en existe
par ailleurs une copie sur kDrive.
Seules exclusions du tar : .stfolder et
.stversions, qui sont des métadonnées Syncthing. Tout le
reste est sauvegardé, y compris les dossiers de transit komga-pdf
et komga-compressed — un PDF qui y attend son traitement n'existe
nulle part ailleurs.
Restauration — vérifiée, pas supposée
Une sauvegarde jamais restaurée n'est pas une sauvegarde. Test complet fait le jour même :
- archive re-téléchargée depuis kDrive — attention,
curl -Lobligatoire, voir la page A_liens entre Claude et le KDRIVE ; 7z t→ Everything is Ok ;- tar extrait : 1 760 entrées, et surtout
masterkey.cryptomatorbien présent — sans lui le coffre serait irrécupérable ; - un fichier témoin (
CLAUDE.md, 151 849 octets) extrait puis comparé à la source : identique à l'octet près.
Profondeur de rétention (2026-08-30)
Deux séries indépendantes, toutes deux sans purge — la suppression via l'API kDrive ne fonctionne pas, donc on se contente d'écraser un nom qui revient :
| Série | Nom | Recul | Poids total |
|---|---|---|---|
| Quotidienne | documents_day{1-7}.7z | 7 jours | ~3,4 Go |
| Mensuelle | documents_month{01-12}.7z | 1 an | ~5,9 Go |
Le tar est produit par une fonction commune documents_tar(). Le 1er du
mois il est construit deux fois (~33 s de plus) : les deux séries restent ainsi
indépendantes, un échec de l'une n'empêchant pas l'autre. Les autres jours, la fonction
mensuelle sort en succès sans rien faire, pour ne pas inscrire un faux échec au bilan.
Ce que cette sauvegarde ne couvre pas
- Entre deux copies mensuelles, le recul retombe à 7 jours. Un fichier créé le 5 puis supprimé le 20 n'apparaît dans aucune des deux séries : il n'a jamais existé un 1er du mois, et les 7 jours glissants l'ont déjà dépassé. C'est la limite structurelle d'une rotation par écrasement de nom, assumée ici.
- Le versioning Syncthing reste désactivé. Une
corbeille (
trashcan, 30 jours, viaPATCH /rest/config/folders/afltj-njyuy) protégerait immédiatement contre une fausse manœuvre, là où la sauvegarde ne rattrape que ce qui existait à 2 h du matin. Non fait à ce jour.
24_Yourls
yourls
| Image | yourls:latest |
|---|---|
| Etat | Up 9 hours |
| Compose project | yourls |
| Reseau | yourls_default |
| URL | https://yourls.juxjux.ovh |
Ports
| Hote | Container | IP |
|---|---|---|
| 8085 | 80/tcp | 0.0.0.0 |
| 8085 | 80/tcp | :: |
Volumes
| Source (hote) | Destination | Type | Mode |
|---|---|---|---|
/var/lib/docker/volumes/yourls_yourls_plugins/_data | /var/www/html/user/plugins | volume | rw |
/home/debian/docker/yourls/ports.conf | /etc/apache2/ports.conf | bind | rw |
/home/debian/docker/yourls/000-default.conf | /etc/apache2/sites-available/000-default.conf | bind | rw |
/var/lib/docker/volumes/yourls_yourls_html/_data | /var/www/html | volume | rw |
/var/lib/docker/volumes/yourls_yourls_user/_data | /var/www/html/user | volume | rw |
yourls-db
| Image | mysql:8.0 |
|---|---|
| Etat | Up 9 hours (healthy) |
| Compose project | yourls |
| Reseau | yourls_default |
| URL | https://yourls.juxjux.ovh |
Volumes
| Source (hote) | Destination | Type | Mode |
|---|---|---|---|
/var/lib/docker/volumes/yourls_yourls_mysql_data/_data | /var/lib/mysql | volume | rw |
Integration Claude Code — API directe
| Statut MCP | Pas de MCP — API directe possible |
|---|---|
| Note technique | API REST Yourls sur /yourls-api.php. Auth : signature HMAC ou token. Pas de MCP configuré — appels directs possibles. |
Ce que nous pouvons faire ensemble
- Créer des URLs courtes personnalisées depuis Claude Code
- Lister et gérer les liens raccourcis existants
- Consulter les statistiques de clics sur un lien
25_StirlingPDF
stirling-pdf
Suite complète de manipulation de PDF — open source, auto-hébergée
| Image | stirlingtools/stirling-pdf:latest |
|---|---|
| Etat | Up (healthy) |
| Compose project | stirlingpdf |
| Reseau | stirlingpdf_default |
| URL | https://spdf.juxjux.ovh |
| Source | https://github.com/Stirling-Tools/Stirling-PDF |
Ports
| Hote | Container | IP |
|---|---|---|
| 8090 | 8080/tcp | 0.0.0.0 |
Variables
| Variable | Valeur |
|---|---|
| DOCKER_ENABLE_SECURITY | false |
| LANGS | fr_FR |
Volumes
| Hote | Container |
|---|---|
| /opt/stirling-pdf/configs | /configs |
| /opt/stirling-pdf/logs | /logs |
Notes
- Remplacera BentoPDF (bento.juxjux.ovh / port 8089) quand la transition sera faite
- A terme : récupérer le domaine pdf.juxjux.ovh et désactiver la stack bentopdf
- Sécurité désactivée (DOCKER_ENABLE_SECURITY=false)
Integration Claude Code
| Statut MCP | Pas de MCP — API directe possible |
|---|---|
| Note technique | API REST sur /api — scriptable via PowerShell/Python httpx. |
Ce que nous pouvons faire ensemble
- Fusion, découpage, compression, conversion PDF via API REST
- OCR, extraction de texte, filigrane, rotation
- Automatisation dans des scripts Claude Code
26_JDownloader
jdownloader
Gestionnaire de téléchargements avancé — interface web noVNC, supporte hôtes premium et lien direct
| Image | jlesage/jdownloader-2:latest |
|---|---|
| Etat | Up (running) |
| Compose project | jdownloader |
| Reseau | jdownloader_default |
| URL | https://jdownloader.juxjux.ovh |
| Source | https://github.com/jlesage/docker-jdownloader-2 |
Ports
| Hote | Container | IP |
|---|---|---|
| 5800 | 5800/tcp | 127.0.0.1 |
Variables
| Variable | Valeur |
|---|---|
| USER_ID | 1000 |
| GROUP_ID | 1000 |
| TZ | Europe/Paris |
Volumes
| Hote | Container |
|---|---|
| /opt/jdownloader/config | /config |
| /home/debian/downloads | /output |
Notes
- Interface noVNC accessible via navigateur — pas besoin de client VNC
- Port 5800 lié à
127.0.0.1uniquement — non exposé directement à l'internet - Au 1er lancement, JDownloader télécharge ses composants (~1 min) avant d'afficher l'UI
- Cert SSL Let's Encrypt valide jusqu'au 2026-08-31 (renouvellement automatique certbot)
- Installé le 2026-06-02 via stack Portainer (ID 90)
Integration Claude Code
| Statut MCP | Pas de MCP — interface web uniquement (noVNC) |
|---|---|
| Note technique | Pas d'API REST publique documentée. Pilotage uniquement via l'interface graphique. |
Ce que nous pouvons faire ensemble
- Vérifier l'état du container via l'API Portainer
- Redémarrer le container si l'interface ne répond plus
- Lister les fichiers téléchargés dans
/home/debian/downloadsvia SSH
27 - Rustdesk
RustDesk — Serveur auto-hébergé (hbbs/hbbr)
Qu'est-ce que c'est
RustDesk est un logiciel de bureau à distance open-source (alternative à TeamViewer/AnyDesk). Il repose sur deux briques serveur :
- hbbs (ID/rendezvous server) — enregistre les IDs des clients, gère le heartbeat, tente d'établir une connexion P2P directe.
- hbbr (relay server) — relaie le flux quand le P2P direct échoue (NAT symétrique, pare-feu strict, etc.).
Auto-héberger ces deux services évite de dépendre des serveurs publics RustDesk (rendezvous/relais tiers) : tout le trafic de contrôle passe par une infrastructure qu'on maîtrise.
Poids du service Docker
| Élément | Valeur |
|---|---|
Image rustdesk/rustdesk-server:latest (amd64) |
5,61 Mo compressée |
| Image (arm64) | 5,2 Mo |
| Image (armv7) | 5,04 Mo |
| Nombre de containers | 2 (hbbs + hbbr) |
| RAM au repos | quelques dizaines de Mo par container (binaires Rust natifs, pas de VM/interpréteur) |
| CPU au repos | négligeable |
| CPU/RAM en charge | dépend du nombre de sessions actives relayées par hbbr (le flux vidéo transite par lui si pas de P2P direct) — reste très léger pour un usage perso/familial (quelques sessions simultanées max) |
Pour comparaison, c'est très inférieur au poids des autres containers déjà en place sur le VPS Jux (BookStack/MariaDB, Immich, etc.).
Ports requis (conditions réseau)
| Port | Protocole | Service | Rôle |
|---|---|---|---|
| 21115 | TCP | hbbs | Test de type NAT |
| 21116 | TCP + UDP | hbbs | UDP = enregistrement ID + heartbeat / TCP = hole punching + connexion |
| 21117 | TCP | hbbr | Service de relais |
| 21118 | TCP | hbbs | Client web (optionnel) |
| 21119 | TCP | hbbr | Client web (optionnel) |
| 21114 | TCP | hbbs | Console web — Pro uniquement, pas utile en OSS |
Si le client web n'est pas utilisé, 21118/21119 peuvent rester fermés (recommandé : ces deux ports font confiance aux en-têtes X-Real-IP/X-Forwarded-For sans les valider, donc à n'exposer que derrière un reverse proxy qui les fixe lui-même, jamais en direct).
docker-compose.yml (référence officielle RustDesk)
services:
hbbs:
container_name: hbbs
image: rustdesk/rustdesk-server:latest
command: hbbs
volumes:
- ./data:/root
network_mode: "host"
depends_on:
- hbbr
restart: unless-stopped
hbbr:
container_name: hbbr
image: rustdesk/rustdesk-server:latest
command: hbbr
volumes:
- ./data:/root
network_mode: "host"
restart: unless-stopped
network_mode: hostest la méthode recommandée sous Linux : hbbs/hbbr voient l'IP réelle du client au lieu de l'IP interne du container. Fonctionne uniquement sur Linux (donc OK sur le VPS Debian, pas sur un NAS DSM qui a ses propres contraintes réseau — voir plus bas).- Alternative sans host networking (mapping de ports classique, pour Portainer/stack isolée) :
services:
hbbs:
container_name: hbbs
image: rustdesk/rustdesk-server:latest
command: hbbs -r rustdesk.exemple.com:21117
ports:
- "21115:21115"
- "21116:21116"
- "21116:21116/udp"
- "21118:21118"
volumes:
- ./data:/root
depends_on:
- hbbr
restart: unless-stopped
hbbr:
container_name: hbbr
image: rustdesk/rustdesk-server:latest
command: hbbr
ports:
- "21117:21117"
- "21119:21119"
volumes:
- ./data:/root
restart: unless-stopped
Variable d'environnement utile : ALWAYS_USE_RELAY=Y sur hbbs pour forcer systématiquement le passage par le relais (utile si on veut masquer les IP réelles des clients, au prix d'un peu plus de charge sur hbbr).
Clé de chiffrement et configuration client
- Au premier démarrage, hbbs génère une paire de clés dans le volume
./data: le fichierid_ed25519.pubcontient la clé publique à distribuer aux clients. - Configuration côté client RustDesk (menu ⋮ → Réseau, déverrouiller) :
- ID Server : IP ou domaine du VPS (ex.
vps.juxjux.ovhou l'IP directe) - Relay Server : peut rester vide (déduit automatiquement, sinon
IP:21117) - Key : contenu de
id_ed25519.pub
- ID Server : IP ou domaine du VPS (ex.
- Export/import de config possible entre clients (bouton "Export Server Config"), pratique pour déployer sur plusieurs machines (PC Windows, Ubuntu, etc.) sans ressaisir.
VPS Jux vs NAS Synology sasnexte — analyse
RustDesk propose officiellement un guide d'installation Synology (DSM 6 et DSM 7.2/Container Manager), donc l'hébergement NAS est une voie supportée en soi — la question n'est pas la faisabilité technique mais la joignabilité réseau.
| Critère | VPS Jux (51.77.141.54) | NAS sasnexte (82.66.244.248) |
|---|---|---|
| IP publique fixe | Oui | Non confirmée — SSH déjà signalé comme parfois inaccessible depuis l'extérieur (fail2ban/whitelist) |
network_mode: host (recommandé Linux) |
Disponible (Debian) | Non disponible sous DSM (Docker/Container Manager Synology tourne dans une couche réseau propriétaire) — nécessite le mapping de ports classique + redirection sur la box |
| Port forwarding | Déjà maîtrisé (nginx, certbot, ufw) | Dépend de la box du FAI, potentiellement CGNAT résidentiel |
| Exposition déjà en place | 34 containers en prod, expérience du durcissement (incident du 9 juin 2026) | Usage actuel = uniquement syncs rclone sortants vers kDrive, pas de service entrant exposé |
| Impact en cas d'indisponibilité | VPS pro, uptime élevé | Dépend de l'alimentation/connexion internet du domicile |
Conclusion : le VPS reste le choix le plus robuste pour un usage "accès à distance depuis n'importe où". Le NAS serait une option seulement si l'IP publique/DDNS et le port forwarding sont déjà fiables — ce qui n'est pas le cas aujourd'hui d'après le comportement SSH observé.
Prochaine étape proposée
Ajouter la stack rustdesk sur le VPS (Portainer, comme les autres services), avec ufw restreint aux ports 21115-21119 (TCP+UDP sur 21116) et 21118/21119 fermés tant que le client web n'est pas nécessaire.
Incident client Windows — BSOD à l'installation (2026-07-31)
Contexte : installation du client RustDesk sur le PC Windows 10 (eliob). L'installation s'est terminée par plusieurs écrans bleus consécutifs.
Diagnostic
- Analyse de l'Observateur d'événements (
Microsoft-Windows-WER-SystemErrorReporting) : crash à 06:27:20 avec bugcheck0x50(PAGE_FAULT_IN_NONPAGED_AREA), dump complet dansC:\WINDOWS\MEMORY.DMP(2,4 Go). - Corrélation temporelle exacte avec l'extraction de deux composants pilotes bundlés par le client RustDesk :
C:\Program Files\RustDesk\usbmmidd_v2— pilote d'écran virtuel USBMMIDD (permet le contrôle à distance sans moniteur physique branché)C:\Program Files\RustDesk\drivers\RustDeskPrinterDriver— pilote d'imprimante virtuelle (impression à distance)
- Vérification : ni l'un ni l'autre n'était enregistré comme périphérique actif (
Get-PnpDevice,pnputil /enum-drivers) après coup → l'installation du driver a fait planter le noyau avant de s'enregistrer. Un problème connu et documenté côté communauté RustDesk : le driverusbmmidd(ancien, non WHQL sur les builds récentes de Windows 10) provoque des BSOD à l'installation sur certaines configs. - Point distinct identifié en passant : la machine a un historique chronique de BSOD
0x9f(DRIVER_POWER_STATE_FAILURE) récurrent environ une fois par mois depuis janvier 2026 (Kernel-Powerevent 41), sans lien avec RustDesk — probablement un driver qui répond mal à la mise en veille. Non résolu, à creuser séparément si besoin.
Fix appliqué
Neutralisation des deux dossiers de drivers sans désinstaller RustDesk (le contrôle à distance standard, moniteur physique branché, ne dépend pas d'eux) :
Stop-Service -Name "RustDesk" -Force
Stop-Process -Name "rustdesk" -Force -ErrorAction SilentlyContinue
Rename-Item "C:\Program Files\RustDesk\usbmmidd_v2" "usbmmidd_v2.disabled"
Rename-Item "C:\Program Files\RustDesk\drivers\RustDeskPrinterDriver" "RustDeskPrinterDriver.disabled"
Start-Service -Name "RustDesk"
Note importante : ces commandes nécessitent une session PowerShell réellement élevée (clic droit → "Exécuter en tant qu'administrateur", accepter l'UAC). Une session non élevée renvoie la même erreur Impossible d'ouvrir le service aussi bien pour Stop-Service que pour le renommage des dossiers dans Program Files — ça peut faire croire à tort qu'on est admin alors que non.
Résultat
- Service
RustDesk Service:Running - Contrôle à distance classique opérationnel (vérifié : process
RustDesk.exeactif, service démarré) - Écran virtuel et impression à distance désactivés (fonctionnalités non utilisées) — évite que RustDesk retente d'installer ces drivers automatiquement
- Mot de passe permanent + 2FA activés par Julien le 2026-07-31 (menu Sécurité de RustDesk) → accès non attendu opérationnel : ce PC est joignable via RustDesk sans présence devant l'écran, ID + mot de passe permanent (2FA en complément).
Traversée VPS — client configuré (2026-07-31)
Le client RustDesk du PC eliob passe désormais par le serveur auto-hébergé (hbbs/hbbr sur le VPS Jux, voir plus haut) au lieu des relais publics RustDesk. Confirmé côté serveur : containers hbbs/hbbr up, ufw ouvert sur 21115-21117 (v4+v6), clé publique id_ed25519.pub en place. Tout le trafic de contrôle à distance de ce PC transite donc par une infrastructure maîtrisée plutôt que par un tiers.
D_la solution contacts et calendrier
Solution d'unification des contacts et du calendrier de Julien.
État au 3 août 2026 — déployé et opérationnel de bout en bout. Seul vdirsyncer (agrégation Google/Infomaniak) reste à faire.
1. Objectif
Unifier la base de contacts et de calendriers, dispersée entre plusieurs sources (Google, Infomaniak, téléphone), autour d'un point central auto-hébergé sur le VPS juxjux.ovh, synchronisé vers tous les clients existants.
Baïkal est la source de vérité unique. Roundcube, InfCloud et DAVx5 en sont des clients ; vdirsyncer sera le seul composant qui écrit depuis l'extérieur vers Baïkal.
2. Architecture réellement déployée
| Composant | Rôle | Emplacement | État |
|---|---|---|---|
| Baïkal | Serveur CardDAV + CalDAV, stockage central | Docker, VPS juxjux | En service |
| InfCloud | Agenda et contacts web | Statique, servi par nginx | En service |
| Roundcube | Interface web des contacts | Docker, VPS juxjux | En service |
| Nginx | Reverse proxy HTTPS | Hôte VPS | En service |
| DAVx5 | Pont de synchronisation vers Android | Téléphone | Opérationnel |
| Fossify Agenda | Client calendrier | Téléphone (via DAVx5) | Opérationnel |
| vdirsyncer | Agrège Google et Infomaniak vers Baïkal | VPS, cron | Non déployé |
| Thunderbird | Client mail, indépendant de ce circuit | Téléphone | Inchangé |
3. Accès
| Service | URL | Identifiant |
|---|---|---|
| Agenda + contacts web | https://baikal.juxjux.ovh/infcloud/ | Julien (compte Baïkal) |
| Contacts web (Roundcube) | https://secretariat.juxjux.ovh | julien.bertrand@ik.me (compte mail Infomaniak) |
| Administration Baïkal | https://baikal.juxjux.ovh/admin/ | compte admin Baïkal |
| Découverte DAV (DAVx5) | https://baikal.juxjux.ovh/dav.php/ |
Julien |
Utilisateur Baïkal : Julien — avec un J majuscule. La casse compte dans les URLs DAV.
- Principal :
https://baikal.juxjux.ovh/dav.php/principals/Julien/ - Contacts :
https://baikal.juxjux.ovh/dav.php/addressbooks/Julien/default/ - Calendrier :
https://baikal.juxjux.ovh/dav.php/calendars/Julien/default/
Certificats Let's Encrypt valides jusqu'au 1er novembre 2026 pour les deux domaines. Celui de baikal.juxjux.ovh existait déjà mais avait expiré le 8 février 2026 (vestige d'une tentative antérieure) ; il a été renouvelé le 3 août.
4. Déploiement
Stack sur le VPS : /home/debian/baikal/docker-compose.yml, projet compose baikal.
Sources versionnées : Syncthing/Jux_univers/Jux-scripts/Baikal-Contacts/.
| Fichier | Rôle |
|---|---|
docker-compose.yml |
Stack Baïkal + Roundcube |
baikal.juxjux.ovh.conf |
Vhost Baïkal (.well-known forcés en HTTPS + service d'InfCloud) |
secretariat.juxjux.ovh.conf |
Vhost Roundcube |
infcloud-config.js |
Configuration InfCloud |
finaliser_tls.sh |
Vérifie le DNS puis lance certbot |
vps_backup.sh |
Script de sauvegarde complet, Baïkal inclus |
push_bookstack.py |
Publication de cette page via l'API BookStack |
cd /home/debian/baikal && sudo docker compose -p baikal up -d
| Service | Image | Port local | Base | RAM |
|---|---|---|---|---|
| baikal | ckulka/baikal:nginx |
127.0.0.1:8088 | SQLite | ~38 Mo |
| roundcube | roundcube/roundcubemail:latest (1.7.2) |
127.0.0.1:8083 | SQLite | ~32 Mo |
| InfCloud | fichiers statiques (13 Mo sur disque) | — | aucune | 0 |
Les deux containers pèsent environ 70 Mo au total, contre environ 600 Mo avec l'architecture MariaDB initialement prévue. Ce choix était important : le VPS était en pression mémoire au moment du déploiement (swap à 3,8/4,0 Go).
5. Écarts avec le plan initial
Le plan préparé prévoyait une configuration qui ne pouvait pas fonctionner en l'état. Écarts constatés et corrigés :
| Point | Prévu | Réel | Raison |
|---|---|---|---|
| Port Baïkal | 8081 | 8088 | 8081 est occupé par FreshRSS. 8088 correspond au vhost baikal.juxjux.ovh préexistant |
| Port Roundcube | 8082 | 8083 | 8082 est ciblé par un vhost nextcloud mort |
| Domaine Roundcube | mail.juxjux.ovh |
secretariat.juxjux.ovh |
Aucun DNS n'existait ; mail. prêtait à confusion avec les MX OVH du domaine |
| Base Roundcube | MariaDB | SQLite | ~400 Mo de RAM économisés, suffisant en mono-utilisateur |
| Vhost Baïkal | À créer | Déjà présent | Le fichier baikal.conf préparé n'a pas servi |
| Agenda web | Plugin calendar Roundcube | InfCloud | Plugin inutilisable, voir §6.2 |
6. Pièges rencontrés
6.1 Les plugins carddav et calendar ne sont pas dans l'image Roundcube
L'image officielle ne fournit ni carddav ni calendar. Les déclarer dans ROUNDCUBEMAIL_PLUGINS ne fait que les activer — s'ils sont absents, Roundcube part en erreur fatale.
Il faut les faire installer par composer au démarrage, via ROUNDCUBEMAIL_COMPOSER_PLUGINS (et non ROUNDCUBEMAIL_INSTALL_PLUGINS, qui n'existe pas dans cette image) :
ROUNDCUBEMAIL_COMPOSER_PLUGINS: "roundcube/carddav"
ROUNDCUBEMAIL_PLUGINS: "carddav"
Le premier démarrage est alors plus long (téléchargement composer).
6.2 Le plugin calendar de Roundcube est une impasse
Trois obstacles successifs, testés le 3 août :
a) Il casse le tout premier démarrage. Le script d'initialisation de base de kolab/calendar s'exécute avant que l'entrypoint n'écrive la configuration Roundcube : il tombe sur le DSN MySQL par défaut et échoue en SQLSTATE[HY000] [2002] No such file or directory. Cette erreur fatale empêche la régénération de l'autoloader composer, ce qui casse aussi le plugin carddav :
PHP Fatal error: Uncaught Error: Interface
"MStilkerich\RCMCardDAV\Frontend\RcmInterface" not found
in /var/www/html/plugins/carddav/carddav.php:43
Symptôme : HTTP 500 permanent, alors que les fichiers du plugin sont bien présents sur le disque — c'est vendor/composer/autoload_psr4.php qui ne contient aucune entrée carddav.
b) Ce premier obstacle est contournable. Réinstallé après que Roundcube ait été initialisé une première fois, la configuration existe déjà dans le volume et l'initialisation aboutit (Creating database schema... [OK]). Vérifié.
c) Mais le plugin ne sait pas parler à Baïkal. La seule version installable, kolab/calendar 3.2.9.1, ne livre que les pilotes database, kolab et ldap — aucun pilote caldav. Il ne créerait qu'un agenda local dans Roundcube, sans lien avec Baïkal ni le téléphone : pire qu'inutile, on pourrait y saisir des rendez-vous en croyant qu'ils se synchronisent.
Les versions qui embarquent le pilote CalDAV (3.5.7, 3.6.1) dépendent de kolab/libkolab, qui réclame pear/http_request2 — paquet bloqué par composer pour faille de sécurité (PKSA-jrt3-xndd-g4sz). Ne pas contourner ce garde-fou sur un service exposé sur internet.
Conclusion : agenda web assuré par InfCloud (§7), plugin calendar définitivement écarté.
6.3 Baïkal ignore X-Forwarded-Proto — fuite HTTP sur la découverte
Baïkal ne tient pas compte de X-Forwarded-Proto et générait ses redirections de découverte en HTTP nu :
/.well-known/carddav -> http://baikal.juxjux.ovh/dav.php
C'est exactement le risque identifié dès la conception : CardDAV et CalDAV envoient les identifiants à chaque synchronisation. Un client suivant cette redirection part sur du HTTP.
Corrigé en court-circuitant Baïkal directement dans le vhost :
location = /.well-known/carddav {
return 301 https://$host/dav.php/;
}
location = /.well-known/caldav {
return 301 https://$host/dav.php/;
}
À vérifier après tout reload nginx : le rechargement n'est pas instantané, un test lancé dans la foulée peut encore montrer l'ancien comportement.
6.4 Roundcube exige un serveur IMAP pour authentifier
Roundcube n'a pas de base d'utilisateurs propre : son écran de login valide les identifiants contre le serveur IMAP configuré. Sans IMAP joignable, aucune connexion n'est possible — donc aucun accès aux contacts non plus.
L'idée d'un Roundcube « contacts et agenda seulement, sans IMAP » n'est pas réalisable. La configuration retenue pointe vers ssl://mail.infomaniak.com:993, ce qui couvre le compte julien.bertrand@ik.me (le domaine ik.me est servi par l'infrastructure Infomaniak).
Si un jour le compte passe en double authentification, il faudra générer un mot de passe d'application Infomaniak.
6.5 Baïkal doit être installé en SQLite
L'installeur Baïkal propose MySQL ou SQLite. Choisir SQLite : la stack ne contient aucun serveur MySQL, cocher « Enable MySQL » mène à une impasse. Base à /var/www/baikal/Specific/db/db.sqlite, dans le volume baikal-data.
7. InfCloud — l'agenda web
Client CalDAV/CardDAV entièrement côté navigateur : aucun backend, aucune base, du HTML/JS servi en statique par nginx. Affiche agenda et contacts.
- Source officielle :
https://www.inf-it.com/InfCloud_0.13.1.zip(3,9 Mo, sha2569fa95edd2dcc2b864a10b503ab9220895ea28d4c5541ab02117de1511d5464d4) - Installé dans
/home/debian/baikal/infcloud, propriétairewww-data - Servi sur le même domaine que Baïkal (
/infcloud/) et non sur un sous-domaine dédié : InfCloud interroge/dav.php/en direct depuis le navigateur ; depuis une autre origine il aurait fallu ouvrir du CORS sur les méthodes DAV de Baïkal, ce qui est fragile et l'affaiblirait. Même origine = aucun CORS. - Dossier
auth/supprimé : module PHP d'authentification par proxy inutilisé ici. nginx ne traite pas le PHP à cet emplacement — servis en statique, ces fichiers.incauraient exposé leur contenu en clair.
Réserve assumée : projet figé depuis 2015, interface datée, embarque jQuery 2.1.4. Acceptable parce qu'il n'a aucun composant serveur : rien à maintenir, rien à patcher. La seule alternative maintenue serait SOGo, au prix d'environ 500 Mo de RAM et d'une base PostgreSQL.
7.1 Les trois pièges d'InfCloud
a) Le bloc regex du vhost avale tous les JS. Le vhost Baïkal contient déjà :
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ { proxy_pass http://127.0.0.1:8088; }
En nginx, un bloc regex ~* a priorité sur un bloc préfixe ordinaire. Tous les fichiers JavaScript d'InfCloud auraient donc été proxifiés vers Baïkal. Comme InfCloud est presque intégralement du JavaScript, la page serait restée blanche — symptôme difficile à diagnostiquer. Il faut ^~, qui passe devant les regex :
location ^~ /infcloud/ {
alias /home/debian/baikal/infcloud/;
index index.html;
location ~ /\. { deny all; }
}
b) L'endpoint par défaut vise DAViCal. Le config.js livré pointe /caldav.php/ ; Baïkal expose /dav.php/.
c) Le href doit viser les principals, pas la racine DAV. InfCloud accole le nom d'utilisateur au href. Avec /dav.php/ il demandait /dav.php/Julien/ → 404. La documentation du fichier le précise : « globalNetworkCheckSettings : principal URL WITHOUT the USER/ part ». Chez Baïkal, la bonne valeur est donc :
'/dav.php/principals/',
Après toute modification de config.js, rechargement forcé du navigateur (Ctrl+Maj+R) : le fichier est mis en cache.
7.2 Digest → Basic : le blocage d'authentification
Baïkal était configuré en dav_auth_type: Digest et annonçait WWW-Authenticate: Digest realm="BaikalDAV".
InfCloud ne sait faire que du Basic. Ses requêtes partaient donc en 401 en boucle, alors que DAVx5 — qui gère Digest — fonctionnait parfaitement avec le même compte. Le symptôme prêtait à confusion : les identifiants étaient bons.
Diagnostic par les logs nginx, où le champ utilisateur est renseigné mais la réponse reste 401 :
83.195.45.93 - Julien "PROPFIND /dav.php/ HTTP/2.0" 401
Correctif : dav_auth_type: Basic dans /var/www/baikal/config/baikal.yaml, puis docker restart baikal.
Ce n'est pas un pis-aller. Digest repose sur MD5, est considéré comme obsolète, et impose au serveur de stocker une empreinte exploitable ; Basic sur TLS est aujourd'hui la recommandation, et tout est en HTTPS ici, y compris les redirections de découverte (§6.3).
Les mots de passe restent valides : Baïkal calcule la même empreinte md5(username:auth_realm:password) dans les deux modes (Baikal\Core\PDOBasicAuth::validateUserPass), avec auth_realm: BaikalDAV conservé en interne — même si le serveur annonce désormais realm="sabre/dav" côté client. Rien à redéfinir, DAVx5 bascule tout seul.
Sauvegarde : /var/www/baikal/config/baikal.yaml.bak-260803-digest (dans le container).
8. Sauvegarde
Baïkal a été ajouté à /opt/backups/vps_backup.sh le 3 août 2026 (cron quotidien à 2h UTC).
- Dossier kDrive de destination : 1467771 (
SYNC-pour_VPS/backups/baikal) - Le bilan de fin de log passe de 5 à 6 services (le total est calculé dynamiquement, pas codé en dur)
- Sauvegarde de l'ancien script :
/opt/backups/vps_backup.sh.bak-260803
La fonction archive deux volumes, via un tar intermédiaire puis 7z :
Specific/— la basedb.sqlite(contacts et calendriers)config/—baikal.yaml(paramètres et empreinte du mot de passe admin)
Sans le second, la restauration est incomplète. Testée le 3 août : upload HTTP 200, aucun résidu temporaire.
InfCloud n'a pas besoin d'être sauvegardé (fichiers statiques réinstallables), mais son config.js est versionné dans Jux-scripts/Baikal-Contacts/.
9. Vérifications effectuées le 3 août 2026
| Test | Résultat |
|---|---|
GET /dav.php/ |
HTTP 401 — authentification bien exigée |
PROPFIND /dav.php/ |
HTTP 401 et non 405 — nginx laisse passer les méthodes DAV étendues |
.well-known/carddav et caldav |
301 vers HTTPS |
| Installation Baïkal | Utilisateur Julien, carnet et calendrier default créés |
| Login Roundcube | IMAP Infomaniak accepté |
| Découverte CardDAV Roundcube | Carnet résolu à .../dav.php/addressbooks/Julien/default/ |
| Écriture d'un contact | vCard 3.0 écrite par RCMCardDAV v5.1.3, relue dans Baïkal, accents UTF-8 préservés |
| Synchronisation DAVx5 | 5 rendez-vous d'août écrits dans Baïkal par DAVx5/4.5.18-ose, synctoken du calendrier à 6 |
| InfCloud | 32 ressources servies en 200 ; PROPFIND sur principals, addressbooks et calendars tous en 207 |
| Dotfiles InfCloud | .htaccess bloqué en 403 |
| Sauvegarde Baïkal | Archive uploadée sur kDrive, HTTP 200 |
Note : dans la table carddav_addressbooks de Roundcube, une seconde ligne nommée %N avec une URL vide n'est pas une erreur — c'est le template de rcmcarddav v5, qui porte les réglages appliqués aux carnets découverts.
10. Reste à faire
10.1 vdirsyncer — agrégation Google et Infomaniak
Seule brique du plan initial encore absente. Objectif : faire remonter dans Baïkal les contacts existants sur Google et Infomaniak, pour que Baïkal devienne le point central réel et pas un silo de plus.
- Google Contacts : CardDAV via
https://www.google.com/carddav/v1/principals/EMAIL/— nécessite un mot de passe d'application (compte en 2FA) - Infomaniak : CardDAV natif, identifiants standards du compte mail
- vdirsyncer : outil CLI léger, une paire de synchronisation par source, exécuté par cron sur le VPS
Décision à prendre avant déploiement :
- one-way (Google/Infomaniak → Baïkal, lecture seule) : sans risque, mais les modifications faites dans Baïkal ne remontent pas vers Google
- two-way : tout reste aligné, mais un conflit ou une erreur de configuration peut propager des suppressions dans les deux sens
Recommandation : démarrer en one-way le temps de vérifier que l'import est fidèle, puis basculer si besoin.
10.2 Nettoyage
Quatre vhosts morts traînent dans /etc/nginx/sites-enabled/, vestiges des tentatives précédentes : radicale, agendav, infcloud, nextcloud. Le dernier cible le port 8082, ce qui a contraint le choix du port de Roundcube. Attention : le vhost nommé radicale.juxjux.ovh sert en réalité Readeck — ne pas le supprimer sans vérifier.
11. Checklist sécurité
- Aucun mot de passe
CHANGE_ME_...en production — la bascule vers SQLite a supprimé les identifiants MariaDB du compose - HTTPS forcé sur les deux vhosts (redirection 80 vers 443)
- Certificats Let's Encrypt valides, renouvellement automatique certbot en place
- Découverte DAV forcée en HTTPS (§6.3)
- Authentification Basic uniquement sur TLS (§7.2)
- Les deux containers n'écoutent que sur
127.0.0.1— seul nginx les expose - Module PHP
auth/d'InfCloud supprimé, dotfiles bloqués - Sauvegarde quotidienne des volumes Baïkal vers kDrive
- Mot de passe d'application dédié pour l'accès CardDAV Google — à faire au moment de vdirsyncer
12. Commandes utiles
# État de la stack
sudo docker ps --filter name=baikal --filter name=roundcube
# Logs
sudo docker logs roundcube --tail 50
sudo docker logs baikal --tail 50
# Redéployer
cd /home/debian/baikal && sudo docker compose -p baikal up -d
# Inspecter la base Baïkal
sudo docker cp baikal:/var/www/baikal/Specific/db/db.sqlite /tmp/bk.sqlite
sudo sqlite3 /tmp/bk.sqlite "SELECT COUNT(*) FROM cards;"
sudo sqlite3 /tmp/bk.sqlite "SELECT COUNT(*) FROM calendarobjects;"
sudo sqlite3 /tmp/bk.sqlite "SELECT id, username FROM users;"
# Méthode d'authentification annoncée par Baïkal
curl -s -D - -o /dev/null -X PROPFIND -H 'Depth: 0' \
https://baikal.juxjux.ovh/dav.php/ | grep -i www-authenticate
# Suivre les requêtes DAV des clients (DAVx5, InfCloud, Roundcube)
sudo tail -f /var/log/nginx/access.log | grep dav.php
# Vérifier la découverte DAV
curl -s -o /dev/null -w "%{http_code} -> %{redirect_url}\n" \
https://baikal.juxjux.ovh/.well-known/carddav
13. Choix d'architecture — pourquoi ces outils
Radicale écarté : stockage fichier brut, pas de vraie gestion. La stack Radicale/InfCloud initialement envisagée n'a pas été mise en place — seul InfCloud a finalement été retenu, en client de Baïkal.
Nextcloud écarté : trop lourd pour l'usage visé (PHP-FPM + base + Redis + écosystème complet), alors que le VPS fait déjà tourner PostGIS, Metabase, BookStack, FreshRSS.
Baïkal retenu : léger, CardDAV et CalDAV natifs, interface d'administration suffisante. Développé par des bénévoles sous l'organisation sabre-io (mainteneurs de SabreDAV, la librairie sous-jacente) — pas de société commerciale derrière, mais communauté active et outil robuste pour un usage personnel sur la durée.
Roundcube retenu comme interface de saisie des contacts, Baïkal n'ayant pas de vraie UI de consultation : léger, traduit en français, projet actif (version 1.7.2 en août 2026). A rejoint la famille Nextcloud en 2023 tout en restant indépendant, sous licence GPL. Réserves constatées à l'usage : il impose une authentification IMAP (§6.4) et ne couvre pas l'agenda (§6.2).
InfCloud retenu pour l'agenda web : sans backend, donc sans coût mémoire ni surface d'attaque serveur, et couvre agenda et contacts. Ancien mais fonctionnel.
SOGo envisagé et écarté : suite complète et maintenue, mais environ 500 Mo de RAM et une base PostgreSQL sur un VPS déjà en pression mémoire, et il aurait fait doublon avec Roundcube.
Thunderbird containerisé (VNC/noVNC) envisagé puis écarté : fonctionnel mais plus lourd et moins adapté au multi-accès qu'un vrai webmail.
E_la gestion du SWAP du VPS par Claude
REX 260803 — Session Claude sur le VPS Jux
Session du 2026-08-02 (soir) au 2026-08-03 (matin). Quatre chantiers, tous appliqués et vérifiés. Le sujet principal de cette page — le swap — est traité en partie 1 ; les autres chantiers suivent car ils s'expliquent mutuellement (l'allègement JVM est ce qui a fait apparaître la question du swap).
| # | Chantier | État | Gain / résultat |
|---|---|---|---|
| 1 | Swap saturé à 95 % | Résolu | 4 Go → 8 Go, swappiness 60 → 10 |
| 2 | Allègement JVM Komga + StirlingPDF | Appliqué | Komga −292 Mio (−41 %), Stirling borné à 2 Go |
| 3 | OCR StirlingPDF impossible sur PNG | Résolu | Cause trouvée + script de contournement |
| 4 | Connexion Claude Code sur le VPS Alteris | Résolu | Identifiants recopiés depuis le VPS Jux |
1. Swap saturé — le vrai diagnostic
Symptôme
Swap à 3,8 / 4,0 Go (95 %), alors que ~4,6 Gi de RAM restaient disponibles. Il se remplissait nuit après nuit et ne se vidait jamais.
Ce que ce n'était PAS
Un manque de mémoire. vmstat 2 3 montrait si/so ≈ 0 : aucun thrashing, rien ne ramait.
C'est le point contre-intuitif de ce diagnostic — un swap plein n'est pas synonyme de machine à genoux.
Le risque réel était ailleurs : il ne restait que 253 Mio de swap libre. En cas de pic, l'OOM killer aurait commencé à tuer des containers.
Cause
vm.swappiness = 60 (valeur par défaut). Pendant les batchs de nuit — backup 2h, scan Komga 4h
(230 lignes de scan cette nuit-là), scans Audiobookshelf 4h et Navidrome 4h30 — le noyau préférait
pousser les pages anonymes des applications vers le swap plutôt que de réclamer son cache de pages.
Une fois en swap, ces pages n'en ressortent jamais d'elles-mêmes : elles n'y reviennent que si le processus les retouche. D'où une accumulation qui ne fait que croître, nuit après nuit.
Fixes appliqués
a) vm.swappiness = 10, persisté dans /etc/sysctl.d/99-swap.conf. Le noyau réclame désormais
son cache de pages avant de swapper. C'est ce qui empêche l'accumulation de recommencer.
b) Second fichier de swap /swapfile2 de 4 Go → swap total 8 Go, persisté dans /etc/fstab
(sauvegarde : /etc/fstab.bak-260803), validé par sudo swapon -a pour garantir un redémarrage sûr.
Méthode choisie délibérément : ajouter un second fichier évite tout swapoff, donc tout risque.
Un swapoff -a aurait dû recharger 3,8 Go dans 4,6 Go disponibles — faisable mais serré, plusieurs
minutes d'I/O intense, et un pic pendant l'opération aurait pu faire tuer un container.
État après intervention
| Avant | Après | |
|---|---|---|
| Swap total | 4,0 Go | 8,0 Go |
| Swap libre | 253 Mio | 4,2 Go |
vm.swappiness |
60 | 10 |
| Disque libre | 39 Go | 35 Go |
Ce qui reste
Les 3,8 Go de pages froides restent en swap. C'est assumé : elles ne coûtent rien en performance
et se libéreront au fil des redémarrages. Un docker restart libère instantanément le swap du
container concerné.
Top détenteurs au 2026-08-03 : komga 954 Mio, yourls-db 389, stirling-pdf 354, Immich-SERVER 212, Immich-DB 197, mealie 189, Kavita 158, jellyfin 131.
Le redémarrage de Komga rendra donc presque un giga à lui seul.
Commandes de diagnostic
swapon --show # taille et occupation de chaque zone
vmstat 2 3 # si/so : y a-t-il un swap ACTIF ?
cat /proc/sys/vm/swappiness
Swap par container :
cat /sys/fs/cgroup/system.slice/docker-$(docker inspect NOM --format '{{.Id}}').scope/memory.swap.current
Swap par processus :
for p in /proc/[0-9]*; do s=$(awk '/^VmSwap:/{print $2}' $p/status 2>/dev/null); \
[ -n "$s" ] && [ "$s" -gt 0 ] && echo "$s $(tr -d '\0' < $p/cmdline | cut -c1-60)"; done | sort -rn | head
À surveiller
Le lendemain matin, après une nuit de batchs : si le swap utilisé a peu bougé, swappiness=10 a fait
son travail. S'il remonte malgré tout, la piste suivante est de réduire les consommateurs réels
plutôt que de rejouer sur les réglages noyau.
2. Allègement JVM Komga + StirlingPDF
Appliqué le 2026-08-02 à 22h, après vérification du backup quotidien (BILAN 5/5 OK).
| Service | Avant | Après | Résultat |
|---|---|---|---|
| Komga (stack 7) | -Xmx4g -Xms2g -XX:MaxRAMPercentage=70.0, limits 4500M / reservations 3000M, 707 Mio |
-Xmx1g, limits 1500M / reservations 256M |
415 Mio (−292, −41 %) |
| StirlingPDF (stack 89) | JVM sans limite, 722 Mio | -Xmx512m, limits 2g |
785 Mio — pas de réduction |
Bilan hôte : swap 3,7 → 2,2 Go juste après l'opération, mémoire disponible 4,4 → 4,6 Gi.
L'essentiel du gain vient de Komga : c'est le -Xms2g qui pré-allouait 2 Go de heap au démarrage.
Pourquoi StirlingPDF ne baisse pas
À dire franchement plutôt que de maquiller le résultat : le process java conserve 799 Mio de RSS
malgré -Xmx512m. Le heap n'est qu'une partie du total (metaspace, code cache, piles de threads),
et Stirling lance en plus LibreOffice (soffice.bin, ~98 Mio), unoserver et Xvfb pour ses conversions.
Le bénéfice obtenu n'est pas une baisse mais un plafond : la consommation ne peut plus déborder, alors qu'elle était non bornée.
La limite portée de 1 Go à 2 Go — décision critique
Le plan initial prévoyait 1 Go. Il a été corrigé avant application, grâce au chantier OCR mené le
même jour : l'OCR fait tourner ocrmypdf et tesseract comme processus Python, hors JVM. -Xmx ne
les borne pas — seul le plafond cgroup du container s'applique.
Pic mesuré : 894 à 969 Mio pour une seule page A4 300 dpi. Un plafond de 1 Go aurait provoqué un
OOM kill dès le premier OCR. La version 1 Go est conservée en
/home/debian/stirling-compose-new.yml.orig1g mais ne doit pas être utilisée.
Vérifications après déploiement
- Komga répond 200, API
/api/v1/librariesrenvoie bien les bibliothèques - StirlingPDF :
compress-pdfOK (workflows komga-pdf et nas_geo_compress) et OCR OK (page A4 300 dpi, pic 969 Mio, aucun OOM kill, aucun redémarrage)
Piège de déploiement
Les projets compose s'appellent 7 et 89 — les IDs de stack Portainer — et non komga /
stirlingpdf. La procédure documentée initialement aurait échoué dessus.
sudo docker compose -p 7 -f /var/lib/docker/volumes/portainer_data/_data/compose/7/docker-compose.yml up -d
3. OCR StirlingPDF impossible sur les images PNG
Symptôme
HTTP 500 sur tout OCR d'image PNG. L'interface web n'affiche aucun détail exploitable — le
diagnostic passe obligatoirement par docker logs stirling-pdf.
Deux refus cumulés d'ocrmypdf 17.4.0
UnsupportedImageFormatError: The input image has an alpha channel.— tout PNG avec transparence- Une fois l'alpha retiré, un second blocage apparaît :
DpiError: Input file is an image, but has no resolution (DPI) in its metadata.StirlingPDF ne transmet pas--image-dpià ocrmypdf
Le point à retenir : les erreurs sont séquentielles. Corriger la transparence seule ne suffit pas, le DPI bloque juste après — ce qui explique pourquoi aucun réglage de l'interface ne pouvait s'en sortir.
Solution sans outil (interface web)
Convert → Image to PDF, puis OCR sur le PDF obtenu. Les deux problèmes disparaissent puisque l'entrée n'est plus une image. Validé en test, HTTP 200.
Solution scriptée
Jux-scripts/Stirling-OCR/ocr_image.py — aplatit l'alpha sur fond blanc et force 300 dpi avant envoi.
py "D:\Syncthing\Jux_univers\Jux-scripts\Stirling-OCR\ocr_image.py" mon_image.png
Accepte un fichier ou un dossier. Options : -l fra+eng, -o sortie.pdf, --dpi 400, --skip-text.
Testé depuis le PC Windows et depuis le VPS ; texte restitué à l'identique.
Chemin sur le VPS : /home/debian/Documents/Jux_univers/Jux-scripts/ (et non ~/Syncthing/...).
Détails techniques
- Endpoint :
POST /api/v1/misc/ocr-pdf— multipartfileInput, champslanguages(liste),ocrType(Force-OCR/skip-text),outputType - Langues tesseract installées (6) :
fra,eng,deu,por,chi_sim,osd - Versions : ocrmypdf 17.4.0, tesseract 5.3.4
4. Connexion Claude Code sur le VPS Alteris
Symptôme
Au lancement de claude en SSH (PuTTY / CMD / PowerShell), Claude Code demande de se connecter et
affiche une URL. Impossible de la copier : Ctrl+C, clic droit, rien ne fonctionnait. La mention
verte « copied » s'affichait pourtant.
Cause
Le « copied » venait de Claude Code tournant sur le VPS : il copiait l'URL dans le presse-papier du serveur Linux, qui n'a aucun lien avec celui du PC Windows à travers SSH. Le presse-papier Windows restait donc vide, d'où le collage à blanc dans le navigateur.
À noter au passage : dans un terminal SSH, Ctrl+C envoie un signal d'interruption au programme —
il peut tuer le processus de login au lieu de copier.
Cause réelle du re-login
Le fichier ~/.claude/.credentials.json d'Alteris avait expiresAt: 0 — jeton invalide.
Le VPS Jux, lui, disposait d'identifiants sains (compte Pro, refresh token valide).
Solution retenue
Recopier les identifiants depuis le VPS Jux, commande lancée depuis Alteris :
scp debian@51.77.141.54:.claude/.credentials.json ~/.claude/.credentials.json && chmod 600 ~/.claude/.credentials.json
Vérifié : 504 octets, permissions 600, jeton complet. Claude Code ne redemande plus de login et rafraîchit le token seul au démarrage (l'access token expiré n'est pas un problème, le refresh token est valide).
Conséquence : les deux VPS partagent désormais le même jeu d'identifiants. Si l'un redemande un
login, refaire le même scp depuis celui qui fonctionne encore.
Alternative si les deux tombent : claude setup-token depuis le PC Windows (le navigateur s'ouvre en
local), puis export CLAUDE_CODE_OAUTH_TOKEN=... dans le ~/.bashrc du serveur.
5. Découverte annexe — port PostgreSQL 5432 bloqué sur Alteris
publier_recherche.py échoue sur sa partie PostgreSQL : Connection timed out (10060).
- ufw est actif sur Alteris sans règle pour 5432
- Le container
alteris_postgistourne etpg_isreadyrépond en local - Vérifié : le port est injoignable depuis le PC et depuis le VPS Jux
Contournement sans toucher au pare-feu — exécuter le SQL en local sur Alteris :
pscp fichier.sql debian@79.137.14.202:/tmp/
sudo docker cp /tmp/fichier.sql alteris_postgis:/tmp/i.sql
sudo docker exec alteris_postgis psql -U alteris_admin -d alteris_geo -f /tmp/i.sql
Rouvrir le port exposerait à nouveau une base de données directement sur internet. Décision à prendre sciemment, surtout après l'incident du 2026-06-09.
Fichiers, sauvegardes et rollbacks
| Élément | Chemin | Rôle |
|---|---|---|
| Compose Komga (avant) | /var/lib/docker/volumes/portainer_data/_data/compose/7/docker-compose.yml.bak-260802 |
Rollback Komga |
| Compose Stirling (avant) | /var/lib/docker/volumes/portainer_data/_data/compose/89/docker-compose.yml.bak-260802 |
Rollback Stirling |
| Version Stirling 1 Go | /home/debian/stirling-compose-new.yml.orig1g |
Ne pas utiliser (OOM sur OCR) |
| fstab (avant) | /etc/fstab.bak-260803 |
Rollback swap |
| Réglage swappiness | /etc/sysctl.d/99-swap.conf |
vm.swappiness = 10 |
| Second swap | /swapfile2 (4 Go) |
Marge de swap |
| Script OCR | Jux-scripts/Stirling-OCR/ocr_image.py + README.md |
Contournement OCR images |
Rollback JVM : restaurer le .bak-260802 de la stack et redéployer avec
sudo docker compose -p {7|89} -f ... up -d.
Références
- Page 177 — 00_Récapitulatif : section « 260802 - Allègement JVM Komga + StirlingPDF »
- Page 211 — REX StirlingPDF : entrée
RCH-20260802-0001(également en baserecherchessur Alteris) - Page 208 — 25_StirlingPDF
CLAUDE.mddu projet : sections « Swap », « Alléger Komga », « Alléger StirlingPDF », StirlingPDF/OCR
01_Les recherches de Claude
Pages de publication des résultats d'analyse et de production de Claude Code sur le contenu du VPS
01A_Kdrive_les explorations
RCH-20260529-0003 — Livres et ressources evoquant la ville de Genes dans Foxy
| Date | 2026-05-29 |
|---|---|
| Service | kDrive Infomaniak |
| Contexte | Constituer un corpus documentaire autour de Genes (Genovese, Ligurie) dans la bibliotheque kDrive — dossier SYNC-pour_VPS/Sync_NAS-Maison/Foxy |
| Outils utilisés | API REST Infomaniak kDrive v3 — search + metadata v2 | PowerShell |
| Requête | GET /3/drive/591617/files/search?query={Genes|Genova|Genovese|Genoa|Ligurie}&limit=20 | filtre manuel sur résultats |
Résultats
3 livres directement sur Gênes (la ville), 1 presentation Ligurie, des photos de Ligurie (2011), et des recettes genovese (cuisine). Recherche couvrant les termes : Genes, Genova, Genovese, Genoa, Ligurie.
Points clés
- 3 livres historiques sur Gênes trouvés : Graziani (5.2 MB), Vincens (0.9 MB), Histoire anonyme (0.8 MB)
- 1 présentation PowerPoint Ligurie (31.9 MB, mai 2021) — probablement riche en images et contenu
- Photos de Ligurie 2011 (Ognelia et Imperia) — 20+ photos personnelles
- Ressources culinaires genovese : Focaccia Genovese, Ravioli alla genovese (videos kDrive)
- Les livres sont dans Foxy (ID:401926) — dossier probable : Histoire ou Culture Italie
- L'API search kDrive retourne des faux positifs (Genèse, Gens, Genève) — filtrage manuel nécessaire
Limites
L'API v2 ne retourne pas le chemin (path) des fichiers — impossible de localiser précisément le sous-dossier sans navigation manuelle. Le champ path est vide dans la réponse.
Localisation des ressources
| URLs | — |
|---|---|
| Chemins | ["kDrive 591617 / Private (5) / SYNC-pour_VPS (534292) / Sync_NAS-Maison (534293) / Foxy (401926) / [sous-dossier inconnu]"] |
| IDs | {"531552": "Antoine-Marie Graziani - Histoire de Genes.epub (5.2 MB)", "531550": "Histoire de de Genes - Histoire.epub (0.8 MB)", "531549": "Histoire de la République de Gênes - Emile Vincens - Histoire.epub (0.9 MB)", "501392": "210526-Ligurie.pptx (31.9 MB)"} |
| Auteurs / Source | ["Antoine-Marie Graziani (Histoire de Genes)", "Emile Vincens (Histoire de la République de Gênes)"] |
| Métadonnées | {"formats": ["epub", "pptx", "jpg", "mp4"], "livres_genes": 3, "photos_ligurie": 20, "videos_recettes_genovese": 2, "dossier_foxy_id": 401926, "kdrive_id": 591617} |
Tags
#Genes #Gênes #Ligurie #Italie #histoire #kDrive #epub #bibliotheque
Suite / Pistes
1/ Explorer le dossier Culture Italie (ID:1185062) pour trouver d'autres ressources sur Genes. 2/ Verifier dans Calibre (ID:1211295) si des livres Genes y sont catalogues. 3/ Corriger l'API v2 pour obtenir le chemin des fichiers (utiliser /3/ au lieu de /2/). 4/ Croiser avec Kavita si ces epubs y sont importes.
RCH-20260529-0004 — Approfondissement corpus Gênes — Culture Italie et Bibliotheque Calibre
| Date | 2026-05-29 |
|---|---|
| Service | kDrive Infomaniak |
| Contexte | Suite de RCH-20260529-0003. Explorer Culture Italie (ID:1185062) et Bibliotheque Calibre (ID:1211295) pour compléter le corpus #Genes. |
| Outils utilisés | API REST kDrive v3 — navigation par ID + listing sous-dossiers | PowerShell |
| Requête | GET /3/drive/591617/files/{1185194|1185151|1185105|1185085|1211295}/files?limit=100 + filtres regex Genes/Ligurie |
Résultats
Culture Italie contient un dossier Ligurie (Cuisine Italie/Ligurie) avec 2 fichiers. Calibre contient Graziani mais uniquement pour Pascal Paoli (Corse), pas Genes. Vincens absent de Calibre. Plusieurs livres sur l'Italie générale potentiellement exploitables.
Points clés
- Dossier Ligurie trouvé dans Cuisine Italie (ID:1185345) : PPTX 31.9MB + IMG_3782.pdf
- Calibre/Graziani (ID:1362307) = Pascal Paoli uniquement — Histoire de Genes est dans Foxy seulement
- Vincens (Histoire de la République de Gênes) absent de Calibre — epub uniquement dans Foxy
- Culture Italie / Art de vivre : 5 ressources générales sur l'Italie (Bella Italia, Continent Italia, Sacrés Italiens, Portraits d'Italie, Geo Dolce Vita)
- Histoire Italie : Les guerres d'Italie (conflit européen) — contexte historique pertinent pour Gênes
- Le corpus Gênes dans kDrive est concentré dans Foxy/Histoire — Calibre ne l'a pas indexé
Limites
Calibre n'a pas les livres sur Gênes de Vincens et de la version anonyme. Seul Graziani y est mais pour un autre ouvrage. Les 3 epubs Genes sont uniquement dans Foxy, non indexés dans Calibre. La recherche ne couvre pas les sous-sous-dossiers de Calibre (trop nombreux).
Localisation des ressources
| URLs | — |
|---|---|
| Chemins | ["Foxy/Culture Italie/Cuisine Italie/Ligurie", "Foxy/Culture Italie/Histoire Italie", "Foxy/Culture Italie/Art de vivre Italie", "Foxy/Bibliotheque Calibre/Antoine-Marie Graziani"] |
| IDs | {"1185345": "Dossier Ligurie dans Cuisine Italie", "1185347": "210526-Ligurie.pptx (31.9 MB) — dans Cuisine Italie/Ligurie", "1185349": "IMG_3782.pdf — dans Cuisine Italie/Ligurie", "1362307": "Calibre/Antoine-Marie Graziani (Pascal Paoli — pas Gênes)", "1185194": "Histoire Italie (4 livres generaux)", "1185085": "Art de vivre Italie (5 ressources)", "1185201": "L'Italie de Botticelli à Bonaparte.epub", "1185199": "Les guerres d'Italie — Un conflit européen.epub", "1185196": "Bella Italia - Un itinéraire amoureux (Christiane Rance).epub", "1185090": "Sacrés Italiens (Alberto Toscano).epub", "1185089": "Portraits d'Italie (Laurent Bolard).epub", "1185087": "Geo Hors-Serie Dolce Vita Avril-Mai 2025.pdf"} |
| Auteurs / Source | — |
| Métadonnées | {"corpus_genes_directs": 3, "ressources_ligurie": 2, "livres_italie_generale": 9, "calibre_graziani_titre": "Pascal Paoli - Pere de la patrie corse", "vincens_dans_calibre": false} |
Tags
#Genes #Genes #Ligurie #Italie #Calibre #kDrive #Culture Italie #histoire
Suite / Pistes
1/ Importer les 3 epubs Genes (IDs 531549-531552) dans Calibre pour les indexer. 2/ Lire le PPTX Ligurie (ID:1185347) pour en extraire le contenu. 3/ Explorer 'Bella Italia' et 'Les guerres d'Italie' pour mentions de Genes. 4/ Rechercher 'Genes' dans le dossier Histoire (ID:503138) de Foxy.
01_Portainer - les explorations
Journal des recherches réalisées avec Claude Code sur le service Portainer.
Documentation technique : https://bookstack.juxjux.ovh/books/le-livre-de-claude/page/152
Chaque entrée est automatiquement enregistrée dans la table recherches (PostgreSQL Alteris, DB 35 Metabase).
RCH-AAAAMMJJ-NNNN — [Objet de la recherche]
| Date | AAAA-MM-JJ |
|---|---|
| Service | [nom du service] |
| Contexte | [Pourquoi cette recherche — quelle question, quel besoin, quel problème] |
| Outils utilisés | [MCP utilisé / API directe / PowerShell / Python / recherche web...] |
| Requête | [query exacte, paramètres, filtres, commandes] |
Résultats
[Description des résultats obtenus — texte libre, liste, tableau selon le volume]
Points clés
- [Insight 1 — ce qui est important ou surprenant]
- [Insight 2]
- [Insight 3]
Limites
[Ce qui manque, erreurs rencontrées, données absentes, pistes non abouties]
Localisation des ressources
| URLs | [liens directs vers les ressources trouvées] |
|---|---|
| Chemins | [chemins fichiers, répertoires, arborescences] |
| IDs | [IDs containers, pages, assets, items...] |
| Auteurs / Source | [auteurs, éditeurs, provenance] |
| Métadonnées | [dates, formats, tailles, langues, coordonnées...] |
Tags
#tag1 #tag2 #tag3
Suite / Pistes
[Questions ouvertes, actions à entreprendre, recherches complémentaires à lancer]
02_Bookstack_les explorations
Journal des recherches réalisées avec Claude Code sur le service Bookstack.
Documentation technique : https://bookstack.juxjux.ovh/books/le-livre-de-claude/page/153
Chaque entrée est automatiquement enregistrée dans la table recherches (PostgreSQL Alteris, DB 35 Metabase).
RCH-AAAAMMJJ-NNNN — [Objet de la recherche]
| Date | AAAA-MM-JJ |
|---|---|
| Service | [nom du service] |
| Contexte | [Pourquoi cette recherche — quelle question, quel besoin, quel problème] |
| Outils utilisés | [MCP utilisé / API directe / PowerShell / Python / recherche web...] |
| Requête | [query exacte, paramètres, filtres, commandes] |
Résultats
[Description des résultats obtenus — texte libre, liste, tableau selon le volume]
Points clés
- [Insight 1 — ce qui est important ou surprenant]
- [Insight 2]
- [Insight 3]
Limites
[Ce qui manque, erreurs rencontrées, données absentes, pistes non abouties]
Localisation des ressources
| URLs | [liens directs vers les ressources trouvées] |
|---|---|
| Chemins | [chemins fichiers, répertoires, arborescences] |
| IDs | [IDs containers, pages, assets, items...] |
| Auteurs / Source | [auteurs, éditeurs, provenance] |
| Métadonnées | [dates, formats, tailles, langues, coordonnées...] |
Tags
#tag1 #tag2 #tag3
Suite / Pistes
[Questions ouvertes, actions à entreprendre, recherches complémentaires à lancer]
03_Homarr_les explorations
Journal des recherches réalisées avec Claude Code sur le service Homarr.
Documentation technique : https://bookstack.juxjux.ovh/books/le-livre-de-claude/page/154
Chaque entrée est automatiquement enregistrée dans la table recherches (PostgreSQL Alteris, DB 35 Metabase).
RCH-AAAAMMJJ-NNNN — [Objet de la recherche]
| Date | AAAA-MM-JJ |
|---|---|
| Service | [nom du service] |
| Contexte | [Pourquoi cette recherche — quelle question, quel besoin, quel problème] |
| Outils utilisés | [MCP utilisé / API directe / PowerShell / Python / recherche web...] |
| Requête | [query exacte, paramètres, filtres, commandes] |
Résultats
[Description des résultats obtenus — texte libre, liste, tableau selon le volume]
Points clés
- [Insight 1 — ce qui est important ou surprenant]
- [Insight 2]
- [Insight 3]
Limites
[Ce qui manque, erreurs rencontrées, données absentes, pistes non abouties]
Localisation des ressources
| URLs | [liens directs vers les ressources trouvées] |
|---|---|
| Chemins | [chemins fichiers, répertoires, arborescences] |
| IDs | [IDs containers, pages, assets, items...] |
| Auteurs / Source | [auteurs, éditeurs, provenance] |
| Métadonnées | [dates, formats, tailles, langues, coordonnées...] |
Tags
#tag1 #tag2 #tag3
Suite / Pistes
[Questions ouvertes, actions à entreprendre, recherches complémentaires à lancer]
04_Audiobookshelf_les explorations
Journal des recherches réalisées avec Claude Code sur le service Audiobookshelf.
Documentation technique : https://bookstack.juxjux.ovh/books/le-livre-de-claude/page/155
Chaque entrée est automatiquement enregistrée dans la table recherches (PostgreSQL Alteris, DB 35 Metabase).
RCH-AAAAMMJJ-NNNN — [Objet de la recherche]
| Date | AAAA-MM-JJ |
|---|---|
| Service | [nom du service] |
| Contexte | [Pourquoi cette recherche — quelle question, quel besoin, quel problème] |
| Outils utilisés | [MCP utilisé / API directe / PowerShell / Python / recherche web...] |
| Requête | [query exacte, paramètres, filtres, commandes] |
Résultats
[Description des résultats obtenus — texte libre, liste, tableau selon le volume]
Points clés
- [Insight 1 — ce qui est important ou surprenant]
- [Insight 2]
- [Insight 3]
Limites
[Ce qui manque, erreurs rencontrées, données absentes, pistes non abouties]
Localisation des ressources
| URLs | [liens directs vers les ressources trouvées] |
|---|---|
| Chemins | [chemins fichiers, répertoires, arborescences] |
| IDs | [IDs containers, pages, assets, items...] |
| Auteurs / Source | [auteurs, éditeurs, provenance] |
| Métadonnées | [dates, formats, tailles, langues, coordonnées...] |
Tags
#tag1 #tag2 #tag3
Suite / Pistes
[Questions ouvertes, actions à entreprendre, recherches complémentaires à lancer]
05_BentoPDF_les explorations
Journal des recherches réalisées avec Claude Code sur le service BentoPDF.
Documentation technique : https://bookstack.juxjux.ovh/books/le-livre-de-claude/page/156
Chaque entrée est automatiquement enregistrée dans la table recherches (PostgreSQL Alteris, DB 35 Metabase).
RCH-AAAAMMJJ-NNNN — [Objet de la recherche]
| Date | AAAA-MM-JJ |
|---|---|
| Service | [nom du service] |
| Contexte | [Pourquoi cette recherche — quelle question, quel besoin, quel problème] |
| Outils utilisés | [MCP utilisé / API directe / PowerShell / Python / recherche web...] |
| Requête | [query exacte, paramètres, filtres, commandes] |
Résultats
[Description des résultats obtenus — texte libre, liste, tableau selon le volume]
Points clés
- [Insight 1 — ce qui est important ou surprenant]
- [Insight 2]
- [Insight 3]
Limites
[Ce qui manque, erreurs rencontrées, données absentes, pistes non abouties]
Localisation des ressources
| URLs | [liens directs vers les ressources trouvées] |
|---|---|
| Chemins | [chemins fichiers, répertoires, arborescences] |
| IDs | [IDs containers, pages, assets, items...] |
| Auteurs / Source | [auteurs, éditeurs, provenance] |
| Métadonnées | [dates, formats, tailles, langues, coordonnées...] |
Tags
#tag1 #tag2 #tag3
Suite / Pistes
[Questions ouvertes, actions à entreprendre, recherches complémentaires à lancer]
06_Cadvisor_les explorations
Journal des recherches réalisées avec Claude Code sur le service Cadvisor.
Documentation technique : https://bookstack.juxjux.ovh/books/le-livre-de-claude/page/157
Chaque entrée est automatiquement enregistrée dans la table recherches (PostgreSQL Alteris, DB 35 Metabase).
RCH-AAAAMMJJ-NNNN — [Objet de la recherche]
| Date | AAAA-MM-JJ |
|---|---|
| Service | [nom du service] |
| Contexte | [Pourquoi cette recherche — quelle question, quel besoin, quel problème] |
| Outils utilisés | [MCP utilisé / API directe / PowerShell / Python / recherche web...] |
| Requête | [query exacte, paramètres, filtres, commandes] |
Résultats
[Description des résultats obtenus — texte libre, liste, tableau selon le volume]
Points clés
- [Insight 1 — ce qui est important ou surprenant]
- [Insight 2]
- [Insight 3]
Limites
[Ce qui manque, erreurs rencontrées, données absentes, pistes non abouties]
Localisation des ressources
| URLs | [liens directs vers les ressources trouvées] |
|---|---|
| Chemins | [chemins fichiers, répertoires, arborescences] |
| IDs | [IDs containers, pages, assets, items...] |
| Auteurs / Source | [auteurs, éditeurs, provenance] |
| Métadonnées | [dates, formats, tailles, langues, coordonnées...] |
Tags
#tag1 #tag2 #tag3
Suite / Pistes
[Questions ouvertes, actions à entreprendre, recherches complémentaires à lancer]
07_Calibre-web_les explorations
Journal des recherches réalisées avec Claude Code sur le service Calibre-web.
Documentation technique : https://bookstack.juxjux.ovh/books/le-livre-de-claude/page/158
Chaque entrée est automatiquement enregistrée dans la table recherches (PostgreSQL Alteris, DB 35 Metabase).
RCH-AAAAMMJJ-NNNN — [Objet de la recherche]
| Date | AAAA-MM-JJ |
|---|---|
| Service | [nom du service] |
| Contexte | [Pourquoi cette recherche — quelle question, quel besoin, quel problème] |
| Outils utilisés | [MCP utilisé / API directe / PowerShell / Python / recherche web...] |
| Requête | [query exacte, paramètres, filtres, commandes] |
Résultats
[Description des résultats obtenus — texte libre, liste, tableau selon le volume]
Points clés
- [Insight 1 — ce qui est important ou surprenant]
- [Insight 2]
- [Insight 3]
Limites
[Ce qui manque, erreurs rencontrées, données absentes, pistes non abouties]
Localisation des ressources
| URLs | [liens directs vers les ressources trouvées] |
|---|---|
| Chemins | [chemins fichiers, répertoires, arborescences] |
| IDs | [IDs containers, pages, assets, items...] |
| Auteurs / Source | [auteurs, éditeurs, provenance] |
| Métadonnées | [dates, formats, tailles, langues, coordonnées...] |
Tags
#tag1 #tag2 #tag3
Suite / Pistes
[Questions ouvertes, actions à entreprendre, recherches complémentaires à lancer]
08_Dozzle_les explorations
Journal des recherches réalisées avec Claude Code sur le service Dozzle.
Documentation technique : https://bookstack.juxjux.ovh/books/le-livre-de-claude/page/159
Chaque entrée est automatiquement enregistrée dans la table recherches (PostgreSQL Alteris, DB 35 Metabase).
RCH-AAAAMMJJ-NNNN — [Objet de la recherche]
| Date | AAAA-MM-JJ |
|---|---|
| Service | [nom du service] |
| Contexte | [Pourquoi cette recherche — quelle question, quel besoin, quel problème] |
| Outils utilisés | [MCP utilisé / API directe / PowerShell / Python / recherche web...] |
| Requête | [query exacte, paramètres, filtres, commandes] |
Résultats
[Description des résultats obtenus — texte libre, liste, tableau selon le volume]
Points clés
- [Insight 1 — ce qui est important ou surprenant]
- [Insight 2]
- [Insight 3]
Limites
[Ce qui manque, erreurs rencontrées, données absentes, pistes non abouties]
Localisation des ressources
| URLs | [liens directs vers les ressources trouvées] |
|---|---|
| Chemins | [chemins fichiers, répertoires, arborescences] |
| IDs | [IDs containers, pages, assets, items...] |
| Auteurs / Source | [auteurs, éditeurs, provenance] |
| Métadonnées | [dates, formats, tailles, langues, coordonnées...] |
Tags
#tag1 #tag2 #tag3
Suite / Pistes
[Questions ouvertes, actions à entreprendre, recherches complémentaires à lancer]
09_FileBrowser_les explorations
Journal des recherches réalisées avec Claude Code sur le service FileBrowser.
Documentation technique : https://bookstack.juxjux.ovh/books/le-livre-de-claude/page/160
Chaque entrée est automatiquement enregistrée dans la table recherches (PostgreSQL Alteris, DB 35 Metabase).
RCH-AAAAMMJJ-NNNN — [Objet de la recherche]
| Date | AAAA-MM-JJ |
|---|---|
| Service | [nom du service] |
| Contexte | [Pourquoi cette recherche — quelle question, quel besoin, quel problème] |
| Outils utilisés | [MCP utilisé / API directe / PowerShell / Python / recherche web...] |
| Requête | [query exacte, paramètres, filtres, commandes] |
Résultats
[Description des résultats obtenus — texte libre, liste, tableau selon le volume]
Points clés
- [Insight 1 — ce qui est important ou surprenant]
- [Insight 2]
- [Insight 3]
Limites
[Ce qui manque, erreurs rencontrées, données absentes, pistes non abouties]
Localisation des ressources
| URLs | [liens directs vers les ressources trouvées] |
|---|---|
| Chemins | [chemins fichiers, répertoires, arborescences] |
| IDs | [IDs containers, pages, assets, items...] |
| Auteurs / Source | [auteurs, éditeurs, provenance] |
| Métadonnées | [dates, formats, tailles, langues, coordonnées...] |
Tags
#tag1 #tag2 #tag3
Suite / Pistes
[Questions ouvertes, actions à entreprendre, recherches complémentaires à lancer]
10_FreshRSS_les explorations
RCH-20260529-0002 — Articles Inkscape dans la categorie claude_foss
| Date | 2026-05-29 |
|---|---|
| Service | FreshRSS |
| Contexte | Second passage apres creation de la categorie claude_foss et ajout du flux Inkscape News. Verifier si des articles sur Inkscape sont desormais indexes. |
| Outils utilisés | API GReader FreshRSS directe — stream/contents/user/-/label/claude_foss — search_foss.py |
| Requête | GET /reader/api/0/stream/contents/user/-/label/claude_foss?n=100&q=Inkscape |
Résultats
100 articles retournes depuis la categorie claude_foss (7 flux). 10 articles provenant du flux Inkscape News (feed/615) sont presents. Note : le parametre q= de l'API GReader ne filtre pas reellement par mot-cle — il retourne tous les articles du stream. Le filtrage Inkscape est donc a faire cote client.
Points clés
- 10 articles Inkscape indexés depuis l'ajout du flux feed/615 (inkscape.org/news)
- Dernière release : Inkscape 1.4.4 (2026-05-06) — ameliorations performances et corrections crashes
- Inkscape soutient une pétition allemande pour la reconnaissance des bénévoles Open Source (2026-05-13)
- Interview artiste : court-métrage animé réalisé entièrement sous Inkscape (2026-04-02)
- L'API GReader q= ne filtre pas par mot-clé : retourne tous les articles du stream — filtrage client nécessaire
- Flux claude_foss opérationnel : 7 sources (Inkscape, LinuxFr, Planet GNOME, Blender, LibreOffice, Libre Arts)
Limites
Le parametre q= de l'API GReader FreshRSS ne filtre pas par mot-cle. Pour une recherche thematique precise, il faut recuperer tous les articles et filtrer cote client sur title + content. A corriger dans search_foss.py.
Localisation des ressources
| URLs | ["https://inkscape.org/news/2026/05/13/inkscape-supports-german-petition-to-recognize-ope/", "https://inkscape.org/news/2026/05/06/inkscape-144-boosts-performance-and-crushes-crashe/", "https://inkscape.org/news/2026/04/02/artist-interview-meet-jorge-who-made-a-short-film/", "https://inkscape.org/news/2026/03/02/inkscape-is-hiring-2026-1/", "https://inkscape.org/news/2025/12/26/bugs-banished-inkscape-143-is-out/", "https://inkscape.org/news/2025/10/12/indiafoss-2025/", "https://inkscape.org/news/2025/06/08/libre-graphics-meeting-2025/", "https://inkscape.org/news/2025/06/01/inkscape-summit-nuremberg/", "https://inkscape.org/news/2025/05/12/2-in-1-release-inkscape-142-is-out/", "https://inkscape.org/news/2025/02/05/inkscape-summit-frankfurt-2025/"] |
|---|---|
| Chemins | — |
| IDs | ["feed/615 (Inkscape News)", "user/-/label/claude_foss"] |
| Auteurs / Source | ["Inkscape Project"] |
| Métadonnées | {"articles_inkscape": 10, "articles_total_stream": 100, "flux_claude_foss": 7, "derniere_version": "Inkscape 1.4.4", "date_derniere_version": "2026-05-06", "periode_couverte": "2025-02 a 2026-05"} |
Tags
#Inkscape #logiciel-libre #SVG #dessin-vectoriel #FOSS #FreshRSS #claude_foss
Suite / Pistes
1/ Corriger search_foss.py pour filtrer cote client sur title+content. 2/ Ajouter flux Libre Graphics Meeting et Planet Inkscape si existants. 3/ Relancer apres quelques jours pour capter les nouveaux articles. 4/ Croiser avec Kavita (livres SVG/Inkscape) et kDrive (tutoriels eventuels).
11_Gitea_les explorations
Journal des recherches réalisées avec Claude Code sur le service Gitea.
Documentation technique : https://bookstack.juxjux.ovh/books/le-livre-de-claude/page/162
Chaque entrée est automatiquement enregistrée dans la table recherches (PostgreSQL Alteris, DB 35 Metabase).
RCH-AAAAMMJJ-NNNN — [Objet de la recherche]
| Date | AAAA-MM-JJ |
|---|---|
| Service | [nom du service] |
| Contexte | [Pourquoi cette recherche — quelle question, quel besoin, quel problème] |
| Outils utilisés | [MCP utilisé / API directe / PowerShell / Python / recherche web...] |
| Requête | [query exacte, paramètres, filtres, commandes] |
Résultats
[Description des résultats obtenus — texte libre, liste, tableau selon le volume]
Points clés
- [Insight 1 — ce qui est important ou surprenant]
- [Insight 2]
- [Insight 3]
Limites
[Ce qui manque, erreurs rencontrées, données absentes, pistes non abouties]
Localisation des ressources
| URLs | [liens directs vers les ressources trouvées] |
|---|---|
| Chemins | [chemins fichiers, répertoires, arborescences] |
| IDs | [IDs containers, pages, assets, items...] |
| Auteurs / Source | [auteurs, éditeurs, provenance] |
| Métadonnées | [dates, formats, tailles, langues, coordonnées...] |
Tags
#tag1 #tag2 #tag3
Suite / Pistes
[Questions ouvertes, actions à entreprendre, recherches complémentaires à lancer]
12_Grafana_les explorations
Journal des recherches réalisées avec Claude Code sur le service Grafana.
Documentation technique : https://bookstack.juxjux.ovh/books/le-livre-de-claude/page/163
Chaque entrée est automatiquement enregistrée dans la table recherches (PostgreSQL Alteris, DB 35 Metabase).
RCH-AAAAMMJJ-NNNN — [Objet de la recherche]
| Date | AAAA-MM-JJ |
|---|---|
| Service | [nom du service] |
| Contexte | [Pourquoi cette recherche — quelle question, quel besoin, quel problème] |
| Outils utilisés | [MCP utilisé / API directe / PowerShell / Python / recherche web...] |
| Requête | [query exacte, paramètres, filtres, commandes] |
Résultats
[Description des résultats obtenus — texte libre, liste, tableau selon le volume]
Points clés
- [Insight 1 — ce qui est important ou surprenant]
- [Insight 2]
- [Insight 3]
Limites
[Ce qui manque, erreurs rencontrées, données absentes, pistes non abouties]
Localisation des ressources
| URLs | [liens directs vers les ressources trouvées] |
|---|---|
| Chemins | [chemins fichiers, répertoires, arborescences] |
| IDs | [IDs containers, pages, assets, items...] |
| Auteurs / Source | [auteurs, éditeurs, provenance] |
| Métadonnées | [dates, formats, tailles, langues, coordonnées...] |
Tags
#tag1 #tag2 #tag3
Suite / Pistes
[Questions ouvertes, actions à entreprendre, recherches complémentaires à lancer]
13_Immich_les explorations
Journal des recherches réalisées avec Claude Code sur le service Immich.
Documentation technique : https://bookstack.juxjux.ovh/books/le-livre-de-claude/page/164
Chaque entrée est automatiquement enregistrée dans la table recherches (PostgreSQL Alteris, DB 35 Metabase).
RCH-AAAAMMJJ-NNNN — [Objet de la recherche]
| Date | AAAA-MM-JJ |
|---|---|
| Service | [nom du service] |
| Contexte | [Pourquoi cette recherche — quelle question, quel besoin, quel problème] |
| Outils utilisés | [MCP utilisé / API directe / PowerShell / Python / recherche web...] |
| Requête | [query exacte, paramètres, filtres, commandes] |
Résultats
[Description des résultats obtenus — texte libre, liste, tableau selon le volume]
Points clés
- [Insight 1 — ce qui est important ou surprenant]
- [Insight 2]
- [Insight 3]
Limites
[Ce qui manque, erreurs rencontrées, données absentes, pistes non abouties]
Localisation des ressources
| URLs | [liens directs vers les ressources trouvées] |
|---|---|
| Chemins | [chemins fichiers, répertoires, arborescences] |
| IDs | [IDs containers, pages, assets, items...] |
| Auteurs / Source | [auteurs, éditeurs, provenance] |
| Métadonnées | [dates, formats, tailles, langues, coordonnées...] |
Tags
#tag1 #tag2 #tag3
Suite / Pistes
[Questions ouvertes, actions à entreprendre, recherches complémentaires à lancer]
14_Jellyfin_les explorations
Journal des recherches réalisées avec Claude Code sur le service Jellyfin.
Documentation technique : https://bookstack.juxjux.ovh/books/le-livre-de-claude/page/165
Chaque entrée est automatiquement enregistrée dans la table recherches (PostgreSQL Alteris, DB 35 Metabase).
RCH-AAAAMMJJ-NNNN — [Objet de la recherche]
| Date | AAAA-MM-JJ |
|---|---|
| Service | [nom du service] |
| Contexte | [Pourquoi cette recherche — quelle question, quel besoin, quel problème] |
| Outils utilisés | [MCP utilisé / API directe / PowerShell / Python / recherche web...] |
| Requête | [query exacte, paramètres, filtres, commandes] |
Résultats
[Description des résultats obtenus — texte libre, liste, tableau selon le volume]
Points clés
- [Insight 1 — ce qui est important ou surprenant]
- [Insight 2]
- [Insight 3]
Limites
[Ce qui manque, erreurs rencontrées, données absentes, pistes non abouties]
Localisation des ressources
| URLs | [liens directs vers les ressources trouvées] |
|---|---|
| Chemins | [chemins fichiers, répertoires, arborescences] |
| IDs | [IDs containers, pages, assets, items...] |
| Auteurs / Source | [auteurs, éditeurs, provenance] |
| Métadonnées | [dates, formats, tailles, langues, coordonnées...] |
Tags
#tag1 #tag2 #tag3
Suite / Pistes
[Questions ouvertes, actions à entreprendre, recherches complémentaires à lancer]
15_Joplin_les explorations
Journal des recherches réalisées avec Claude Code sur le service Joplin.
Documentation technique : https://bookstack.juxjux.ovh/books/le-livre-de-claude/page/166
Chaque entrée est automatiquement enregistrée dans la table recherches (PostgreSQL Alteris, DB 35 Metabase).
RCH-AAAAMMJJ-NNNN — [Objet de la recherche]
| Date | AAAA-MM-JJ |
|---|---|
| Service | [nom du service] |
| Contexte | [Pourquoi cette recherche — quelle question, quel besoin, quel problème] |
| Outils utilisés | [MCP utilisé / API directe / PowerShell / Python / recherche web...] |
| Requête | [query exacte, paramètres, filtres, commandes] |
Résultats
[Description des résultats obtenus — texte libre, liste, tableau selon le volume]
Points clés
- [Insight 1 — ce qui est important ou surprenant]
- [Insight 2]
- [Insight 3]
Limites
[Ce qui manque, erreurs rencontrées, données absentes, pistes non abouties]
Localisation des ressources
| URLs | [liens directs vers les ressources trouvées] |
|---|---|
| Chemins | [chemins fichiers, répertoires, arborescences] |
| IDs | [IDs containers, pages, assets, items...] |
| Auteurs / Source | [auteurs, éditeurs, provenance] |
| Métadonnées | [dates, formats, tailles, langues, coordonnées...] |
Tags
#tag1 #tag2 #tag3
Suite / Pistes
[Questions ouvertes, actions à entreprendre, recherches complémentaires à lancer]
16_Kavita_les explorations
Journal des recherches réalisées avec Claude Code sur le service Kavita.
Documentation technique : https://bookstack.juxjux.ovh/books/le-livre-de-claude/page/167
Chaque entrée est automatiquement enregistrée dans la table recherches (PostgreSQL Alteris, DB 35 Metabase).
RCH-AAAAMMJJ-NNNN — [Objet de la recherche]
| Date | AAAA-MM-JJ |
|---|---|
| Service | [nom du service] |
| Contexte | [Pourquoi cette recherche — quelle question, quel besoin, quel problème] |
| Outils utilisés | [MCP utilisé / API directe / PowerShell / Python / recherche web...] |
| Requête | [query exacte, paramètres, filtres, commandes] |
Résultats
[Description des résultats obtenus — texte libre, liste, tableau selon le volume]
Points clés
- [Insight 1 — ce qui est important ou surprenant]
- [Insight 2]
- [Insight 3]
Limites
[Ce qui manque, erreurs rencontrées, données absentes, pistes non abouties]
Localisation des ressources
| URLs | [liens directs vers les ressources trouvées] |
|---|---|
| Chemins | [chemins fichiers, répertoires, arborescences] |
| IDs | [IDs containers, pages, assets, items...] |
| Auteurs / Source | [auteurs, éditeurs, provenance] |
| Métadonnées | [dates, formats, tailles, langues, coordonnées...] |
Tags
#tag1 #tag2 #tag3
Suite / Pistes
[Questions ouvertes, actions à entreprendre, recherches complémentaires à lancer]
17_Komga_les explorations
Journal des recherches réalisées avec Claude Code sur le service Komga.
Documentation technique : https://bookstack.juxjux.ovh/books/le-livre-de-claude/page/168
Chaque entrée est automatiquement enregistrée dans la table recherches (PostgreSQL Alteris, DB 35 Metabase).
RCH-AAAAMMJJ-NNNN — [Objet de la recherche]
| Date | AAAA-MM-JJ |
|---|---|
| Service | [nom du service] |
| Contexte | [Pourquoi cette recherche — quelle question, quel besoin, quel problème] |
| Outils utilisés | [MCP utilisé / API directe / PowerShell / Python / recherche web...] |
| Requête | [query exacte, paramètres, filtres, commandes] |
Résultats
[Description des résultats obtenus — texte libre, liste, tableau selon le volume]
Points clés
- [Insight 1 — ce qui est important ou surprenant]
- [Insight 2]
- [Insight 3]
Limites
[Ce qui manque, erreurs rencontrées, données absentes, pistes non abouties]
Localisation des ressources
| URLs | [liens directs vers les ressources trouvées] |
|---|---|
| Chemins | [chemins fichiers, répertoires, arborescences] |
| IDs | [IDs containers, pages, assets, items...] |
| Auteurs / Source | [auteurs, éditeurs, provenance] |
| Métadonnées | [dates, formats, tailles, langues, coordonnées...] |
Tags
#tag1 #tag2 #tag3
Suite / Pistes
[Questions ouvertes, actions à entreprendre, recherches complémentaires à lancer]
18_Mealie_les explorations
Journal des recherches réalisées avec Claude Code sur le service Mealie.
Documentation technique : https://bookstack.juxjux.ovh/books/le-livre-de-claude/page/169
Chaque entrée est automatiquement enregistrée dans la table recherches (PostgreSQL Alteris, DB 35 Metabase).
RCH-AAAAMMJJ-NNNN — [Objet de la recherche]
| Date | AAAA-MM-JJ |
|---|---|
| Service | [nom du service] |
| Contexte | [Pourquoi cette recherche — quelle question, quel besoin, quel problème] |
| Outils utilisés | [MCP utilisé / API directe / PowerShell / Python / recherche web...] |
| Requête | [query exacte, paramètres, filtres, commandes] |
Résultats
[Description des résultats obtenus — texte libre, liste, tableau selon le volume]
Points clés
- [Insight 1 — ce qui est important ou surprenant]
- [Insight 2]
- [Insight 3]
Limites
[Ce qui manque, erreurs rencontrées, données absentes, pistes non abouties]
Localisation des ressources
| URLs | [liens directs vers les ressources trouvées] |
|---|---|
| Chemins | [chemins fichiers, répertoires, arborescences] |
| IDs | [IDs containers, pages, assets, items...] |
| Auteurs / Source | [auteurs, éditeurs, provenance] |
| Métadonnées | [dates, formats, tailles, langues, coordonnées...] |
Tags
#tag1 #tag2 #tag3
Suite / Pistes
[Questions ouvertes, actions à entreprendre, recherches complémentaires à lancer]
19_Navidrome_les explorations
Journal des recherches réalisées avec Claude Code sur le service Navidrome.
Documentation technique : https://bookstack.juxjux.ovh/books/le-livre-de-claude/page/170
Chaque entrée est automatiquement enregistrée dans la table recherches (PostgreSQL Alteris, DB 35 Metabase).
RCH-AAAAMMJJ-NNNN — [Objet de la recherche]
| Date | AAAA-MM-JJ |
|---|---|
| Service | [nom du service] |
| Contexte | [Pourquoi cette recherche — quelle question, quel besoin, quel problème] |
| Outils utilisés | [MCP utilisé / API directe / PowerShell / Python / recherche web...] |
| Requête | [query exacte, paramètres, filtres, commandes] |
Résultats
[Description des résultats obtenus — texte libre, liste, tableau selon le volume]
Points clés
- [Insight 1 — ce qui est important ou surprenant]
- [Insight 2]
- [Insight 3]
Limites
[Ce qui manque, erreurs rencontrées, données absentes, pistes non abouties]
Localisation des ressources
| URLs | [liens directs vers les ressources trouvées] |
|---|---|
| Chemins | [chemins fichiers, répertoires, arborescences] |
| IDs | [IDs containers, pages, assets, items...] |
| Auteurs / Source | [auteurs, éditeurs, provenance] |
| Métadonnées | [dates, formats, tailles, langues, coordonnées...] |
Tags
#tag1 #tag2 #tag3
Suite / Pistes
[Questions ouvertes, actions à entreprendre, recherches complémentaires à lancer]
20_NodeExporter_les explorations
Journal des recherches réalisées avec Claude Code sur le service NodeExporter.
Documentation technique : https://bookstack.juxjux.ovh/books/le-livre-de-claude/page/171
Chaque entrée est automatiquement enregistrée dans la table recherches (PostgreSQL Alteris, DB 35 Metabase).
RCH-AAAAMMJJ-NNNN — [Objet de la recherche]
| Date | AAAA-MM-JJ |
|---|---|
| Service | [nom du service] |
| Contexte | [Pourquoi cette recherche — quelle question, quel besoin, quel problème] |
| Outils utilisés | [MCP utilisé / API directe / PowerShell / Python / recherche web...] |
| Requête | [query exacte, paramètres, filtres, commandes] |
Résultats
[Description des résultats obtenus — texte libre, liste, tableau selon le volume]
Points clés
- [Insight 1 — ce qui est important ou surprenant]
- [Insight 2]
- [Insight 3]
Limites
[Ce qui manque, erreurs rencontrées, données absentes, pistes non abouties]
Localisation des ressources
| URLs | [liens directs vers les ressources trouvées] |
|---|---|
| Chemins | [chemins fichiers, répertoires, arborescences] |
| IDs | [IDs containers, pages, assets, items...] |
| Auteurs / Source | [auteurs, éditeurs, provenance] |
| Métadonnées | [dates, formats, tailles, langues, coordonnées...] |
Tags
#tag1 #tag2 #tag3
Suite / Pistes
[Questions ouvertes, actions à entreprendre, recherches complémentaires à lancer]
21_Prometheus_les explorations
Journal des recherches réalisées avec Claude Code sur le service Prometheus.
Documentation technique : https://bookstack.juxjux.ovh/books/le-livre-de-claude/page/172
Chaque entrée est automatiquement enregistrée dans la table recherches (PostgreSQL Alteris, DB 35 Metabase).
RCH-AAAAMMJJ-NNNN — [Objet de la recherche]
| Date | AAAA-MM-JJ |
|---|---|
| Service | [nom du service] |
| Contexte | [Pourquoi cette recherche — quelle question, quel besoin, quel problème] |
| Outils utilisés | [MCP utilisé / API directe / PowerShell / Python / recherche web...] |
| Requête | [query exacte, paramètres, filtres, commandes] |
Résultats
[Description des résultats obtenus — texte libre, liste, tableau selon le volume]
Points clés
- [Insight 1 — ce qui est important ou surprenant]
- [Insight 2]
- [Insight 3]
Limites
[Ce qui manque, erreurs rencontrées, données absentes, pistes non abouties]
Localisation des ressources
| URLs | [liens directs vers les ressources trouvées] |
|---|---|
| Chemins | [chemins fichiers, répertoires, arborescences] |
| IDs | [IDs containers, pages, assets, items...] |
| Auteurs / Source | [auteurs, éditeurs, provenance] |
| Métadonnées | [dates, formats, tailles, langues, coordonnées...] |
Tags
#tag1 #tag2 #tag3
Suite / Pistes
[Questions ouvertes, actions à entreprendre, recherches complémentaires à lancer]
22_Readeck_les explorations
Journal des recherches réalisées avec Claude Code sur le service Readeck.
Documentation technique : https://bookstack.juxjux.ovh/books/le-livre-de-claude/page/173
Chaque entrée est automatiquement enregistrée dans la table recherches (PostgreSQL Alteris, DB 35 Metabase).
RCH-AAAAMMJJ-NNNN — [Objet de la recherche]
| Date | AAAA-MM-JJ |
|---|---|
| Service | [nom du service] |
| Contexte | [Pourquoi cette recherche — quelle question, quel besoin, quel problème] |
| Outils utilisés | [MCP utilisé / API directe / PowerShell / Python / recherche web...] |
| Requête | [query exacte, paramètres, filtres, commandes] |
Résultats
[Description des résultats obtenus — texte libre, liste, tableau selon le volume]
Points clés
- [Insight 1 — ce qui est important ou surprenant]
- [Insight 2]
- [Insight 3]
Limites
[Ce qui manque, erreurs rencontrées, données absentes, pistes non abouties]
Localisation des ressources
| URLs | [liens directs vers les ressources trouvées] |
|---|---|
| Chemins | [chemins fichiers, répertoires, arborescences] |
| IDs | [IDs containers, pages, assets, items...] |
| Auteurs / Source | [auteurs, éditeurs, provenance] |
| Métadonnées | [dates, formats, tailles, langues, coordonnées...] |
Tags
#tag1 #tag2 #tag3
Suite / Pistes
[Questions ouvertes, actions à entreprendre, recherches complémentaires à lancer]
23_Syncthing_les explorations
Journal des recherches réalisées avec Claude Code sur le service Syncthing.
Documentation technique : https://bookstack.juxjux.ovh/books/le-livre-de-claude/page/174
Chaque entrée est automatiquement enregistrée dans la table recherches (PostgreSQL Alteris, DB 35 Metabase).
RCH-AAAAMMJJ-NNNN — [Objet de la recherche]
| Date | AAAA-MM-JJ |
|---|---|
| Service | [nom du service] |
| Contexte | [Pourquoi cette recherche — quelle question, quel besoin, quel problème] |
| Outils utilisés | [MCP utilisé / API directe / PowerShell / Python / recherche web...] |
| Requête | [query exacte, paramètres, filtres, commandes] |
Résultats
[Description des résultats obtenus — texte libre, liste, tableau selon le volume]
Points clés
- [Insight 1 — ce qui est important ou surprenant]
- [Insight 2]
- [Insight 3]
Limites
[Ce qui manque, erreurs rencontrées, données absentes, pistes non abouties]
Localisation des ressources
| URLs | [liens directs vers les ressources trouvées] |
|---|---|
| Chemins | [chemins fichiers, répertoires, arborescences] |
| IDs | [IDs containers, pages, assets, items...] |
| Auteurs / Source | [auteurs, éditeurs, provenance] |
| Métadonnées | [dates, formats, tailles, langues, coordonnées...] |
Tags
#tag1 #tag2 #tag3
Suite / Pistes
[Questions ouvertes, actions à entreprendre, recherches complémentaires à lancer]
24_Yourls_les explorations
Journal des recherches réalisées avec Claude Code sur le service Yourls.
Documentation technique : https://bookstack.juxjux.ovh/books/le-livre-de-claude/page/175
Chaque entrée est automatiquement enregistrée dans la table recherches (PostgreSQL Alteris, DB 35 Metabase).
RCH-AAAAMMJJ-NNNN — [Objet de la recherche]
| Date | AAAA-MM-JJ |
|---|---|
| Service | [nom du service] |
| Contexte | [Pourquoi cette recherche — quelle question, quel besoin, quel problème] |
| Outils utilisés | [MCP utilisé / API directe / PowerShell / Python / recherche web...] |
| Requête | [query exacte, paramètres, filtres, commandes] |
Résultats
[Description des résultats obtenus — texte libre, liste, tableau selon le volume]
Points clés
- [Insight 1 — ce qui est important ou surprenant]
- [Insight 2]
- [Insight 3]
Limites
[Ce qui manque, erreurs rencontrées, données absentes, pistes non abouties]
Localisation des ressources
| URLs | [liens directs vers les ressources trouvées] |
|---|---|
| Chemins | [chemins fichiers, répertoires, arborescences] |
| IDs | [IDs containers, pages, assets, items...] |
| Auteurs / Source | [auteurs, éditeurs, provenance] |
| Métadonnées | [dates, formats, tailles, langues, coordonnées...] |
Tags
#tag1 #tag2 #tag3
Suite / Pistes
[Questions ouvertes, actions à entreprendre, recherches complémentaires à lancer]
25_StirlingPDF
RCH-20260822-0001 — Consommation mémoire de StirlingPDF à la compression d'un PDF de 129 Mo (validation de la chaîne Komga-PDF)
| Date | 2026-08-22 |
|---|---|
| Service | StirlingPDF |
| Contexte | Test de bout en bout de la chaîne automatisée Komga-PDF depuis le poste Windows julie, entré dans le maillage Syncthing le 2026-08-10. Objectif secondaire : mesurer la marge réelle sous le plafond mémoire de 2 Go posé le 2026-08-02, jamais éprouvé sur un gros fichier. |
| Outils utilisés | plink SSH, journalctl -u komga-watch, docker stats stirling-pdf, API /api/v1/misc/compress-pdf (appelée par komga_compress_vps.py) |
| Requête | Dépôt d'un PDF de 129,2 Mo dans D:\Syncthing\komga-pdf\ ; relevé de docker stats stirling-pdf toutes les 15 s jusqu'à la fin du traitement. |
Résultats
Chaîne validée sans intervention manuelle : Syncthing dépose le fichier sur le VPS à 11:24:50 UTC, inotify déclenche, le script détecte le PDF à 11:24:53 après l'attente de 3 s, StirlingPDF rend le fichier compressé à 11:26:40 — 1 min 50 s au total, retour du fichier sur le poste julie dans la foulée. Compression : 129,2 Mo → 55,4 Mo, soit -57 %, taux identique à celui du numéro de juin 2026 du même magazine. Consommation du container : 701 Mio à t+15 s, 1001 Mio à t+30 s, pic à 1,069 Gio à t+60 s, puis redescente et stabilisation vers 1,04 Gio jusqu'à la fin.
Points clés
- Pic à 1,069 Gio sur le plafond de 2 Go : il reste environ 45 % de marge. Le plafond de 1 Go initialement envisagé le 2026-08-02 aurait provoqué un OOM kill sur ce traitement.
- La décision de porter la limite à 2 Go se trouve validée une seconde fois, pour une raison indépendante de celle qui l'avait motivée : elle avait été prise pour l'OCR (pic à ~894-969 Mio sur une page A4 300 dpi), elle sert ici à la compression d'un gros PDF.
- La consommation ne suit pas linéairement la taille du fichier : elle plafonne vers 1 Gio en une minute et s'y maintient. Le fichier de 129 Mo est pourtant le plus gros passé dans la chaîne à ce jour (précédent : 96,6 Mo le 2026-06-13).
- Une compression et un OCR lancés en parallèle dépasseraient les 2 Go. Ne pas enchaîner les deux simultanément, et ne pas redescendre la limite.
- Le taux de compression est reproductible d'un numéro à l'autre pour une même source éditoriale.
Limites
Les logs de komga-watch partent uniquement dans journald, qui a été tourné depuis le démarrage du service le 2026-07-08 : tous les traitements de juin et juillet sont irrécupérables, journalctl ne montrait rien avant ce test. Aucun historique consultable des compressions passées. Un seul fichier mesuré, donc pas de courbe taille/mémoire — le point à 129 Mo est isolé. La qualité visuelle du PDF compressé n'a pas été contrôlée dans le cadre de ce test.
Localisation des ressources
Procédure complète : page BookStack 220. Scripts VPS : /home/debian/komga_compress_vps.py et /home/debian/komga_watch_vps.sh. Service : komga-watch.service (systemd, actif depuis le 2026-07-08, PID 690). Dépôt : D:\Syncthing\komga-pdf\ → /home/debian/Documents/komga-pdf/. Sortie : /home/debian/Documents/komga-compressed/. Stack StirlingPDF : ID 89, container stirling-pdf, JAVA_TOOL_OPTIONS=-Xmx512m, limits.memory=2g. Fichier de test : La Revue du Vin de France - Septembre 2026.pdf.
Tags
#StirlingPDF #compression #memoire #komga-pdf #Syncthing #VPS
Suite / Pistes
1/ Ajouter une redirection des logs vers un fichier dans komga_watch_vps.sh, pour conserver un historique des compressions au-delà de la rotation journald.
2/ Mesurer un fichier nettement plus gros (200 Mo et au-delà) pour savoir si le plateau de 1 Gio tient ou si la consommation repart.
3/ Contrôler la qualité visuelle du PDF compressé avant de généraliser le taux de -57 % comme acceptable sur ce type de source.
RCH-20260802-0001 — Echec OCR sur images PNG — deux refus cumules d'ocrmypdf (canal alpha + DPI absent)
| Date | 2026-08-02 |
|---|---|
| Service | StirlingPDF |
| Contexte | Julien signale une erreur HTTP 500 lors d'un OCR sur une image PNG via StirlingPDF. L'interface web n'affiche aucun detail exploitable, le diagnostic passe par les logs du container. |
| Outils utilisés | docker logs stirling-pdf, API /api/v1/misc/ocr-pdf, Pillow, tesseract --list-langs |
| Requête | POST /api/v1/misc/ocr-pdf (multipart fileInput, languages=[fra], ocrType=Force-OCR) sur PNG RGBA, puis sur variantes aplaties et converties, avec mesure docker stats en parallele. |
Résultats
Deux erreurs distinctes et cumulees dans ocrmypdf 17.4.0, revelees seulement dans les logs : (1) UnsupportedImageFormatError — The input image has an alpha channel ; (2) une fois l'alpha retire, DpiError — Input file is an image, but has no resolution (DPI) in its metadata. StirlingPDF ne transmet pas l'option --image-dpi a ocrmypdf, donc tout PNG sans DPI dans ses metadonnees echoue. Deux contournements valides en test : voie interface web (Convert > Image to PDF puis OCR sur le PDF, HTTP 200) et voie scriptee (aplatissement de l'alpha sur fond blanc + DPI force a 300, HTTP 200). Texte reconnu restitue a l'identique sur une page de test en francais. Mesure memoire : pic a 894 Mio pour une seule page A4 300 dpi.
Points clés
- L'interface web ne remonte pas la cause : le diagnostic exige docker logs stirling-pdf
- Les deux erreurs sont sequentielles — corriger l'alpha seul ne suffit pas, le DPI bloque ensuite
- Convertir l'image en PDF avant l'OCR neutralise les deux problemes sans outil local
- 6 langues tesseract installees : fra, eng, deu, por, chi_sim, osd
- ocrmypdf et tesseract sont des process Python hors JVM : -Xmx ne les borne pas, seul le plafond cgroup du container s'applique
- La limite de 1 Go prevue pour l'allegement du 2026-08-02 aurait provoque un OOM kill pendant l'OCR — portee a 2 Go
Limites
Mesure realisee sur une page A4 300 dpi generee synthetiquement ; un document multi-pages ou un scan haute resolution consommera davantage. Le pic de 894 Mio est un plancher, pas un maximum.
Localisation des ressources
| URLs | ["https://spdf.juxjux.ovh", "https://spdf.juxjux.ovh/swagger-ui/index.html"] |
|---|---|
| Chemins | ["D:\\Syncthing\\Jux_univers\\Jux-scripts\\Stirling-OCR\\ocr_image.py", "D:\\Syncthing\\Jux_univers\\Jux-scripts\\Stirling-OCR\\README.md", "/home/debian/stirling-compose-new.yml", "/home/debian/stirling-compose-new.yml.orig1g"] |
| IDs | ["stack Portainer 89", "container stirling-pdf", "page BookStack 211"] |
| Auteurs / Source | — |
| Métadonnées | {"ocrmypdf": "17.4.0", "tesseract": "5.3.4", "endpoint_ocr": "POST /api/v1/misc/ocr-pdf", "pic_memoire_ocr": "894 MiB / page A4 300 dpi", "limite_memoire_retenue": "2g"} |
Tags
#StirlingPDF #OCR #ocrmypdf #tesseract #PNG #alpha #DPI #memoire #Docker
Suite / Pistes
Verifier apres l'application du compose allege (2026-08-02 19h) que compress-pdf ET l'OCR fonctionnent toujours avec memory=2g et -Xmx512m.
RCH-20260530-0001 — Mise en place API StirlingPDF pour compression PDF automatisée (workflow geo_loud)
| Date | 2026-05-30 |
|---|---|
| Service | StirlingPDF |
| Contexte | Étape 3 du workflow geo_loud : automatiser la compression des 127 PDFs lourds (>75 Mo) déplacés dans \\NASMAISON\foxy\geo_loud\. Objectif : appeler l'API StirlingPDF depuis le PC, écraser chaque fichier avec sa version compressée, mettre à jour la DB SQLite. Fichier de test : 000209_L'inde.pdf (314 Mo). |
| Outils utilisés | StirlingPDF API REST (JWT Bearer) | curl.exe | plink (PuTTY) pour SSH nginx | Python 3.14 + requests | SQLite nas_geographie.db |
| Requête API | POST https://spdf.juxjux.ovh/api/v1/misc/compress-pdf — multipart/form-data champ fileInput, header Authorization: Bearer <token> |
Résultats
Auth JWT résolue. nginx corrigé (client_max_body_size 500M). Test de compression réussi sur 000209_L'inde.pdf : 314 Mo → 311.7 Mo (0.7% de gain — PDF déjà optimisé en images JPEG). Script nas_geo_compress.py opérationnel pour traitement en batch de tous les fichiers.
Points clés
- Auth imposée : malgré
DOCKER_ENABLE_SECURITY=falsedans la stack Docker, StirlingPDF impose un compte admin au premier lancement. Compte créé : admin / Motdepasse18! - Endpoint de login :
POST /api/v1/auth/loginavec body JSON{"username":"admin","password":"Motdepasse18!"}→ réponse : JWT dans.session.access_token, valable 24h - Utilisation du token : header
Authorization: Bearer <token>sur chaque appel API - nginx : client_max_body_size par défaut = 1 Mo → erreur 413 sur gros fichiers. Correction : ajout de
client_max_body_size 500M;dans/etc/nginx/sites-enabled/spdf.juxjux.ovh(via plink/SSH), puissudo nginx -s reload - Endpoint compression :
POST /api/v1/misc/compress-pdf— multipart avec champfileInput— retourne le PDF compressé directement dans le corps de la réponse (binary) - Gain variable : PDFs avec images JPEG déjà compressées → gain faible (<1%). PDFs texte/vectoriel ou images PNG → gain potentiellement important (30–70%)
- PowerShell inadapté aux gros fichiers : concaténation de byte arrays → OutOfMemoryException sur 314 Mo. Utiliser curl.exe ou Python requests
- Spec API :
/v3/api-docsretourne le HTML de la SPA React. Documentation disponible dans la Swagger UI interactive :https://spdf.juxjux.ovh/swagger-ui/index.html(après login)
Limites
- Token JWT expire après 24h — pour des batchs très longs, prévoir un re-login automatique
- La compression StirlingPDF n'expose pas de paramètre de niveau dans cette version — niveau par défaut uniquement
- Le fichier transite en RAM sur le VPS pendant le traitement — fichiers >500 Mo potentiellement problématiques selon la RAM disponible
Script nas_geo_compress.py
Emplacement : C:\Users\eliob\.claude\nas_geo_compress.py
Lancement : py C:\Users\eliob\.claude\nas_geo_compress.py
Dépendances : pip install requests (sqlite3 et os natifs Python)
Le script ajoute automatiquement les colonnes taille_compresse_octets et date_compression à la table fichiers si elles n'existent pas encore.
"""
Étape 3 du workflow geo_loud : compression PDF via StirlingPDF.
- Lit les fichiers statut='deplace' dans nas_geographie.db
- Envoie chaque PDF à l'API StirlingPDF
- Écrase le fichier d'origine avec la version compressée
- Met à jour la DB (taille_compresse_octets, date_compression)
"""
import sqlite3
import requests
import os
from datetime import datetime
DB_PATH = r"C:\Users\eliob\Documents\nas_geographie.db"
GEO_LOUD = r"\\NASMAISON\foxy\geo_loud"
STIRLING_URL = "https://spdf.juxjux.ovh"
STIRLING_USER = "admin"
STIRLING_PASS = "Motdepasse18!"
def get_token():
r = requests.post(
f"{STIRLING_URL}/api/v1/auth/login",
json={"username": STIRLING_USER, "password": STIRLING_PASS},
timeout=30,
)
r.raise_for_status()
return r.json()["session"]["access_token"]
def init_db_columns(conn):
cur = conn.cursor()
cols = {row[1] for row in cur.execute("PRAGMA table_info(fichiers)")}
if "taille_compresse_octets" not in cols:
cur.execute("ALTER TABLE fichiers ADD COLUMN taille_compresse_octets INTEGER")
if "date_compression" not in cols:
cur.execute("ALTER TABLE fichiers ADD COLUMN date_compression TEXT")
conn.commit()
def get_pending(conn):
cur = conn.cursor()
cur.execute("""
SELECT id, nom, chemin_geo_loud, taille_octets
FROM fichiers
WHERE statut = 'deplace'
AND extension IN ('.pdf', '.PDF')
AND (date_compression IS NULL)
ORDER BY taille_octets DESC
""")
return cur.fetchall()
def compress_file(token, filepath):
with open(filepath, "rb") as f:
r = requests.post(
f"{STIRLING_URL}/api/v1/misc/compress-pdf",
headers={"Authorization": f"Bearer {token}"},
files={"fileInput": (os.path.basename(filepath), f, "application/pdf")},
timeout=600,
stream=True,
)
r.raise_for_status()
return r.content
def update_db(conn, file_id, taille_compresse):
conn.execute("""
UPDATE fichiers
SET taille_compresse_octets = ?, date_compression = ?
WHERE id = ?
""", (taille_compresse, datetime.now().isoformat(), file_id))
conn.commit()
def fmt_mo(octets):
return f"{octets / 1_048_576:.1f} Mo"
def main():
print("Connexion à StirlingPDF...")
token = get_token()
print("Token JWT OK")
conn = sqlite3.connect(DB_PATH)
init_db_columns(conn)
pending = get_pending(conn)
print(f"{len(pending)} fichier(s) PDF à compresser\n")
if not pending:
print("Rien à faire.")
conn.close()
return
total_avant = sum(r[3] for r in pending)
total_apres = 0
ok = 0
errors = []
for i, (file_id, nom, chemin_geo_loud, taille_avant) in enumerate(pending, 1):
filepath = chemin_geo_loud or os.path.join(GEO_LOUD, nom)
if not os.path.exists(filepath):
print(f"[{i}/{len(pending)}] ABSENT {nom}")
errors.append((nom, "fichier absent"))
continue
taille_reel_avant = os.path.getsize(filepath)
print(f"[{i}/{len(pending)}] {nom}")
print(f" avant : {fmt_mo(taille_reel_avant)}", end=" ", flush=True)
try:
compressed = compress_file(token, filepath)
taille_apres_compression = len(compressed)
gain = (taille_reel_avant - taille_apres_compression) / taille_reel_avant * 100
tmp = filepath + ".tmp"
with open(tmp, "wb") as f:
f.write(compressed)
os.replace(tmp, filepath)
update_db(conn, file_id, taille_apres_compression)
total_apres += taille_apres_compression
ok += 1
print(f"-> après : {fmt_mo(taille_apres_compression)} (gain {gain:.1f}%)")
except Exception as e:
print(f"-> ERREUR : {e}")
errors.append((nom, str(e)))
tmp = filepath + ".tmp"
if os.path.exists(tmp):
os.remove(tmp)
conn.close()
print(f"\n{'='*50}")
print(f"Terminé : {ok}/{len(pending)} compressés")
if ok:
gain_total = (total_avant - total_apres) / total_avant * 100
print(f"Volume avant : {fmt_mo(total_avant)}")
print(f"Volume après : {fmt_mo(total_apres)}")
print(f"Gain total : {gain_total:.1f}% ({fmt_mo(total_avant - total_apres)} récupérés)")
if errors:
print(f"\nErreurs ({len(errors)}) :")
for nom, msg in errors:
print(f" {nom} : {msg}")
if __name__ == "__main__":
main()
Localisation des ressources
| URLs | https://spdf.juxjux.ovh (UI) | https://spdf.juxjux.ovh/swagger-ui/index.html (API docs, après login) |
|---|---|
| Chemins | Script : C:\Users\eliob\.claude\nas_geo_compress.py | DB : C:\Users\eliob\Documents\nas_geographie.db | Fichiers source : \\NASMAISON\foxy\geo_loud\ | nginx vhost : /etc/nginx/sites-enabled/spdf.juxjux.ovh |
| IDs | Stack Portainer : stirlingpdf (ID 89) | Container : stirling-pdf | Port interne : 8090 |
| Métadonnées | {"fichiers_a_traiter": 127, "volume_total_go": 13.577, "test_fichier": "000209_L-inde.pdf", "test_avant_mo": 314, "test_apres_mo": 311.7, "test_gain_pct": 0.7, "nginx_max_body": "500M", "token_duree_h": 24} |
Tags
#StirlingPDF #compression #PDF #geo_loud #API #JWT #nginx #Python #NAS #workflow
Suite / Pistes
1/ Lancer le script sur l'ensemble des 127 fichiers — surveiller le gain réel par catégorie de PDF.
2/ Mettre à jour la page BookStack 210 avec les colonnes DB ajoutées (taille_compresse_octets, date_compression) et le bilan de compression une fois le batch terminé.
3/ Si le gain moyen est insuffisant, explorer d'autres niveaux de compression StirlingPDF ou un outil alternatif (Ghostscript direct).
4/ Après compression de tous les fichiers : lancer l'étape 4 (restauration) via nas_geo_loud.py restaurer.
02_les petites procédures de Claude
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.
260801 - Mon Linux OS sur SASNEXTE
Claude prend la main en MCP pour monter et manager une distribution Linux ubiquiste - disponible
260528_Essai sur \\NASMAISON\foxy\Géographie\
Workflow geo_loud — Optimisation des fichiers lourds
Contexte
Le dossier \\NASMAISON\foxy\Géographie\ contient 1 312 fichiers (PDF et EPUB) pour un total de 32,9 Go. Parmi eux, 127 fichiers dépassent 75 Mo et représentent 13,6 Go — soit 41 % du volume total concentré sur moins de 10 % des fichiers.
L'objectif est de sortir ces fichiers lourds pour les optimiser (compression PDF), puis de les remettre exactement à leur emplacement d'origine sans perdre l'arborescence.
Architecture du système
Fichier Rôle
nas_indexer.py Scanne le NAS et crée la base SQLite
nas_geographie.db Référentiel de tous les fichiers avec métadonnées et statut
nas_geo_loud.py Script checkout/checkin — déplace et restaure les fichiers lourds
La base SQLite est la source de vérité : elle connaît à tout moment l'emplacement original de chaque fichier et son statut.
Colonnes de traçabilité (table fichiers)
Colonne Description
chemin_absolu Chemin d'origine complet sur le NAS
chemin_geo_loud Chemin dans le dossier de travail après déplacement
statut original / deplace / restaure
date_deplacement Horodatage du déplacement
date_restauration Horodatage de la restauration
Workflow complet
Étape 1 — Indexation initiale
1
python nas_indexer.py "\\NASMAISON\foxy\Géographie" --output nas_geographie.db
Résultat : 1 312 fichiers indexés en ~22 secondes, 0 erreur.
Étape 2 — Export (checkout)
Déplace les 127 fichiers > 75 Mo vers \\NASMAISON\foxy\geo_loud\ :
1
2
3
4
python nas_geo_loud.py export \
--db nas_geographie.db \
--dest \\NASMAISON\foxy\geo_loud \
--confirmer
Ce que fait le script :
Interroge la base pour tous les fichiers statut = 'original' et taille > 75 Mo
Renomme chaque fichier {id:06d}_{nom_original} pour éviter les collisions de noms
Déplace physiquement le fichier vers geo_loud/
Met à jour la base : statut = 'deplace', chemin_geo_loud, date_deplacement
Le préfixe numérique garantit l'unicité même si deux sous-dossiers contiennent un fichier de même nom.
Étape 3 — Optimisation PDF
Traiter les fichiers dans \\NASMAISON\foxy\geo_loud\ avec l'outil d'optimisation. Les fichiers peuvent être traités dans n'importe quel ordre et en plusieurs sessions.
Étape 4 — Restauration (checkin)
1
2
3
python nas_geo_loud.py restaurer \
--db nas_geographie.db \
--dest \\NASMAISON\foxy\geo_loud
Ce que fait le script :
Lit tous les enregistrements statut = 'deplace' dans la base
Pour chaque fichier présent dans geo_loud/ : déplace vers son chemin_absolu d'origine
Recrée les sous-dossiers si nécessaire
Met à jour : statut = 'restaure', date_restauration
Ignore les fichiers absents de geo_loud/ (pas encore optimisés)
Étape 5 — Vérification du statut
1
python nas_geo_loud.py statut --db nas_geographie.db
Affiche :
1
2
3
4
Statut Fichiers Total Go
--------------------------------------
deplace 127 13.577
original 1 185 19.275
Vues SQL utiles (Metabase / DB Browser)
1
2
3
4
5
6
7
8
-- Fichiers encore dans geo_loud
SELECT nom, ROUND(taille_octets/1048576.0,1) AS mo, date_deplacement, chemin_absolu
FROM fichiers WHERE statut = 'deplace'
ORDER BY taille_octets DESC;
-- Bilan par statut
SELECT statut, COUNT(*) AS nb, ROUND(SUM(taille_octets)/1073741824.0,3) AS go
FROM fichiers GROUP BY statut;
Paramètres disponibles
Paramètre Défaut Description
--db nas_geographie.db Chemin vers la base SQLite
--dest \\NASMAISON\foxy\geo_loud Dossier de travail
--seuil 75 Seuil en Mo pour la sélection
--confirmer (off) Bypass la confirmation interactive
Ré-indexation après optimisation
1
python nas_indexer.py "\\NASMAISON\foxy\Géographie" --output nas_geographie.db --vider
Fichiers du projet
Fichier Emplacement
nas_indexer.py C:\Users\eliob\Documents\nas_indexer.py
nas_geo_loud.py C:\Users\eliob\Documents\nas_geo_loud.py
nas_rapport.py C:\Users\eliob\Documents\nas_rapport.py
nas_geographie.db C:\Users\eliob\Documents\nas_geographie.db
260611_procédure Komga-PDF par Claude sur StirlingPDF
Présentation
La procédure Komga-PDF est un script de compression de fichiers PDF pour réduire considérablement la taille du stockage des bibliothèques d'ouvrages de la collection de Julien.
L'acquisition de fichiers issus de bases de données Internet accumule des fichiers PDF en haute résolution (images surtout). Ces fichiers sont synchronisés entre les NAS Synology et un disque dur kDrive Infomaniak de 6 To.
Contexte
Des points de montage Rclone relient les répertoires kDrive et les containers Docker installés sur le VPS OVH juxjux.ovh. Ces containers lisent les PDF à la volée — permettant ainsi de construire une infrastructure de très forte densité de connaissances digitales (epub, pdf, images, vidéos, musiques...) avec une solution serveur d'entrée de gamme (10 €/mois tout inclus).
La lecture réseau est multi-support : PC, tablette, téléphone. Elle est aussi nomade, séquentielle et pressée. La compacité des fichiers PDF devient donc nécessaire pour diffuser rapidement sur les réseaux. Un magazine ou un ouvrage informatique ne doit pas peser 130 Mo sur un écran de 10 pouces.
Procédure
- Les nouveaux PDF sont déposés dans le dossier Syncthing :
Syncthing/komga-pdf/depuis n'importe quelle machine (PC Elio+Jux, PC Nexte, Ubuntu, Xiaomi...) - Syncthing synchronise automatiquement vers le VPS :
/home/debian/Documents/komga-pdf/ - Le service
komga-watch(systemd VPS) détecte l'arrivée via inotifywait local - Dès détection,
komga_compress_vps.pycompresse le PDF via StirlingPDF et dépose le résultat dans/home/debian/Documents/komga-compressed/ - Julien range manuellement les PDF compressés vers sasnexte puis dans le dossier thématique de son choix
- Les originaux ne sont jamais supprimés du VPS — Julien valide et conserve si besoin (haute résolution souhaitée)
Architecture technique
| Élément | Chemin / URL |
|---|---|
| Dépôt (toutes machines) | Syncthing/komga-pdf/ |
| Dossier VPS (Syncthing) | /home/debian/Documents/komga-pdf/ |
| Destination VPS | /home/debian/Documents/komga-compressed/ |
| API compression | https://spdf.juxjux.ovh/api/v1/misc/compress-pdf |
| Scripts VPS | /home/debian/komga_compress_vps.py + /home/debian/komga_watch_vps.sh |
| Logs | journalctl -u komga-watch -f (sur le VPS) + journal persistant /home/debian/logs/komga_compress.log |
Scripts
Le service tourne entièrement sur le VPS — plus de dépendance Ubuntu ni de SSH persistant.
| Fichier | Rôle |
|---|---|
komga_compress_vps.py |
Compression : liste les PDFs locaux (extension insensible à la casse), envoie à StirlingPDF, écrit dans komga-compressed/ de façon atomique. Idempotent. Vérifie que la réponse est bien un PDF et met à l'écart un fichier après 3 échecs. |
komga_watch_vps.sh |
Surveillance : traite le backlog au démarrage, puis boucle inotifywait -t 600. Le délai impose un rebalayage périodique, indispensable car les événements survenant pendant une compression sont perdus (voir REX 2026-08-23). |
/etc/systemd/system/komga-watch.service |
Service system (pas user), actif au boot, Restart=always. |
Gérer le service (VPS)
sudo systemctl status komga-watch
sudo systemctl restart komga-watch
journalctl -u komga-watch -f
Retour d'expérience (2026-08-23) — Deux fichiers bloqués sans la moindre trace
Deux PDF déposés le 22/08 stagnaient dans komga-pdf/ sans aucune ligne au journal : ni erreur, ni tentative. Le service était pourtant active, et deux autres fichiers étaient passés normalement le matin même à 06:13.
La cause — une course perdue sur les événements inotify
komga_watch_vps.sh appelait inotifywait une seule fois par tour de boucle, puis lançait la compression. Pendant toute la durée du traitement, plus personne n'écoutait le dossier.
| Horodatage | Événement |
|---|---|
| 06:13:07 | inotifywait rend la main (dépôt de « Le Grand Livre… ») |
| 06:13:10 | le script Python liste le dossier — 2 PDF trouvés |
| 06:13:10 → 06:15:16 | 2 min 06 s de compression, aucune écoute inotify |
| 06:15:16 | inotifywait redémarre — les événements de la fenêtre sont perdus |
Les deux fichiers « Les secrets de… » sont arrivés dans cette fenêtre. Leur close_write et leur moved_to sont tombés dans l'angle mort, et le glob() du script était déjà passé. Ils sont devenus invisibles pour de bon — jusqu'au dépôt d'un autre fichier, qui aurait relancé un balayage complet.
Preuves relevées au moment du diagnostic :
inotifywait(PID 1902285) en attente depuis 32 min, soit exactement depuis 06:15:16- mtime du dossier à 06:45:22 — une suppression (les originaux déjà traités), non surveillée donc sans événement
- les deux fichiers parfaitement valides :
%PDF-…%%EOF, 148,4 et 51,4 Mio
Le défaut est structurel et se reproduit dès que plusieurs fichiers arrivent ensemble — précisément le cas où la compression dure le plus longtemps.
Le correctif — un délai sur inotifywait
inotifywait -q -t 600 -e close_write,moved_to "$SOURCE_DIR"
-t rend la main au bout de 600 s même sans événement, ce qui garantit un rebalayage périodique. Le traitement étant idempotent — et désormais silencieux quand il n'y a rien de neuf — un balayage à vide ne coûte rien. Plus aucun fichier ne peut rester orphelin : au pire 10 minutes de latence.
Vérification du correctif, en reproduisant le bug
Le scénario a été rejoué volontairement. Un PDF a été déposé dans le dossier par lien matériel (ln), qui ne produit qu'un IN_CREATE — événement non surveillé par le script. C'est l'équivalent exact d'un événement perdu.
| Horodatage | Constat |
|---|---|
| 07:51:09 | démarrage du guetteur, balayage initial |
| 07:51:56 | dépôt du fichier — aucune ligne au journal, donc aucun événement émis |
| 08:01:10 | le rebalayage périodique le trouve : « 1 PDF(s) à traiter (sur 1 présents) » |
600 secondes pile après le démarrage. Avec l'ancien script, ce fichier serait resté indéfiniment invisible.
La compression a ensuite échoué en HTTP 400 — le PDF de test faisait 193 octets sans table xref, StirlingPDF le refuse à raison. Cet échec a validé trois autres correctifs du même coup :
- le compteur de tentatives s'est incrémenté (
ERREUR (1/3)) et la signature a été mémorisée dans~/.komga_compress_state.json - chaque ligne est bien apparue dans le journal persistant
- rien n'a été écrit en destination : ni fichier corrompu, ni
.partorphelin
Artefacts de test supprimés après contrôle.
Les autres défauts corrigés dans la même passe
| # | Défaut | Correctif |
|---|---|---|
| 1 | glob("*.pdf") ignorait les .PDF — régression par rapport à l'ancien find -iname |
comparaison sur suffix.lower() |
| 2 | write_bytes() écrivait le fichier final directement dans un dossier Syncthing : propagation possible d'un PDF incomplet |
écriture en .part puis os.replace(), atomique |
| 3 | aucune validation de la réponse : une page d'erreur HTML renvoyée en HTTP 200 était enregistrée en .pdf |
vérification de la signature %PDF- |
| 4 | timeout=300 trop juste — un fichier de 148 Mio prend environ 3 min |
porté à 900 s |
| 5 | si la compression ne gagnait rien, le résultat était écrit quand même | l'original est recopié tel quel, ce qui clôt proprement le traitement |
| 6 | un fichier en échec était retenté sans fin — grave avec le rebalayage toutes les 10 min, soit 144 envois par jour | mémoire des échecs dans ~/.komga_compress_state.json, mise à l'écart après 3 tentatives |
| 7 | get_token() sans protection : Stirling indisponible = traceback, lot entier perdu |
message d'erreur explicite, sortie propre |
| 8 | mkdir(exist_ok=True) sans parents=True |
corrigé |
| 9 | aucun journal persistant — journald seul, tourné régulièrement | /home/debian/logs/komga_compress.log, en plus de stdout |
La mise à l'écart après trois tentatives s'appuie sur la signature du fichier (taille + date de modification) : redéposer une version corrigée portant le même nom relance donc le traitement normalement.
Déblocage des deux fichiers et mesure mémoire
| Fichier | Original | Compressé | Gain |
|---|---|---|---|
| Les secrets de la photo lifestyle — Baptiste Dulac | 148,4 Mio | 30,1 Mio | -80 % |
| Les secrets de la série photo — Frédéric Landragin | 51,4 Mio | 38,6 Mio | -25 % |
Traitement en 4 min 05 s. Pic mémoire de stirling-pdf : 1 426 Mio sur les 2 Go du plafond (71 %), aucun OOM kill — c'est le plus gros fichier jamais passé dans la chaîne. Troisième confirmation que porter la limite à 2 Go était le bon choix : le plafond de 1 Go envisagé le 2026-08-02 aurait tué le container.
Sauvegardes et versionnement
- Versions précédentes conservées sur le VPS :
komga_compress_vps.py.bak-260823etkomga_watch_vps.sh.bak-260823 - Les scripts de production sont désormais versionnés dans
Jux-scripts/Komga-PDF/sous leurs noms de production. Jusqu'ici ils n'existaient que sur le VPS, hors de tout périmètre Syncthing — exactement le scénario qui a fait perdre les MCP Python avec le profil Windowseliob - Les anciens
komga_compress.pyetkomga_watch.shdu même dossier correspondent à l'architecture Ubuntu abandonnée en juin 2026 (pilotage par SSH depuis Ubuntu, destination/mnt/sasnexte/Komga/pdf_compressed). Ils ne doivent plus servir de référence
Retour d'expérience (2026-08-22) — Test de bout en bout depuis le poste julie
Première validation complète de la chaîne depuis le redémarrage du service le 2026-07-08, et premier passage depuis le PC Windows julie (entré dans le maillage Syncthing le 2026-08-10). Aucune intervention manuelle : dépôt du fichier dans D:\Syncthing\komga-pdf\, tout le reste s'est enchaîné seul.
Chronologie mesurée — 1 min 50 s entre le dépôt sur le VPS et le fichier compressé :
| Étape | Horodatage (UTC) |
|---|---|
Syncthing dépose le .tmp sur le VPS, inotify déclenche |
11:24:50 |
| Fin de l'attente de 3 s, le script détecte le PDF | 11:24:53 |
| StirlingPDF rend le fichier compressé | 11:26:40 |
Retour du fichier compressé sur le poste julie (Syncthing) |
11:26 |
Résultat de compression :
| Fichier | Original | Compressé | Gain |
|---|---|---|---|
| La Revue du Vin de France - Septembre 2026.pdf | 129,2 Mo | 55,4 Mo | -57% |
Même taux que le numéro de juin 2026 du même magazine (-57 %) — la compression est reproductible d'un numéro à l'autre pour une source identique.
Mesure mémoire — marge plus étroite qu'attendu
C'est le point neuf de ce test. Le fichier de 129 Mo est le plus gros passé dans la chaîne à ce jour (précédent record : 96,6 Mo le 2026-06-13). Consommation du container stirling-pdf, relevée toutes les 15 s :
| t+ | Mémoire |
|---|---|
| 15 s | 701 Mio |
| 30 s | 1001 Mio |
| 45 s | 1,036 Gio |
| 60 s | 1,069 Gio (pic) |
| 75 s | 1,047 Gio |
| 90 s | 1,039 Gio (terminé) |
- Pic à 1,069 Gio sur le plafond de 2 Gio posé le 2026-08-02 → il reste ~45 % de marge
- Le plafond de 1 Go initialement envisagé aurait tué ce traitement en OOM kill. La décision de le porter à 2 Go (motivée alors par l'OCR, qui monte à ~969 Mio) se trouve validée une seconde fois, pour une raison indépendante : la compression d'un gros PDF
- La consommation ne suit pas la taille du fichier de façon linéaire — elle plafonne vers 1 Gio et s'y maintient. Mais une compression concurrente d'un OCR ferait dépasser les 2 Gio. Ne pas lancer les deux en parallèle, et ne pas redescendre la limite
Point d'attention — aucun log persistant (résolu le 2026-08-23)
Les logs partent uniquement dans journald (komga_watch_vps.sh écrit sur stdout, capté par systemd). Le journal a été tourné depuis le démarrage du service : tous les traitements de juin et juillet sont irrécupérables, journalctl -u komga-watch ne montrait rien avant ce test.
Pour conserver un historique consultable, ajouter une redirection vers un fichier dans le script, ou poser un journalctl --unit komga-watch en rotation propre. Non fait à ce jour.
Corrigé le 2026-08-23 : le script Python écrit désormais chaque ligne dans /home/debian/logs/komga_compress.log en plus de stdout. Voir le REX du 2026-08-23 ci-dessus.
Retour d'expérience (2026-06-13) — Refactorisation VPS
Problème de l'architecture Ubuntu : le service tournait sur Ubuntu avec un SSH persistant vers le VPS. Deux défauts structurels :
inotifywaitne détecte pas les fichiers déjà présents au redémarrage du service (backlog silencieux)- Impossible à contrôler depuis Windows/Claude Code
Solution : service systemd sur le VPS lui-même. inotifywait local, pas de SSH persistant. Le script traite le backlog à chaque démarrage avant d'entrer dans la boucle de surveillance.
Résultats de compression (2026-06-13) :
| Fichier | Original | Compressé | Gain |
|---|---|---|---|
| Beaux Arts - Juin 2026.pdf | 75.8 Mo | 61.1 Mo | -19% |
| Connaissance des Arts - Juin 2026.pdf | 57.3 Mo | 35.2 Mo | -39% |
| La Revue du Vin de France - Juin 2026.pdf | 93.3 Mo | 39.9 Mo | -57% |
| Livre lacto fermentation.pdf | 96.6 Mo | 19.6 Mo | -80% |
| Monde Gourmand N°93 - Juin 2026.pdf | 41.2 Mo | 17.4 Mo | -58% |
Points techniques :
- Dossier VPS avec D majuscule :
/home/debian/Documents/(Syncthing sensible à la casse) - Race condition inotifywait/Syncthing : attente 3s après événement, script idempotent
- Python :
/usr/bin/python3(système,requests2.28.1 disponible) - StirlingPDF auth : JWT via
POST /api/v1/auth/login→session.access_token, valable 24h - Fichiers
sync-conflictSyncthing filtrés automatiquement par le script
Retour d'expérience (2026-06-12)
Résultats de compression :
| Fichier | Original | Compressé | Gain |
|---|---|---|---|
| Monde Gourmand N°93 - Juin 2026.pdf | 42 Mo | 17 Mo | -58% |
| Connaissance des Arts - Juin 2026.pdf | 57 Mo | 35 Mo | -39% |
260614 - procedure Joplin-compression
Contexte — instructions de Julien (260614)
J'utilise l'application Joplin sur tous mes appareils. C'est ma mémoire de tout (travail, hobbies, maison...) et donc à force, la base de données se remplit. Elle se compose de notes à l'intérieur desquelles on trouve des images. Même en n'important que des captures d'écran, le poids de ces images est devenu important — de l'ordre de 300 Mo initialement estimé (476 Mo constatés en réalité, voir ci-dessous).
Appareils synchronisés sous Joplin :
- VPS Juxjux.OVH (serveur de sync)
- PC Nexte (PC du travail de Julien)
- PC Elio+Jux (PC maison de Julien)
- Mobile Xiaomi T15pro de Julien
- Tablette Samsung S5 de Julien
- Session Ubuntu sur clé SSD de Julien
Objectif de la procédure :
- Compresser le stock d'images contenues dans la base de données Joplin via un process fiable de remplacement
- Monter un système de compression automatique quotidienne des nouvelles images
Principes définis par Julien :
- Tenir un carnet de bord (observatoire) du poids digital de la BDD Joplin dans la page BookStack Joplin, avec les 15 pièces jointes les plus lourdes
- Mettre en place sur le VPS une procédure duplication → compression → remplacement d'images, qui se propage via la sync Joplin sur tous les appareils
Exploration technique — Claude, 14/06/2026
Infrastructure Joplin sur le VPS
Contrairement à ce qu'on pourrait attendre, Joplin Server n'utilise pas SQLite mais PostgreSQL.
| Container | Image | Rôle |
|---|---|---|
joplin |
joplin/server:latest |
Serveur de sync Joplin |
joplin-db |
postgres:15-alpine |
Base de données |
joplin-nginx |
nginx:alpine |
Reverse proxy interne |
joplin_to_obsidian |
image custom | Container migration (actif, sans impact) |
Volume de données : /home/debian/joplin-data → /home/joplin/.config/joplin (bind mount)
Connexion DB : POSTGRES_HOST=joplin-db, POSTGRES_DATABASE=joplin, POSTGRES_USER=joplin
Important : le port 5432 de joplin-db n'est pas exposé à l'extérieur du réseau Docker. Tout script de manipulation doit tourner sur le VPS et se connecter via l'IP interne Docker.
Structure de la base de données
La table centrale est items (23 tables au total). Chaque note, ressource et paramètre Joplin est une ligne dans cette table.
Colonnes clés :
content(bytea) — données binaires brutescontent_size(integer) — taille en octetscontent_storage_id= 1 → stockage de typeDatabase(tout est dans PostgreSQL, pas de fichiers externes)jop_type— type d'item Joplinupdated_time— timestamp de dernière modification (utilisé par les clients pour détecter les changements à sync)
Répartition par type :
| jop_type | Signification | Nombre | Poids total |
|---|---|---|---|
| 0 | Ressource (image/fichier joint) | 736 | 476 MB |
| 1 | Note | 699 | 8,7 MB |
| 4 | Tag | 733 | 4,5 MB |
| 13 | NoteTag (relation note↔tag) | 250 | 3,9 MB |
| 2 | Carnet (Folder) | 94 | 707 KB |
| 6 | Master Key | 87 | 19 KB |
| 5 | Setting | 39 | — |
Analyse des ressources (jop_type = 0)
Les ressources sont stockées comme bytes bruts dans la colonne content. Le format est détectable via les magic bytes :
- PNG (
\x89PNG) — majorité des ressources - JPEG (
\xff\xd8) — portion significative - ZIP (
PK\x03\x04) — cas particulier : ZIP contenant plusieurs imagespage_1.png,page_2.png... (documents multi-pages)
La colonne mime_type est vide pour toutes les ressources — le type est implicite dans les bytes du contenu.
Top 15 ressources les plus lourdes (état initial) :
| Rang | ID | Taille | Format |
|---|---|---|---|
| 1 | 0xh87pWrRt82z0DbO9n3yQ | 12,2 MB | ZIP (page_1.png 7MB + page_2.png 5MB) |
| 2 | M0C32hKC2hMqPAxpRGiVgp | 7,2 MB | PNG |
| 3 | UbAqQY3cEbH62vioIHU6Pj | 6,0 MB | PNG |
| 4 | ZPQJVSjptMSxE71pV7JbAt | 5,9 MB | PNG |
| 5 | h4Lhw1Trx9wgmD7doX9NyZ | 5,9 MB | PNG |
| 6 | sbktcNb4IUj0yIovgDt0fL | 5,3 MB | PNG |
| 7 | jtzuGpvrRTR12iLzwhcSNn | 5,2 MB | PNG |
| 8 | VasIoF2e9EGuNQt38aOFMx | 4,9 MB | JPEG |
| 9 | ZACDcQWzQzDLdnV7Qnf933 | 4,3 MB | PNG |
| 10 | hExoJEEWT2tHz1demE5Nhm | 4,3 MB | PNG |
| 11 | veu4HT3bStx07gRUlAEYvG | 4,2 MB | PNG |
| 12 | bz9Twmb2F5lj0mPIQi48IB | 4,2 MB | JPEG |
| 13 | TzWK21r4n0yvbEtJh02DGB | 4,2 MB | JPEG |
| 14 | eD165w1bdEHJg0tq3qWok5 | 4,2 MB | PNG |
| 15 | HD4SeqIx252nP9nh8HDVnH | 4,1 MB | PNG |
Architecture retenue
Choix de compression — décision Julien, 14/06/2026
PNG → JPEG 85% (lossy). Toutes les images, qu'elles soient PNG ou JPEG à l'origine, sont converties/re-sauvegardées en JPEG qualité 85. Gain estimé : 50–75% par image. Acceptable pour des captures d'écran.
Pour les ZIP multi-pages : chaque image interne est convertie en JPEG 85%, le ZIP est reconstruit.
Phase 1 — Observatoire
Script joplin_observatoire.py sur le VPS :
- Connexion psycopg2 à joplin-db via IP réseau Docker interne
- Calcul des stats globales (taille totale, nombre d'items par format)
- Liste des 15 ressources les plus lourdes avec format et taille
- Mise à jour de la page BookStack Joplin (page 166) avec ces informations
Phase 2 — Compression (script principal)
Script joplin_compress.py sur le VPS :
Connexion : psycopg2 → IP Docker interne de joplin-db : 5432
Traitement par ressource :
- Lire le blob
contentdepuisitems(jop_type=0) - Détecter le format (magic bytes)
- Ouvrir avec Pillow, convertir en JPEG 85 (
quality=85, optimize=True) - Pour les ZIP multi-pages : dézipper → compresser chaque image → reconstruire le ZIP
- Si le gain est > 5% : mettre à jour
content,content_size,updated_timeen base - Logger le résultat (ID, taille avant, taille après, ratio)
Tracking des items traités : fichier JSON local /home/debian/joplin_compress_log.json — évite de retraiter les ressources déjà compressées lors des passages quotidiens.
Propagation sync : Joplin détecte les changements via updated_time. Lors de la prochaine synchronisation de chaque client, les ressources compressées sont re-téléchargées automatiquement.
Phase 3 — Service systemd (cron quotidien)
Timer systemd joplin-compress.timer → joplin-compress.service :
- Déclenchement quotidien (3h du matin)
- Traite uniquement les nouvelles ressources (non présentes dans le log JSON)
- Met à jour l'observatoire BookStack après chaque passage
Mise en production — 14/06/2026
Résultat du premier run (stock complet)
| Ressources traitées | 736 au total |
|---|---|
| Compressées | 424 |
| Ignorées (gain < 5%) | 312 |
| Erreurs | 0 |
| Poids avant | 476 Mo |
| Poids après | 119,7 Mo |
| Économie | 356 Mo (-78,9%) |
Scripts déployés sur le VPS
| Script | Rôle | Options |
|---|---|---|
/home/debian/joplin_compress.py |
Compression Pillow PNG/JPEG → JPEG 85%, ZIP multi-pages, mise à jour PostgreSQL | --dry-run (simulation) / --limit N (N ressources max) |
/home/debian/joplin_observatoire.py |
Stats DB + top 15 → mise à jour page BookStack Joplin (ID 166) | — |
Log tracking : /home/debian/joplin_compress_log.json — liste des ressources déjà traitées, évite les doublons aux runs suivants.
Timer systemd
| Service | joplin-compress.service |
|---|---|
| Timer | joplin-compress.timer |
| Déclenchement | Chaque nuit à 3h UTC (OnCalendar=*-*-* 03:00:00) |
| Logs | /var/log/joplin-compress.log |
| Statut | active (waiting) — prochain run : 15/06/2026 03:00 UTC |
Notes techniques
- joplin-db IP Docker interne :
172.27.0.4(peut changer si le container est recréé — vérifier avecdocker inspect joplin-db -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}') - La compression modifie
content,content_sizeetupdated_timedans la tableitems - Les clients Joplin re-téléchargent les ressources modifiées lors de la prochaine synchronisation (détection via
updated_time) - Les images à fond transparent (RGBA/LA/P) sont aplaties sur fond blanc avant conversion JPEG
Réexamen du 2026-08-27 — Caesium n'apporte rien, mais la base pèse 1 263 Mo
Question posée : la procédure Photos-Caesium (page 284), qui compresse les photos du PC avec caesiumclt, pourrait-elle profiter aussi à Joplin ? Réponse mesurée : non pour les images, mais l'examen a mis au jour un problème dix fois plus lourd.
1. Le gisement image est épuisé
État au 2026-08-27 : 729 ressources, 117,2 Mo (contre 476 Mo avant la procédure de juin, soit -79,3 %). Répartition par signature :
| Signature | Format | Nombre | Poids |
|---|---|---|---|
ffd8ffe0 | JPEG/JFIF — produits par Pillow | 551 | 105 Mo |
25504446 | 5 | 5,0 Mo | |
89504e47 | PNG restants | 42 | 4,3 Mo |
ffd8ffe1 | JPEG avec EXIF (originaux) | 24 | 1,7 Mo |
| autres | WebP, SVG, HTML, GIF, MP4 | 107 | 1,3 Mo |
Test réalisé sur deux échantillons extraits de la base (20 JPEG tirés au hasard, 5,20 Mo ; les 20 plus gros PNG, 3,84 Mo), compressés avec caesiumclt 1.4.0 sur le PC — aucune installation sur le VPS :
| Population | Passe Caesium | Gain | Coût qualité |
|---|---|---|---|
| 551 JPEG (105 Mo) | --lossless | -5,0 % | aucun, pixels intacts |
-q 85 (mozjpeg vs libjpeg) | -14,8 % | 2e génération de perte | |
-q 80 | -32,0 % | perte visible sur du texte | |
| 42 PNG (4,3 Mo) | --lossless | -27,7 % | aucun |
--lossless --zopfli | -29,8 % | aucun (mais très lent) | |
-q 80 | -69,1 % | quantification, mauvais pour du texte |
Conclusion : un passage Caesium sans risque récupérerait environ 6,5 Mo sur 117, soit -5,5 %. Le jeu n'en vaut pas la chandelle. La procédure de juin a pris l'essentiel du gain, et une seconde passe lossy sur des captures d'écran dégraderait le texte pour un bénéfice marginal.
Réserve méthodologique : la procédure actuelle convertit les PNG en JPEG q85. Pour des captures d'écran, le JPEG est un mauvais format — il crée du crénelage autour du texte. Une optimisation PNG sans perte (-27,7 % mesurés) serait meilleure en qualité pour un gain comparable. Priorité faible : il n'arrive que 3 à 4 images par semaine.
Vérification que le script quotidien fonctionne toujours : les 12 ressources les plus récentes sont toutes en ffd8ffe0 dès qu'elles ont une taille significative, donc bien passées par Pillow. L'image du 27/08 (113 ko) correspond exactement à la ligne de log [OK] NkiVrkTlkYIp033uedJsdd PNG 900KB -> 113KB (87.4%). Le dispositif est vivant.
2. Le vrai poids : la table events, 1 072 Mo pour 7,28 millions de lignes
La base joplin pèse 1 263 Mo. Les images, TOAST compris, n'en représentent que 172.
| Table | Total (avec index) | Table seule | Lignes vivantes |
|---|---|---|---|
events | 1 072 Mo | 500 Mo | 7 287 073 |
items (notes + images) | 172 Mo | 2 048 ko | 2 642 |
changes | 8 080 ko | 3 992 ko | 0 |
| tout le reste | ~2,5 Mo | — | — |
Les index d'events pèsent à eux seuls 573 Mo (events_id_unique 284 Mo, events_pkey 156 Mo, plus deux index secondaires).
Origine
TaskService.runTask() écrit un événement au début et à la fin de chaque tâche de fond (EventType.TaskStarted puis TaskCompleted). Une de ces tâches tourne toutes les ~10 secondes. Cadence mesurée : 23 400 lignes par jour, sans interruption depuis le 30/09/2025. Soit environ 1 Go par an.
Ces lignes ne servent à rien : EventModel ne lit jamais que le dernier événement par (type, nom), via lastEventByTypeAndName (orderBy('counter','desc').first()). Les 7,28 millions d'autres sont mortes.
Cause : un interrupteur laissé sur « off »
Joplin Server livre sa propre tâche de purge, désactivée par défaut. Dans l'image installée (joplin/server 3.7.1) :
dist/env.js:122 EVENTS_AUTO_DELETE_ENABLED: false
dist/env.js:123 EVENTS_AUTO_DELETE_AFTER_DAYS: 30
dist/utils/setupTaskService.js:105
if (config.EVENTS_AUTO_DELETE_ENABLED) {
tasks.push({
id: TaskId.DeleteOldEvents,
schedule: '0 0 * * *',
run: (models) => models.event().deleteOldEvents(
config.EVENTS_AUTO_DELETE_AFTER_DAYS * Day),
});
}
Le container joplin ne définit pas la variable (seul MAX_ITEM_SIZE figure parmi les réglages non standard). La tâche DeleteOldEvents n'a donc jamais été enregistrée, et rien n'a jamais été purgé.
Ce que ça coûte
- La sauvegarde nocturne. L'archive Joplin est la plus grosse du VPS (276 Mo) et le poste le plus lent du run (~14 min sur 21). D'après la largeur des lignes (~65 octets de texte par événement), les événements morts représentent grossièrement la moitié de cette archive.
- Le disque du VPS, à 65 % (61 Go utilisés sur 99), après l'incident de saturation du 24/06/2026.
- La mémoire et le swap de
joplin-db, qui figurait parmi les principaux détenteurs de swap au relevé du 03/08.
Correction — à appliquer
Purge à 30 jours : il resterait ~702 000 lignes au lieu de 7 282 457, soit -90,4 %. La sauvegarde maigrit immédiatement (pg_dump n'exporte que les lignes vivantes) ; le disque n'est rendu qu'après un VACUUM FULL.
- Activer le mécanisme officiel — stack Portainer 16, service
joplin, ajouter aux variables d'environnement :
puis mettre la stack à jour. La tâche s'exécute alors chaque nuit à minuit UTC — sans conflit avec la sauvegarde de 2 h.- EVENTS_AUTO_DELETE_ENABLED=1 - EVENTS_AUTO_DELETE_AFTER_DAYS=30 - Rendre l'espace au disque, une fois le premier passage effectué :
Verrou exclusif, mais bref une fois la table réduite.sudo docker exec joplin-db psql -U joplin -d joplin -c "VACUUM FULL events;"
Variante plus douce, si l'on préfère éviter que le premier passage supprime 6,58 millions de lignes en une seule instruction : faire le rattrapage par lots avant d'activer la tâche — créer CREATE INDEX CONCURRENTLY tmp_events_created ON events(created_time), boucler des DELETE … WHERE ctid IN (SELECT ctid … LIMIT 500000), retirer l'index, puis VACUUM FULL.
3. Bug corrigé le 2026-08-27 — l'observatoire ne tournait plus depuis 72 jours
joplin_observatoire.py plantait chaque nuit depuis la mi-juin : psycopg2.OperationalError: connection to server at "172.27.0.4" … Connection refused. L'IP Docker de joplin-db était passée à 172.27.0.3 lors d'une recréation du container.
Le correctif du 2026-06-19, qui remplaçait l'IP figée par une résolution dynamique, n'avait été appliqué qu'à joplin_compress.py — l'observatoire avait été oublié. La compression, elle, a continué de fonctionner normalement pendant toute la période.
Même correctif appliqué (docker inspect joplin-db au démarrage), sauvegarde joplin_observatoire.py.bak-260827. Exécution de contrôle réussie : page 166 réalimentée — 729 ressources, 117,2 Mo, -79,3 %.
Leçon : le compteur de tracebacks du log est un bon canari. sudo grep -c Traceback /var/log/joplin-compress.log renvoyait 72 — une par nuit — sans que personne ne s'en aperçoive, parce que la partie compression, elle, écrivait des lignes normales.
260615 - Immich performance
260615 -instructions pour la procédure Immich Performance
Les photos de famille (et des vidéos) sont un patrimoine important pour notre famille. Donc elles font l'objet de beaucoup d'attention....et de volume de stockage. Les photos sont stockées sur les 2 NAS - Nasmaison et Sasnexte synchronisées à travers les outils Synology. A partir de Sasnexte, un script journalier Synology les propulse sur le VPS Kdrive pour être lues en lecture seule par toute la famille (elles sont également sur deux autres disques durs USB....).
Aujourd'hui, le dossier photos du Sasnexte que l'on doit considérer comme le cœur de ce dispositif nécessite une observation un peu plus fine car :
- des compressions vidéos doivent être faites pour les rendre plus faciles en lecture sur les portables en mobilité
- des compressions images lorsque le poids est aberrant pour l'usage
- des doublons existent forcément.
Immich performance est une procédure importante du livre de Claude.
Réponse de Claude
Inventaire par Claude Code le 01/10/2025
SAS_NEXTE@NEXTE:~$ sudo du -h --max-depth=2 /volume1/photo/ | sort -h
0 /volume1/photo/1968-1994 - photos famille dont Noumea/1982
0 /volume1/photo/2009-mariage Zymny
0 /volume1/photo/2014- été/140714-Lyon chez Pierre
0 /volume1/photo/2020 - Automne Noel/noel2020
0 /volume1/photo/2024/202401 - Hiver Automne
0 /volume1/photo/2025/DCIM
0 /volume1/photo/@eaDir/clientd.tmp.dir
0 /volume1/photo/@eaDir/cloud.tmp.dir
0 /volume1/photo/@eaDir/@recycle
0 /volume1/photo/@eaDir/@tmp
4.0K /volume1/photo/@eaDir/@drive.queues
24K /volume1/photo/@eaDir/sharesnap_share_configuration
32K /volume1/photo/2010 - été/@eaDir
40K /volume1/photo/2011- Ete/@eaDir
52K /volume1/photo/2021-été covidé/@eaDir
84K /volume1/photo/@eaDir/980710-photo CV julien.jpg
264K /volume1/photo/@eaDir/131124-elio pas content.jpg
352K /volume1/photo/2009 Nouvel an Réveillon/@eaDir
432K /volume1/photo/@eaDir/2015-soirée mexicaine.jpg
440K /volume1/photo/1968-1994 - photos famille dont Noumea/Givet
548K /volume1/photo/@eaDir/150314-Zoee en 18X24.png
616K /volume1/photo/2009 Nouvel an Réveillon
656K /volume1/photo/1968-1994 - photos famille dont Noumea/1977
656K /volume1/photo/@eaDir/7b06435c-6bad-4eb0-aa38-af03bdfbfbc8.jpg
672K /volume1/photo/@eaDir/PhotoLab445379.jpg
792K /volume1/photo/@eaDir/160220-elio en 18X24.png
848K /volume1/photo/2011 - printemps/@eaDir
900K /volume1/photo/2016 ACDC/@eaDir
1.5M /volume1/photo/1968-1994 - photos famille dont Noumea/1976
1.7M /volume1/photo/1968-1994 - photos famille dont Noumea/Pierre-001
2.1M /volume1/photo/1968-1994 - photos famille dont Noumea/1969
3.0M /volume1/photo/1968-1994 - photos famille dont Noumea/1978
3.4M /volume1/photo/1968-1994 - photos famille dont Noumea/1968
3.4M /volume1/photo/1968-1994 - photos famille dont Noumea/1980
3.5M /volume1/photo/2014-mars-repas chez maman/@eaDir
4.1M /volume1/photo/1999/@eaDir
4.3M /volume1/photo/2014 - 4 ans Zoée/@eaDir
4.9M /volume1/photo/1968-1994 - photos famille dont Noumea/1979
4.9M /volume1/photo/2016 ACDC
5.3M /volume1/photo/1986 - Californie/@eaDir
5.3M /volume1/photo/Cartes de voeux/@eaDir
5.5M /volume1/photo/2010-hiver/@eaDir
6.0M /volume1/photo/1968-1994 - photos famille dont Noumea/1992
6.6M /volume1/photo/1930-2016 - Photos BERTRAND MER/Elio
6.6M /volume1/photo/2016-best photos pour 70 ans/Elio
6.7M /volume1/photo/1999
6.9M /volume1/photo/1968-1994 - photos famille dont Noumea/Etats-Unis 1986
7.4M /volume1/photo/2015 - Noël/@eaDir
7.6M /volume1/photo/1930-2016 - Photos BERTRAND MER/Les communions solennelle s
7.6M /volume1/photo/2016-best photos pour 70 ans/Les communions solennelles
7.8M /volume1/photo/1968-1994 - photos famille dont Noumea/1994
7.9M /volume1/photo/2013-Serbie/@eaDir
8.0M /volume1/photo/2014/@eaDir
8.4M /volume1/photo/1968-1994 - photos famille dont Noumea/1990
8.5M /volume1/photo/2004 - été/@eaDir
8.5M /volume1/photo/2022-Noel/@eaDir
8.6M /volume1/photo/2015 - Automne/@eaDir
8.9M /volume1/photo/1930-2016 - Photos BERTRAND MER/Les amis, la famille en n oir et blanc
8.9M /volume1/photo/2016-best photos pour 70 ans/Les amis, la famille en noir et blanc
9.5M /volume1/photo/1968-1994 - photos famille dont Noumea/1981
9.9M /volume1/photo/2018 - Noel/@eaDir
10M /volume1/photo/#recycle/2016 - 70 ans maman_DiskStation_Nov-04-1745-2020 _CaseConflict
11M /volume1/photo/1930-2016 - Photos BERTRAND MER/Album de la famille de Re née Campanella
11M /volume1/photo/2010 - naissance Zoée/@eaDir
11M /volume1/photo/2014/Noël 2014
11M /volume1/photo/2016-best photos pour 70 ans/Album de la famille de Renée Campanella
12M /volume1/photo/2013 Marseille/@eaDir
12M /volume1/photo/2014-mars-repas chez maman
12M /volume1/photo/2015-Hiver/@eaDir
12M /volume1/photo/2015-inventaire maison assurances/@eaDir
13M /volume1/photo/1968-1994 - photos famille dont Noumea/1975
14M /volume1/photo/1968-1994 - photos famille dont Noumea/1983
15M /volume1/photo/2005 - été/@eaDir
16M /volume1/photo/2016-mai juin/@eaDir
16M /volume1/photo/2016 - Valras/@eaDir
17M /volume1/photo/2004 - été
17M /volume1/photo/2010 - naissance Zoée
18M /volume1/photo/1968-1977/@eaDir
18M /volume1/photo/2014 - 4 ans Zoée
18M /volume1/photo/2014/Anniversaire_Elio_2014
18M /volume1/photo/2016-avril avant crète/@eaDir
19M /volume1/photo/1930-2016 - Photos BERTRAND MER/Grand-père Emile et mamie Rosa
19M /volume1/photo/2016-best photos pour 70 ans/Grand-père Emile et mamie Ro sa
21M /volume1/photo/1930-2016 - Photos BERTRAND MER/@eaDir
21M /volume1/photo/1930-2016 - Photos BERTRAND MER/L'album de Papa et Maman
21M /volume1/photo/2016-best photos pour 70 ans/L'album de Papa et Maman
21M /volume1/photo/2016- photos Maman Papa/@eaDir
22M /volume1/photo/2011 - Automne/@eaDir
22M /volume1/photo/2013 Noël/@eaDir
22M /volume1/photo/2014-Hiver Printemps/@eaDir
23M /volume1/photo/2014 - Automne Noel/@eaDir
24M /volume1/photo/2011 - jour de l'an/@eaDir
24M /volume1/photo/2014-mur effondré - Ville de Toulon/@eaDir
25M /volume1/photo/2009 - Papa/@eaDir
25M /volume1/photo/2010-hiver
25M /volume1/photo/2021-été covidé/2021 - après vacances
25M /volume1/photo/Cartes de voeux
26M /volume1/photo/1968-1994 - photos famille dont Noumea/1984
27M /volume1/photo/1930-2016 - Photos BERTRAND MER/Enfants Mer et cousins
27M /volume1/photo/2008 Toscane/@eaDir
27M /volume1/photo/2016 - 70 ans Maman/@eaDir
27M /volume1/photo/2016-best photos pour 70 ans/Enfants Mer et cousins
27M /volume1/photo/2022-automne a Noel/@eaDir
29M /volume1/photo/2018 - Noel
30M /volume1/photo/2008 - mariage Héléna et Jérome/@eaDir
30M /volume1/photo/2012 - Eté/@eaDir
30M /volume1/photo/#recycle/2016 - 70 ans maman_DiskStation_Nov-04-1745-2020 _CaseConflict_1
31M /volume1/photo/2025/2501 à 2502
32M /volume1/photo/2015 - Noël
33M /volume1/photo/2014/Carnaval 2014
34M /volume1/photo/2016-best photos pour 70 ans/@eaDir
35M /volume1/photo/2014-Barcelone/@eaDir
36M /volume1/photo/2013/@eaDir
36M /volume1/photo/2016-Parc Vert Coteau/soirée janvier 2016
36M /volume1/photo/2024/2024 - Nouvel an Arriège
37M /volume1/photo/2015 - Automne
38M /volume1/photo/2014/Février 2014
39M /volume1/photo/2011 - Noel/@eaDir
39M /volume1/photo/2020 - Automne Noel/@eaDir
40M /volume1/photo/2014/Sept_2014_4ans_Zoée
40M /volume1/photo/@eaDir/SYNO@.fileindexdb
41M /volume1/photo/2016-Parc Vert Coteau/avril 2016 état
41M /volume1/photo/2022-Noel
43M /volume1/photo/@eaDir
44M /volume1/photo/2009 - Papa
44M /volume1/photo/2012/@eaDir
45M /volume1/photo/1930-2016 - Photos BERTRAND MER/Papa juin 2009 - Le livre d'Alain
45M /volume1/photo/2016-best photos pour 70 ans/Papa juin 2009 - Le livre d' Alain
47M /volume1/photo/2005 - été
47M /volume1/photo/2008 Toscane
50M /volume1/photo/2019-Cabaret Vert/@eaDir
51M /volume1/photo/2015 - Juillet Valras/@eaDir
52M /volume1/photo/2021-hiver printemps/@eaDir
53M /volume1/photo/2015-Hiver
53M /volume1/photo/2018-défi Genes/@eaDir
54M /volume1/photo/2008 - été Hautes Alpes/@eaDir
54M /volume1/photo/2009 - Elio/@eaDir
55M /volume1/photo/2013-Serbie
58M /volume1/photo/2013 Marseille
58M /volume1/photo/2015-inventaire maison assurances
62M /volume1/photo/2007-1er janvier/@eaDir
62M /volume1/photo/2016 - Valras
64M /volume1/photo/2014- été/@eaDir
67M /volume1/photo/2009 - été Irlande/@eaDir
67M /volume1/photo/2016-mai juin
70M /volume1/photo/1968-1994 - photos famille dont Noumea/Nouméa
70M /volume1/photo/2011- Ete/GARD juillet 2011
71M /volume1/photo/2020 - Hiver Confinement COVID/@eaDir
73M /volume1/photo/2022-hiver à Paques/@eaDir
73M /volume1/photo/2024/202412 - Automne Noel
75M /volume1/photo/2013 - Printemps/@eaDir
76M /volume1/photo/2016-Parc Vert Coteau
76M /volume1/photo/2024/@eaDir
79M /volume1/photo/2012 - Eté/2012 - Bretagne
79M /volume1/photo/2014-Hiver Printemps
81M /volume1/photo/2013 Noël
82M /volume1/photo/2017-Voyage à Turin/@eaDir
84M /volume1/photo/2016-Venasque/@eaDir
86M /volume1/photo/1986 - Californie
88M /volume1/photo/2023-ete/@eaDir
91M /volume1/photo/2009 - été Ardèche/@eaDir
93M /volume1/photo/2016-avril avant crète
94M /volume1/photo/2007-1er janvier
96M /volume1/photo/2021-Automne et Noel/@eaDir
97M /volume1/photo/2008 - été Hautes Alpes
99M /volume1/photo/PhotoLibrary/2025
100M /volume1/photo/2014- Porto - Primavera/@eaDir
107M /volume1/photo/2014-mur effondré - Ville de Toulon
108M /volume1/photo/2023 - Automne Noel/@eaDir
111M /volume1/photo/2009 - été Irlande
111M /volume1/photo/2015- printemps/@eaDir
114M /volume1/photo/2025/2504 et 2505
125M /volume1/photo/2010 - été
125M /volume1/photo/2010 - été/Beauduc
125M /volume1/photo/2014 - Automne Noel
130M /volume1/photo/2016-Crete/@eaDir
131M /volume1/photo/2011 - jour de l'an
138M /volume1/photo/2021-été covidé/2021 avant vacances
139M /volume1/photo/2013
140M /volume1/photo/2018 - Valras/@eaDir
143M /volume1/photo/2016-Automne Noel/@eaDir
145M /volume1/photo/2013-Pays Bas/@eaDir
146M /volume1/photo/2014-Barcelone
150M /volume1/photo/2023-Hiver à Paques/@eaDir
152M /volume1/photo/2008 - mariage Héléna et Jérome
153M /volume1/photo/2017-Automne Noel/@eaDir
154M /volume1/photo/2014/Mai_Juin 2014
157M /volume1/photo/2014/Avril 2014
159M /volume1/photo/2022-automne a Noel
162M /volume1/photo/2009 - été Ardèche
173M /volume1/photo/2014 - 5 jours en Corse/@eaDir
178M /volume1/photo/2016-best photos pour 70 ans/Ma famille pour mes 70 ans
178M /volume1/photo/2020 -Printemps/@eaDir
179M /volume1/photo/1930-2016 - Photos BERTRAND MER
180M /volume1/photo/1968-1994 - photos famille dont Noumea
181M /volume1/photo/2019- Hiver Printemps/@eaDir
181M /volume1/photo/2022 - été Flandres NL Paris/@eaDir
183M /volume1/photo/2012
184M /volume1/photo/2009 - Elio
186M /volume1/photo/2014/2014-été
192M /volume1/photo/2016- photos Maman Papa
203M /volume1/photo/1968-1977
206M /volume1/photo/1967 à 2000 - photos famille Bertrand/@eaDir
213M /volume1/photo/2023-Mai à Vacances Eté/@eaDir
214M /volume1/photo/2019-Automne/@eaDir
222M /volume1/photo/2015 - Juillet Valras
229M /volume1/photo/2020 - Automne Noel
230M /volume1/photo/2018-printemps/@eaDir
258M /volume1/photo/2021-hiver printemps
281M /volume1/photo/2014- été
282M /volume1/photo/2018 - automne noel/@eaDir
323M /volume1/photo/2011 - Noel
325M /volume1/photo/2018-défi Genes
348M /volume1/photo/2005 - naissance Elio/@eaDir
354M /volume1/photo/2011 - printemps
368M /volume1/photo/2011 - Automne
381M /volume1/photo/2017-Hiver-Printemps/@eaDir
384M /volume1/photo/2016-Venasque
407M /volume1/photo/2020 -Printemps
409M /volume1/photo/2016-best photos pour 70 ans
419M /volume1/photo/2016 - 70 ans Maman
434M /volume1/photo/2020 - Hiver Confinement COVID
439M /volume1/photo/2017-Voyage à Turin
460M /volume1/photo/2023-Mai à Vacances Eté
462M /volume1/photo/2011- Ete/LIGURIE aout 2011
500M /volume1/photo/2013 - Printemps
511M /volume1/photo/2023-ete
515M /volume1/photo/2022-hiver à Paques
520M /volume1/photo/2012 - Eté/2012 - été Buis
525M /volume1/photo/2016-Crete
528M /volume1/photo/2014- Porto - Primavera
531M /volume1/photo/2011- Ete
535M /volume1/photo/2023-Vacances D NL B/@eaDir
573M /volume1/photo/2023 - Automne Noel
575M /volume1/photo/2016-été Ré Gers/@eaDir
580M /volume1/photo/2018-Barcelone Primavera Sound/@eaDir
618M /volume1/photo/2019-Cabaret Vert
629M /volume1/photo/2019 Bretagne Alpes/@eaDir
635M /volume1/photo/2013-Pays Bas
663M /volume1/photo/2021-Automne et Noel
667M /volume1/photo/2014
685M /volume1/photo/2015- printemps
700M /volume1/photo/2017-été Scandinavie/@eaDir
718M /volume1/photo/2024/2024 - Eté Italie Autriche
759M /volume1/photo/2018 - Valras
809M /volume1/photo/#recycle/2025
817M /volume1/photo/2016-Automne Noel
846M /volume1/photo/2025/2506 à 2509
860M /volume1/photo/#recycle
907M /volume1/photo/2019-Automne
920M /volume1/photo/2017-Automne Noel
935M /volume1/photo/2023-Hiver à Paques
941M /volume1/photo/2024/2024-Porto
944M /volume1/photo/cecile tri 2022/@eaDir
945M /volume1/photo/PhotoLibrary/DCIM
956M /volume1/photo/2005 - naissance Elio
964M /volume1/photo/2020 - été Vienne Venise/@eaDir
991M /volume1/photo/2025
1.1G /volume1/photo/2014 - 5 jours en Corse
1.1G /volume1/photo/2015-Croatie Autriche/@eaDir
1.1G /volume1/photo/2018-the Alpen/@eaDir
1.1G /volume1/photo/PhotoLibrary
1.2G /volume1/photo/2021-été covidé/2021 - vacances Aout Mont Blanc Cantal
1.2G /volume1/photo/2022 - été Flandres NL Paris
1.3G /volume1/photo/2019- Hiver Printemps
1.3G /volume1/photo/2021-été covidé
1.4G /volume1/photo/2018-printemps
1.5G /volume1/photo/2016-été Ré Gers/Vidéo Aveyron Ré et Gers
1.5G /volume1/photo/2024/2024-Via Reggio
1.8G /volume1/photo/2018 - automne noel
1.9G /volume1/photo/2012 - Eté/2012- été Italia
2.0G /volume1/photo/2017-Hiver-Printemps
2.7G /volume1/photo/2012 - Eté
2.8G /volume1/photo/2019 Bretagne Alpes
2.8G /volume1/photo/2020 - été Vienne Venise
2.9G /volume1/photo/1967 à 2000 - photos famille Bertrand
3.2G /volume1/photo/2023-Vacances D NL B
3.6G /volume1/photo/2018-Barcelone Primavera Sound
3.7G /volume1/photo/cecile tri 2022
3.8G /volume1/photo/2024
4.1G /volume1/photo/2016-été Ré Gers
4.2G /volume1/photo/2017-été Scandinavie
5.7G /volume1/photo/2018-the Alpen
6.4G /volume1/photo/2015-Croatie Autriche
79G /volume1/photo/
Montages Rclone Sasnexte et Kdrive
Architecture
NAS Sasnexte (Synology)
└── rclone sync (WebDAV) ──► kDrive Infomaniak
└── rclone mount (FUSE) ──► VPS Jux
└── containers Docker
Le NAS pousse les médias vers kDrive une fois par jour via le planificateur DSM. Le VPS monte kDrive en FUSE en permanence — les containers accèdent aux fichiers en lecture.
Remote rclone (NAS sasnexte)
Fichier : /volume1/homes/SAS_NEXTE/.config/rclone/rclone.conf
[kdrive_music]
type = webdav
url = https://591617.connect.kdrive.infomaniak.com
vendor = other
user = julien.bertrand@nexte.fr
pass = [obfusqué rclone]
Note : le remote s'appelle kdrive_music mais sert à synchroniser tous les contenus (musique, photos, audiobooks, Komga). Nom historique à ne pas confondre avec un remote dédié musique.
Mot de passe WebDAV : régénéré le 2026-06-23 (compte julien.bertrand@nexte.fr, espace kDrive 591617). Mise à jour via rclone config update kdrive_music pass $(rclone obscure NOUVEAU_MDP).
Script unifié (NAS sasnexte)
Emplacement : /volume1/homes/SAS_NEXTE/scripts/sync_kdrive_complete.sh
Planificateur DSM : tâche déclenchée quotidiennement — commande : /volume1/homes/SAS_NEXTE/scripts/sync_kdrive_complete.sh
Note sudo : le script contient sudo -u SAS_NEXTE rclone .... Si la tâche DSM est configurée pour tourner en tant que SAS_NEXTE, retirer le sudo -u SAS_NEXTE (inutile et peut bloquer). Si elle tourne en root, le garder.
Le script n'est plus recopie ici : il est versionne dans l'arbre Syncthing, seule source de verite — Jux-scripts/NAS-Sync/sync_kdrive_complete.sh, deploye sur le NAS dans /volume1/homes/SAS_NEXTE/scripts/. La version en ligne ci-dessous datait du 2026-06-23 et n'avait aucune protection ; elle a ete remplacee le 2026-08-28 par la version durcie decrite plus bas. Sauvegarde de l'ancienne sur le NAS : sync_kdrive_complete.sh.bak-260828.
Déploiement : écrire via vi depuis SSH — le heredoc et les éditeurs Windows introduisent des CRLF qui cassent bash. Après édition : sed -i 's/\r//' script.sh pour vérifier.
Syncs actifs
| Nom | Source NAS | Destination kDrive | Notes |
|---|---|---|---|
| audiobooks | /volume1/audiobooks |
SYNC-pour_VPS/Sync-SASNEXTE/audiobooks |
|
| music | /volume1/music |
SYNC-pour_VPS/Sync-SASNEXTE/music |
|
| photo | /volume1/photo/2026 |
SYNC-pour_VPS/Sync-SASNEXTE/photo/2026 |
Année courante seulement |
| komga | /volume1/Komga |
SYNC-pour_VPS/Sync-SASNEXTE/Komga |
Non géré ici :
- Romans : abandonné
- Foxy : sur NAS Maison (pas sasnexte)
Options rclone — justifications
| Option | Rôle |
|---|---|
--delete-excluded |
Supprime sur kDrive les fichiers exclus qui auraient pu y être uploadés |
--ignore-errors |
Poursuit la sync si un fichier est inaccessible (NAS Synology parfois occupé) |
--delete-during |
Supprime les fichiers obsolètes au fil du scan, pas en fin de run |
--fast-list |
Réduit les appels API WebDAV (un seul listing récursif) |
@eaDir/** |
Dossiers de métadonnées Synology (miniatures) |
#recycle/** |
Corbeille Synology |
@__thumb/** |
Miniatures Synology |
*.@SynoResource / *.@SynoEAStream |
Flux de ressources étendues Synology |
--transfers=4 |
4 fichiers en parallèle — équilibre entre perf et charge WebDAV |
--checkers=8 |
8 vérifications de hash en parallèle |
--timeout=5m |
Timeout par opération I/O |
--contimeout=2m |
Timeout de connexion initiale |
Côté VPS — montages FUSE correspondants
Les services systemd sur le VPS montent les dossiers kDrive en FUSE :
| Service systemd | Point de montage | Source kDrive |
|---|---|---|
rclone-audiobookshelf.service |
/home/debian/audiobookshelf/audiobooks |
SYNC-pour_VPS/Sync-SASNEXTE/audiobooks |
kdrive-music.service |
/home/debian/music |
SYNC-pour_VPS/Sync-SASNEXTE/music |
rclone-photo.service |
/home/debian/photo |
SYNC-pour_VPS/Sync-SASNEXTE/photo |
kdrive-komga.service |
/home/debian/komga |
SYNC-pour_VPS/Sync-SASNEXTE/Komga |
Remote VPS : kdrive: — remote natif Infomaniak (@infomaniak/mcp-server-kdrive), compte julien.bertrand@live.fr, kDrive ID 591617.
Logs
- Un fichier de log par sync par run :
/volume1/homes/SAS_NEXTE/logs/sync_{nom}_{date}.log - Bilan global :
/volume1/homes/SAS_NEXTE/logs/sync_{date}.log - Commande de suivi :
tail -f /volume1/homes/SAS_NEXTE/logs/sync_music_*.log
Panne du 2026-08-28 — les 4 syncs a l'arret, cause : rclone.conf deplace
Symptome : les photos de l'ete 2026 deposees la veille sur le NAS ne remontaient pas sur kDrive. Ni par la tache planifiee, ni par un lancement manuel du script — ce qui excluait d'emblee un probleme de reseau ou de quota.
Message dans le journal du jour (/volume1/homes/SAS_NEXTE/logs/sync_photo_AAAAMMJJ_*.log) :
NOTICE: Config file "/var/services/homes/SAS_NEXTE/.config/rclone/rclone.conf" not found - using defaults
CRITICAL: Failed to create file system for "kdrive_music:...": didn't find section in config file ("kdrive_music")
Cause : le 2026-08-27 a 10:16, le dossier .config du home a ete range dans /volume1/homes/SAS_NEXTE/Fichiers techniques/. Le script ne passait pas --config : rclone cherchait donc $HOME/.config/rclone/rclone.conf et ne trouvait plus le remote. Les quatre syncs sont mortes d'un coup (photo, music, komga, audiobooks), des le run suivant.
Correction : fichier recopie a sa place (chmod 600) ; une copie subsiste dans Fichiers techniques et sert desormais de secours automatique (voir plus bas).
Ce que cet incident apprend
- Devant un
didn't find section in config file, verifier l'emplacement durclone.confavant tout le reste. Un simple rangement par SMB ou File Station suffit a tout casser, sans que rien ne soit "casse" au sens habituel. - L'echec etait totalement silencieux : aucune alerte, aucun mail, l'ancien script retournait toujours 0. Seul le journal du jour le disait. C'est le vrai defaut, plus encore que le fichier deplace.
- Piege d'analyse au moment de reparer : le dossier avait ete renomme cote NAS (
2026_Eté UK→2026_Eté UK et Italia), ce qui faisait voir a rclone 308 suppressions et 351 copies. En miroir--delete-duringc'est correct, mais toujours faire un--dry-runpuis comparer les listes avant de relancer une sync apres un incident :rclone lsf -R --files-only kdrive_music:.../photo/2026/ANCIEN_NOM | sort > /tmp/k.txt (cd /volume1/photo/2026/NOUVEAU_NOM && ls -p | grep -v /) | sort > /tmp/n.txt comm -23 /tmp/k.txt /tmp/n.txt # doit etre vide : rien sur kDrive qui manque au NAS - Trou du 20 au 24/08 dans tous les journaux : NAS eteint (coupures secteur / orages), sans rapport avec cette panne.
Durcissement du script (2026-08-28)
Source de verite : Jux-scripts/NAS-Sync/sync_kdrive_complete.sh (arbre Syncthing, disponible sur toutes les machines). Le comportement nominal est inchange — memes 4 syncs, memes options rclone, meme emplacement, la tache DSM n'a pas besoin d'etre modifiee.
| Protection | Ce qu'elle evite |
|---|---|
--config en chemin absolu |
La panne ci-dessus : le script ne depend plus de $HOME ni de l'utilisateur qui le lance |
Restauration automatique de la config depuis Fichiers techniques/.config/rclone/rclone.conf |
Un nouveau deplacement du fichier ne coupe plus la synchro ; l'evenement est journalise |
Controles prealables : rclone present, section [kdrive_music] presente, remote reellement joignable |
Partir en synchro avec un mot de passe WebDAV revoque ou kDrive injoignable |
| Refus de synchroniser une source absente ou vide | Le scenario catastrophe : un volume non monte ou un dossier vide, qui en mode miroir viderait la destination kDrive |
--max-delete par service (photo 500, les autres 1000) |
Une suppression de masse imprevue : la sync s'interrompt et attend un oeil humain |
Ligne === BILAN: X/4 OK === et fichier d'etat logs/etat_sync.txt |
Avoir a lire quatre journaux pour savoir si la nuit s'est bien passee |
| Code de sortie non nul en cas d'echec + entree dans le journal systeme DSM | L'echec silencieux |
| Purge des journaux de plus de 90 jours | L'accumulation dans logs/ |
Mode d'emploi
S=/volume1/homes/SAS_NEXTE/scripts/sync_kdrive_complete.sh
$S # les 4 syncs (ce que lance la tache DSM)
DRY_RUN=1 $S # essai a blanc, rien n'est ecrit sur kDrive
SERVICES="photo music" $S # un sous-ensemble seulement
SERVICES="photo" FORCE_MAX_DELETE=1 $S # apres verification, lever le garde-fou
cat /volume1/homes/SAS_NEXTE/logs/etat_sync.txt # resultat du dernier run
Canari — savoir en une commande si la nuit s'est bien passee
cat /volume1/homes/SAS_NEXTE/logs/etat_sync.txt
grep -l CRITICAL /volume1/homes/SAS_NEXTE/logs/sync_*_$(date +%Y%m%d)*.log
Notifications — pourquoi pas synodsmnotify
Sur DSM 7.4, synodsmnotify n'accepte pas de titre libre : tout libelle est rejete par title: '...' is neither mail string key nor i18n format, y compris les formes i18n:... essayees. Le script utilise donc synologset1 sys err 0x11100000, qui ecrit dans le journal systeme DSM (Centre de journalisation).
Action restante cote DSM (a faire par Julien, compte admin) : dans Planificateur de taches → tache de synchronisation → Parametres, cocher « Envoyer les details d'execution par e-mail » et « uniquement lorsque le script se termine anormalement ». C'est maintenant efficace : l'ancien script retournait toujours 0, la version durcie retourne 1 des qu'un service echoue.
Tests de validation passes le 2026-08-28
- Marche nominale en essai a blanc :
BILAN: 1/1 OK, code retour 0 - Panne rejouee (config deplacee) : restauration automatique, puis sync normale — code retour 0
- Source vide : sync non lancee,
ECHEC photo (source-vide), code retour 1 - Seuil de suppressions depasse : sync interrompue,
ECHEC photo (seuil-suppressions), code retour 1, avec la commande de reprise affichee
REX déploiement 2026-06-23
- Problème 1 : CRLF dans le script (édition Windows) →
bash -xmontrait\rcomme commande inconnue. Fix : réécrire viavisur le NAS. - Problème 2 : mot de passe WebDAV périmé (401 Unauthorized) → régénéré le 2026-06-09 côté VPS mais pas mis à jour sur le NAS. Fix :
rclone config update kdrive_music pass $(rclone obscure MDP). - SSH bloqué : pare-feu NAS + 2FA rendent le SSH depuis l'extérieur inaccessible. Passer par une session SSH locale ou DSM.
- Résultat : 4 syncs validés — audiobooks 48.9 GiB / 23 min, music 1 GiB / 45s, photo et komga déjà à jour.
260727 - Claude en MCP sur le NASmaison
Le NASmaison est un petit Synology DS218j installé à la maison de Julien. IL sert surtout de stockage des livres et des films. Egalement des cartes rasters, le dossier personnel de Cécile, Elio et Zoée. IL a une copie miroir du dossier musique et komga, mais plus photos.
Il est synchronisé avec le NAS SASNEXTE pour musique et Komga.
Il compose au quotidien 6 procédures hyperbacups de la bibliothèque de livres en direction du Kdrive :
- les livres de Foxy répartis par grands thèmes
- les livres de la nouvelle bibliothèque - biblio-calibre
Claude a désormais une connexion MCP privilégiée sur le NASmaison. Et peut notamment garantir le transfert sécurisé des dossiers
260731-Claude et SASNEXTE sur le PC Elio+Jux
WireGuard sasnexte sur le PC Elio+Jux — diagnostic et résolution
Date : 2026-07-31 | Machine : PC Windows eliob | NAS cible : sasnexte (82.66.244.248)
Statut : RÉSOLU — tunnel activé, lecteur S: mappé sur \\10.0.0.2\NEXTE
Question initiale
WireGuard a été monté sur ce PC et sur le NAS sasnexte, mais le disque du NAS n'apparaissait pas comme lecteur dans l'explorateur de fichiers Windows. Pourquoi ?
Réponse courte
Deux causes cumulées :
- Le tunnel n'était pas activé sur le PC : la config
vps_maisonpc_sasnexteétait importée dans l'application WireGuard, mais jamais activée (aucun serviceWireGuardTunnel$*, aucun adaptateur réseau,wg showvide). - Un lecteur réseau ne se crée jamais tout seul : la découverte réseau Windows (broadcast/mDNS/WS-Discovery) ne traverse pas un tunnel de couche 3 — le NAS n'apparaîtra jamais spontanément dans « Réseau ». Il faut mapper manuellement une lettre avec
net use.
Topologie du tunnel vps_maisonpc_sasnexte
Réseau 10.0.0.0/24, hub-and-spoke avec le VPS Jux comme serveur (wg0, port UDP 51820) :
| IP | Machine | État (2026-07-31) |
|---|---|---|
| 10.0.0.1 | VPS Jux (51.77.141.54) — hub | Serveur, forwarding OK (ACCEPT in wg0 dans FORWARD) |
| 10.0.0.2 | NAS sasnexte (endpoint 82.66.244.248) | Connecté, handshake actif, 485 Gio transférés |
| 10.0.0.3 | PC Windows eliob | Connecté (après activation du tunnel) |
| 10.0.0.4 | PC maison (peer MkzKqDe…) |
Jamais connecté (pas d'endpoint) |
Clé publique serveur VPS : zbsY/bl4fHU1eR29PjTruK0Nrmp/BQORSlBGSh3Nkyo=
Diagnostic détaillé
Côté PC (avant activation)
- Application WireGuard installée, service
WireGuardManagerRunning - Config importée (dossier
C:\Program Files\WireGuard\Data\Configurationsprésent, chiffré DPAPI, admin uniquement) mais tunnel inactif - Aucun
.confen clair dans le profil utilisateur — pour l'exporter : app WireGuard en admin → « Exporter les tunnels »
Après activation du tunnel
- Adaptateur
vps_maisonpc_sasnexteUp, IP10.0.0.3/24 wg.exe showéchoue en non-admin (Permission denied) — normal, utiliserGet-NetAdapter/Get-NetIPAddresspour vérifier sans élévation- Piège ICMP : le NAS ne répond PAS au ping (pare-feu Synology) alors que le tunnel fonctionne. Ne pas diagnostiquer au ping — tester en TCP :
Test-NetConnection 10.0.0.2 -Port 445 - Ports NAS via tunnel : 445/139 (SMB) OK, 22 (SSH) OK, 5000/5001 (DSM) bloqués
SSH sasnexte depuis l'extérieur
Le SSH sas_nexte@82.66.244.248 (IP publique) refusait le mot de passe le 2026-07-31 alors que le même mot de passe fonctionne en SMB via le tunnel → le mot de passe est bon, c'est le SSH public qui est filtré (fail2ban/whitelist). Passer par le tunnel : ssh sas_nexte@10.0.0.2 (port 22 ouvert).
Résolution appliquée (2026-07-31)
- Tunnel activé dans l'app WireGuard (fait par Julien) → handshake OK avec le VPS
- Identifiants SMB enregistrés dans le gestionnaire d'identification Windows :
cmdkey /add:10.0.0.2 /user:sas_nexte /pass:"xAPIJU5108§" - Lecteur mappé :
net use S: \\10.0.0.2\NEXTE /persistent:yes - Vérifié :
S:liste bien le contenu du partage NEXTE
Important : le lecteur S: ne fonctionne que si le tunnel WireGuard est actif. Après un reboot, le tunnel se réactive automatiquement (service WireGuardTunnel$vps_maisonpc_sasnexte en démarrage auto) et Windows reconnecte S: grâce à /persistent:yes + identifiants cmdkey.
Partages SMB disponibles sur \10.0.0.2
ActiveBackupforBusiness, audiobooks, chat, home (dossier perso SAS_NEXTE), homes, Iso VM, music, NetBackup, NEXTE (mappé sur S:), Public_s, RAW, Ressources_NEXTE, retro, web, web_packages
Pour mapper un partage supplémentaire (les identifiants sont déjà enregistrés) :
net use R: \\10.0.0.2\Ressources_NEXTE /persistent:yes
Points ouverts
- Finaliser la config Ubuntu : exporter le
.confdepuis l'app WireGuard Windows (admin → Exporter les tunnels) — le peer 10.0.0.4 libre pourrait aussi servir pour Ubuntu - Identifier le peer 10.0.0.4 (
MkzKqDeVoIX9R9oMlCK7c76e3c3p/DJe/ryd0eqEV20=) : prévu pour le PC maison, jamais connecté
Restauration du 2026-08-27 — après la réinstallation de Windows
Statut : RÉSOLU. Tunnel rétabli, S: remonté. Le poste s'appelle désormais julie — c'est la même machine que « PC Elio+Jux », réinstallée le 2026-08-08 (voir CLAUDE.md).
Ce qui s'était passé
La réinstallation de Windows a emporté WireGuard et, avec lui, la clé privée du peer 10.0.0.3. Elle vivait dans C:\Program Files\WireGuard\Data\Configurations, chiffrée par DPAPI — irrécupérable, exactement comme l'identité Syncthing PC-Elio+Jux perdue au même moment.
Le diagnostic se lit d'une seule commande sur le VPS :
peer: cMDglLZZrrZUL4QdtB5nHQFe0U5fdzXzaWnmihw1b0o=
endpoint: 83.195.45.93:63884
allowed ips: 10.0.0.3/32
latest handshake: 19 days, 23 hours, 41 minutes ago
19 jours et 23 heures avant le 27/08 à 21 h ramènent au 7 août en soirée, soit la veille de la réinstallation (8 août à 12:21). Le NAS, lui, faisait des handshakes toutes les quelques secondes : côté VPS et côté NAS, rien n'était cassé. Seul le poste avait disparu.
Recherche préalable infructueuse, mais qui valait la peine : aucun .conf exporté nulle part sur D:, ni dans l'arbre Syncthing, ni dans le profil. Le point ouvert « exporter le .conf pour Ubuntu » de juillet n'avait jamais été fait — sans quoi l'identité aurait pu être restaurée telle quelle.
Décision : réutiliser l'adresse 10.0.0.3, pas le peer libre 10.0.0.4
Le peer 10.0.0.4 était disponible, mais changer d'adresse aurait invalidé la documentation et, surtout, aurait risqué de buter sur d'éventuelles règles du pare-feu Synology référençant 10.0.0.3. On garde donc l'adresse et on ne remplace que la clé publique — le NAS n'a pas été touché.
Nouvelle identité du poste
| Clé publique (nouvelle) | UfqCwYB3T/XFl9qbpFR/8YSibq3Yta83fB9D2GAiW2A= |
| Clé publique (ancienne, morte) | cMDglLZZrrZUL4QdtB5nHQFe0U5fdzXzaWnmihw1b0o= |
| Adresse | 10.0.0.3/24, inchangée |
| Fichier client | D:\WireGuard\vps_maisonpc_sasnexte.conf — hors de l'arbre Syncthing, une clé privée n'a rien à faire sur les 7 appareils du maillage |
Paire générée par une implémentation X25519 en Python pur (aucune dépendance à installer), validée au préalable contre le vecteur de test de la RFC 7748 § 6.1 avant d'être utilisée.
Configuration cliente :
[Interface]
PrivateKey = <clé privée>
Address = 10.0.0.3/24
[Peer]
PublicKey = zbsY/bl4fHU1eR29PjTruK0Nrmp/BQORSlBGSh3Nkyo=
Endpoint = 51.77.141.54:51820
AllowedIPs = 10.0.0.0/24
PersistentKeepalive = 25
AllowedIPs = 10.0.0.0/24 et non 0.0.0.0/0 : seul le trafic du VPN passe par le tunnel, la navigation ordinaire n'est pas détournée par le VPS. PersistentKeepalive = 25 maintient l'association NAT de la Livebox.
Côté VPS
Sauvegarde /etc/wireguard/wg0.conf.bak-260827, remplacement de la clé publique du peer 10.0.0.3 et suppression de son Endpoint périmé, puis application sans redémarrer l'interface :
sudo bash -c 'wg syncconf wg0 <(wg-quick strip wg0)'
wg syncconf plutôt que wg-quick down/up : c'est le point important. Un redémarrage de l'interface aurait coupé le peer du NAS et remis ses compteurs à zéro. Après syncconf, le NAS a conservé son handshake et ses 962,99 Gio de compteur, sans la moindre interruption.
Vérifié au passage : -A FORWARD -i wg0 -j ACCEPT bien présent (posé par le PostUp), ip_forward = 1, 51820/udp ouvert dans ufw.
Côté poste
winget install --id WireGuard.WireGuard -e
& "C:\Program Files\WireGuard\wireguard.exe" /installtunnelservice "D:\WireGuard\vps_maisonpc_sasnexte.conf"
cmdkey /add:10.0.0.2 /user:sas_nexte /pass:"xAPIJU5108§"
net use S: \\10.0.0.2\NEXTE /persistent:yes
/installtunnelservice évite entièrement l'interface graphique : il crée le service WireGuardTunnel$vps_maisonpc_sasnexte, le met en démarrage automatique et l'active dans la foulée. Le nom du tunnel est celui du fichier — d'où le choix de conserver vps_maisonpc_sasnexte.
⚠ Tout cela doit être tapé par Julien dans sa propre console, jamais depuis Claude Code. Le piège MSIX (page 282) ne concerne pas que les installeurs :
cmdkeyécrit dans%APPDATA%\Microsoft\Credentialsetnet use /persistentdansHKCU\Network, deux emplacements virtualisés par le conteneur. Lancées depuis une session Claude, ces commandes auraient annoncé un succès sans rien créer pour l'utilisateur.Vérifié en direct le 2026-08-27 : une fois
S:monté depuis la console de Julien,Test-Path S:\répond False depuis la session Claude Code. Le cloisonnement joue aussi sur les lettres de lecteur — c'est un cas de plus à ajouter à la liste de la page 282.
Vérification finale
| Contrôle | Résultat |
|---|---|
Test-NetConnection 10.0.0.2 -Port 445 |
True |
net use S: |
« La commande s'est terminée correctement » |
wg show sur le VPS — peer 10.0.0.3 |
endpoint 83.195.45.93:60519, handshake 36 s, 10,47 Kio reçus / 2,76 Kio envoyés |
wg show sur le VPS — peer 10.0.0.2 (NAS) |
intact, handshake 30 s, 962,99 Gio — non perturbé |
Le rappel de juillet reste valable : ne pas diagnostiquer au ping, le NAS ignore l'ICMP même tunnel actif. Test-NetConnection 10.0.0.2 -Port 445 est le seul témoin fiable.
Point ouvert, reformulé
Le peer 10.0.0.4 (MkzKqDe…) est toujours libre et n'a jamais servi. Pour raccorder la session Ubuntu, lui générer sa propre paire de clés — ne pas recopier le .conf du poste Windows, une clé privée ne se partage pas entre deux machines.
Piege du 2026-08-27 — un lecteur mappe en console administrateur reste invisible de l'explorateur
Apres la restauration du tunnel, S: n'apparaissait nulle part dans l'explorateur, et le premier reflexe (« le VPN ne marche pas ») etait faux : le service tournait, le VPS enregistrait des handshakes et du trafic.
Cause : Windows attribue deux jetons au compte administrateur — un filtre (normal) et un complet (eleve) — et les lecteurs reseau ne traversent pas cette frontiere. Les commandes d'installation (winget, /installtunnelservice) exigeant l'elevation, tout avait ete tape dans la meme console admin : net use avait donc cree S: pour le seul jeton eleve. L'explorateur, qui tourne en jeton normal, ne pouvait pas le voir.
Symptomes trompeurs :
net use S: ...rejoue dans la console admin renvoie erreur systeme 85, « Nom de peripherique local deja utilise » — ce qui laisse croire que le lecteur existe bien- le meme
net use S: /deleteen session normale repond « La connexion reseau est introuvable » — preuve que le lecteur n'y a jamais existe
Correctif : rejouer le mappage dans une console non elevee (Win+R → powershell ; l'invite doit afficher C:\Users\julie et non C:\WINDOWS\system32).
[Security.Principal.WindowsPrincipal]::new([Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole('Administrators') # doit repondre False
net use S: \10.0.0.2\NEXTE /persistent:yes
Les identifiants poses par cmdkey sont, eux, communs aux deux jetons (stockes par utilisateur) : inutile de les refaire.
Alternative permanente, si le cloisonnement gene : poser EnableLinkedConnections a 1, ce qui fait partager les lecteurs entre les deux jetons. Necessite un redemarrage.
New-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System' -Name EnableLinkedConnections -PropertyType DWord -Value 1 -Force
Second point de confusion, sans gravite : WireGuard n'affiche ni fenetre ni icone dans la zone de notification. C'est la consequence directe de /installtunnelservice, qui installe le tunnel comme service Windows — precisement ce qui garantit qu'il remonte au demarrage sans intervention. Pour le voir, lancer WireGuard depuis le menu Demarrer : le tunnel y figure, actif, avec ses compteurs.
Regle a retenir : ne jamais diagnostiquer un tunnel a l'absence d'un lecteur dans l'explorateur. Les deux temoins fiables sont Test-NetConnection 10.0.0.2 -Port 445 cote poste, et sudo wg show cote VPS.
260827-Tofs à compresse sur le PC Windows
On dépose des photos dans un dossier, on les récupère compressées dans un autre. Rien à lancer, rien à régler au coup par coup. C'est le principe de la procédure Komga-PDF appliqué aux images, mais entièrement sur le PC julie — le VPS n'intervient pas.
| Dépôt | D:\Procedures photos\Tofs a compresse\ |
| Résultat | D:\Procedures photos\Tofs-compressed\ |
| Moteur | caesiumclt v1.4.0 — binaire Rust, aucune dépendance |
| Script | Jux-scripts/Photos-Caesium/compress_photos.py — stdlib seule |
| Profil actif | q80 — environ -62 %, sans redimensionnement |
| Délai | 43 secondes entre le dépôt et la livraison |
La seule chose à ne jamais toucher : l'option -e dans options_communes de config.json. Elle conserve l'EXIF, et ce n'est pas le comportement par défaut de Caesium. Sans elle, dates de prise de vue et coordonnées GPS sont purement supprimées — silencieusement. Ce n'est pas une précaution théorique : c'est déjà arrivé, le 14 juillet 2026, et 275 photos y ont laissé leur GPS définitivement.
Au quotidien
Déposez les photos dans Tofs a compresse\ et n'attendez rien d'autre : la tâche Photos-Caesium tourne en permanence et les prend d'elle-même. Les fichiers compressés apparaissent dans Tofs-compressed\ avec la même arborescence — un album déposé revient en album.
20:43:51 dépôt dans Tofs a compresse\
20:44:32 déclenchement (après 20 s sans changement)
20:44:34 livraison dans Tofs-compressed\
Le délai tient au garde-fou : la surveillance attend 20 secondes sans le moindre changement avant de traiter, ce qui évite d'attraper un fichier en cours de copie. Si vous videz une carte SD de 300 photos, elle patiente jusqu'à la fin du transfert.
Ce qui devient de vos originaux :
- ils partent dans
originaux-traites\— jamais effacés, c'est le dossier à vider de temps en temps ; - un HEIC ou un RAW, que Caesium ne sait pas lire, est écarté dans
non-traites\plutôt que traité ; - une photo qui ne gagnerait rien à être compressée est recopiée telle quelle en sortie : un fichier déposé ressort toujours.
À la main
Trois lanceurs à double-cliquer dans D:\Procedures photos\ :
| Lanceur | Effet |
|---|---|
Compresser maintenant.cmd | une passe, puis sortie |
Simuler le gain.cmd | compresse en zone tampon, annonce le gain, jette le résultat |
Surveillance (fenetre visible).cmd | la boucle, console à l'écran |
py -3.12 compress_photos.py --une-fois
py -3.12 compress_photos.py --simulation
py -3.12 compress_photos.py --profil sans-perte --une-fois
py -3.12 compress_photos.py --profils
py -3.12 compress_photos.py # surveillance continue
La surveillance automatique
Tâche planifiée Photos-Caesium (ONLOGON), en place depuis le 2026-08-27 :
schtasks /Create /TN "Photos-Caesium" /TR '"C:\Users\julie\AppData\Local\Programs\Python\Python312\pythonw.exe" "D:\Syncthing\Jux_univers\Jux-scripts\Photos-Caesium\compress_photos.py"' /SC ONLOGON /RL LIMITED /F
pythonw.exe et non python.exe, sans quoi une console s'ouvre à chaque ouverture de session. Vérification par schtasks /Query /TN "Photos-Caesium" /V /FO LIST ou taskschd.msc ; retrait par /Delete.
Cette tâche doit être créée depuis la console de Julien, jamais depuis une session Claude Code. Une session Claude tourne dans un conteneur MSIX : la tâche figerait des chemins virtualisés et ne ferait rien, sans le moindre message. Voir la page 282.
Profils de compression
Définis dans config.json, modifiables sans toucher au code. --profil <nom> surcharge ponctuellement.
| Profil | Options | Gain sur photos de téléphone |
|---|---|---|
q80 (actif) | -q 80 | -59 à -72 % |
q90 | -q 90 | environ -45 % |
sans-perte | --lossless | -23 % |
web-3000px | -q 80 --long-edge 3000 --no-upscale | environ -85 % |
Options communes à tous les profils : -e --keep-dates --min-savings 1%.
Le profil actif ne redimensionne pas. q80 ne touche ni aux dimensions ni au nombre d'étiquettes EXIF. web-3000px, qui ramènerait le grand côté à 3 000 pixels, figure dans config.json mais n'est pas sélectionné — à n'activer que sur demande explicite.
« Sans altérer la qualité » coûte les deux tiers du gain
C'était la demande initiale, et elle mérite d'être précisée : les deux modes de Caesium n'ont rien de comparable en rendement.
--losslessne touche pas un seul pixel. Il reconstruit les tables de Huffman et réoptimise le conteneur. Sur 71 photos réelles : -23 %.-q 80ré-encode l'image. La différence est invisible à l'œil sur une photographie, et c'est le réglage par défaut de l'interface graphique Caesium — celui qui donne l'impression que « Caesium compresse admirablement bien ». Sur les mêmes fichiers : -64 %.
D'où q80 par défaut. Pour des originaux irremplaçables, basculer sur sans-perte dans config.json, ou traiter ce lot-là avec --profil sans-perte.
Ce qui est garanti : EXIF, GPS, dates, dimensions
Vérifié deux fois, par la mesure et non par relecture du code.
Contrôle du 2026-09-28 — la chaîne réelle, de bout en bout
Trois photos du Xiaomi 15T Pro, dont deux géolocalisées, déposées sans rien lancer : c'est la surveillance qui les a prises, comme pour un dépôt ordinaire.
| Contrôle | Résultat |
|---|---|
| Bloc EXIF | identique à l'octet près — 52 334 / 52 740 / 52 782 octets |
| Coordonnées GPS | 43.675676, 4.634059 avant et après, au chiffre près |
| Date de prise de vue | identique à la seconde |
| Étiquettes EXIF | 72 → 72 (58 → 58 pour la photo sans GPS) |
| Dimensions | 4096×3072 inchangées |
Date de fichier (mtime) | identique — --keep-dates tient |
| Poids | 13,1 Mo → 5,1 Mo, -61 % |
Les 72 étiquettes conservées couvrent tout ce que l'appareil écrit : marque, modèle, objectif, ouverture, temps de pose, ISO, orientation, balance des blancs, et le bloc GPS complet. Rien n'est aplati ni simplifié — Caesium ne réécrit que les données d'image.
Mesure de référence du 2026-08-27
71 photos de téléphone (lot « Ligurie 2026 »), Ryzen 5 2600X, --threads 0 :
| Taille | Durée | |
|---|---|---|
| Originaux | 251,1 Mo | — |
q80 | 90,4 Mo (-64,0 %) | 22 s |
sans-perte | -22,8 % | — |
Soit environ 12 Mo/s de débit : un vidage de carte SD de 8 Go se traite en une dizaine de minutes. Le contrôle EXIF de ce jour-là portait sur trois fichiers et donnait déjà un bloc EXIF identique à l'octet (1 819 / 52 665 / 52 597 octets), IFD GPS présent, dimensions inchangées.
L'outil de contrôle
Jux-scripts/Photos-Caesium/comparer_exif.py — stdlib seule. Prend deux dossiers et compare fichier par fichier : bloc EXIF octet par octet, GPS converti en degrés décimaux, DateTimeOriginal, appareil, dimensions, nombre d'étiquettes, mtime, poids.
py -3.12 comparer_exif.py <dossier_reference> <dossier_sortie>
Il rend un verdict global, et se prête au contrôle de sanité : lancé avec le même dossier des deux côtés, il doit tout déclarer conforme. À rejouer après toute modification de profil, de config.json ou du binaire.
⚠ L'incident du 2026-07-14 — le -e manquant
Une passe antérieure à la mise en place de cette procédure a été lancée sans -e.
Dégâts constatés le 2026-08-28, sur les photos de l'été 2026 : 275 fichiers dépouillés de tout bloc EXIF — date et GPS. Signature nette : 493 Ko de moyenne pour les fichiers traités, contre 1 103 Ko pour les 76 intacts du même voyage.
Conséquence différée, invisible sur le moment. Sans DateTimeOriginal, Immich se rabat sur la date du fichier. Or le WebDAV kDrive ne préserve pas les mtime : à la première resynchronisation, six semaines plus tard, les 275 photos sont allées se ranger au jour de la synchro et la chronologie du voyage s'est effondrée.
Le GPS est définitivement perdu. Seule la date a pu être reconstruite, depuis le nom des fichiers, par dater_photos_nas.py. Récit complet : page 164.
À faire avant toute passe de compression : vérifier -e dans la ligne de commande, et contrôler l'EXIF d'un fichier de sortie avant de traiter le lot. Un fichier de sortie sans bloc EXIF doit faire arrêter la passe immédiatement — les originaux ne sont pas toujours récupérables.
PC et NAS : le même moteur, une garantie de plus sur le NAS
Le stock photo du NAS suit sa propre procédure, en quatre étapes avec validation humaine (page 285). Le moteur, lui, est rigoureusement le même.
PC (compress_photos.py) | NAS (traiter_lot_nas.py) | |
|---|---|---|
| Binaire | caesiumclt 1.4.0, identique | |
| Profil | -q 80, identique | |
| Options communes | -e --keep-dates --min-savings 1%, identiques | |
| Date et propriétaire réimposés puis revérifiés | non | oui (os.utime, os.chown, puis relecture) |
La différence ne porte pas sur l'EXIF, protégé à l'identique par -e des deux côtés. Elle porte sur la date de fichier et le propriétaire, pour une raison propre au NAS : les photos y appartiennent à admin:users, et une compression lancée sans privilèges les réattribuerait toutes en cassant SMB et Synology Photos. Sur le PC il n'y a qu'un utilisateur, et la mesure montre que --keep-dates suffit.
Formats
Pris en charge : JPEG, PNG, WebP, GIF, TIFF.
Non pris en charge : HEIC (iPhone) et RAW. Ces fichiers partent dans non-traites\ — jamais supprimés — avec une ligne au journal. Si le besoin HEIC se présente, il faudra une étape de conversion en amont : Caesium ne sait pas le lire.
Arborescence
D:\Procedures photos\
├── Tofs a compresse\ ← dépôt (sous-dossiers acceptés)
├── Tofs-compressed\ ← résultat, même arborescence
├── originaux-traites\ ← originaux après traitement
├── non-traites\ ← formats non pris en charge
├── echecs\ ← abandons après 3 tentatives
├── bin\caesiumclt.exe
├── logs\photos_compress.log
├── config.json
├── Compresser maintenant.cmd
├── Simuler le gain.cmd
└── Surveillance (fenetre visible).cmd
Le script, lui, vit dans Jux-scripts/Photos-Caesium/, donc dans l'arbre Syncthing : versionné et disponible sur toutes les machines. Seules les données restent locales.
Pourquoi les dossiers sont hors de Syncthing
Ils avaient d'abord été créés dans D:\Syncthing\, puis déplacés. Ne pas les y remettre.
Il n'existe qu'un seul dossier Syncthing dans tout le maillage (afltj-njyuy), partagé avec 7 appareils dont le Xiaomi et la tablette SM-T720. Tout ce qui y tombe se réplique partout. C'est supportable pour Komga-PDF — un PDF de 130 Mo de temps en temps — mais un vidage de carte SD descendrait intégralement sur les téléphones, avant même que la compression ait commencé.
Conséquence assumée : le dépôt à distance n'est pas possible, on dépose depuis le PC.
Maintenance
- Vider
originaux-traites\de temps en temps — les originaux y sont conservés, pas effacés. C'est le dossier qui grossit. - Surveiller
non-traites\— s'il se remplit, des HEIC ou des RAW arrivent dans le flux. echecs\doit rester vide. Toute entrée signale un fichier corrompu ou un cas non prévu : consulter le journal.- Journal :
logs\photos_compress.log, rotation automatique à 5 Mo.
Reste à faire : décider du sort du lot de démonstration laissé dans Tofs-compressed\Ligurie 2026\ (71 photos, 90 Mo), qui sert à juger la qualité q80 à l'œil.
Annexe — fonctionnement interne
- Sondage toutes les 15 s du dossier de dépôt. Il n'y a pas d'inotify sous Windows ; le sondage est de toute façon la partie robuste du dispositif.
- Déclenchement après 20 s sans le moindre changement dans l'arborescence — taille ou date d'un fichier quelconque. Plafond de sécurité à 15 min, au-delà duquel on traite quand même.
- Le lot entier part en un seul appel à
caesiumclt, qui parallélise sur tous les cœurs (--threads 0). - Écriture d'abord dans
.staging, puis déplacement : jamais de fichier partiel visible dansTofs-compressed\. - Structure préservée (
-R -S). - Collision de nom en sortie : suffixe
(2),(3)… Rien n'est jamais écrasé. - Gain inférieur à 1 % (
--min-savings 1%) : Caesium n'écrit rien, le script recopie l'original tel quel. - Mémoire des échecs : 3 tentatives (clé taille + date, dans
.etat.json), puis mise à l'écart dansechecs\. - Journal persistant avec rotation à 5 Mo.
Les points 2, 4, 7, 8 et 9 reprennent d'emblée les correctifs apportés à komga_watch_vps.sh le 2026-08-23 (page 220) : événements perdus pendant le traitement, écriture non atomique, absence de mémoire des échecs, journal volatil. Autant ne pas refaire les mêmes erreurs.
config.json, clé apres_traitement : deplacer (défaut), supprimer, ou laisser. laisser fait retraiter le dépôt en boucle à chaque passe — à réserver aux tests.
Annexe — pièges rencontrés à l'installation
--dry-runde Caesium ne mesure rien. L'option existe et s'exécute sans erreur, mais le rapport JSON renvoiecompressed_size == original_size, soit 0,0 % de gain : elle simule l'écriture, pas la compression. Le mode--simulationdu script compresse donc réellement dans.staging, relève le chiffre, puis jette le résultat.-en'est pas le défaut — perte silencieuse des dates et du GPS. Voir l'incident ci-dessus.--jsonest la bonne interface de pilotage. Caesium renvoie un rapport structuré, une entrée par fichier (original_path,compressed_size,status…) plus unsummary. Le script s'appuie dessus plutôt que de parser la sortie texte.--min-savingsrend inutile le garde-fou maison. Sur Komga-PDF il avait fallu écrire à la main la règle « si la compression ne gagne rien, recopier l'original » ; Caesium l'implémente nativement.- Créer la tâche planifiée depuis Claude Code : à éviter (piège MSIX). La création avait d'ailleurs été refusée par le garde-fou de session — ce qui tombait bien.
- Le binaire ne s'installe pas.
caesiumclt.exeest un exécutable Rust statique de 5,7 Mo, sans dépendance ni installeur : on le dépose dansbin\et on le met à jour en le remplaçant.
Annexe — le binaire
| Version | caesiumclt v1.4.0, publiée le 8 juillet 2026 |
| Source | github.com/Lymphatus/caesium-clt/releases |
| Archive | caesiumclt-v1.4.0-x86_64-pc-windows-msvc.zip — 2 296 760 octets |
| SHA-256 | a56454a83207fc25830f4d12679d7385c0906060f2ce5f54345ac5a4cf94b00f |
| Licence | GPL / MPL selon les composants (bin\LICENSE.md) |
Le même dépôt publie caesiumclt-v1.4.0-x86_64-unknown-linux-musl.tar.gz, statique — c'est lui qui tourne sur le NAS, sans Docker ni Entware.
Annexe — pourquoi 100 % local, contrairement à Komga-PDF
Komga-PDF passe par le VPS. Photos-Caesium non, et c'est délibéré. Trois raisons, par ordre d'importance :
- Il n'y a pas de service à réutiliser. Komga-PDF s'appuie sur StirlingPDF, déjà déployé et qui expose
compress-pdfen HTTP. Pour les images, aucun équivalent : Caesium est un binaire en ligne de commande, pas un service. L'héberger sur le VPS n'apporterait pas une API, juste un exécutable — qu'on peut aussi bien poser sur le PC. - Le CPU. La compression JPEG est du calcul pur, massivement parallélisable. Le Ryzen 5 2600X offre 12 threads et ne fait généralement rien ; le VPS fait tourner une trentaine de conteneurs, avec un swap déjà occupé et un antécédent de saturation disque à 100 %.
- Le transfert. Les photos sont déjà sur place. Les envoyer au VPS pour les faire revenir consommerait deux fois le débit montant de la Livebox sans contrepartie.
Le seul cas qui justifierait le VPS serait de pouvoir déposer depuis le téléphone pendant que le PC est éteint — c'est précisément ce qui avait fait choisir le VPS pour Komga-PDF. Le portage serait trivial (binaire linux-musl statique, script en stdlib seule). À reconsidérer si le besoin apparaît.
Voir aussi
- Page 285 — les photos du NAS : procédure en quatre étapes avec validation humaine
- Page 220 — Komga-PDF, dont celle-ci reprend le principe et les correctifs
- Page 164 — Immich : réparation des dates après l'incident du
-emanquant - Page 282 — le piège MSIX de Claude Code sur le poste
julie
Copie de référence de cette page : Jux-scripts/Photos-Caesium/doc_bookstack_284.md. Mise en place le 2026-08-27, page réécrite intégralement le 2026-09-28.
260828-Tofs à compresse sur SASNEXTE
Compression des photos du NAS SASNEXTE
Procédure en service depuis le 2026-08-28, première bascule réelle le 2026-09-28. Même moteur que la procédure Photos-Caesium du PC (page 284), mais avec une validation humaine avant tout écrasement. Copie de référence : Jux-scripts/Photos-Caesium/doc_bookstack_285.md.
En bref
Les photos du NAS sont déjà à leur place dans /volume1/photo : on ne dépose rien. La procédure les prend là où elles sont, les compresse dans un dossier d'attente, et n'écrase l'original que ce que vous avez validé.
| Ce qui déclenche | rien — c'est vous qui choisissez un lot |
| Où valider | photos_reprise dans Synology Photos |
| Comment refuser | supprimer la photo du dossier de validation |
| Moteur | caesiumclt v1.4.0 musl, natif sur DSM |
| Gain constaté | -50 à -65 % selon les albums |
| Débit sur le DS220+ | 1,55 à 1,75 Mo/s |
Le refus ne demande aucune action. Une photo absente du dossier de validation au moment de la bascule voit son original conservé, sans rien à cocher ni saisir. L'inaction est le comportement sûr : un lot abandonné en route, une session interrompue, un oubli — rien ne se perd par négligence, seulement par décision explicite.
La procédure, en quatre commandes
1. Voir les lots disponibles
python3 /volume1/homes/SAS_NEXTE/scripts/traiter_lot_nas.py --lister
Affiche chaque sous-dossier avec son nombre de photos à traiter et son poids, du plus lourd au plus léger. C'est ce qu'on passe ensuite à --lot.
2. Compresser un lot — les originaux ne sont pas touchés
python3 /volume1/homes/SAS_NEXTE/scripts/traiter_lot_nas.py --lot "2026/2026-Automne"
--lot accepte un préfixe d'album ou de chemin : 2022 prend toute l'année, 2026/2026-Automne un seul sous-album. Le préfixe suffit, inutile de taper les accents. Les photos compressées arrivent dans /volume1/homes/SAS_NEXTE/Photos/photos_reprise, en reproduisant l'arborescence.
3. Valider dans Synology Photos
Ouvrez photos_reprise dans l'application, en plein écran, et supprimez les photos dont la qualité ne convient pas. Ce qui reste vaut validation.
4. Basculer
python3 /volume1/homes/SAS_NEXTE/scripts/basculer_lot_nas.py --lot "2026/2026-Automne"
sudo python3 /volume1/homes/SAS_NEXTE/scripts/basculer_lot_nas.py --lot "2026/2026-Automne" --go
La première ligne est une simulation : elle annonce combien de photos seront remplacées et combien sont refusées. La seconde écrase pour de vrai.
⚠ Le
sudon'est pas décoratif. Les photos appartiennent àadmin:users. Lancée sousSAS_NEXTE, la bascule les réattribuerait toutes et casserait l'accès SMB et Synology Photos. Le script refuse de s'exécuter sans root (geteuid), avec un message explicite.
La règle : on ne compresse pas une photo de moins de 2 Mo
Aucun bénéfice à recompresser une numérisation ancienne de 700 Ko pour lui gagner 80 Ko, au prix de la réécriture d'un fichier irremplaçable.
| Seuil | Fichiers à traiter | Poids couvert | Gain estimé | Durée |
|---|---|---|---|---|
| 1 Mo | 12 253 (74,6 %) | 95,6 % | 21,6 Go | 6,6 h |
| 2 Mo | 9 077 (55,3 %) | 82,4 % | 18,6 Go | 5,7 h |
| 3 Mo | 4 839 (29,5 %) | 55,4 % | 12,5 Go | 3,8 h |
À 2 Mo on écarte 45 % des fichiers pour seulement 18 % du poids. Descendre à 1 Mo ajouterait 3 Go de gain contre 3 176 fichiers supplémentaires ; monter à 3 Mo sacrifierait 6 Go pour n'économiser que deux heures.
Effet secondaire heureux : les albums de numérisations anciennes sortent d'eux-mêmes du périmètre. 1967 à 2000 - photos famille Bertrand (536 images, 2,62 Go) et 2005 - naissance Elio (869 images) ont zéro fichier à traiter. La règle protège le patrimoine le plus fragile sans qu'on ait eu à le désigner.
Ce qui est garanti
EXIF, GPS, dimensions
Vérifié sur les fichiers du NAS puis, après la bascule du 2026-09-28, sur les photos réellement écrasées : bloc EXIF identique à l'octet près, IFD GPS présent et coordonnées au chiffre près, dimensions inchangées, jeu complet d'étiquettes (72 sur un Xiaomi 15T Pro, 54 et 45 sur des photos plus anciennes).
Cela dépend entièrement de l'option -e, qui n'est pas le défaut de Caesium — voir l'incident du 14 juillet en page 284, qui a coûté le GPS de 275 photos.
La date de modification, et pourquoi elle compte
Immich construit sa chronologie à partir du DateTimeOriginal EXIF quand il existe, et du mtime du fichier quand il n'existe pas — cas des images WhatsApp, des captures d'écran et des scans. 1 853 photos, soit 10,5 % du stock, sont dans ce cas (colonne origine_date de la base).
Les deux scripts ne se reposent donc pas sur --keep-dates : ils relèvent mtime, atime, uid, gid et permissions avant traitement, les réimposent par os.utime / os.chown / os.chmod, puis relisent le fichier et lèvent une exception si le mtime a bougé d'une seconde. Assertion vérifiée fichier par fichier.
Preuve : 26 photos témoins, dates identiques à la seconde, propriétaire restauré, originaux intacts. Le contrôle intégré a d'ailleurs détecté 26 écarts lors d'un essai en non-privilégié, contre 0 en root — c'est lui qui a établi l'obligation du sudo.
Ce que la procédure apporte face à une compression au fil de l'eau
- Auditable : chaque décision est tracée dans une base interrogeable, pas dispersée dans un journal.
- Réversible tant que la bascule n'a pas eu lieu : l'original reste intact pendant toute la validation.
- Interruptible : la procédure est faite pour s'arrêter entre deux lots et reprendre des jours plus tard.
- Le refus est passif, donc sûr par construction.
Où en est le chantier
Inventaire du 2026-09-28 : 17 715 images, 41,41 Go, dont 9 014 à retraiter (30,80 Go) et 8 701 écartées (10,61 Go). 417 vidéos (21,22 Go) sont mises de côté pour un chantier ultérieur.
Lots basculés
| Lot | Photos | Avant | Après | Gain |
|---|---|---|---|---|
2022 (4 albums) |
359 | 1 501 Mo | 518 Mo | 983 Mo |
2026/2026-Automne |
22 (+1 refusée) | 94,05 Mo | 46,44 Mo | 47,6 Mo |
| Total | 381 | 1 031 Mo |
Reste à faire
- 8 632 photos, 29,25 Go encore en
a_traiter— le gros du gisement - 1,75 Go de doublons à arbitrer à la main (252 photos renommées + 1 018 inter-albums)
- Décider du sort des 624 PNG (2,95 Go) : le sans-perte y rend environ -28 % sans aucune altération
- Trancher le remplacement des versions dégradées par les versions « (conflit) », qui sont les meilleures (voir l'annexe)
- Faire aboutir l'authentification par clé SSH, pour cesser de passer le mot de passe
La base est actualisée chaque nuit
Une photo ajoutée après le dernier inventaire est invisible de traiter_lot_nas.py, qui travaille à partir de la base. C'est exactement ce qui s'est produit le 2026-09-28 avec l'album 2026-Automne à Noel, créé après l'inventaire du 28 août : il a fallu reconstruire la base avant de pouvoir le traiter.
D'où une tâche nocturne, posée le 2026-09-28.
| Script | /volume1/homes/SAS_NEXTE/scripts/inventaire_nuit.sh |
| Tâche DSM | quotidienne, 2 h, utilisateur SAS_NEXTE |
| Commande | bash /volume1/homes/SAS_NEXTE/scripts/inventaire_nuit.sh |
| Journal | /volume1/homes/SAS_NEXTE/logs/inventaire_nuit.log, rotation à 2 Mo |
| Durée | 9 min 20 pour 17 715 images |
Utilisateur SAS_NEXTE, surtout pas root : l'inventaire ne fait que lire /volume1/photo, et en root les fichiers produits appartiendraient à root — un lancement manuel ultérieur échouerait alors à les écraser.
Trois protections, parce que personne ne regarde tourner une tâche de nuit
- Verrou par PID — un inventaire qui déborde ne se fait pas doubler. Le test porte sur le PID enregistré (
kill -0) et non surps, dont la sortie est tronquée sur DSM. - La base n'est plus supprimée avant reconstruction. Elle est bâtie dans
photos.sqlite.tmppuis remplacée à la fin paros.replace, après sauvegarde rotative sur 7 jours (photos_j1.sqliteàphotos_j7.sqlite). Vérifié : un plantage en cours de route laisse la base et le suivi de validation intacts, sans.tmprésiduel. - ⚠⚠ Refus d'écrire sur source vide. Zéro image trouvée = refus et code 2. Un soir où
/volume1/photone serait pas monté, un inventaire vide écraserait sinon la base — et avec elle le suivi des lots en cours de validation. Même principe que le refus de source vide desync_kdrive_complete.sh.
Le canari du matin la surveille
Entrée inventaire dans la section nas de Etat-Infra/config.json (max_heures: 30, attendu BILAN NUIT: OK). La sonde est greffée sur la session SSH que la vérification NAS ouvre déjà — aucune connexion supplémentaire. Elle alerte si le journal est absent, vieux de plus de 30 h, ou si le dernier bilan est en échec ; muette le reste du temps.
L'inventaire conserve le suivi des lots lors d'une reconstruction. Statuts, lots, tailles obtenues et dates de traitement sont reportés depuis la base précédente pour toute photo dont le chemin n'a pas changé. Sans cela, le passage nocturne effacerait chaque nuit l'avancement des lots en validation.
Annexe — la base et les statuts
Sorties dans /volume1/homes/SAS_NEXTE/inventaire/, accessibles en SMB sous \\10.0.0.2\home\inventaire\ : photos.csv (tableur ou Metabase), photos.sqlite (SQL), videos.csv, resume.txt.
Colonnes de la table photos : album, chemin, nom, format, octets, mo, date_prise_vue, origine_date, date_modif, largeur, hauteur, appareil, gps_lat, gps_lon, a_traiter, motif_ecart, empreinte, doublon_de, quasi_doublon, statut, lot, octets_apres, date_traitement.
⚠ Les chemins sont relatifs à /volume1/photo (2022-hiver à Paques/IMG….jpg), et l'album est le premier segment du chemin : toutes les photos de /volume1/photo/2026/<sous-album>/ portent donc l'album 2026. C'est pourquoi --lot accepte aussi un chemin.
| Statut | Signification |
|---|---|
a_traiter |
retenue par le seuil, pas encore compressée |
ecarte |
sous le seuil, ou format non pris en charge |
en_validation |
compressée, en attente du jugement dans Synology Photos |
bascule |
validée et écrasée — octets porte la nouvelle taille |
refuse |
supprimée du dossier de validation : original conservé |
sans_gain |
la compression n'apportait rien, original conservé |
Requêtes utiles :
-- ce qui sera traité, par album
SELECT album, count(*) AS n, round(sum(mo)/1024, 2) AS go
FROM photos WHERE a_traiter = 1 GROUP BY album ORDER BY go DESC;
-- où en sont les lots
SELECT lot, statut, count(*) FROM photos
WHERE lot IS NOT NULL AND lot != '' GROUP BY lot, statut;
-- les photos dont la chronologie Immich dépend du mtime
SELECT album, count(*) FROM photos WHERE origine_date = 'mtime' GROUP BY album;
-- exclure un album entier du traitement
UPDATE photos SET a_traiter = 0, motif_ecart = 'exclu manuellement' WHERE album = '...';
La chaîne d'outils
Six scripts dans Jux-scripts/Photos-Caesium/, stdlib seule, déployés sur le NAS dans /volume1/homes/SAS_NEXTE/scripts/.
| Script | Étape | Rôle |
|---|---|---|
inventaire_photos_nas.py |
1 | recense tout, détecte les doublons, propose la sélection |
inventaire_nuit.sh |
1 | lanceur nocturne : verrou, journal, bilan pour le canari |
nettoyer_doublons_nas.py |
1 bis | écarte les doublons certains, en quarantaine |
traiter_lot_nas.py |
3 | compresse un lot vers le dossier de validation |
basculer_lot_nas.py |
4 | écrase les originaux validés, constate les refus |
comparer_versions.py |
— | compare la qualité de deux versions d'une même photo (DQT) |
Garde-fous intégrés : traiter_lot_nas.py appelle caesiumclt sans -R, dossier par dossier — aucun @eaDir ne peut être touché, sans avoir besoin d'option d'exclusion. Liste de fichiers explicite limitée aux JPEG : passer un dossier ferait traiter les PNG et TIFF en lossy. Sortie validée (FF D8, taille inférieure) avant dépôt. Budget --minutes, reprise en relançant la même commande.
Annexe — les correctifs du 2026-09-28
La chaîne n'avait jamais été jouée jusqu'à la bascule. Six défauts, tous découverts en conditions réelles, tous dormant depuis le 28 août.
⚠⚠ os.replace() ne traverse pas deux partages Synology. Errno 18, Invalid cross-device link — 359 échecs d'un coup. Chaque partage DSM est un sous-volume Btrfs distinct : /volume1/homes et /volume1/photo sont deux devices pour le noyau, malgré le /volume1 commun. remplacer() copie désormais vers un tampon .nouveau créé à côté de l'original (même sous-volume), y pose permissions, propriétaire et dates, puis os.replace — atomique. Le fichier de validation n'est supprimé qu'après succès et vérification du mtime. Aucun dégât : le try/except a tenu, les 359 originaux et la base sont restés intacts.
⚠ Le bilan annonçait un succès après un échec total : « 983,47 Mo récupérés » s'affichait sous « 0 original remplacé, 359 échecs », parce qu'il additionnait le gain théorique du lot. Un bilan qui ment ainsi est pire qu'une absence de bilan. Le gain est désormais compté photo par photo au moment du succès, et tout échec déclenche une ligne disant explicitement que les originaux sont inchangés.
⚠ --lot ne savait viser qu'une année entière : les cinq sous-albums de 2026 étaient fondus dans un lot 2026 de 115 photos. Le filtre porte maintenant sur l'album ou le chemin, et --lister groupe sur les deux premiers segments. Rétrocompatible.
⚠ --lister exigeait --lot, alors qu'il sert précisément à découvrir quoi passer à --lot.
⚠ Les messages de fin donnaient des commandes inutilisables — python3 basculer_lot_nas.py … sans chemin, sans sudo, sans --go, d'où un « No such file » depuis le répertoire personnel. Chemins absolus et trois étapes numérotées désormais.
⚠ purger_vides() ne supprimait jamais rien : Synology dépose un @eaDir de vignettes dans chaque dossier, compté comme du contenu par os.listdir(). photos_reprise gardait donc l'apparence de lots encore en attente de validation. @eaDir et Thumbs.db sont maintenant ignorés, puis emportés avec le dossier.
Annexe — les doublons
L'inventaire a trouvé 1 334 doublons exacts (1,93 Go) et 1 278 quasi-doublons. Méthode : SHA-256 intégral mais calculé uniquement entre fichiers de taille identique — 2 360 candidats sur 17 835, ce qui évite de hacher 41 Go. Les quasi-doublons sont repérés par DateTimeOriginal + dimensions identiques.
Sur les 1 334, seuls 75 ont été écartés (190 Mo, en quarantaine dans /volume1/homes/SAS_NEXTE/doublons_ecartes, jamais effacés directement).
⚠ Un doublon inter-albums n'est pas une erreur, c'est souvent une intention
1930-2016 - Photos BERTRAND MER et 2016-best photos pour 70 ans partagent 516 fichiers identiques : c'est une sélection faite pour un anniversaire. Les supprimer aurait vidé l'album. Ne jamais dédoublonner sur la seule empreinte — 1 018 fichiers laissés intacts pour cette raison.
Le critère de conservation : la relation de préfixe
Un suffixe de copie est toujours ajouté au nom d'origine. Si un nom du groupe est préfixe strict de tous les autres, c'est l'original. Structurel, sans heuristique. Couvre _1, - Copie, et les cascades de conflits Syncthing (un fichier existait en 7 exemplaires).
Deux pièges à ne pas refaire :
_\d+$est un mauvais marqueur de copie — il prend les numéros d'appareil pour des suffixes (IMG_0322,20190830_221854). Il ne donnait le bon résultat que par accident. Retiré.- Le suffixe Windows français est
« - Copie »avec des espaces autour du tiret :[-_](copie|copy)$ne l'attrape pas. Motif correct :\s*[-_]\s*(copie|copy)(\s*\(?\d+\)?)?\s*$.
Mode prudent par défaut (décision de Julien : « la règle la plus prudente, tant pis s'il reste des doublons ») : un groupe sans relation de préfixe n'est pas traité. 264 groupes de photos renommées (20150808_185538.jpg ↔ Croatie_août_2015_142.jpg, 0,60 Go) laissés en l'état — choisir le nom qui survit est une décision humaine.
Seconde passe --conflits : 24 fichiers de plus. Le nommage Google Drive français Copie de P1060905 (conflit du 19-03-2018 à 00h18).jpg encadre l'original au lieu de le suffixer, donc le critère de préfixe ne pouvait pas le voir. Garde-fou : on n'écarte un conflit que s'il subsiste un exemplaire propre dans le groupe — 6 fichiers laissés en place car tous les exemplaires de leur groupe étaient des copies de conflit.
Annexe — ⚠⚠ les fichiers « (conflit) » sont les ORIGINAUX
Contre-intuitif, et vérifié : sur ce stock, un Copie de X (conflit du …).jpg est la meilleure version, et le fichier au nom propre portant le même radical est une recompression dégradée.
Mesuré sur 12 paires par la table de quantification JPEG (DQT — somme basse = moins dégradé) : 10 cas sur 12 donnent la version conflit gagnante, avec un DQT de 292 contre 700 à 1 000, une taille 2 à 3 fois supérieure et un bloc EXIF trois fois plus riche, à dimensions rigoureusement identiques. Un événement de mars 2018 a réécrit ces photos en qualité réduite.
La consigne « supprimer tout ce qui porte (conflit) » aurait détruit la meilleure version de 10 photos. Ce qui les a sauvées : le garde-fou « n'écarter un conflit que s'il subsiste un exemplaire propre dans le groupe » — et il les a écartées pour une raison qui n'était pas la bonne (leurs octets diffèrent, elles n'étaient donc pas des doublons exacts). Un garde-fou conservateur protège aussi contre les erreurs qu'on n'avait pas prévues.
Décision en attente : remplacer les versions dégradées par les versions de conflit et leur rendre leur nom. Outils prêts, jamais exécutés en écriture : comparer_versions.py (comparaison DQT) et renommer_conflits.py (retire l'encadrement, ne renomme que si le nom cible est libre).
Annexe — pièges SSH et DSM
Une bannière SSH qui répond ne prouve pas que l'accès soit ouvert. Le port 22 renvoyait SSH-2.0-OpenSSH_8.2, annonçait publickey,password et évaluait les identifiants avant de les rejeter — ce qui a conduit à soupçonner à tort le groupe administrators, puis la vérification en deux étapes. Les deux hypothèses étaient fausses : le service était désactivé et le port fermé par les règles DSM.
Le compte Unix est SAS_NEXTE en majuscules (uid 1026), alors qu'on s'y connecte en sas_nexte. DSM est insensible à la casse à l'ouverture de session, mais le dossier personnel et le propriétaire des fichiers portent la forme majuscule.
Le § du mot de passe ne survit pas à Git Bash → plink. Le construire côté cible en octets explicites :
printf 'xAPIJU5108\xc2\xa7' > /tmp/pw
sshpass -f /tmp/pw ssh -o NumberOfPasswordPrompts=1 sas_nexte@10.0.0.2
-o NumberOfPasswordPrompts=1 est important : sans lui, un échec compte pour trois tentatives auprès du blocage automatique de DSM.
Autres pièges :
scpéchoue (dest open: No such file or directory) — DSM n'expose pas de sous-système SFTP. Transférer par un tube :ssh nas 'cat > cible' < source./tmpest monténoexec: un binaire y est marqué exécutable mais refuse de démarrer. Les exécutables vivent sur/volume1.ps wtronque sa sortie sur DSM : ungrepdessus a répondu 0 alors que le processus tournait, ce qui a conduit à lancer une seconde copie sur la même destination. Tester la vivacité parps -eo pid,sid,args, ou par PID.nohupne suffit pas à détacher un script lancé par SSH : utilisersetsid script.sh < /dev/null > /dev/null 2>&1 &.- Authentification par clé non aboutie : clé publique déposée dans
~/.ssh/authorized_keys(intacte, vérifiée), toujours refusée — probablementStrictModes, qui rejette un dossier personnel accessible en écriture au groupe, ce que Synology crée par défaut. Clé privée enD:\SSH\nas_sasnexte, hors arbre Syncthing.
Annexe — Immich, ce qu'il faut savoir d'ici
Immich lit /home/debian/photo sur le VPS — le miroir kDrive de /volume1/photo — et ignore les dossiers personnels : le dossier de validation ne l'affecte donc pas. Bibliothèque externe 89bfcdc1-1604-47a1-90a3-975d2f6c4639, chemin /mnt/media/photo. Relecture après traitement : resynchronisation puis POST /api/libraries/{id}/scan.
Il n'existe pas de MCP Immich dans ces sessions (perdu avec le profil eliob). Passer par l'API : POST /api/auth/login → JWT, puis POST /api/search/metadata (withExif: true, accepte isOffline, originalFileName, takenAfter/takenBefore, pagine par nextPage) et GET /api/assets/statistics.
⚠ GET /api/timeline/buckets?size=MONTH est le seul moyen fiable d'obtenir des totaux : le champ total de la recherche ne renvoie que le compte de la page courante.
Bibliothèque au 2026-08-28 : 18 156 éléments, dont 2 datés de l'an 4501 — des scans du Nikon LS-5000 dont le fichier portait une date aberrante, corrigés depuis à 1979. Récit complet : page 164.
Annexe — la machine et le stock
| Modèle | Synology DS220+ |
| Processeur | Intel Celeron J4025 @ 2,00 GHz — 2 cœurs, pas d'HyperThreading |
| Mémoire | 5,8 Go |
| Volume | btrfs, 5,3 To, 1,4 To libres |
| Binaire | /volume1/homes/SAS_NEXTE/bin/caesiumclt — v1.4.0, x86_64-unknown-linux-musl |
Le binaire musl est statique et sans aucune dépendance : il s'exécute nativement sur DSM, sans Docker ni Entware.
Composition de /volume1/photo au relevé initial :
| Contenu | Fichiers | Poids | Traité ? |
|---|---|---|---|
| JPEG | 16 422 | 37,59 Go | oui — la cible |
| MP4 + MOV | 413 | 21,11 Go | non |
| PNG | 624 | 2,95 Go | oui, en sans-perte |
| HEIC | 691 | 0,79 Go | non pris en charge |
| TIFF, PSD, divers | ~157 | 0,76 Go | TIFF oui, PSD non |
@eaDir — vignettes Synology |
94 791 | 15,36 Go | à ne jamais toucher |
⚠ Attention au recensement naïf : un find … -iname '*.jpg' sans exclure @eaDir compte 71 802 fichiers au lieu de 16 422, parce qu'il ramasse les vignettes. Un échantillon constitué ainsi fausse gravement la taille moyenne.
Annexe — pourquoi le NAS et pas le PC
Le PC est sept fois plus rapide (11,4 Mo/s contre 1,55 sur le J4025), mais le tunnel WireGuard est en étoile via le VPS et plafonne à 4,01 Mo/s. Faire passer 53 Go de lecture et de réécriture y prendrait plus de quatre heures en saturant le lien, PC allumé. Le NAS travaille la nuit, gratuitement.
Cet arbitrage vaut pour le stock complet. Sur un lot de quelques dizaines de mégaoctets, le calcul s'inverse — mais la procédure de validation, elle, reste la même.
Points de vigilance permanents
1. La sauvegarde. sync_kdrive_complete.sh ne synchronise que /volume1/photo/2026 vers kDrive, et en miroir (rclone sync --delete-during). Les JPEG de 1967 à 2025 n'ont aucune copie hors du NAS par cette voie. Une archive Hyper Backup (NEXTE_1.hbk) tourne chaque nuit, mais son périmètre exact n'a pas été confirmé. À établir avant toute réécriture de masse.
2. La compression sur place est irréversible. Le profil q80 est un ré-encodage. C'est toute la raison d'être de l'étape de validation.
3. Ne jamais toucher aux @eaDir. Les compresser casserait Synology Photos, qui les régénérerait aussitôt.
4. Synology Photos indexe le dossier de validation et génère ses vignettes : comptez du temps machine et quelques gigaoctets de @eaDir supplémentaires, restitués dès le dossier vidé. Hyper Backup le sauvegardera aussi la nuit suivante — gonflement temporaire, résorbé après la bascule.
5. HEIC et vidéos restent hors de portée. Pour les vidéos, le levier serait un ré-encodage H.265 : un tout autre chantier, très au-delà d'un J4025.
Voir aussi
- Page 284 — la procédure Photos-Caesium sur le PC, dont celle-ci reprend le moteur et les réglages
- Page 164 — Immich : réparation des dates après l'incident du
-emanquant - Page 245 — le tunnel WireGuard qui donne accès au NAS
- Page 238 — la synchronisation NAS → kDrive
260830 - Basculement des videos de SASNEXTE vers kDrive
260830 - Basculement des vidéos de SASNEXTE vers kDrive
Objectif : libérer 694 Go sur le NAS sasnexte en déplaçant /volume1/video vers kDrive, en répliquant l'arborescence à l'identique. Jellyfin lira ensuite depuis kDrive — procédure 2, documentée sur la page 165 (14_Jellyfin).
Statut au 2026-08-30 : étapes 1 à 5 terminées. Les 694 Go sont sur kDrive, vérifiés, et Jellyfin les lit déjà. Seule l'étape 6 reste — la suppression sur le NAS — volontairement en attente.
Mesures du 2026-08-30
Le dossier video
df est trompeur : ses 4,0 To sont le volume /volume1 entier, pas le partage vidéo.
| Dossier | Taille |
|---|---|
| movies | 163,1 Go |
| cinema_italie | 111,0 Go |
| fantastique_et_SF | 84,4 Go |
| series | 83,6 Go |
| documentaires | 60,6 Go |
| cinema_realisateurs | 47,1 Go |
| culture_cuisine | 31,7 Go |
| animes | 27,7 Go |
| cinema_europe | 24,2 Go |
| historiques | 21,7 Go |
| cinema_asie | 12,0 Go |
| spectacles | 11,6 Go |
| palettes | 8,9 Go |
| cinema_UK | 7,3 Go |
| alladomanda | 2,0 Go |
#recycle (corbeille DSM, non transférée) |
10,5 Go |
| Total transféré | 694,55 Go — 4 044 fichiers |
Seulement ~423 vidéos réelles (266 mkv, 94 mp4, 54 avi, 7 vob). Le reste est de l'habillage Jellyfin : 2 989 jpg (vignettes trickplay), 408 nfo, 170 png, 40 srt.
Autres partages du volume, pour situer
video 707 Go · Komga 552 Go · audiobooks 374 Go · music 133 Go · photo 84 Go · homes 36 Go. Le solde des 4,0 To est constitué d'@ActiveBackup, @docker et des snapshots.
Débits mesurés
| Trajet | Débit |
|---|---|
| NAS vers kDrive (rclone WebDAV, 1 flux) | 44 Mo/s |
| NAS vers kDrive (3 transferts parallèles) | 62 à 78 Mio/s |
| kDrive vers VPS | 97,6 Mo/s |
| kDrive vers NAS | 89,5 Mo/s |
| NAS vers VPS aujourd'hui (CIFS via WireGuard) | 5,0 Mo/s |
| Disque local NAS (lecture) | 49 à 58 Mo/s |
Conséquence contre-intuitive : la bascule améliore la lecture au lieu de la dégrader. Jellyfin plafonne aujourd'hui à 5,0 Mo/s (40 Mbit/s) : suffisant pour un 1080p courant, juste pour un remux, et incompatible avec deux flux simultanés. Via kDrive, le VPS descend à 780 Mbit/s. Le goulot était le tunnel WireGuard depuis Toulon, pas kDrive.
Espace kDrive
Capacité 6,60 To · utilisé 4,21 To · libre 2,39 To. Après bascule : environ 1,69 To restants. Renouvellement de l'abonnement le 2026-09-20.
Le dossier video n'avait AUCUNE sauvegarde
Vérifié le 2026-08-30 : aucune des 4 tâches Hyper Backup (2509NEXTE, Toojux_Home, Alteris, Bckup_Vero_photos) ne mentionne video, pas de snapshot (#snapshot absent), et il ne fait pas partie des 4 dossiers de sync_kdrive_complete.sh.
Le déplacement ne fait donc pas passer de deux copies à une. Il déplace l'unique copie d'un DS220+ à deux baies sans sauvegarde vers une infrastructure redondée avec corbeille. C'est une amélioration, pas une prise de risque.
Les deux risques réellement nouveaux :
- un
rclone syncmal dirigé côté kDrive effacerait tout — le renommage du 2026-08-28 avait déjà fait voir 308 suppressions à rclone ; - l'abonnement kDrive se renouvelle le 20/09.
Procédure
| # | Étape | Durée | Réversible |
|---|---|---|---|
| 0 | Analyse de doublons NAS contre Videos_NAS |
10 min | oui |
| 1 | rclone copy — fait, 08:35 → 11:03 (2 h 28) |
2 h 28 | oui |
| 2 | rclone check --download — fait, 11:05 → 13:21, 0 différence sur 4 056 fichiers |
2 h 16 | oui |
| 3 à 5 | Bascule Jellyfin — faite, voir page 165 | 30 min | oui |
| 6 | Suppression sur le NAS : 694 Go libérés, volume de 75 % à ~62 % — EN ATTENTE | 5 min | non |
Script : /volume1/homes/SAS_NEXTE/scripts/basculement_video.sh (source de vérité dans Jux-scripts/).
Journal : /volume1/homes/SAS_NEXTE/logs/basculement_video_260830.log.
Verrou : /volume1/homes/SAS_NEXTE/logs/basculement_video.pid.
rclone --config /volume1/homes/SAS_NEXTE/.config/rclone/rclone.conf copy \
/volume1/video kdrive_music:Videos_NAS/video \
--exclude '/#recycle/**' --exclude '**/@eaDir/**' \
--exclude '**/.DS_Store' --exclude '**/Thumbs.db' \
--create-empty-src-dirs \
--transfers 3 --checkers 8 --retries 3 --low-level-retries 10 \
--stats 5m --stats-one-line -v
copy, jamais sync : la source n'est jamais modifiée par le script. La suppression est un geste manuel séparé, en étape 6.
Étape 2 — pourquoi la vérification par téléchargement est obligatoire
Le WebDAV kDrive n'expose aucun hash (rclone backend features kdrive: donne Hashes: []). Après transfert, rclone ne peut comparer que les tailles. Pour un déplacement qui se termine par une suppression de la source, c'est insuffisant : il faut rclone check --download, qui retélécharge tout et compare les empreintes calculées à la volée. 694 Go à 89,5 Mo/s = environ 2 h 10. Non négociable avant l'étape 6.
Étape 0 — résultat de l'analyse de doublons
Videos_NAS (racine kDrive) pèse 246,7 Go : Video Culture Arts et Peinture 130,80 · Video Cuisine 83,10 · Video Architecture et Urbanisme 29,38 · Video concerts 3,46.
culture_cuisine et Video Cuisine ne se recoupent pas du tout. Le NAS porte Chef's Table et Man vs Food, kDrive porte Rick Stein, Jamie Oliver, Entre les Bras. Zéro collision de nom.
Seuls 2 vrais doublons, 1,60 Go, tous deux contre Videos_NAS et non à l'intérieur du périmètre transféré :
palettes/De Cimabue a Giotto, les premiers maitres italiens.mp4(0,87 Go) contreVideo Culture Arts et Peinture/documentaires/Justice - a Cross Universe/....avi(0,73 Go) contreVideo concerts/
Décision : ils ont été transférés quand même. Ces deux fichiers appartiennent à des bibliothèques Jellyfin distinctes ; 1,6 Go ne justifiait pas de casser la réplication.
Emplacement final : Private/Videos_NAS/video/
La destination initiale SYNC-pour_VPS/Sync-SASNEXTE/video était une erreur de conception, corrigée le jour même sur remarque de Julien.
Cet espace est celui des copies miroir du NAS : quatre dossiers que sync_kdrive_complete.sh synchronise chaque jour en rclone sync --delete-during. Or video n'est pas une copie — après l'étape 6, c'est l'original, lu directement par Jellyfin. Le nom promettait une synchronisation qui n'existe pas, et surtout il tendait un piège : le jour où quelqu'un ajoute video à ce script — geste naturel vu l'emplacement — un sync depuis une source NAS vidée effacerait les 694 Go.
Le déplacement a pris 2 secondes : rclone moveto, Server side directory move succeeded, aucun octet retransféré. Le remote kDrive annonce DirMove: True — toute réorganisation de l'arborescence kDrive est donc gratuite, quelle que soit la volumétrie.
Deux fusions décidées dans la foulée
| Source | Destination | Volume |
|---|---|---|
video/series |
Videos_NAS/Séries (qui était vide) |
399 objets, 77,8 Gio |
video/culture_cuisine |
Videos_NAS/Video Cuisine (77,4 Gio existants) |
286 objets, 29,6 Gio |
Vérification de non-collision faite avant : Séries était vide, et les deux ensembles cuisine n'avaient aucun nom commun au premier niveau (Chef's table, Man VS Food d'un côté ; France, India, Globe cooker, Cuisines des Terroirs de l'autre). 126 s en tout, côté serveur.
Les comptes tombent juste : 4 056 − 399 − 286 = 3 371 objets restants dans video/, et 77,393 + 29,566 = 106,959 Gio dans Video Cuisine.
Arborescence finale
Private/Videos_NAS/ 878,7 Gio, 4 781 objets <- monté sur /mnt/nas_videos
├── Séries/ 77,8 Gio -> /data/series
├── Video Cuisine/ 107,0 Gio -> /data/culture_cuisine
├── Video Culture Arts et Peinture/ 130,8 Gio (aucune bibliothèque)
├── Video Architecture et Urbanisme/ 29,4 Gio (aucune bibliothèque)
├── Video concerts/ 3,5 Gio (aucune bibliothèque)
└── video/ 541,6 Gio, 3 371 objets
├── movies, cinema_italie, fantastique_et_SF, documentaires,
├── cinema_realisateurs, animes, cinema_europe, historiques,
└── cinema_asie, spectacles, palettes, cinema_UK, alladomanda
⚠ video/@eaDir subsiste (11 objets) : l'exclusion **/@eaDir/** écarte le contenu du dossier, pas le dossier lui-même, et --create-empty-src-dirs l'a recréé. Sans conséquence, mais à ne pas confondre avec un oubli.
Pièges rencontrés — à ne pas re-découvrir
ps wtronque sa sortie sur DSM. Un test de vivacitéps w | grep -ca renvoyé 0 alors que le processus tournait — ce qui a conduit à lancer une seconde copie sur la même destination. Les deux ont été arrêtées par SIGTERM, sans corruption (rclone compare les tailles et réécrit tout fichier tronqué). Toujours utiliserps -eo pid,sid,args.nohupne suffit pas à détacher sur DSM. Utilisersetsid script.sh < /dev/null > /dev/null 2>&1 &. Un verrou par PID a été ajouté au script pour rendre le double-lancement impossible.- Faux doublons
.VOBde 1,07 Go. Les segments DVD-Video sont tous plafonnés à 1 073 739 776 octets : la taille identique ne prouve rien. Cinq faux positifs relevés entre un Scola du NAS et un DVD Architectures de kDrive. Même leçon que le dédoublonnage photo du 2026-08-28 — une signature faible ne fait pas un doublon. - Le
quota-used-bytesWebDAV de kDrive est peu fiable : il renvoie 0 pour certains dossiers pourtant pleins (il donnait 102,6 Go pourVideos_NAS, dont la taille réelle est 246,7 Go). Passer parrclone size, ou par l'API du drive pour l'espace global. dfsur un partage Synology rapporte le volume entier, pas le partage. Toujours confirmer pardu -sb.find -iname '*.jpg'sans exclure@eaDirfausse tout recensement (rappel de la page 285).
Pièges d'accès SSH au NAS (rappel page 285)
- Le compte Unix est
SAS_NEXTEen majuscules (uid 1026), la connexion se fait ensas_nexte. - Le caractère
§du mot de passe ne survit pas à Git Bash puis plink. Le construire sur le VPS avecprintfet les octets\xc2\xa7, puissshpass -f /tmp/pw ssh -o NumberOfPasswordPrompts=1 sas_nexte@10.0.0.2. SansNumberOfPasswordPrompts=1, un échec compte pour 3 auprès du blocage automatique DSM. scpéchoue (pas de sous-système SFTP) — transférer parssh nas 'cat > cible' < source, ou passer parbase64 -d./tmpest monténoexec: les exécutables vont sur/volume1.
260901-reprise des règles du pare-feu de SASNEXTE
.....en profondeur !
Durcissement du NAS : de 28 ports exposés à 8
Constat de départ, mesuré depuis le VPS (hors LAN, hors VPN) : tous les ports en écoute du NAS répondaient depuis Internet, y compris NFS, SMB, FTP et le démon rsync.
La méthode qui a marché
Plutôt que de raisonner sur les règles du pare-feu, mesurer la surface réelle : lister les ports en écoute côté NAS, puis tester chacun depuis une machine extérieure. L'écart entre ce qu'on croit fermé et ce qui répond est la seule donnée qui compte.
Trois pièges rencontrés
1. L'ordre des règles. Le pare-feu Synology applique la première règle qui correspond, puis s'arrête. Une règle « Service terminal chiffré → Tous → Autoriser » placée en tête annulait complètement les règles « port 22 → Refuser » situées plus bas. Toute autorisation doit précéder le refus qu'elle contourne ; une règle placée après un refus qui la couvre est du décor.
2. Les libellés tronqués. « Interface de Gestion, File Station, Audio Statio… » masquait une longue liste d'applications — dont FTP et VPN Server. C'est ce qui expliquait qu'un port reste ouvert alors que la règle qui le concernait avait été supprimée. Toujours dérouler la liste complète derrière les points de suspension.
3. Éteindre un service est plus robuste que le filtrer. NFS a résisté à toutes les manipulations de règles ; il s'est fermé instantanément une fois le service désactivé. Un service éteint ne dépend d'aucune règle, d'aucun ordre, d'aucun profil actif.
Résultat
Fermés : SMB (445/139), NFS (2049, 111, 662, 892, 4045), FTP (21), rsync daemon (873), Note Station, File Station, WS-Discovery et une dizaine d'autres.
Restent : 22 (voulu — les deux VPS), 80/443/6690 (filtrés par pays), 5108/5109 (DSM), 5510 et 6281 (en cours d'identification).
Deux subtilités utiles
Le pare-feu Synology ne filtre que l'entrant. Le NAS va chercher les fichiers sur une seedbox en FTP : c'est une connexion sortante, soumise à aucune règle. Le port 21 du NAS n'y jouait aucun rôle et a pu être fermé sans rien casser. Bien distinguer « la machine se connecte » de « on se connecte à la machine » avant d'écrire une règle.
Le VPN rend la restriction indolore. En passant par le tunnel, le trafic arrive avec l'adresse source du VPN (10.8.0.0/24) et non l'IP publique du poste. Autoriser ce sous-réseau suffit, depuis n'importe où. Corollaire : le sous-réseau du VPN doit être explicitement autorisé sur le port 22 — il n'est couvert ni par 192.168.0.0/16 ni par 172.16.0.0/12. Sans cette règle, activer le pare-feu coupe l'accès SSH par le tunnel.
Point vérifié au passage : le VPN est OpenVPN (paquet VPNCenter, UDP 1194), et non WireGuard comme supposé. Testé par un vrai handshake — le serveur répond.
Erreurs commises pendant l'intervention
Consignées parce qu'elles sont instructives :
Une image supprimée à tort (page « Calcul Patterns Route Commune »), faute d'avoir compris que les pages pointent parfois sur l'URL scaled-. Restaurée depuis l'archive.
Diagnostic erroné : « vos suppressions de règles ne prennent pas effet ». La vraie cause était la règle englobante au libellé tronqué.
Test sur les mauvais ports : DSM déclaré « non exposé » après un test sur 5000/5001, alors qu'il écoute sur 5108/5109 — ports personnalisés.
Accès DSM supposé indisponible sans l'avoir vérifié. L'accès SMB au partage administrateur homes existait, et a permis de lire authorized_keys.
Les deux garde-fous qui ont évité des dégâts : l'archive systématique avant suppression, et la vérification après chaque action plutôt que la confiance dans l'effet attendu.
fail2ban sur le VPS juxjux (23 septembre 2026)
Même sujet, autre machine. Le durcissement ci-dessus portait sur le NAS ; ce volet concerne le VPS juxjux.ovh, dont la porte SSH était restée battante.
Le constat. Le fichier /var/log/btmp, qui enregistre les tentatives de connexion échouées, pesait 251 Mo. Il ne s'agissait pas d'un problème de journaux : 364 743 tentatives depuis le 1er septembre, le compte root visé 163 300 fois, admin 13 219, ubuntu 12 568. Une seule adresse en comptait 87 745 — c'est elle qui gonflait la moyenne à 17 000 par jour, alors que le rythme de fond est d'environ 3 000. Purger ce fichier aurait fait disparaître la mesure, pas les attaques : il est le thermomètre, pas la fièvre.
Le piège qui aurait rendu l'installation inutile. Sur ce Debian 12, /var/log/auth.log n'existe pas — les connexions ne sont écrites que dans journald. Avec sa configuration par défaut, fail2ban surveille ce fichier absent. Ici l'échec a été franc : le service est tombé en failed dès l'installation, sur ERROR Have not found any log file for sshd jail. Le vrai danger était la variante silencieuse — une jail qui démarre, affiche « 0 banni », et laisse conclure que les attaques ont cessé. La ligne backend = systemd règle le problème, et le contrôle à faire est double : Journal matches: _SYSTEMD_UNIT=sshd.service dans le statut de la jail, et un compteur de bannis non nul.
La même leçon que le VPN du NAS, sur une autre infrastructure. La question de la liste blanche est celle qui pouvait coûter le plus cher : une erreur ici ferme la porte de l'extérieur, y compris pour nous. Les adresses publiques semblaient l'évidence, mais l'historique des connexions du VPS montrait des accès depuis six adresses 92.184.113.x différentes et une adresse italienne — des connexions en partage 4G et en vacances, pas la box de la maison. La réponse solide est ailleurs : le VPS est le hub du maillage WireGuard, et une connexion par le tunnel lui arrive avec l'adresse source 10.0.0.3, privée et immuable, indépendante de tout opérateur. C'est exactement ce qui avait été constaté sur le NAS avec son OpenVPN en 10.8.0.0/24. Deux machines, deux VPN différents, la même conclusion : autoriser le sous-réseau du tunnel vaut mieux que courir après des adresses publiques. Vérifié avant d'armer la jail, pas après : ssh debian@10.0.0.1 fonctionne et le serveur voit bien 10.0.0.3.
La liste blanche retenue compte donc trois filets, du plus sûr au moins sûr : 10.0.0.0/24 (le tunnel, qui couvre aussi le NAS en 10.0.0.2), puis 83.195.45.93 pour la maison et 82.66.244.248 pour le bureau. Nuance utile entre ces deux dernières : l'adresse du bureau est fixe par construction — Free en attribue une à chaque Freebox, et celle-ci n'a pas bougé en quatre ans — tandis qu'Orange ne garantit rien en offre grand public. C'est aussi pourquoi le point de contact WireGuard du NAS n'a jamais eu besoin d'être retouché.
Ce que fail2ban n'est pas. La crainte naturelle — « et si mon PC ou le NAS tombe en panne ? » — repose sur un malentendu qu'il vaut la peine de lever : ce n'est pas une liste d'accès. Le port 22 reste ouvert à tous ; fail2ban compte les échecs et ne ferme qu'après cinq ratés en dix minutes. Depuis n'importe quelle machine et n'importe quelle adresse, une connexion avec le bon mot de passe passe du premier coup. La liste blanche ne sert qu'à une chose : éviter de se bannir soi-même en se trompant plusieurs fois. Et un bannissement dure une heure, pas davantage. Restent, en dernier recours, le tunnel puis la console KVM de l'hébergeur, qui ne dépend ni du réseau ni de SSH.
Réglages et résultat. Jail sshd, cinq échecs tolérés sur dix minutes, bannissement d'une heure, configuration dans /etc/fail2ban/jail.local (jamais jail.conf, écrasé aux mises à jour). L'action de bannissement passe par ufw plutôt que par une chaîne iptables parallèle, puisque le pare-feu est déjà en place : les blocages apparaissent bien en tête de ufw status numbered, avant la règle qui autorise le port 22. Dans les secondes suivant le démarrage : 131 échecs détectés, trois adresses bannies.
Une erreur commise au passage, dans l'esprit de la section précédente : la sauvegarde de l'ancienne configuration avait été déposée dans /etc/logrotate.d/. Or logrotate lit tous les fichiers de ce dossier, sans considération d'extension — d'où un duplicate log entry for /var/log/btmp et un fichier entier ignoré. Une sauvegarde ne se range jamais dans un dossier que lit un service ; elle a été déplacée vers /root/logrotate-sauvegardes/.
Ce qui reste ouvert
Sur la sauvegarde
Destination unique : si le NAS refuse, plus rien ne sort du VPS.
Aucune rétention sur le VPS (staging vidé après transfert).
Restauration jamais testée — une sauvegarde non restaurée n'est pas une sauvegarde.
Disque VPS à 87 % (9,3 Go libres).
HyperBackup non surveillé : toute la profondeur d'historique en dépend.
Sur le NAS
Identifier et fermer 5510 et 6281.
DSM (5108/5109) reste accessible depuis Internet — si maintenu, activer 2FA et le blocage automatique.
Inverser le sens du transfert : que le NAS tire depuis le VPS, ce qui permettrait de fermer SSH sur le NAS définitivement plutôt que provisoirement. Le compte synobackup existe déjà pour cela.
Sur le VPS (ajouté le 23/09/2026)
Passer à une clé SSH plutôt qu'un mot de passe : cela supprimerait à la fois le risque de se bannir sur une faute de frappe et tout intérêt aux 3 000 tentatives quotidiennes. Retirer la règle du pare-feu qui ouvre le port 2222, derrière lequel plus rien n'écoute. Et adosser au canari du matin une sonde sur la jail, pour que son extinction ne passe pas inaperçue.
260903-Capture du texte sur applications Android vers Joplin
Récupérer le texte affiché par une application Android — un article de presse, typiquement — et le déposer dans Joplin ou dans le coffre Obsidian, depuis le PC.
Mis en place le 2026-09-03 sur le poste julie. Reproductible sur un autre PC, la procédure d'installation figure plus bas.
Le principe
Le script appelle uiautomator dump, un outil livré avec Android, qui exporte l'arbre d'accessibilité de l'écran en XML. On en tire les attributs text et content-desc.
Ce n'est PAS de la reconnaissance optique. On récupère le texte réel de l'application, avec ses accents, sa ponctuation et sa casse exacts. Aucune erreur de lecture possible, contrairement à un OCR sur capture d'écran.
Rien n'est installé sur la tablette. Tout passe par adb, déjà présent avec le SDK Android.
Ce qu'il faut sur le PC
| Élément | Rôle |
|---|---|
| Python 3.12 | le script n'utilise que la bibliothèque standard — rien à installer en plus |
adb |
fourni par platform-tools du SDK Android |
| Un appareil joignable | l'émulateur emulator-5554, ou un vrai téléphone en débogage USB |
Le script est dans l'arbre Syncthing, donc déjà présent sur toutes les machines :
Jux-scripts/Android-Texte/capturer_texte.py
Jux-scripts/Android-Texte/README.md
Usage
# ecran courant, affiche dans la console
py -3.12 capturer_texte.py
# vers un fichier / le presse-papiers
py -3.12 capturer_texte.py -o article.txt
py -3.12 capturer_texte.py --presse-papiers
# vers Joplin ou Obsidian
py -3.12 capturer_texte.py --joplin
py -3.12 capturer_texte.py --obsidian
| Option | Défaut | Rôle |
|---|---|---|
-o, --fichier |
— | fichier UTF-8 |
--presse-papiers |
— | copie dans le presse-papiers Windows |
--joplin |
— | crée une note Joplin |
--carnet |
Captures Android |
carnet Joplin, créé s'il manque |
--obsidian |
— | dépose un .md dans le coffre |
--coffre |
D:\Syncthing\Jux_Obsidian |
racine du coffre |
--dossier |
Captures Android |
sous-dossier du coffre |
--titre |
deviné | titre de la note |
--defiler |
— | fait défiler et accumule |
--serie |
emulator-5554 |
identifiant adb |
--adb |
— | chemin d'adb.exe |
--tri-position |
— | trier par coordonnées (voir pièges) |
Codes de sortie : 0 succès, 1 erreur adb, 2 échec Joplin, 3 échec Obsidian.
Les deux destinations
Obsidian — la plus simple
Écrit un .md dans <coffre>\Captures Android\, avec l'en-tête YAML des notes existantes :
---
title: ...
created: 2026-09-03 04:54:54Z
updated: 2026-09-03 04:54:54Z
source: capture Android
---
Ni jeton, ni application ouverte, ni service à activer. Le coffre étant dans Syncthing, la note part sur tous les appareils par la synchronisation habituelle. Les noms de fichier sont assainis pour Windows et un suffixe (2), (3)… évite d'écraser.
Joplin — via le Web Clipper, en local
Mise en place, une seule fois par PC :
- Joplin → Outils → Options → Web Clipper → Activer le service
- Copier le jeton affiché dans
D:\Android\joplin_token.txt
La variable d'environnement JOPLIN_TOKEN est prioritaire si elle existe.
⚠ Le jeton doit être HORS de l'arbre Syncthing. Déposé par erreur dans
D:\Syncthing\Jux_univers\Mes Notepads\le 2026-09-03, il s'est répliqué sur les sept appareils du maillage avant d'être déplacé. Le risque reste modéré — l'API n'écoute que sur127.0.0.1du PC, détenir le jeton ailleurs ne donne aucun accès distant — mais la régénération est immédiate depuis les options de Joplin. Même principe que/home/debian/.komga_scan.envcôté VPS.
Pourquoi pas le Joplin Server du VPS
joplin.juxjux.ovh est un serveur de synchronisation, pas une API de notes : les items y sont sérialisés pour la synchro, on ne peut pas y créer une note proprement. La seule voie praticable est l'API locale du client de bureau, sur http://127.0.0.1:41184.
Corollaire : Joplin doit être ouvert sur le PC au moment de la capture.
Les lanceurs du bureau
Deux fichiers .cmd sur le bureau : Capturer vers Joplin et Capturer vers Obsidian.
Ils vérifient la présence de Python et du script, écrivent une copie du texte dans %TEMP%\derniere_capture.txt, consignent les erreurs dans D:\Android\capture_texte.log et affichent les dernières lignes du journal en cas d'échec.
Pourquoi des
.cmdet pas des raccourcis.lnk: un.lnkcréé depuis Claude Code vers une cible sous%LOCALAPPDATA%fige un chemin virtualisé et ne fait rien du tout (voir page 282, section 6). Un.cmdest du texte brut : ses chemins sont littéraux et fonctionnent depuis l'explorateur.
Pièges rencontrés
⚠ 1. L'ordre du document, pas les coordonnées
Une première version triait les fragments par coordonnées bounds. Faux : dès qu'une partie du contenu est hors écran — le cas courant avec une WebView — ses bounds deviennent aberrants et les paragraphes ressortent mélangés.
L'ordre de l'arbre XML est l'ordre du document, donc l'ordre de lecture. C'est le comportement par défaut. --tri-position rétablit l'ancien, pour de rares interfaces natives dont l'arbre ne suit pas la mise en page.
⚠ 2. --defiler est souvent inutile
Une WebView expose l'intégralité du document chargé à l'accessibilité, pas seulement la partie visible. Un article de presse entier est capturé en un seul appel.
--defiler ne sert vraiment que pour les listes à chargement progressif — fil d'actualité, boîte de réception — où le contenu n'existe pas tant qu'on n'y est pas descendu.
⚠ 3. Le titre est deviné, et pas toujours trouvable
Sans --titre, le script prend la plus longue des huit premières lignes, entre 30 et 120 caractères, en écartant dates, heures, signatures (Par X), Mis à jour, Lire aussi.
Trois versions ont été nécessaires :
| Règle essayée | Résultat obtenu |
|---|---|
| première ligne substantielle | « Éditos & Analyses » — la rubrique |
| la plus longue des premières | « Le 01/09/2026 à 06h45 | Mis à jour… » — la date |
| + filtre, plancher à 20 caractères | « trottinettes spatiales » — une bribe de phrase |
| + plancher à 30 caractères | correct, ou repli sur la date |
Il faut capturer depuis le HAUT de l'article. Une fois qu'on a défilé loin, l'en-tête sort de l'arbre et aucun titre n'est trouvable : la note prend alors la date (Capture Android du 03-09-2026 a 07h18). C'est délibéré — mieux vaut une date qu'un titre faux. Sinon, --titre "...".
⚠ 4. cmd clipboard n'existe pas
Sur les images « Google Play », adb shell cmd clipboard répond No shell command implementation. D'où le passage par clip.exe côté Windows, en UTF-16LE.
⚠ 5. Ne pas faire défiler la tablette par adb à l'aveugle
Sept input swipe enchaînés pour « remonter en haut » ont fait sortir l'application Les Échos de l'article et atterrir sur un écran de recherche. Les gestes longs déclenchent des navigations imprévues.
Laisser l'utilisateur positionner la vue lui-même.
⚠ 6. Vérifier Joplin sur TOUTES les pages
GET /folders est paginé. Avec 106 carnets, une vérification limitée à la première page conclut à tort que le carnet n'existe pas. Le script, lui, suit has_more correctement.
# faux : ne lit que la page 1
Invoke-RestMethod "http://127.0.0.1:41184/folders?token=$j"
Installer sur un autre PC
- Python 3.12 —
winget install --id Python.Python.3.12 --scope user - platform-tools — via le SDK Manager d'Android Studio, ou l'archive seule de Google
- Adapter
ADB_DEFAUTen tête du script, ou passer--adb - Pour Obsidian : adapter
COFFRE_DEFAUT, ou passer--coffre - Pour Joplin : activer le Web Clipper et déposer le jeton hors de Syncthing
- Recopier les deux
.cmddu bureau en corrigeant les chemins en tête de fichier
Le script lui-même n'a rien à installer : stdlib seule.
Limites
- Le texte dessiné en image n'apparaît pas : infographies, PDF rastérisés, certains lecteurs. Il faudrait de l'OCR —
tesseractest déjà disponible dans StirlingPDF sur le VPS si le besoin se présente. - Une application déclarant ses vues
importantForAccessibility="no"reste muette. - Les fenêtres
FLAG_SECURE(applications bancaires, vidéo protégée) ne sont pas exportées.
Vérifié le 2026-09-03
- capture d'un article des Échos : 6 563 caractères, texte exact, ordre correct
- note Joplin créée dans un carnet auto-créé, contenu vérifié côté serveur
- note Obsidian déposée avec l'en-tête YAML conforme au coffre
- 4 tests unitaires sur le choix du titre
Si ça ne marche pas
Le journal D:\\Android\\capture_texte.log est le point d'entrée : les lanceurs y écrivent la sortie d'erreur et en affichent les dernières lignes en cas d'échec.
Une exécution saine ressemble à ceci :
===== 03/09/2026 7:42:55 - Joplin =====
ecran 1 : 29 nouveaux fragments
29 fragments -> C:\\Users\\julie\\AppData\\Local\\Temp\\derniere_capture.txt
Joplin : note creee dans « Captures Android » — e4e99c3f...
Échec transitoire observé le 2026-09-03 à 07:23. La capture avait réussi — fichier de secours de 6,7 Ko écrit, article complet — mais aucune note n'avait été créée. Rejoué à l'identique quelques minutes plus tard : succès, sans qu'aucune modification n'ait été faite entre-temps.
Cause non établie. Deux hypothèses restent ouvertes : Joplin indisponible ou en cours de synchronisation à cet instant, ou un problème d'encodage sur la sortie d'erreur sous console .cmd. Une piste a été écartée par la mesure : le chemin Python codé en dur dans les .cmd pointe sous %LOCALAPPDATA%, mais l'installation y est bien réelle — le chemin conteneur …\\Packages\\Claude_pzs8sxrjxfjjc\\LocalCache\\Local\\Programs\\Python\\… n'existe pas. C'est d'ailleurs le test à retenir pour trancher ce type de doute (page 282, section 6).
C'est pour cette raison que les lanceurs journalisent : si le cas se reproduit, le message sera conservé.
En cas d'échec, le texte n'est jamais perdu : il reste dans %TEMP%\\derniere_capture.txt.
Contrôles rapides
# la tablette repond-elle ?
& 'D:\Android\Sdk\platform-tools\adb.exe' devices
# le service Web Clipper est-il actif ?
Invoke-WebRequest 'http://127.0.0.1:41184/ping' -UseBasicParsing # -> JoplinClipperServer
# le jeton est-il en place ?
Test-Path 'D:\Android\joplin_token.txt'
Voir aussi
- Page 282 — l'émulateur Android, son installation et ses pièges
Jux-scripts/Android-Texte/README.md— documentation technique du script
260904-conversion des fichiers FLAC en MP3 avec Tags vérifiés
Conversion des fichiers FLAC en MP3, avec tags vérifiés
Mise en place le 2026-09-04 sur le poste Windows julie. Script versionné dans
Jux-scripts/Musique-FLAC/, documentation de référence : le README.md du même dossier.
On dépose des FLAC dans un dossier, on les récupère encodés en MP3 dans un autre, sans rien lancer à la main. C'est la troisième procédure bâtie sur ce moule, après Komga-PDF (compression de PDF) et Photos-Caesium (compression de photos), dont elle reprend les garde-fous éprouvés : écriture par fichier provisoire, mémoire des échecs, journal persistant, attente d'une période de calme avant de toucher au dépôt.
Sa particularité : elle ne fait pas confiance au convertisseur. Les tags sont lus dans le FLAC par le script lui-même, réécrits explicitement, puis relus dans le MP3 produit et comparés champ par champ. Un MP3 auquel il manque un tag n'est pas livré.
Pourquoi localement, et pourquoi ffmpeg
Le VPS n'intervient pas. L'encodage MP3 est du calcul pur : le Ryzen 5 2600X (12 fils) est très largement supérieur au VPS pour cet usage, et les fichiers sont déjà sur le poste. Aucun aller-retour réseau, aucune API à maintenir — même raisonnement que pour Photos-Caesium.
Aucun encodeur n'était présent sur ce poste : ni ffmpeg, ni lame, ni flac, et Python n'a pas
Emplacements
| Rôle | Chemin |
|---|---|
| Dépôt | D:\Musique\FLAC à encoder\ |
| Résultat | D:\Musique\MP3 fait\ |
| Originaux après conversion | D:\Musique\FLAC traités\ |
| Échecs (après 3 tentatives) | D:\Musique\echecs\ |
| Binaire | D:\Musique\bin\ffmpeg.exe |
| Configuration | D:\Musique\config.json |
| Journal | D:\Musique\logs\flac_mp3.log |
| Mémoire des traitements | D:\Musique\etat.json |
| Script | Jux-scripts\Musique-FLAC\flac_mp3.py (synchronisé, donc versionné) |
Les dossiers de travail sont volontairement hors de l'arbre Syncthing, pour la même raison
que Photos-Caesium : il n'existe qu'un seul dossier Syncthing dans tout le maillage
(afltj-njyuy), partagé avec 7 appareils. Un album FLAC de 400 Mo déposé dedans descendrait
intégralement sur le Xiaomi et la SM-T720.
L'arborescence du dépôt est reproduite à l'identique en sortie : on dépose le dossier de l'album, on récupère le dossier de l'album.
Usage
Trois lanceurs à double-cliquer dans D:\Musique\ :
Convertir maintenant.cmd— une passe puis sortieSimuler (lire les tags).cmd— n'encode rien, annonce les tags lus dans chaque FLACSurveillance (fenetre visible).cmd— boucle de surveillance avec la console à l'écran
En ligne de commande :
py -3.12 flac_mp3.py --une-fois
py -3.12 flac_mp3.py --simulation
py -3.12 flac_mp3.py --profil 320 --une-fois
py -3.12 flac_mp3.py --profils
py -3.12 flac_mp3.py --verifier "D:\Musique\MP3 fait\album\01 - titre.mp3"
py -3.12 flac_mp3.py --oublier-echecs
py -3.12 flac_mp3.py # surveillance continue
--verifier relit les tags d'un MP3 déjà produit et les affiche : c'est l'outil de contrôle à
la main, indépendant de toute conversion.
Profils de qualité
Définis dans config.json, V0 par défaut.
| Profil | Options LAME | Débit moyen |
|---|---|---|
V0 |
-q:a 0 |
~245 kbps VBR — transparent, réglage de référence |
V2 |
-q:a 2 |
~190 kbps VBR — nettement plus léger |
320 |
-b:a 320k |
320 kbps CBR — compatibilité matérielle maximale |
256 / 192 |
-b:a … |
débits fixes intermédiaires |
Ce que fait le script, dans l'ordre
- Attend que le dépôt soit calme. Sondage toutes les 15 s ; le traitement ne démarre qu'après 20 s sans le moindre changement dans l'arborescence (nombre de fichiers, volume total, date la plus récente). C'est ce qui évite d'attraper un fichier en cours de copie. Plafond de 15 min, après quoi le traitement est forcé.
- Lit le FLAC lui-même : bloc
STREAMINFO(durée, fréquence, canaux) et blocVORBIS_COMMENT(tous les tags), présence d'un blocPICTURE. - Refuse d'emblée un FLAC dépourvu de
title,artistoualbum— liste réglable partags_obligatoires. - Encode en écrivant chaque tag explicitement (voir le piège n°1 plus bas), pochette
comprise, vers un fichier
.staging-…et non directement vers la destination. - Relit les trames ID3v2 du MP3 produit et les compare aux tags attendus.
- Recompare la durée du MP3 à celle du FLAC (voir le piège n°3 — c'est le contrôle le plus utile de la chaîne).
- Ne publie le MP3 que si tout passe. Le fichier provisoire est renommé en place (opération atomique) ; en cas d'échec il est supprimé et rien n'apparaît en sortie.
- Déplace l'original dans
FLAC traités\. Les fichiers d'accompagnement (cover.jpg,.cue,.log,.m3u…) suivent l'album ; les images sont en plus copiées en sortie. Les dossiers vidés sont élagués, de sorte que le dépôt se vide de lui-même.
En cas d'échec, le fichier est retenté 3 fois (clé taille + date de modification, mémorisée
dans etat.json), puis écarté dans echecs\ accompagné d'un .erreur.txt qui dit pourquoi.
Correspondance des tags
| Vorbis | ID3v2 | Remarque |
|---|---|---|
TITLE |
TIT2 |
|
ARTIST |
TPE1 |
|
ALBUM |
TALB |
|
ALBUMARTIST / ALBUM ARTIST |
TPE2 |
|
DATE / YEAR |
TYER (v2.3) ou TDRC (v2.4) |
voir piège n°2 |
TRACKNUMBER + TRACKTOTAL |
TRCK = 3/12 |
recomposé, voir piège n°1 |
DISCNUMBER + DISCTOTAL |
TPOS = 1/2 |
recomposé |
GENRE |
TCON |
|
COMPOSER |
TCOM |
|
ORGANIZATION / LABEL / PUBLISHER |
TPUB |
|
COPYRIGHT |
TCOP |
|
ISRC |
TSRC |
|
BPM |
TBPM |
|
COMMENT / DESCRIPTION |
COMM |
|
LYRICS / UNSYNCEDLYRICS |
USLT |
|
bloc PICTURE |
APIC |
pochette |
| tout le reste | TXXX:<nom> |
REPLAYGAIN_*, MUSICBRAINZ_*… conservés tels quels |
Aucun tag n'est perdu : ce qui n'a pas de trame dédiée part en TXXX sous son propre nom, et
c'est relu tel quel à la vérification.
Pièges — à ne pas re-découvrir
1. ffmpeg -map_metadata 0 perd les totaux de piste et de disque. C'est la raison d'être de
la réécriture explicite (-map_metadata -1 puis un -metadata par champ). Mesuré sur le même
FLAC source :
| ffmpeg nu | ce script | |
|---|---|---|
| piste | track 3 + TXXX:tracktotal 12 |
TRCK 3/12 |
| disque | disc 1 + TXXX:disctotal 2 |
TPOS 1/2 |
| éditeur | TXXX:organization |
TPUB |
Un lecteur qui affiche « piste 3 sur 12 » lit TRCK, pas un TXXX non standard. La conversion
naïve produit donc des albums qui s'affichent mal sans que rien ne le signale.
2. ID3v2.3 ne sait pas stocker une date complète. Sa trame TYER ne contient que l'année :
un DATE=2024-03-17 devient 2024. Ce n'est pas une perte de tag mais une limite du format —
le script le classe en écart toléré et ne bloque pas. "id3v2_version": 4 dans config.json
conserve la date entière (trame TDRC), au prix de la compatibilité avec les vieux lecteurs
matériels. La vérification fonctionne dans les deux cas. v2.3 est le défaut retenu.
3. ⚠ Un FLAC tronqué se convertit sans la moindre erreur. Vérifié : sur un FLAC coupé au
tiers, ffmpeg sort en code 0 et produit un MP3 parfaitement valide… de 0,27 s au lieu de
2,00 s. Ni le code de retour, ni la validité du MP3, ni les tags ne trahissent quoi que ce soit
— les tags sont même intacts, puisqu'ils vivent en tête de fichier. Seule la comparaison des
durées l'attrape, d'où verifier_duree activé par défaut. C'est le contrôle le plus utile de
toute la chaîne, et le seul qui protège d'une livraison silencieusement mutilée.
4. Le bloc VORBIS_COMMENT est en petit-boutiste, alors que tout le reste du format FLAC
est en gros-boutiste. Se tromper de sens donne des longueurs de champ aberrantes et un parseur
qui part dans le décor.
5. Les tailles ID3 ne se lisent pas toutes pareil. L'en-tête ID3v2 et les trames v2.4 utilisent des entiers syncsafe (7 bits utiles par octet, le 8ᵉ toujours à 0) ; les trames v2.3, elles, portent une taille sur 32 bits ordinaires. Un seul mode de lecture pour les deux versions donne des trames décalées.
6. Valeurs multiples. Vorbis autorise plusieurs ARTIST dans un même fichier, ID3v2.3 non.
Elles sont jointes par ; — et c'est cette même chaîne qui sert de valeur attendue à la
vérification, donc la comparaison reste exacte.
7. pythonw.exe + binaire console = cascade de fenêtres noires. Le script passe
creationflags=CREATE_NO_WINDOW à tous ses appels ffmpeg. Sans ce drapeau, un lancement en
tâche planifiée par pythonw.exe (qui n'a pas de console) fait allouer une fenêtre par appel.
Même piège que la surveillance Blink du 2026-08-30.
8. Pas d'inotify sous Windows : la surveillance se fait par sondage, pas par événements.
Surveillance automatique à l'ouverture de session
À créer par Julien dans sa propre console, pas depuis Claude Code — une tâche créée depuis le conteneur MSIX risquerait de figer un chemin virtualisé (page BookStack 282) :
schtasks /Create /TN "Musique-FLAC" /TR "\"C:\Users\julie\AppData\Local\Programs\Python\Python312\pythonw.exe\" \"D:\Syncthing\Jux_univers\Jux-scripts\Musique-FLAC\flac_mp3.py\"" /SC ONLOGON /RL LIMITED /F
pythonw.exe (et non python.exe) pour qu'aucune fenêtre n'apparaisse. Vérification :
schtasks /Query /TN "Musique-FLAC" /V /FO LIST, ou taskschd.msc. Pour retirer :
schtasks /Delete /TN "Musique-FLAC" /F.
Contrôle depuis une session Claude : Get-CimInstance Win32_Process -Filter "Name='pythonw.exe'".
Mesures de mise en place (2026-09-04)
- ffmpeg 9.0.1 (build essentials gyan.dev) : archive de 106,1 Mo, seul
ffmpeg.execonservé → 98,1 Mo dansD:\Musique\bin\.ffprobe.exeetffplay.exeécartés : le script analyse les tags lui-même, il n'en a pas besoin. - Délai de prise en charge : fichier déposé à 07:06:44, MP3 livré à 07:07:43, soit 59 s (15 s de sondage + 20 s de calme requis + encodage).
- Chemins d'échec vérifiés un par un : fichier qui n'est pas un FLAC, FLAC sans tags
obligatoires, FLAC tronqué → 3 tentatives chacun puis mise à l'écart dans
echecs\avec le motif. Dépôt vidé, aucun MP3 partiel livré. - Aller-retour des tags vérifié sur 15 tags dont accents, guillemets français et exposant
(
Prélude n°1 — «Nuit»,Élodie Ström), totaux de piste et de disque, ISRC,REPLAYGAIN_*etMUSICBRAINZ_*: tous restitués, pochette 600×600 conservée.
Premier album réel — Dry Cleaning, Secret Love (2026-09-04)
Source FLAC 24 bits / 96 kHz, 11 pistes, 41 min 10 s d'audio.
| Volume | 823,7 Mo → 81,0 Mo, soit 9,8 % du FLAC |
| Durée | 50 s pour tout l'album, environ 49 × le temps réel |
| Tags | 18 par piste, tous vérifiés, aucun écart — pas même sur la date |
| Pochette | conservée sur les 11 pistes (JPEG 600×600) |
| Dépôt | vidé de lui-même ; Cover.jpg copiée en sortie, .m3u et .nfo suivis dans FLAC traités\ |
Le rééchantillonnage est automatique et inévitable : MP3 plafonne à 48 kHz, un FLAC 96 kHz est donc ramené à 48 kHz et 16 bits par ffmpeg, sans intervention. La tolérance d'une seconde sur la durée absorbe l'écart sans difficulté (mesuré : aucun signalement sur les 11 pistes).
Ne pas se fier au ratio relevé sur l'essai de synthèse (55 %) : une onde sinusoïdale ne compresse comme rien de réel. Le chiffre utile est celui de ce tableau.
Reste à faire
- Créer la tâche planifiée (commande ci-dessus, à taper par Julien).
- Décider si les MP3 produits ont vocation à rejoindre la chaîne Navidrome (
musicsur kDrive) ou restent un export local vers téléphone et autoradio.
260904 - ISBN des livres pour indexation Calibre
ISBN des livres pour indexation Calibre
Procédure en trois étapes, arrêtée le 2026-09-20. Copie de référence : Jux-scripts/Livres-ISBN/doc_bookstack_300.md.
Le processus
1. Julien dépose les EPUB et PDF à identifier dans
D:\Procedures Calibre\Dossier à renseigner
avec leurs sous-dossiers s'il veut retrouver ses rayons dans le CSV.
2. Claude lance le script (ou Julien, c'est une seule commande) :
py -3.12 D:\Syncthing\Jux_univers\Jux-scripts\Livres-ISBN\renseigner.py
Il produit un seul fichier, dans le dépôt lui-même, daté du jour, dans l'ordre des fichiers :
D:\Procedures Calibre\Dossier à renseigner\260920-livres-isbn.csv
3. Claude écrit dans les fichiers déposés ce qu'il a trouvé — l'ISBN, et le titre/auteur du catalogue quand la proposition est sûre :
py -3.12 D:\Syncthing\Jux_univers\Jux-scripts\Livres-ISBN\ecrire_metadonnees.py --go
L'outil est ebook-meta.exe, celui de Calibre : ce qu'il écrit, Calibre le lit à l'ajout, par construction. Décision de Julien (2026-09-20) : écrire même quand la recherche peut être erronée — « c'est moi qui valide les livres un par un ensuite ; si l'ISBN est faux, je le vois. Ça me fait gagner un temps fou. » Chaque fichier est copié à côté avant l'écriture, contrôlé après, restauré si le contrôle échoue. Le CSV reçoit une colonne ecrit.
4. Julien ajoute les livres un à un dans Calibre, vérifie, valide, corrige, le CSV ouvert à côté (LibreOffice Calc l'ouvre directement, séparateur ;). Une fois le lot fait, il vide le dépôt — Calibre a copié les fichiers dans sa bibliothèque, les originaux sont dans Foxy.
Aucun script n'écrit dans Calibre ni dans Foxy. Le dépôt est une copie de travail ; les deux scripts refusent tout dossier réseau.
Lire le CSV
Une ligne d'intitulé === rayon === (n) précède chaque sous-dossier. Puis, par livre :
| Colonne | Ce qu'elle dit |
|---|---|
confiance |
o : ISBN sûr, à saisir tel quel. ? : trouvé en catalogue mais à vérifier (comparer titre/auteur à la couverture). Vide : rien trouvé |
a_saisir |
Ce que Julien devra taper dans Calibre — rien, isbn, titre, auteur ou une combinaison. Le reste, Calibre le lira tout seul dans le fichier à l'ajout |
isbn, titre, auteur |
Les valeurs à reporter |
provenance |
fichier (lu dans le livre), BnF, OpenLibrary |
calibre_lira |
isbn si Calibre lira l'ISBN de lui-même |
remarque |
Les avertissements : fichier que Calibre ne sait pas ouvrir, nom à renommer, doublon, titre suspect |
Dans Calibre, l'ISBN se saisit dans Modifier les métadonnées → Identifiants sous la forme isbn:9782…. Ensuite Télécharger les métadonnées complète la fiche — mais uniquement le résumé : le réglage Préférences → Partage → Téléchargement des métadonnées → Champs à télécharger ne doit garder que Résumé. Les étiquettes sont le classement de Julien, jamais écrasées.
Ce que fait le script, et pourquoi
- Il lit les métadonnées dans les fichiers — l'OPF d'un EPUB, le DocInfo, le XMP et la page de copyright d'un PDF, les enregistrements EXTH d'un MOBI. Sur Foxy, 37 % des EPUB portent déjà leur ISBN : autant de livres identifiés sans une requête. Le nom de fichier ne sert qu'en dernier recours.
- Il demande à Calibre ce que lui en lira (
ebook-meta.exe, le lecteur même de l'import). C'est mesuré, pas deviné : Calibre lit l'ISBN d'un EPUB 14 fois sur 14 quand il est dans l'OPF, d'un PDF une fois sur deux — il ne lit jamais la page de copyright. D'où la colonnea_saisir. - Il interroge la BnF puis OpenLibrary pour ce qui n'a pas d'ISBN. Ni Amazon (la source Calibre est morte, HTTP 500) ni Google Books (429 depuis cette IP).
- Il ne pré-coche (
o) que sur une preuve : ISBN lu dans le fichier, ou score ≥ 0,90 avec auteur concordant. Jamais sur un résultat obtenu sans filtre auteur, jamais sur un titre de moins de 25 caractères sans auteur (Wraps,Whoopies: plusieurs livres portent ce titre). - Il met en cache lectures Calibre et réponses en ligne dans
D:\Procedures Calibre\ISBN\: relancer ne réinterroge pas.
Pièges connus
- Un ISBN se retrouve, il ne se déduit pas. Un ISBN inventé passe la clé de contrôle une fois sur dix et pointe un autre livre. Tout numéro est vérifié (clé ISBN-10/13), et dans un PDF n'est retenu que précédé du mot ISBN ou EAN.
- Le DocInfo d'un PDF est souvent du bruit d'atelier :
PDF Reducer Demo version(203 fois sur le lot Cuisine),~1,Microsoft Word - doc1. Règle : un titre d'ouvrage ne se répète pas à l'identique dans cinq fichiers. - Un nom de fichier bien formé porte légitimement l'auteur (
Appetites - Anthony Bourdain.epub). La règle qui rejette un auteur « copié du nom de fichier » ne vise que les blocs sans espace (SaveursAmericainesChristineFleurent). - Un nom avec accent décomposé (NFD, fichier passé par un Mac) fait échouer Calibre sur « fichier introuvable » alors que l'EPUB est sain. Le script le lit quand même et note « à renommer avant l'ajout ».
- Sans auteur, un titre identique ne prouve rien. Signal d'alerte : zéro « à vérifier » sur 200 résultats n'est jamais naturel.
X - Yambigu (Cioran - Exercices NégatifsvsConstantin - Bertrand Lançon) : le titre lu dans le fichier tranche ; sinon le catalogue est interrogé dans les deux sens.- Brochures, magazines, compilations de recettes n'ont pas d'ISBN — le script ne s'y acharne pas.
\\NASMAISON\foxyn'est dans aucune sauvegarde connue. Vrai des 16 616 fichiers comme de la bibliothèque Calibre.
Historique
- 2026-09-04 — chaîne initiale (
inventaire_livres.py+resoudre_livres.py), lot Cuisine Géo : 619 fichiers, 233 ISBN (38 %). - 2026-09-05 — les CSV suivent l'ordre du répertoire, plus le score : on vérifie un ISBN en voyant ses voisins d'étagère.
- 2026-09-20 — processus ramené à trois étapes,
renseigner.pycomme point d'entrée unique, un seul CSV dans le dépôt, lecture par Calibre mesurée. Le soir même : Claude écrit l'ISBN dans les fichiers déposés (ecrire_metadonnees.py), Julien valide dans Calibre. Premier lot : Cuisine Géo Asie/Europe/Monde, ~480 fichiers.
260911- Paroles dans ma musique / paroles sur Navidrome
En une phrase
1. Le diagnostic — pourquoi « Absence de paroles » était normal
Le symptôme : Dancing Queen d'ABBA affichait « Absence de paroles » dans le lecteur web, alors qu'un fichier Dancing Queen.lrc synchronisé était posé à côté du MP3 et que l'API Subsonic (getLyricsBySongId) renvoyait bien ces paroles horodatées.
Vérifié dans le code de Navidrome 0.63.2 :
- Le lecteur web ne passe pas par l'API Subsonic. Il lit le champ
lyricsde l'objet chanson (ui/src/reducers/playerReducer.js), c'est-à-dire la colonnemedia_file.lyricsde la base, remplie au scan, depuis les tags embarqués seulement (USLT/SYLT pour les MP3,LYRICSpour FLAC,©lyrpour M4A). - Il n'affiche que les entrées
synced: true. Un tag USLT en texte brut donne « Absence de paroles ». - Les fichiers
.lrc/.txtposés à côté ne sont lus qu'à la volée, parcore/lyricsau moment d'une requêtegetLyricsBySongId, selonLyricsPriority(.lrcavantembedded). Donc Symfonium, Feishin, DSub… voient les 58.lrcde la bibliothèque, le web non. ND_LRCLIB_ENABLED=true, posé sur le conteneur de la stack 42, est inerte : le binaire ne contient aucune chaînelrclib. Navidrome ne va rien chercher en ligne sans pluginLyricsProvider.- Navidrome lit bien la trame SYLT avec ses horodatages (ses tests
gotaglib_test.gole montrent :[00:02.50]English SYLT), ainsi qu'un USLT contenant du texte LRC.
État de la bibliothèque le 2026-09-11 avant travaux : 16 077 titres, 485 avec paroles en base, 15 synchronisées — donc 15 titres affichables dans l'interface web, sur 16 000.
2. Architecture retenue
| Élément | Choix | Pourquoi |
|---|---|---|
| Où ça tourne | NAS sasnexte, Container Manager, sur /volume1/music |
C'est l'original. Le VPS ne lit qu'un miroir kDrive (/home/debian/music) que sync_kdrive_complete.sh écrase chaque nuit : y écrire serait perdu |
| Recherche | Beets 2.14.0 (lscr.io/linuxserver/beets), plugin lyrics, source LRCLIB seule |
Gratuit, sans clé, la seule source qui fournit des paroles synchronisées. Genius/Google ne donnent que du texte brut, invisible du web |
| Écriture dans les fichiers | ecrire_paroles.py (mutagen), pas Beets |
Voir le piège n°1 : Beets réécrit tous ses champs |
| Propagation | propager_paroles.sh (rclone forcé) |
Voir le piège n°2 : le padding ID3 |
| Enchaînement | finir_paroles.sh en setsid |
7 h de traitement, le NAS finit seul |
Les fichiers : docker-compose.yml, config.yaml (Beets), ecrire_paroles.py, propager_paroles.sh, finir_paroles.sh, README.md — dans Jux-scripts/Navidrome-Paroles/, déployés sur le NAS dans /volume1/homes/SAS_NEXTE/scripts/ et /volume1/docker/beets-paroles/config/.
Configuration Beets, l'essentiel :
import:
autotag: no # jamais de re-identification MusicBrainz
copy: no
move: no # jamais de deplacement / renommage
write: no # Beets N'ECRIT JAMAIS dans les fichiers (piege n°1)
incremental: yes
duplicate_action: keep # piege n°4
ignore: ['#recycle', '@eaDir', '@__thumb', '.*', '*~', 'System Volume Information', 'lost+found']
plugins: lyrics web
lyrics:
auto: no
sources: [lrclib]
synced: yes # preferer les paroles horodatees
keep_synced: yes # ne jamais retoucher un titre deja synchronise
force: yes # re-interroger les 485 titres qui n'ont que du texte brut
fallback: null # rien trouve -> fichier intact
3. La procédure, telle qu'elle a été jouée le 2026-09-11
Sur le NAS (SSH sas_nexte, docker exige sudo et vit dans /usr/local/bin/) :
D=/usr/local/bin/docker
cd /volume1/docker/beets-paroles && sudo $D compose up -d
sudo $D exec beets-paroles beet version # 2.14.0
sudo $D exec beets-paroles beet lyrics --help | grep keep-synced # l'option doit exister
Inventaire — Beets indexe la bibliothèque sans rien écrire (-A = tel quel, -W = aucun tag réécrit) :
sudo $D exec beets-paroles beet import -A -W /music # 25 min, 15 770 titres
# + 25 dossiers reimportes avec -I (piege n°4) -> 16 069 titres
sudo $D exec beets-paroles beet stats
Essai sur un album, avec repère posé avant :
/volume1/homes/SAS_NEXTE/scripts/propager_paroles.sh --repere
sudo $D exec beets-paroles beet lyrics 'album:Gold - Greatest Hits' # 19/19 en 20 s
sudo $D exec beets-paroles python3 /config/ecrire_paroles.py --simulation --filtre "ABBA/Gold"
sudo $D exec beets-paroles python3 /config/ecrire_paroles.py --filtre "ABBA/Gold" --controle 19
/volume1/homes/SAS_NEXTE/scripts/propager_paroles.sh # 19 fichiers, 4 s
Côté VPS, rafraîchir le listing du montage et scanner :
rclone rc --rc-addr 127.0.0.1:5576 --rc-user=rcadmin --rc-pass='RcMusic2026!' vfs/refresh recursive=true dir='ABBA/Gold - Greatest Hits'
curl "https://navidrome.juxjux.ovh/rest/startScan?u=julien&p=…&v=1.16.0&c=claude&f=json"
Résultat : Dancing Queen synced: true en base Navidrome, start: 20320 (20,32 s), après un simple quick scan — la date du dossier ayant changé, Navidrome relit ses fichiers.
Toute la bibliothèque, sans surveillance :
/volume1/homes/SAS_NEXTE/scripts/propager_paroles.sh --repere
sudo $D exec -d beets-paroles sh -c 'beet lyrics >> /config/lyrics_run.log 2>&1; echo "FIN rc=$?" >> /config/lyrics_run.log'
setsid /volume1/homes/SAS_NEXTE/scripts/finir_paroles.sh < /dev/null > /dev/null 2>&1 &
finir_paroles.sh attend la ligne FIN, lance ecrire_paroles.py --controle 50 (50 fichiers tirés au hasard dont l'empreinte audio est comparée avant/après — le moindre écart arrête tout), puis propager_paroles.sh. Il n'y a pas de propagation si l'écriture a le moindre échec : on préfère un état non poussé à un état partiel.
Suivi :
tail /volume1/homes/SAS_NEXTE/logs/paroles_finir.log
sudo $D exec beets-paroles sh -c 'echo "$(grep -c "Found lyrics" /config/lyrics_run.log) / $(grep -c "Fetching lyrics" /config/lyrics_run.log)"'
Mesures : lancé à 18h08, terminé à 0h34, 0,64 titre/s, 86 % de paroles trouvées (voir le bilan en §7) ; le cron VPS de 4h30 (vfs/refresh + quick scan) relit ensuite la bibliothèque. Pour ne pas attendre : bash /home/debian/navidrome_fullscan.sh.
Contrôle final, sur le VPS :
sudo cp /home/debian/docker/navidrome/data/navidrome.db /tmp/nd.db
sudo cp /home/debian/docker/navidrome/data/navidrome.db-wal /tmp/nd.db-wal
sudo sqlite3 /tmp/nd.db "select count(*), sum(lyrics like '%\"synced\":true%') from media_file where lyrics not in ('','[]')"
Avant : 485|15. Dans le lecteur web, recharger la page et remettre le titre dans la file : la file de lecture conserve l'objet chanson tel qu'il était au moment de l'ajout, sans les paroles.
4. Les pièges — dans l'ordre où ils ont mordu
1. Beets écrit tous ses champs, pas seulement les paroles. Premier essai avec import.write: yes : sur Dancing Queen, Beets a réencodé toutes les trames texte et ajouté TRCK 0/0, TPOS 0/0, TDRC 0000, TDOR 0000, TBPM 0, TCMP 0 et un UFID vide — des valeurs qu'il n'avait pas, écrites comme des défauts. Sur 16 000 fichiers, une pollution durable des tags. Les 19 originaux d'ABBA ont été restaurés depuis kDrive (rclone copy … --ignore-times), Beets passé en write: no, et ecrire_paroles.py écrit lui-même, en ne touchant qu'aux trames de paroles : SYLT (horodatée) + USLT (texte brut) pour les MP3, ©lyr pour M4A, LYRICS pour FLAC. Vérifié à l'octet sur ABBA : trames d'origine de tailles identiques, empreinte audio identique, ID3v1 conservé, propriétaire admin:users conservé.
2. Le padding ID3 rend les modifications invisibles à la synchro. Le WebDAV kDrive n'expose ni empreinte ni date fiable : sync_kdrive_complete.sh ne compare que les tailles. Or, mesuré sur 40 MP3 au hasard, 30 ont ≥ 2 048 octets de padding — des paroles y tiennent souvent sans changer la taille du fichier. Le NAS aurait eu les paroles et Navidrome ne les aurait jamais vues. propager_paroles.sh liste les fichiers audio postérieurs à un repère et les pousse avec rclone copy --files-from --ignore-times, taille identique ou non. Le ré-envoi donne au fichier une nouvelle date côté kDrive, ce qui invalide aussi le cache VFS du VPS.
3. Les ACL Synology ne laissent passer que root dans le conteneur. docker exec -u 1024:100 (l'uid admin, propriétaire des fichiers) échoue en Permission denied sur /music : le partage est en mode 000, ses droits sont dans les ACL DSM, que le conteneur n'évalue pas pour un utilisateur ordinaire. Tout tourne donc en root dans le conteneur. Sans conséquence sur les fichiers : mutagen réécrit en place, même inode, le propriétaire reste admin:users. En revanche, un rclone copy de restauration lancé par sas_nexte recrée les fichiers sous cet utilisateur → chown admin:users derrière.
4. Vingt-deux albums sautés comme « doublons ». Même artiste et même titre d'album dans deux dossiers (The Suburbs et The Suburbs _ Month Of May, les disques 2 et 3 d'un best of, une édition deluxe…) : en mode silencieux Beets les saute (« This album is already in the library! »), et l'état incrémental les note comme traités — une relance ne les reprend pas. Correctif : duplicate_action: keep, puis réimport explicite des dossiers avec -I. Pour les extraire du journal, prendre la ligne qui précède chaque « already in the library » ; les multi-disques y sont regroupés sur une seule ligne séparée par ; , à découper. 15 770 → 16 069 titres.
5. Beets 2.x stocke les chemins relatifs à directory. items.path contient ABBA/Gold - Greatest Hits/…, pas /music/… : première passe de ecrire_paroles.py en 19 échecs « No such file ». Le script préfixe /music.
6. Deux fois du LRC = chaque ligne en double. Beets met du texte LRC dans SYLT et dans USLT ; Navidrome en fait deux entrées synchronisées, et le lecteur web concatène toutes les entrées synchronisées. ecrire_paroles.py écrit le LRC dans SYLT et le texte brut dans USLT.
7. nohup ne détache pas sur DSM : setsid … < /dev/null > /dev/null 2>&1 &, et vérifier par ps -eo pid,sid,args — ps w tronque et fait croire à un processus mort.
5. Ce que la chaîne ne fait pas
- Elle ignore les 58
.lrcet 12.txtdéjà présents (LRCLIB retrouve ABBA lui-même). Les laisser : ils servent encore aux clients Subsonic. - Elle ne renomme, ne déplace, ne ré-identifie rien.
- Elle n'efface jamais des paroles existantes et ne retouche pas un titre déjà synchronisé.
- Un titre absent de LRCLIB reste tel quel : normal pour les mixes, les instrumentaux et les raretés. Ne pas ajouter
genius/google: texte brut seulement, invisible du web.
6. Pour un nouvel album, plus tard
D=/usr/local/bin/docker
sudo $D exec beets-paroles beet import -A -W /music # incremental : seuls les nouveaux dossiers
/volume1/homes/SAS_NEXTE/scripts/propager_paroles.sh --repere
sudo $D exec beets-paroles beet lyrics 'added:-1w..' # ou 'album:Titre'
sudo $D exec beets-paroles python3 /config/ecrire_paroles.py
/volume1/homes/SAS_NEXTE/scripts/propager_paroles.sh
Puis le cron VPS de 4h30 fait le reste. Le conteneur beets-paroles peut rester arrêté entre deux usages (sudo $D compose stop) : sa base /config/beets.db et l'état paroles_ecrites.json survivent.
7. Bilan du 2026-09-12
| Étape | Heure | Résultat |
|---|---|---|
beet lyrics (16 069 titres) |
18h08 → 0h34 | 13 830 paroles trouvées (86 %), 0,64 titre/s |
ecrire_paroles.py --controle 50 |
0h34 → 1h51 | 13 139 fichiers écrits, 10 979 synchronisés, 50 contrôles audio OK, 1 échec : un .mp3.part (téléchargement inachevé) — la chaîne s'est arrêtée avant propagation, comme prévu |
propager_paroles.sh |
6h05 → 6h46 | 13 139 fichiers, 102,7 Gio, 0 erreur, 50 Mio/s — en session setsid, a survécu à une coupure SSH |
navidrome_fullscan.sh |
8h10 → 8h32 | 21 min |
| Base Navidrome | 16 077 titres, 13 160 avec paroles, 10 998 synchronisées (avant : 485 / 15) |
Poids ajouté : 48,6 Mio sur 102,6 Gio (+0,046 %), 3,9 Ko par fichier en moyenne. 8 815 fichiers sur 13 137 n'ont pas changé de taille — les paroles ont tenu dans le padding ID3 : sans la propagation forcée, 67 % des fichiers seraient restés invisibles pour la synchro quotidienne. Le piège n°2 n'était pas théorique.
Le fichier .mp3.part de Suki Waterhouse est à supprimer à la main (ou à ajouter à ignore dans config.yaml).
Point ouvert : Julien constate 2–3 s de retard des paroles dans le lecteur web. Ce n'est ni le scan (l'affichage est piloté côté navigateur par la position de lecture) ni les données (LRCLIB et le .lrc d'origine s'accordent à 0,3 s près sur Dancing Queen). À tester dans Symfonium sur le même titre : en phase = le rendu du lecteur web (react-jinke-music-player) est en cause, et le modèle Navidrome connaît un offset LRC que le lecteur web ignore.
260913-recettes de Joplin vers MEALIE par Claude
Mise en place le 2026-09-13. Mealie est utilisé tous les jours par toute la famille, mais renseigner une recette à la main est fastidieux : sections d'ingrédients, étapes, catégories, tags, photo. La procédure confie ce travail à Claude à partir d'une simple note Joplin.
1. La procédure, côté Julien
- Capturer la recette dans une note Joplin, dans le carnet « A transcrire dans Mealie » — texte libre, copié-collé d'un site, clip web, réponse d'un assistant, dictée, photos du téléphone. Aucune mise en forme n'est exigée.
- Publier la note : clic droit sur la note → Publier la note → copier le lien (
https://joplin.juxjux.ovh/shares/xxxxxxxx). - Coller le lien à Claude. C'est tout.
Le carnet est le garde-fou (demandé par Julien le 2026-09-13) : publier une note ne vaut pas consigne, seul le carnet le fait. Une note publiée pour une autre raison — un résumé de match de hockey, une liste, un article — est refusée par le script même si Claude se trompe sur son contenu. La page publiée ne dit pas dans quel carnet vit la note ; la base Joplin Server sur le VPS le sait (items.jop_parent_id, interrogée par SSH). Si la base est injoignable, le doute vaut refus.
Claude lit la note, la structure, crée la recette avec sa photo, et rend le lien Mealie. En retour il signale ce qu'il a dû décider seul (catégorie ou tag créé, quantités absentes, photo de remplacement), pour que Julien puisse corriger d'un mot.
Où est le travail de Claude
Une note de recette est rarement au carré : un copié-collé de site mêle recette et bavardage ; une réponse d'assistant argumente (« je choisirais l'espadon… ») au lieu de lister ; une photo de carnet manuscrit ne dit rien à un parseur. Un script ne peut pas trier ça. Claude, lui, lit la note comme un lecteur et en tire :
| Champ Mealie | Ce que Claude en fait |
|---|---|
| Nom | reformulé en titre de recette (le titre Joplin est souvent une note de travail) |
| Description | l'esprit du plat, les choix qui comptent — pas les étapes |
| Personnes, temps | repris s'ils sont dans la note, estimés sinon (et signalés comme estimés) |
| Ingrédients | listés en sections (Marinade, Sauce, Riz coco…) — Mealie les affiche titrées |
| Étapes | rédigées à l'impératif, titrées, sans le bavardage |
| Notes | ce qui ne rentre ni dans les ingrédients ni dans les étapes : variantes, choix du poisson, conseils |
| Catégories | cuisine / pays / type de plat — c'est la convention de la base (Turquie, Italia, Poisson, Dessert…) |
| Tags | ingrédients principaux — c'est l'autre convention de la base (Courgettes, Feta, Lait de coco…) |
| Source | l'URL de la note Joplin, dans le champ URL d'origine de Mealie |
| Image | la première vraie photo de la note ; les autres en photos secondaires |
Claude réutilise les catégories et tags existants avant d'en créer, et signale toute création. Les temps sont en minutes nues (« 30 »), comme le reste de la base.
2. L'outillage
Tout est dans Jux-scripts/Mealie-Recettes/ et Jux-scripts/MCP/, stdlib Python seule — rien à installer, réplicable sur toutes les machines par Syncthing.
joplin_mealie.py — la mécanique
py -3.12 joplin_mealie.py lire <url_note_publiee> # texte + images, avec verdict "photo ou pas"
py -3.12 joplin_mealie.py creer fiche.json [--simulation] # creation, image, photos secondaires
py -3.12 joplin_mealie.py image <slug> <url_ou_fichier> # poser / remplacer l'image principale
py -3.12 joplin_mealie.py organiseurs # categories et tags existants
py -3.12 joplin_mealie.py supprimer <slug>
lireannonce d'abord le carnet de la note (A TRANSCRIREouPAS a transcrire), puis transforme le bloc<div id="rendered-md">de la page publiée en texte proche du markdown (titres, listes, gras, tableaux), remplace chaque image par un marqueur[image N]et les liste à part avec leurs dimensions. Une image de moins de 200 px de côté est déclarée PAS une photo : c'est un favicon ou une vignette, jamais un plat.creerprend une fiche JSON (celle que Claude rédige), refuse si la note desourcen'est pas dans le carnet attendu (--forceruniquement sur demande explicite), puis fait le reste :POST /api/recipes(nom) →PUT /api/recipes/{slug}(corps complet) →PUT /api/recipes/{slug}/image(multipart) →POST /api/recipes/{slug}/assetspour les photos secondaires. Catégories et tags sont résolus par nom, insensible à la casse et aux accents, créés s'ils manquent. Refuse un doublon de nom sauf--doublon-ok.--simulationmontre le corps sans rien écrire.- Le carnet se lit par
plink(Windows, clé d'hôte épinglée) oussh(Linux, clé attendue) :psqldans le conteneurjoplin-db, jointureshares → items (note) → items (carnet), titre dans le JSON decontent. Nom du carnet surchargeable parMEALIE_CARNET.
Fiche JSON minimale :
{
"nom": "Brochettes d'espadon satay, riz coco",
"description": "…", "personnes": 4,
"temps_preparation": "25", "temps_cuisson": "20", "temps_total": "60",
"categories": ["Asiatique", "Poisson"],
"tags": ["Espadon", "Lait de coco", "Cacahouetes"],
"ingredients": [{"titre": "Marinade", "items": ["2 c. à soupe de sauce soja", "…"]}, "600 g d'espadon"],
"etapes": [{"titre": "Marinade", "texte": "…"}, "Servir avec le riz."],
"notes": [{"titre": "Quel poisson ?", "texte": "…"}],
"source": "https://joplin.juxjux.ovh/shares/…",
"image": "https://joplin.juxjux.ovh/shares/…?resource_id=…",
"images_secondaires": ["https://…"]
}
mcp_mealie.py — les mêmes gestes en outils MCP
Enregistré le 2026-09-13 dans ~/.claude.json du poste julie (projet Claude-pcelio+jux), comme les autres MCP Python : command = chemin absolu de python.exe, args = chemin du script. 13 outils :
- Joplin → Mealie :
lire_note_joplin,creer_recette,poser_image,poser_photo_secondaire - consultation :
lister_recettes,lire_recette,lister_organiseurs,supprimer_recette - au quotidien :
plan_repas,ajouter_au_plan,listes_courses,ajouter_courses,recette_vers_courses
Le MCP importe joplin_mealie.py depuis le dossier voisin : une seule implémentation, deux façons de l'appeler (le CLI reste utile quand le MCP n'est pas chargé, ou depuis Ubuntu / la VM).
3. Première recette réelle — l'exemple du 2026-09-13
Note : https://joplin.juxjux.ovh/shares/EqODt1SvmX6OKzdr867bpZ — Brochette de poisson Satay sauce. Une réponse d'assistant collée telle quelle : classement de cinq poissons avec des étoiles, « je choisirais l'espadon », marinade en liste, sauce satay sans quantités, riz coco et accompagnement en prose.
Résultat : Brochettes d'espadon satay, riz coco — 5 sections d'ingrédients, 5 étapes titrées, 2 notes, catégories Asiatique + Poisson, 8 tags dont un créé (Espadon), photo. Le classement des poissons est allé dans une note, pas dans les étapes.
Ce qu'a révélé ce premier passage :
- La seule image de la note faisait 16 × 16 px : le favicon d'un site cité par l'assistant, pas une photo. Sans le contrôle des dimensions, Mealie aurait reçu un carré illisible. D'où la règle des 200 px.
- Sans photo dans la note, Claude en cherche une libre de droits sur Wikimedia Commons (API
commons.wikimedia.org, licence lue dans les métadonnées). Ici : Brochette d'espadon à Georgioúpoli (Crète), CC0. Elle est signalée comme provisoire dans une note de la recette, à remplacer par une photo du plat. - Wikimedia refuse le User-Agent vide de
urllib(HTTP 403) et n'accepte que des tailles de vignette fixes (1280px-, pas800px-→ HTTP 400 « Use thumbnail sizes listed »). Le script envoie un User-Agent nommé. - La note de Julien n'avait ni temps ni nombre de personnes explicites hors « pour 4 personnes / 600–700 g » : les temps ont été estimés (25 + 20, total 60 marinade comprise) et le sont dits.
Deuxième recette — un clip web (même jour)
Note Uhp5DRRLdhLh2IlmAv8Bkg : la page entière du blog L'instant nordique clippée dans Joplin — menus, encarts, articles liés, formulaire de commentaire, pied de page, 19 images dont 3 fois le logo. La recette des köttbullar tient au milieu. Résultat : Köttbullar, boulettes de viande suédoises à la crème — 3 sections d'ingrédients, 7 étapes titrées, photo de la poêle en principale, l'assiette en photo secondaire.
Ce que Claude a dû arbitrer, consigné dans une note « Incohérences de la source » de la recette : la liste du site dit « 5 ml de lait » mais l'étape en met 4 cuillères à soupe (retenu) ; la sauce soja apparaît à la dernière étape sans figurer dans la liste (ajoutée) ; « 2 piments » est reproduit tel quel mais signalé comme douteux dans une recette suédoise ; nombre de personnes absent (4 pour 450 g, estimé). Le contrôle du carnet a fonctionné dans les deux sens le même jour : la note du pâté Lamourette, dans « Trucs et astuces », est refusée par creer.
4. Pièges relevés
- Un clip web embarque tout le site : navigation, articles liés, formulaire, 19 images. La recette est au milieu ; tout le reste est à ignorer, et les images du site ne sont pas toutes des photos du plat (logo, vignettes d'autres articles, portrait de l'auteur). Regarder les candidates avant de choisir.
- Une note publiée est publique — l'URL suffit, sans identifiant. Ne pas y mettre autre chose que la recette. Le champ URL d'origine de Mealie la garde : dépublier la note casse ce lien, sans effet sur la recette.
- Les images de la note se téléchargent par
?resource_id=sur l'URL du partage, anonymement. Les photos de téléphone arrivent en pleine taille (1 920 × 1 440, 500 Ko à 800 Ko) — Mealie les redimensionne lui-même. - Mealie n'analyse pas les ingrédients : ils sont stockés en texte libre (
note/display), comme les 141 recettes existantes. Le champtitledu premier ingrédient d'une section porte le titre de section — c'est ainsi que Mealie fait ses en-têtes. POST /api/recipesne prend que le nom et renvoie le slug ; tout le reste passe par unPUTdu corps complet relu (GETpuis mise à jour), sinon l'API efface ce qu'on n'a pas renvoyé.- Les temps sont des chaînes libres dans Mealie. La base utilise des minutes nues (« 60 », « 30 ») — 31 recettes sur 141 n'en ont aucun. S'y tenir.
- 59 recettes sur 141 n'ont pas de catégorie au 2026-09-13 : les plus récentes ont été saisies vite. Rien n'empêche de les reprendre une par une avec
lire_recette+ mise à jour — chantier possible. - Le CLI
clauden'est pas dans le PATH du poste (application de bureau) : le MCP a été inscrit à la main dans.claude.json, sauvegarde.claude.json.bak-260913-mealie. Il faut relancer la session pour qu'il soit chargé. - Piège d'atelier, sans rapport avec Mealie : l'outil Bash de Claude Code abîme les
\x..dans un heredoc Python — deux fichiers réparés en cours de route. Écrire les scripts avec l'outil d'édition, les exécuter avec Bash.
5. Identifiants
Mealie : jubertrand@gmail.com / mot de passe dans CLAUDE.md (OAuth2 password, POST /api/auth/token, formulaire username/password, jeton valable 48 h). Surchargeables par MEALIE_URL, MEALIE_USER, MEALIE_PASS.
260914-les films de la Seedbox sur le Kdrive et indexation automatique Jellyfin
Mise en place le 14/09/2026. Scripts et README dans Jux-scripts/Seedbox-Films/ (arbre Syncthing). Tableau de bord : ligne « Seedbox » du tableau des procédures en pied de la veille du jour, et sonde « Seedbox-Films » des tâches nocturnes.
Le besoin, et ce qui a été écarté
Faire passer un film de la seedbox (pool372.seedbox.fr, accessible en WebDAV — c'est un Nextcloud) jusqu'à Jellyfin, sans le faire transiter par le PC, et que Jellyfin l'indexe tout seul.
- FileZilla, l'idée de départ : impossible. La version gratuite ne parle pas WebDAV (FTP/SFTP seulement) et, même en Pro, FileZilla ne fait jamais de transfert serveur → serveur : tout octet passe par le PC, deux fois le volume sur la ligne, PC allumé. Le mode direct FXP est propre au FTP et FileZilla ne l'a jamais implémenté.
- Un « dossier film du VPS » : le VPS n'a que 22 Go libres sur 99 (78 %) et aucune bibliothèque Jellyfin n'y vit — les 15 lisent toutes kDrive via
/mnt/nas_videosdepuis la bascule du 30/08. Cinq films et le disque était plein, BookStack avec. - Le streaming direct depuis la seedbox (montage rclone de son WebDAV dans Jellyfin) : techniquement possible, Nextcloud gère les requêtes par plage. Mais la seedbox est un espace de transit : le film disparaîtrait de Jellyfin — historique de visionnage compris — le jour du ménage. Écarté, la copie vers kDrive reste la voie durable.
Retenu : rclone sur le VPS, seedbox déclarée comme second remote à côté de kdrive. Le VPS pilote, mais le flux WebDAV de la seedbox est réécrit tel quel dans le flux WebDAV de kDrive — le disque du VPS n'est pas touché. La seedbox et kDrive restent « deux mondes » : le seul point de contact est le dossier FILMS de l'une vers le dossier movies de l'autre.
Le circuit
seedbox (WebDAV Nextcloud) kDrive (WebDAV) VPS
Seedbox/FILMS/*.mkv --rclone copy--> Videos_NAS/video/movies --FUSE--> /mnt/nas_videos/video/movies
(id 1482703) = /data/movies dans Jellyfin
bibliothèque « Films récents »
Un film terminé sur la seedbox est dans Jellyfin 5 à 11 minutes plus tard : jusqu'à 5 min pour qu'il soit tenu pour stable, jusqu'à 5 min avant le passage du cron, ~1 min de copie par film, ~30 s de scan.
Ce que fait seedbox_films.sh (cron VPS toutes les 5 min)
- Verrou par PID — un double lancement copierait deux fois les mêmes fichiers.
- Liste la seedbox (
rclone lsjson) : c'est la seule source de vérité (voir le piège kDrive ci-dessous). - Retient ce qui est présent sur la seedbox, stable depuis 5 min, et absent de sa mémoire (
/home/debian/.seedbox_films.copies, une lignetaille ⇥ nompar fichier copié). Exclut*.part,*.!qB,*.aria2et les dossiers cachés. Rien à faire → sort en silence, le journal ne grossit que quand il se passe quelque chose. - Vérifie que kDrive répond, puis
rclone copy --files-from-rawverskdrive:…/Videos_NAS/video/movies, en--size-only(le WebDAV kDrive n'expose ni hash ni date).copy, jamaissync: la seedbox n'est jamais modifiée, et une suppression sur la seedbox ne supprime rien sur kDrive. - Si la copie a réussi, les fichiers entrent en mémoire, puis :
rclone rc vfs/refresh dir=video/moviessur le montagekdrive-video(port 5578). Sans cela le montage garde son listing 72 h et Jellyfin ne voit rien — le même piège que Komga (page 168) ;POST /Items/{id}/Refreshsur la seule bibliothèque « Films récents » (a8c97a7ab1c7545488876ca753a24ab3), avec une clé API Jellyfin dédiéeseedbox-films— pas un scan général des 15 bibliothèques sur kDrive.
- Si la copie a échoué : rien n'entre en mémoire, tout est retenté au passage suivant.
--simulation passe --dry-run à rclone et s'arrête avant la mémoire et le rafraîchissement.
Première exécution — 14/09/2026
| Étape | Mesure |
|---|---|
| Copie seedbox → kDrive | 7 films, 13,4 Gio en 196 s (~73 Mo/s), disque du VPS intact |
| Rafraîchissement du montage | 3 s |
| Scan Jellyfin | 30 s plus tard, .nfo, affiches, fonds et logos produits pour 6 films sur 7 |
| Identification | La Corde au cou (Dead Man's Wire), Dreams, Michael, La Vallée des fous, Que la bête meure, Vivaldi et moi (Primavera) — et un raté : The.Mandalorian.And.Grogu.2026.Multi.Truefrench.Imax.WEBRIP.mp4, resté sous son nom brut (trop de jetons après l'année). À identifier à la main, ou nommer Titre (Année).ext sur la seedbox avant copie |
Pièges rencontrés — à ne pas redécouvrir
- ⚠ kDrive met plusieurs minutes à lister un gros fichier frais en WebDAV. Première version du script : un
rclone copyclassique, qui compare source et destination. Le passage suivant a recopié 5 films sur 7 — 10 Gio, 143 s — copiés 3 à 5 min plus tôt : kDrive ne les listait pas encore (à 8 min,rclone checkdonnait 0 différence ; retard d'indexation, pas perte). Avec un cron toutes les 5 min, chaque film aurait été copié deux fois. D'où la mémoire locale des copies : le script ne demande plus à kDrive ce qu'il possède. Conséquence à connaître : un film supprimé sur kDrive mais toujours dansFILMSn'est pas recopié — retirer sa ligne de.seedbox_films.copiespour le ravoir. La mémoire se purge seule des fichiers retirés de la seedbox, et un fichier remplacé par une version de taille différente est recopié (clé = taille + nom). - La racine WebDAV de la seedbox ne contient que
Seedbox/: le dossier estSeedbox/FILMS, pasFILMS. - rclone 1.74 dit « Skipped copy as --dry-run is set », plus « Not copying » : un comptage sur l'ancien motif fait croire à une simulation vide.
grep -crenvoie 1 quand il ne trouve rien —|| truederrière, toujours.- Trois noms pour la même chose : dossier kDrive
movies(id 1482703), bind Jellyfin/data/movies, bibliothèque « Films récents ». - Le garde-fou de session Claude Code a refusé de faire transiter le mot de passe de la seedbox dans une commande — heureusement : Julien l'a posé lui-même par
rclone config password seedbox pass '…', depuis sa console, en 30 secondes. Voir Sécurité.
Où sont les choses sur le VPS
| Quoi | Où |
|---|---|
| Script (propagé par Syncthing) | /home/debian/Documents/Jux_univers/Jux-scripts/Seedbox-Films/seedbox_films.sh |
| Cron | */5 * * * *, crontab de debian (sauvegarde crontab.bak-260914) |
| Journal | /home/debian/logs/seedbox_films.log (+ seedbox_films.cron.log, sortie brute) |
| Mémoire des copies | /home/debian/.seedbox_films.copies, amorcée le 14/09 avec les 7 premiers films |
| Secrets | /home/debian/.seedbox_films.env (chmod 600, hors Syncthing) : clé API Jellyfin, id de la bibliothèque, mot de passe RC du montage video |
Remote rclone seedbox | /home/debian/.config/rclone/rclone.conf (sauvegarde .bak-260914) — type = webdav, vendor = nextcloud, url = https://pool372.seedbox.fr/files/remote.php/dav/files/seedbox4f65a4ad8f8a0 |
Sécurité — le mot de passe de la seedbox
Il n'existe qu'à un seul endroit : rclone.conf du VPS, obscurci, permissions 600. Consigne explicite de Julien : il n'est ni dans CLAUDE.md, ni dans le README, ni dans cette page, ni dans la mémoire de Claude — contrairement aux autres identifiants de l'infrastructure. Il a été saisi par Julien depuis sa propre console. S'il change : rclone config password seedbox pass 'nouveau' sur le VPS, à taper par Julien.
Canari du matin
Deux entrées ajoutées le 14/09 dans Jux-scripts/Etat-Infra/ :
config.json, blocjournaux: sonde « Seedbox-Films », alerte surERREUR|AVERTISSEMENTparmi les 60 dernières lignes datées de moins de 24 h (erreur_heures, nouveau), et sansmax_heures: ce journal est muet quand rien n'est à copier, un silence n'est pas une panne.max_heuresest devenu facultatif dansetat_infra.pypour ce cas (sauvegarde.bak-260914).procedures.json: ligne « Seedbox → kDrive movies → Jellyfin », dernière copie lue sur le motiffichier(s) copie(s) en, sans cadence — « OK — à la demande ».
Lecture : ERREUR : seedbox injoignable toutes les 5 min = mot de passe changé ou seedbox arrêtée ; AVERTISSEMENT : vfs/refresh a echoue = montage kdrive-video mort, monitor-rclone.sh s'en occupe.
Débits mesurés
| Trajet | Débit |
|---|---|
| seedbox.fr → kDrive, piloté par le VPS, 2 flux | ~73 Mo/s (13,4 Gio en 196 s ; 10 Gio en 143 s) |
| kDrive → conteneur Jellyfin (mesure du 30/08) | 65,6 Mo/s |
| Pour mémoire : ce qu'aurait fait FileZilla | 2 × le volume sur la ligne Orange du PC |
Non fait, à décider
- Déclenchement à l'événement plutôt qu'au sondage. Le VPS ne peut pas être notifié par WebDAV. L'événement « téléchargement terminé » existe côté seedbox : le crochet « exécuter une commande à la fin » du client torrent (ruTorrent, qBittorrent, Deluge…) appellerait une URL du VPS (nginx, chemin secret, jeton) qui pose un drapeau lu par un
systemd.path. Le délai tomberait à la seule durée de la copie, et les 5 min de stabilité disparaîtraient — le client sait, lui, que le fichier est complet. Les identifiants kDrive ne quitteraient pas le VPS. Il faut savoir quel client torrent la seedbox propose et si ce réglage est accessible. - Ménage de la seedbox : rien ne supprime les fichiers copiés. Julien vide
FILMSquand il veut ; rien ne bouge sur kDrive. - Renommer les fichiers en
Titre (Année).extsur la seedbox avant copie, pour que Jellyfin identifie tout du premier coup.
260916-Proxy pour IP étrangères — les proxys de la seedbox dans Firefox
1. Le besoin
Ma Seedbox inclut des proxys — j'aimerais bien m'en servir :
- par défaut le proxy France, car il intègre Adblock (donc plus de pub, normalement) ;
- les autres proxys pour regarder les TV publiques étrangères (surtout l'Italie).
| Pays | Serveur | Port | Note |
|---|---|---|---|
| France | proxy-fr.seedbox.fr |
3128 | Adblock inclus |
| Italie | proxy-it.seedbox.fr |
3128 | |
| Royaume-Uni | proxy-uk.seedbox.fr |
3128 | |
| Allemagne | proxy-de.seedbox.fr |
3128 | |
| Espagne | proxy-es.seedbox.fr |
3128 | |
| Portugal | proxy-pt.seedbox.fr |
3128 | |
| Belgique | proxy-be.seedbox.fr |
3128 | |
| Pays-Bas | proxy-nl.seedbox.fr |
3128 | |
| Irlande | proxy-ie.seedbox.fr |
3128 | |
| Pologne | proxy-pl.seedbox.fr |
3128 | |
| République Tchèque | proxy-cz.seedbox.fr |
3128 | |
| Finlande | proxy-fi.seedbox.fr |
3128 | |
| Lituanie | proxy-lt.seedbox.fr |
3128 |
2. Ce qui a été vérifié avant de choisir (2026-09-16)
Sondage depuis le poste julie, sans identifiants, sur 8 des 13 serveurs :
- tous répondent sur le port 3128 ; ce sont des Squid 3.5.20 ;
- ils exigent une authentification Basic (
407 Proxy Authentication Required, realmWeb-Proxy) — ce sont les identifiants de la seedbox ; - la méthode
CONNECTest acceptée → le HTTPS passe (indispensable, toutes les TV sont en HTTPS) ; - toutes les adresses sont des plages OVH (87.98.x, 94.23.x, 178.32.x, 91.121.x) : des IP de datacenter géolocalisées dans chaque pays, pas des IP résidentielles. Conséquence en §6.
3. Solution retenue : FoxyProxy dans Firefox, en mode « par motifs »
Une extension Firefox qui choisit le proxy selon le site visité :
- France par défaut pour tout le trafic du navigateur (Adblock) ;
- bascule automatique par pays :
raiplay.itpart par l'Italie,zdf.depar l'Allemagne,rtve.espar l'Espagne… sans rien toucher ; - bascule manuelle en un clic dans la barre d'outils pour forcer un pays ;
- identifiants saisis une fois, mémorisés par l'extension ;
- exclusions : réseau local, tunnel WireGuard, nos propres services (
juxjux.ovh,alteris.ovh,infomaniak.com) et les sites sensibles ne passent jamais par un proxy.
Pourquoi pas le proxy système de Windows : il s'appliquerait à tout (Syncthing, Steam, mises à jour, WireGuard…), Windows gère mal l'authentification proxy, et un fichier PAC sait router par site mais ne peut pas porter d'identifiants. Il est fourni en variante (§7), à ne retenir que pour faire passer une autre application que Firefox.
4. Les fichiers — Jux-scripts/Seedbox-Proxy/
| Fichier | Rôle |
|---|---|
generer_config.py |
Source de vérité : une table (pays, serveur, code ISO, couleur, domaines TV) produit les deux fichiers ci-dessous. Stdlib seule : py -3.12 generer_config.py |
foxyproxy_seedbox.json |
Fichier d'import FoxyProxy : 13 proxys, 27 domaines de télévision publique, liste d'exclusion, champs identifiants vides |
seedbox.pac |
Variante « proxy système », même routage, sans identifiants |
README.md |
Résumé de cette page |
Le mot de passe seedbox ne s'écrit nulle part dans l'arbre Syncthing (règle en vigueur depuis la procédure Seedbox-Films) : le JSON versionné a ses champs username/password vides, et c'est Julien qui les renseigne, hors Syncthing.
Domaines routés par pays (télévisions publiques ; s'ajoutent dans la table du script) :
| Pays | Domaines |
|---|---|
| Italie | rai.it, raiplay.it, raiplaysound.it, rainews.it |
| Royaume-Uni | bbc.co.uk, bbc.com, bbci.co.uk, channel4.com, itv.com |
| Allemagne | zdf.de, ardmediathek.de, ard.de, daserste.de, tagesschau.de |
| Espagne | rtve.es — Portugal : rtp.pt — Belgique : rtbf.be, vrt.be |
| Pays-Bas | npo.nl, npostart.nl, nos.nl — Irlande : rte.ie — Pologne : tvp.pl |
| Rép. Tchèque | ceskatelevize.cz, ivysilani.cz — Finlande : yle.fi — Lituanie : lrt.lt |
Les motifs sont des expressions régulières sur l'URL complète (^https?://([^/]+\.)?rai\.it(:\d+)?(/|$)) : le domaine nu et ses sous-domaines, mais ni boulevard.de pour ard.de, ni une URL qui ne ferait que citer rai.it dans son chemin. FoxyProxy évalue les proxys dans l'ordre et retient le premier dont un motif correspond : les pays sont en tête, la France (motif *) en dernier. Sans ce motif final, FoxyProxy enverrait tout le reste en direct — c'est son comportement par défaut en mode motifs.
5. Mise en place — pas à pas
- Installer FoxyProxy Standard dans Firefox (menu ⋮ → Extensions et thèmes → chercher « FoxyProxy Standard », éditeur eric.h.jung / foxyproxy). Épingler son icône dans la barre d'outils.
- Copier
foxyproxy_seedbox.jsonhors de l'arbre Syncthing (par exempleD:\Seedbox\) et y mettre les identifiants dans un éditeur de texte : Remplacer tout"username": ""par"username": "<identifiant seedbox>", idem pour"password". Treize proxys, deux remplacements. Supprimer cette copie après l'import. Variante sans toucher au fichier : importer tel quel, puis saisir identifiant et mot de passe dans chacun des 13 proxys de la page d'options (FoxyProxy propose aussi un Bulk Edit). - Importer : icône FoxyProxy → Options → onglet Import → choisir le fichier. L'import remplace la configuration existante.
- Vérifier que le sélecteur en haut de la page d'options est bien sur « Proxy by Patterns » (le fichier le pose, mais c'est ce réglage qui fait tout).
- Contrôle :
https://ifconfig.medoit afficher87.98.174.34(le proxy France) — et non l'IP Orange de la maison ;- ouvrir
https://www.raiplay.itpuis l'onglet Log des options de FoxyProxy : les requêtesraiplay.itdoivent être marquées Italie, les autres France ; - lancer une vidéo RaiPlay.
- Compléter la liste d'exclusion (options → Global Exclude, ou la liste
PASSTHROUGHdu script) avec les sites sensibles : banque, assurance, santé. Voir §6, point 3.
Portmaster : rien à faire, le sortant est en permit par défaut. Firefox ouvrira des connexions vers proxy-*.seedbox.fr:3128, c'est tout.
6. Ce qu'il faut savoir — limites
-
L'Adblock du proxy ne travaille qu'au niveau des domaines sur HTTPS. Un proxy ne lit pas l'intérieur d'une page chiffrée ; il ne peut que refuser les connexions vers les domaines publicitaires connus. Garder uBlock Origin dans Firefox — les deux se complètent, ils ne se remplacent pas.
-
Les IP sont des adresses de datacenter OVH — et la Rai les refuse (constaté le 2026-09-16). Premier essai sur Diretta Rai 2 par le proxy Italie : « RAI detiene i diritti per lo streaming del contenuto esclusivamente per connessioni dall'Italia ». Géolocalisation des 13 IP (base ip-api) :
Proxy annoncé IP Vu comme Hébergeur Italie 94.23.65.245 IT Milan OVH AS16276, hostingEspagne, Portugal, Belgique, Pologne, Tchéquie 87.98.225.34, 94.23.74.75, 91.121.216.35, 87.98.235.69, 94.23.168.27 pays annoncé OVH, hostingRoyaume-Uni, Allemagne, Pays-Bas, Irlande, Finlande, Lituanie 178.32.60.249, 87.98.243.154, 94.23.144.159, 188.165.0.96, 188.165.136.66, 188.165.24.74 France (Paris, Strasbourg, Roubaix) OVH, hostingToutes les machines sont physiquement chez OVH en France ; seule la géolocalisation déclarée change, et six « pays » sur treize ne sont même pas repris par cette base. La Rai diffuse via Akamai, dont la base (EdgeScape) place vraisemblablement 94.23.x à Roubaix. Conclusion : les proxys seedbox ne servent pas pour les télévisions étrangères — ils restent utiles pour la France/Adblock. Pour une vraie IP italienne : un Raspberry Pi chez un proche en Italie, raccordé au hub WireGuard du VPS comme peer
10.0.0.5avec un petit Squid, déclaré dans FoxyProxy comme « Italie maison » ; à défaut, un VPN grand public avec extension Firefox dans un profil séparé (ses IP sont aussi en datacenter mais renouvelées contre les blocages). Les proxys résidentiels payants (facturés au Go, 10-30 € le film) et les listes gratuites (machines compromises) sont écartés. -
Le proxy voit passer tout le trafic HTTP en clair, et l'identifiant en Basic (encodé, pas chiffré, entre Firefox et le proxy). Le HTTPS reste chiffré de bout en bout, mais le proxy connaît les sites visités. D'où la liste d'exclusion — nos propres services et les sites sensibles n'ont aucune raison de transiter par un Squid OVH.
-
Firefox seulement. VLC, Jellyfin, l'émulateur Android… ne sont pas concernés. C'est voulu.
-
Une vidéo qui démarre puis échoue : le lecteur charge parfois son flux depuis un CDN sur un autre domaine que le site (Akamai, etc.), qui part alors par la France. Repérer ce domaine dans l'onglet Log de FoxyProxy (ou l'outil Réseau de Firefox, F12) et l'ajouter au pays concerné.
-
Réimporter le JSON efface les identifiants saisis (l'import remplace tout). Pour ajouter un site durablement : modifier la table du script, regénérer, réimporter la copie avec identifiants. Pour un essai rapide : ajouter le motif directement dans le proxy, depuis les options.
-
Squid 3.5.20 date de 2016 — c'est le choix de seedbox.fr, pas le nôtre. Sans conséquence pour l'usage.
7. Variante « proxy système » — seedbox.pac
Même routage, sans extension : un fichier PAC lu par le navigateur ou le système.
- Firefox : Paramètres → Réseau → Paramètres de connexion → Adresse de configuration automatique du proxy :
file:///D:/Syncthing/Jux_univers/Jux-scripts/Seedbox-Proxy/seedbox.pac. Firefox demande les identifiants une fois par proxy (cocher « mémoriser »). Perd la bascule manuelle et le journal de FoxyProxy. - Windows (Paramètres → Réseau → Proxy → Utiliser un script d'installation) : Windows 10 n'accepte plus un chemin
file://— il faudrait servir le fichier enhttp://depuis le VPS, comme le dossier Kobo. Non fait, et non recommandé : le proxy s'appliquerait alors à toutes les applications. - La France est déclarée avec repli
; DIRECT: si le proxy ne répond pas, on navigue sans lui plutôt que de rester bloqué. Les proxys pays, eux, n'ont pas de repli — mieux vaut voir l'échec que croire regarder « depuis l'Italie ».
8. Voies écartées
- Proxy système Windows : tout le poste y passerait (Syncthing, Steam, WireGuard…), authentification mal gérée — §3.
- Un profil Firefox par pays : marche, mais oblige à changer de fenêtre et à dupliquer les extensions et mots de passe.
- Conteneurs Firefox + proxy par conteneur : FoxyProxy sait le faire (
tabProxy), c'est une évolution possible si la bascule automatique par domaine ne suffit pas — un onglet « Italie » où tout passerait par l'Italie.
9. Suite — la réponse pour la télévision : IPTV-Publiques (2026-09-16, le soir même)
Ni proxy ni VPN : les diffuseurs publics publient leurs flux HLS, le projet iptv-org les recense, et Jellyfin les joue via un tuner M3U testé toutes les 6 h. Rai 1/2/3, News 24, Storia, Scuola, Südtirol, TVE Internacional, Das Erste, Tagesschau 24, arte, RTP… — 21 chaînes vivantes au premier relevé. Page BookStack 323, dossier Jux-scripts/IPTV-Publiques/. Les proxys seedbox restent utiles pour la France/Adblock ; le VPN n'a pas été souscrit.
260916-IPTV-Publiques — la télévision publique européenne dans Jellyfin
1. Le besoin, et pourquoi pas les proxys ni un VPN
Regarder les télévisions publiques européennes (Rai en tête) depuis la maison. La page 322 raconte les deux impasses de la journée : les proxys seedbox.fr sont des IP de datacenter OVH que la Rai refuse, et un VPN grand public aurait coûté un abonnement pour un résultat incertain.
La troisième voie est la bonne : les diffuseurs publics publient eux-mêmes leurs flux HLS, et le projet communautaire iptv-org les recense par pays. Un flux HLS est une simple URL .m3u8. Il n'y a rien à contourner — seulement à trier ce qui répond réellement depuis le VPS, et à le servir proprement.
Décision de Julien : c'est Jellyfin qui joue la TV. Le VPS porte déjà Jellyfin ; une liste M3U branchée en tuner y ajoute une section « TV en direct » visible sur la télé, la tablette et les téléphones de toute la famille, avec logos, numéros de chaînes et groupes par pays.
2. Ce que fait generer_playlist.py
Toutes les 6 heures sur le VPS (cron 15 */6 * * *), stdlib seule :
- lit les listes iptv-org des pays concernés ;
- n'en garde que les chaînes de la liste blanche
config.json(regex sur le nom) ; ajoute les candidats supplémentaires connus hors liste (les flux CloudFront de Rai 1 et Rai 3, le flux officiel d'arte) ; écarte d'office les hôtes en adresse IP nue etstreamhostingcdn(rediffusions pirates) ; - teste chaque candidat : playlist HLS → variante la plus haute → téléchargement d'un vrai segment, avec mesure du débit. Un segment qui n'arrive pas, une playlist vide, un débit sous 3 Mbit/s = KO ;
- retient le candidat le plus rapide par chaîne, avec une préférence de stabilité pour celui de la fois précédente ;
- écrit
tv_publiques.m3u(tvg-id, logo,tvg-chno,group-title= pays) dans/home/debian/jellyfin/config/(=/config/dans le conteneur, lu par le tuner) et dans/home/debian/Documents/IPTV/(=D:\Syncthing\IPTV\, pour VLC depuis n'importe quelle machine) ; - si la liste a changé, demande à Jellyfin de relire son guide (
POST /ScheduledTasks/Running/{RefreshGuide}, clé API dédiéeiptv-publiquesdans/home/debian/.iptv_publiques.env, hors Syncthing) ; - termine par la ligne que lit le canari :
=== BILAN: 21/41 chaînes vivantes, 0 perdue — absentes : … ===.
« Perdue » ≠ « absente ». Une chaîne géobloquée depuis toujours est absente et ne fait pas parler le canari ; une chaîne vivante au passage précédent et morte maintenant est perdue, et là le canari chante (attendu: "BILAN: .*0 perdue", journal iptv_publiques.log, cadence 8 h). Hystérésis : au premier échec la chaîne est conservée dans la M3U avec son flux précédent (? au journal) ; elle n'est déclarée perdue qu'au second passage raté. Sans cela, les flux RTP « Not 24/7 » faisaient chanter le canari pour rien — constaté dès le second passage.
--simulation teste et affiche sans rien écrire, --verbeux détaille chaque candidat. explorer.py it de … liste et teste toutes les chaînes publiques d'un pays : c'est l'outil pour enrichir la liste blanche.
3. Relevé du 2026-09-16 depuis le VPS — 21 chaînes vivantes sur 41 demandées
| Pays | Vivantes | Absentes et pourquoi |
|---|---|---|
| Italie | Rai 1, Rai 2, Rai 3, Rai News 24, Rai Storia, Rai Scuola (CloudFront tiers, 80-95 Mbit/s), Rai Südtirol (flux officiel wzstreaming.rai.it) |
Rai 4, Gulp, Sport : flux officiels géobloqués |
| Espagne | TVE Internacional (le flux officiel RTVE pour l'Europe), Teledeporte, Clan | La 1, La 2, 24 Horas : HTTP 451 — RTVE bloque les IP d'hébergeur (mais répond depuis la maison) |
| Allemagne | Das Erste HD, Tagesschau 24, KiKA, hr-fernsehen, SR Fernsehen — tous flux officiels ARD, ouverts au monde | ZDF, 3sat : n'existent que via antik.sk, trop lent ; Phoenix, ZDFinfo/neo : géobloqués ; BR, NDR, WDR, ARD-alpha, MDR : géoblocage doux (voir §4) |
| Arte | arte (flux officiel Akamai, 140 Mbit/s) | — |
| Belgique | BX1 (Bruxelles) | La Une, Tipik : uniquement via des IP nues (écartées) ; VRT absente des listes |
| Portugal | RTP 1, RTP Notícias, RTP Açores (flux officiels) — intermittents, [Not 24/7] |
RTP 2 |
| Danemark | Folketinget (le parlement, Kaltura) | DR1, DR2 : géobloqués |
| Suisse | aucune | SRF/RTS/RSI : absentes des listes ou géobloquées |
| Autriche | aucune | ORF 1/2 : IP nues ; ORF III : géoblocage doux |
| Luxembourg | aucune | RTL Télé Lëtzebuerg : géoblocage doux |
| Pays-Bas | aucune | NPO : géobloqués |
Vérifié de bout en bout : tuner créé par l'API (POST /LiveTv/TunerHosts, type m3u, URL /config/tv_publiques.m3u, User-Agent navigateur), guide rafraîchi, 21 chaînes vues par Jellyfin, puis lecture de Rai 2 par le vrai enchaînement client (PlaybackInfo → LiveStreams/Open) : Jellyfin sonde le flux (hls, h264 1080p, aac) et répond SupportsDirectPlay: true — aucun transcodage, le VPS ne fait que relayer.
4. Pièges rencontrés
- Les listes iptv-org ne sont pas la Rai. Rai 1/2/3 y viennent de rediffuseurs tiers (un CloudFront anonyme, un opérateur slovaque). Ils peuvent disparaître : d'où le test à chaque passage et l'hystérésis, plutôt qu'une liste figée.
- Un flux « OK » n'est pas forcément jouable :
dash2/dash4.antik.skrépond 200 mais sert ses segments au rythme du direct (~1 Mbit/s), mesuré depuis le VPS et depuis la maison. En lecture ça coupe. D'où la mesure de débit et le seuildebit_min_mbit: 3. ZDF et 3sat n'ont pas d'autre source : absentes. - Géoblocage doux : ARD régionales, RTL.lu et ORF III resservent la playlist master à la place de la variante — HTTP 200, aucune erreur, et un lecteur naïf tourne en rond. Détecté par « la variante contient encore
#EXT-X-STREAM-INF». - Le dernier segment d'un direct n'est pas toujours servi (404 fugace sur Das Erste) : le test prend l'avant-avant-dernier et réessaie une fois.
- La géographie n'est pas la même depuis la maison et depuis le VPS : RTVE La 2 joue depuis la Livebox (IP Orange) et répond 451 depuis OVH. Jellyfin étant sur le VPS, c'est le VPS qui fait foi — la M3U de Syncthing est la même, VLC à la maison n'aura pas RTVE La 2 même si elle marcherait.
PlaybackInfoseul fait croire à un transcodage (ContainerNotSupported, VideoCodecNotSupported, ffmpeg à 170-290 % CPU) : Jellyfin ne sonde un tuner M3U qu'à l'ouverture (RequiresOpening: true→LiveStreams/Open). Après l'ouverture, direct play. Les ffmpeg de mes premiers essais ont tourné 2 min à 3 cœurs — tués à la main (pgrep -x ffmpeg).pkill -f 'motif'lancé parplink -m scripttue la session elle-même : le motif figure dans la ligne de commande du bash qui l'exécute. Passer parpgrep -xsur le nom du processus.streaming-live.rtp.ptrépond204 No Contenthors antenne ([Not 24/7]) : un204est traité comme vide, pas comme un succès.- arte : l'entrée « arte » de la liste France est une IP nue ; le flux officiel est
artesimulcast.akamaized.net/hls/live/2030993/artelive_de/index.m3u8(celui de la liste allemande, marqué à tort[Geo-blocked]— il répond depuis la France). Le cheminartelive_frn'existe pas sous cet identifiant : le flux français a le sien,2031003/artelive_fr(trouvé le lendemain dans la liste belge de Free-TV, voir §7).
5. Utilisation et entretien
- Regarder : Jellyfin → TV en direct (ou Live TV) → les chaînes par groupe de pays. Sur la télé, les numéros 1-7 sont l'Italie.
- VLC ailleurs : Média → Ouvrir un flux réseau →
D:\Syncthing\IPTV\tv_publiques.m3u(ou son équivalent sur chaque machine). - Ajouter une chaîne :
python3 explorer.py <pays>sur le VPS pour voir ce qui répond, puis une ligne danschainesdeconfig.json(nom, pays, motif, groupe, éventuelscandidats). Le passage suivant l'inclut si elle vit. - Voir l'état :
tail -3 /home/debian/logs/iptv_publiques.log, ou la page de veille du matin (« Tâches nocturnes »). - Retour arrière : supprimer le tuner dans Jellyfin (Tableau de bord → TV en direct), retirer la ligne de cron (sauvegarde
/home/debian/crontab.bak-260916), effacer les deuxtv_publiques.m3u.
Pas encore fait — le guide des programmes (EPG). Les tvg-id iptv-org (Rai1.it, DasErste.de…) sont ceux du projet iptv-org/epg, qui sait produire un XMLTV par chaîne ; Jellyfin l'accepte en fournisseur de guide XMLTV. Un grabber Node à faire tourner, à évaluer si le « qu'est-ce qui passe ? » manque à l'usage.
6. Fichiers
Jux-scripts/IPTV-Publiques/ : generer_playlist.py (production), config.json (liste blanche, sorties, seuils), explorer.py (exploration), README.md, doc_bookstack.md (cette page). Sur le VPS : journal /home/debian/logs/iptv_publiques.log, état /home/debian/logs/iptv_publiques.etat.json, clé API dans /home/debian/.iptv_publiques.env (chmod 600). Canari : entrée IPTV-Publiques dans Etat-Infra/config.json.
7. Le 2026-09-17 — seconde source (Free-TV) et guide des programmes
Julien a signalé la liste Free-TV/IPTV (via l'article de Korben sur les chaînes IPTV gratuites, qui ne cite que ces deux listes). Elle est complémentaire d'iptv-org : un seul fichier de 2 080 chaînes, le pays dans group-title, des flux officiels plus souvent, des marqueurs Ⓖ (géobloquée), Ⓢ (pas 24/7), Ⓨ (YouTube) accolés aux noms, et surtout un en-tête x-tvg-url qui désigne les guides XMLTV d'epgshare01 par pays.
Le script lit désormais les deux sources (sources dans config.json, mode pays pour iptv-org, mode groupe pour Free-TV), fusionne les candidats d'une même chaîne et garde le plus rapide. Résultat depuis le VPS : 55 chaînes vivantes sur 87 demandées (21 la veille). Ce que Free-TV a apporté :
| Pays | Nouvelles chaînes vivantes |
|---|---|
| Italie | Rai Italia Europa (le canal international de la Rai, fait pour l'étranger), Rai World Premium, La7 (flux officiel), Senato TV, Camera dei Deputati |
| Espagne | régionales officielles : Telemadrid, Canal Sur, Canal Extremadura, Televisión Canaria, ETB 1/2, TV3 Catalunya, 3/24, À Punt |
| Allemagne | NDR International, WDR Fernsehen |
| Arte | le flux français (artelive_fr, id Akamai 2031003 — celui de la liste belge) remplace le flux allemand |
| Portugal | RTP 2, RTP Mundo (international), RTP Madeira ; RTP 3/Notícias |
| Autriche | W24 (la chaîne de la ville de Vienne — ORF reste géobloqué) |
| Danemark | TV 2/Bornholm |
| Pays-Bas | 13 régionales publiques (NH Nieuws, RTV Rijnmond, Utrecht, Omroep Brabant, Gelderland, RTV Noord, Oost, Drenthe, Omrop Fryslân, Flevoland, West, Zeeland, L1) — NPO reste géobloqué |
Toujours rien pour la Suisse (SRF/RTS/RSI : IP nues ou géobloqués), le Luxembourg (RTL.lu en géoblocage doux) et les nationales RTVE, ZDF, ORF, DR, NPO, RTBF.
Guide des programmes — generer_guide.py (cron 5 3 * * *, 9 s) : lit en flux les guides epgshare01 des pays utiles (18 à 52 Mo de XML chacun, jusqu'à 751 chaînes), n'en garde que nos chaînes, réécrit leurs identifiants sur les nôtres et produit /config/guide.xml (5 Mo, ~7 500 programmes) pour le fournisseur XMLTV de Jellyfin (créé par POST /LiveTv/ListingProviders). 50 chaînes sur 55 ont un programme ; les 5 sans (Rai Italia, Rai World Premium, Rai Südtirol, Senato, Camera) n'existent dans aucun guide.
- Les identifiants ne concordent pas d'une liste à l'autre (
Rai1.it,Rai.1.HD..101.it,Das.Erste.devsDasErste.de,RTP.1.HD.ptvsRTP1.pt,HR.depour hr-fernsehen,SWR/SR.depour SR). D'où : la M3U porte désormais notre propretvg-idstable (rai1.tvpub), le guide est réécrit avec ces id, et l'appariement se fait sur les noms normalisés (sans ponctuation, sans « HD », sans suffixe pays) plus des aliasepgdansconfig.jsonpour les récalcitrants ("epg": ["SWR/SR"]). Le tvg-id d'origine reste danstvg-id-source - TVE Internacional n'est que dans le guide suisse (
TVE.Internacional.ch) :epg_pays: "ch"sur la chaîne, arte dans le guide français - Jellyfin affiche « en cours » et la grille sur la télé ; sa tâche Refresh Guide relit le fichier chaque nuit
Pièges du jour :
- L'outil Bash abîme
\bet\ndans un heredoc — un\bde regex est devenu un caractère backspace (0x08) dansexplorer.py: la regex^(Rai\b|…)ne trouvait plus une seule Rai, sans erreur. Éditer avec Edit/Write, jamais par heredoc (déjà noté en mémoire, re-mordu) - Free-TV marque le géoblocage d'un Ⓖ dans le nom : sans le retirer,
^Rai 1$ne matche pas « Rai 1 Ⓖ ». Et un flux marqué Ⓖ répond parfois depuis le VPS (arte, UniNettuno) : le marqueur trie les candidats, il ne les écarte pas - Segments RTP aux noms hors ASCII →
UnicodeEncodeError/InvalidURL: l'URL du segment est désormais encodée (urllib.parse.quote) antik.skrépond 200 mais sert au rythme du direct : ZDF et 3sat n'ont aucune autre source vivante, ils restent absents
8. État au 2026-09-17
55 chaînes dans Jellyfin, 50 avec guide, cron M3U toutes les 6 h et guide à 3h05 UTC, deux entrées canari (0 perdue, GUIDE: [1-9]). Ajouter une chaîne = python3 explorer.py <pays> puis une ligne dans chaines (motif sur le nom tel qu'il apparaît dans l'une des deux listes).
9. Le 2026-09-27 — l'Europe du Nord et de l'Est, et la Grèce
Julien demandait la télévision publique grecque, ERT 1 surtout, en donnant l'URL
https://ertflix.s.llnwi.net/ertlive/ert1/clrdef24723b/playlist.m3u8.
Cette URL est morte : llnwi.net est le CDN Limelight, retiré du service — le nom ne résout
plus du tout (NXDOMAIN, depuis le PC comme depuis le VPS). Le flux vivant d'ERT est ailleurs, et
il fallait le trouver.
Ce que les deux listes donnaient, et pourquoi ça ne suffisait pas : iptv-org n'a que ERT 3,
ERT News et ERT Cosmos ; Free-TV a bien ERT 1/2/3 mais en .mpd (DASH), que notre chaîne ne
sait ni tester ni servir à Jellyfin. En remplaçant l'extension par index.m3u8 sur le même
paquetiseur, tout ERT répond en HLS 1080p, audio grec et sous-titres inclus :
https://ert-live.siliconweb.com/bpk-tv/{ERT1,ERT2,ERT3,ERTNews,ERTCosmos,ERTKids}/default/index.m3u8.
Ces six URL sont posées en candidats dans config.json ; le script les préfère aux .mpd.
Exploration de 18 pays dans la foulée (explorer.py gr ie pl cz fi se no hr ro hu bg sk si cy is ee lv lt), 34 chaînes ajoutées à la liste blanche :
| Pays | Ajouté | Source |
|---|---|---|
| Grèce | ERT 1, ERT 2, ERT 3, ERT News, ERT Cosmos, ERT Kids, Vouli TV (le parlement) | siliconweb, officiel |
| Irlande | RTÉ One, RTÉ 2, RTÉ News, TG4 | live.rte.ie, officiel |
| Roumanie | TVR 1, 2, 3, International, Cultural, Info, Folclor | CDN officiel mncdn |
| Finlande | Yle TV1, Yle TV2, Yle Teema & Fem | Akamai, officiel |
| Islande | RÚV, RÚV 2 | Akamai, officiel |
| Pays baltes | ETV, ETV2, ETV+ (Estonie), LTV7 (Lettonie), LRT Lituanica, LRT Plius, LRT Klasika | err.ee et lrt.lt, officiels |
| Chypre | RIK Sat | — |
| Slovaquie | STVR Live, STVR :24 | hôte tiers, intermittent |
| Pologne | Belsat (la chaîne biélorusse d'opposition, émise depuis la Pologne) | — |
Écartées faute de source propre — à ne pas rechercher inutilement : les ČT tchèques, les
M1/M2/Duna hongroises et Jednotka/Dvojka slovaques n'existent que derrière l'IP nue
88.212.15.19, un rediffuseur pirate que hotes_exclus refuse par principe. SVT (Suède),
NRK (Norvège), HRT (Croatie), BNT (Bulgarie), RTV SLO (Slovénie) et TVP
(Pologne) n'ont aucun flux vivant dans les deux listes.
Résultat : 83 chaînes vivantes sur 121, 65 avec programmes, 41 émissions en cours vues par Jellyfin au moment du contrôle.
Guide : onze guides epgshare01 ajoutés. Deux n'existent pas (IS1, EE1 renvoient une page
HTML de 52 octets) — RÚV et ETV n'auront donc pas de programmes. ERT 1/2/3/News et Vouli sont
absents du guide grec alors que ERT Cosmos y est : rien à corriger de notre côté. RIK Sat, lui,
a été rattaché au guide grec et non chypriote (epg_pays: "gr"), et les irlandaises ont reçu
leurs alias (RTE Two HD, RTE News Now).
Pièges du jour :
- Une URL de flux fournie de bonne foi peut pointer un CDN mort : vérifier la résolution DNS
avant de chercher plus loin (
host, ou uncurlqui répond000en 0 s) .mpd≠.m3u8: Free-TV donne du DASH pour certaines chaînes ; le même paquetiseur Broadpeak sert du HLS au même chemin, il suffit de changer l'extension- Deux échecs passagers (ERT Kids, LRT Plius) ont été rattrapés par l'hystérésis puis se sont remis à répondre au passage suivant : c'est exactement ce pour quoi elle a été écrite
261001-les playlistes de Claude sur Navidrome
En une phrase
AudioMuse-AI écoute réellement les morceaux (analyse sonore, pas les tags), les regroupe par parenté musicale, fait nommer les groupes par Gemini, et dépose le résultat en playlists dans Navidrome — où elles restent, même PC éteint.
1. Pourquoi sur le PC, et nulle part ailleurs
AudioMuse n'est pas un greffon : c'est une pile d'analyse (Flask + worker ONNX + PostgreSQL embarqué, 2,4 Go installés) qui exige AVX2 et 8 Go de RAM.
| Machine | AVX2 | RAM disponible | Verdict |
|---|---|---|---|
| NAS sasnexte | non — Celeron J4025 | 0,6 Go | éliminé, ne démarrera jamais |
jux-debian |
non — même CPU hôte | 3 Go | éliminé, même raison |
| VPS Jux | oui (Haswell, 6 cœurs) | 2,5 Go, swap à 4,9/8 Go | trop juste |
PC julie |
oui — Ryzen 5 2600X, 12 threads | 16 Go | retenu |
L'absence d'AVX2 sur le J4025 est définitive : ni le NAS ni la VM qui tourne dessus ne pourront héberger AudioMuse, quelle que soit la version.
2. Ce que le PC éteint change — et ne change pas
Point vérifié dans le code (tasks/mediaserver/navidrome.py) et non supposé : AudioMuse crée les playlists dans Navidrome, par l'API Subsonic (createPlaylist, puis updatePlaylist public=true). Elles vivent donc dans la base du VPS, comme si elles avaient été faites à la main.
| PC allumé | PC éteint | |
|---|---|---|
| Écouter les playlists (web, Symfonium, Feishin) | oui | oui |
| Fabriquer / rafraîchir les playlists | oui | non |
Instant Mix & Radio (greffon .ndp) |
oui | non |
3. Emplacement, et les deux pièges du poste
D:\AudioMuse-AI\
├── app\ le bundle (PostgreSQL embarqué compris), 2,4 Go
├── donnees\AudioMuse-AI\ base, audio temporaire, modèles, journaux, secrets
├── sauvegardes\ dumps produits par sauvegarder_base.py
├── Demarrer AudioMuse.cmd
├── Arreter AudioMuse.cmd
└── sauvegarder_base.py
Hors de l'arbre Syncthing, volontairement : 1,5 Go d'archive et plusieurs Go de données n'ont rien à faire sur les 7 appareils du maillage, dont un téléphone. Même raison que D:\Procedures photos\ et D:\Musique\.
⚠ Piège n°1 — MSIX
native-build/windows/paths.py construit les chemins de données à partir de la variable d'environnement LOCALAPPDATA. Or Claude Code tourne dans un conteneur MSIX : tout processus lancé depuis une session Claude voit son %LOCALAPPDATA% redirigé vers …\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Local\. Lancé ainsi, AudioMuse installerait sa base dans un chemin fantôme — exactement l'incident Android Studio du 2026-08-26.
Demarrer AudioMuse.cmd force donc LOCALAPPDATA=D:\AudioMuse-AI\donnees avant d'appeler l'exécutable. Double bénéfice : hors périmètre de virtualisation, et hors du SSD système (95 Go libres, 146 arrêts brutaux au compteur, contre 596 Go sur D:).
C'est Julien qui lance, jamais Claude Code.
⚠ Piège n°2 — l'espace dans le chemin
Toujours dans paths.py : si le chemin de données contient une espace, AudioMuse bascule en silence vers %PROGRAMDATA%. Le lanceur vérifie et refuse de démarrer le cas échéant, plutôt que d'écrire ailleurs sans rien dire.
4. Mise en route
- Double-cliquer
Demarrer AudioMuse.cmd. Au premier lancement, PostgreSQL s'initialise : compter 1 à 2 minutes. Le lanceur attend que le port 8000 réponde, puis ouvre le navigateur. Une icône apparaît dans la zone de notification (état, journal, arrêt). - Dans l'assistant, serveur de musique : Navidrome,
https://navidrome.juxjux.ovh, utilisateurjulien, mot de passe Navidrome. - Authentification AudioMuse : un identifiant, un mot de passe, un jeton d'API. Le jeton ne sert qu'au greffon (non installé) mais l'assistant l'exige.
- Première analyse — page Analysis and Clustering → Start Analysis.
Le coût de la première analyse
AudioMuse télécharge chaque morceau en entier par l'API Subsonic (download_track → stream), l'analyse, puis passe au suivant. Un seul fichier à la fois : rien ne s'accumule sur le disque. Mais au total ~133 Go transitent depuis le VPS (donc depuis kDrive), une seule fois.
Durée annoncée par le projet : « de quelques heures à plusieurs jours ». L'analyse est reprenable — les titres déjà traités sont en base, une interruption ne fait rien perdre — et incrémentale ensuite : un nouvel album ne coûte que sa propre taille.
5. Noms de playlists par Gemini
Il n'y a aucun greffon à installer : c'est de la configuration. Le modèle ne reçoit que des étiquettes de genre et d'humeur, jamais la musique ni les fichiers.
- Créer la clé (gratuite, sans facturation) sur
aistudio.google.com→ Clés API → Créer une clé API. C'est à Julien de le faire : Claude ne crée pas d'identifiants. - AudioMuse → Administration → Configuration → Configuration avancée → Fournisseur d'IA & Nommage de playlist :
AI_MODEL_PROVIDER=GEMINIGEMINI_API_KEY= la cléGEMINI_MODEL_NAME=gemini-flash-latest— alias toujours à jour ; le défaut livré estgemini-2.5-pro, qui échoue souvent en version gratuite
- AI Prompt → Clustering Naming → style Titre complet de l'IA, et ajouter en fin de prompt la consigne de langue et de longueur (2 à 4 mots, sans underscore, jamais le mot « automatic »).
- Aperçu des titres teste sans rien enregistrer. Si les noms restent des étiquettes (
no AI title so the tag name is kept), la clé ou le nom de modèle est faux.
Si Gemini cesse un jour de répondre, les playlists sont quand même créées, avec les anciens noms à base d'étiquettes.
6. ⚠ Le suffixe _automatic — à savoir avant de s'attacher à une playlist
Toute playlist produite se termine par _automatic. Au début de chaque clustering, AudioMuse appelle delete_automatic_playlists() qui supprime dans Navidrome toutes les playlists dont le nom finit par ce suffixe — y compris celles d'une exécution précédente. C'est voulu : il les recalcule.
Pour garder une playlist définitivement : la renommer dans Navidrome en retirant
_automatic. Elle devient invisible de ce ménage et survit à tout, y compris à une réinstallation.
7. La base d'analyse, et sa sauvegarde sur kDrive
Son poids — calculé sur le schéma réel
Trois empreintes par titre, toutes en BYTEA float32 :
| Empreinte | Dimensions | Octets/titre |
|---|---|---|
MusiCNN (EMBEDDING_DIMENSION) |
200 | 800 |
CLAP (CLAP_EMBEDDING_DIMENSION) |
512 | 2 048 |
Paroles GTE (LYRICS_EMBEDDING_DIMENSION) |
768 | 3 072 |
Métadonnées (score) |
— | ~1 000 |
~7 Ko/titre × 16 069 ≈ 113 Mo de données brutes, que l'index de recherche (ivf_cell) double à peu près. Base vivante attendue : 250 à 350 Mo ; dump : 150 à 250 Mo.
⚠⚠ Pourquoi la base VIVANTE n'est pas sur kDrive
Demande initiale de Julien : « on mettra la base d'analyse dans le kDrive, on y a de la place, c'est pérenne ». L'objectif est le bon — cette base vaut des heures de calcul et 133 Go téléchargés — mais une base PostgreSQL vivante ne peut pas être posée sur kDrive : WebDAV n'offre ni fsync fiable, ni verrouillage de fichier, ni renommage atomique, et un fichier de base synchronisé pendant qu'il est ouvert se corrompt. C'est le mode de panne classique, pas une précaution théorique.
La pérennité s'obtient par un dump poussé sur kDrive — exactement le schéma de vps_backup.sh pour les 7 autres services. Restaurable sur n'importe quelle machine, et survit à un formatage.
Le script
py -3.12 D:\AudioMuse-AI\sauvegarder_base.py REM dump + envoi kDrive
py -3.12 D:\AudioMuse-AI\sauvegarder_base.py --simulation REM dump local seulement
py -3.12 D:\AudioMuse-AI\sauvegarder_base.py --restaurer REM recupere et reinjecte
- AudioMuse doit tourner : le PostgreSQL embarqué n'écoute que pendant ce temps. Le script refuse poliment sinon.
- Destination kDrive :
SYNC-pour_VPS/backups/audiomuse, dossier id 1517484, créé le 2026-10-01 à côté des sept autres sauvegardes. - Un seul nom,
audiomuse_base.dump, avecconflict=version: kDrive conserve lui-même les versions précédentes. pg_dump -Fc(format personnalisé, déjà compressé), écriture atomique.partielpuisos.replace, et refus d'envoyer un dump de moins de 1 Ko — un dump vide ne doit jamais écraser un bon.- Au-delà de 900 Mo il bascule sur l'envoi par session et morceaux : l'upload simple de kDrive refuse au-delà de 1 000 000 000 octets (leçon du 2026-09-27). Ce seuil ne sera probablement jamais atteint ici, mais le chemin existe.
- Identifiants PostgreSQL : utilisateur et base
postgressur127.0.0.1:5432, mot de passe aléatoire lu dansdonnees\AudioMuse-AI\secrets\pg_password.
8. Désinstallation
Arreter AudioMuse.cmd- Supprimer
D:\AudioMuse-AI\
C'est tout : archive portable, rien dans Program Files, rien dans le registre, aucun service, aucun résidu dans %LOCALAPPDATA% puisque les données sont sur D:.
Les playlists déjà créées restent dans Navidrome — elles ne lui appartiennent pas. Seule disparaît la base d'analyse ; d'où le dump kDrive, qui permet de revenir sans refaire les 133 Go.
9. Repères
- Version installée : v3.6.3 (2026-09-26),
AudioMuse-AI-amd64-windows.zip, 1 588 225 001 octets, téléchargé en 187 s - Ports locaux : 8000 (interface), 8001 (contrôle), 5432 (PostgreSQL embarqué) — les trois vérifiés libres avant installation, tous sur
127.0.0.1 - Portmaster : l'interface est en
127.0.0.1, couverte par la règleAllow Localhost. Rien à ouvrir, aucune connexion entrante - Le PC appelle
navidrome.juxjux.ovhen sortant : rien à ouvrir sur la Livebox - Dépôt : https://github.com/NeptuneHub/AudioMuse-AI (AGPL-3.0)
10. Mesures réelles du 2026-10-01 (première analyse)
Analyse lancée à 20h55 (heure de Paris) sur les 1 161 albums / 16 069 titres.
| Grandeur | Mesure |
|---|---|
| Durée par piste | médiane 19,5 s, moyenne 20,6 s (min 4,8 — max 93,1) |
| dont étape paroles | médiane 1,6 s, moyenne 3,1 s (max 78,7) |
| Part des paroles | 15 % du temps |
| CPU pendant l'analyse | 90 %, le worker à lui seul ~6 cœurs, 713 Mo |
| Durée totale projetée | ~92 h, soit 3,8 jours |
Trois méthodes indépendantes concordent sur ~90 h : comptage des lignes de score en base, horodatage du journal piste par piste, et la progression « Albums N/1161 ».
Le goulot est le CPU, pas le réseau : les 133 Go ne ralentissent rien, c'est l'inférence ONNX (CLAP + MusiCNN + GTE) qui limite.
Désactiver les paroles : mesuré, et non retenu
Question posée par Julien le 2026-10-01. Mesure faite sans rien désactiver, en horodatant l'étape dans le journal sur 216 pistes réelles : gain de 14 h sur 92 (92 h → 78 h, 3,8 → 3,2 jours).
Non retenu : 15 % de gain contre la perte du regroupement par le sens des textes (ce qui distingue AudioMuse d'un classeur purement acoustique), de la page Lyrics Search et de la fonction Album Creation (conditionnée à lyrics_enabled and clap_enabled). Comme l'analyse est suspendable, les 0,6 jour gagnés ne changent pas la nature du problème.
Détail : Whisper se déclenche bien (74 pistes sur 216 en échec d'API externe, repli whisper_small, timeout 300 s) mais seules 23 transcriptions aboutissent — le reste est reconnu instrumental avant. D'où une médiane basse avec quelques pointes à 78 s.
⚠ Suspendre et reprendre : sans perte
Vérifié dans le code, pas seulement dans la FAQ : tasks/analysis/main.py saute les albums entièrement analysés (Skipping album … all N tracks already analyzed) et album.py saute les étapes déjà faites piste par piste (SKIPPED MusiCNN … already analyzed).
| Moyen | Coût |
|---|---|
| Bouton Cancel Current Task (Analysis and Clustering) | rien, la tâche passe en REVOKED |
Arreter AudioMuse.cmd ou le menu de l'icône |
la piste en cours |
| Extinction du PC | la piste en cours |
Pour reprendre : relancer AudioMuse si besoin, puis Start Analysis — il repart où il s'était arrêté. Le PC n'a donc pas à rester immobilisé 3,8 jours d'affilée.
Et plus tard, l'analyse reste incrémentale : un nouvel album ne coûte que ses pistes (~5 min pour 15 titres). Le clustering, lui, recalcule toutes les playlists à chaque exécution, mais à partir des empreintes déjà en base — aucun téléchargement, aucune ré-analyse.
11. Deux corrections à la configuration documentée
- ⚠ PostgreSQL n'écoute PAS sur 5432.
native-build/windows/paths.pyannoncepg_port() = 5432, mais le serveur embarqué prend un port libre au hasard (56290 au premier démarrage) qui change à chaque redémarrage. Le seul endroit fiable est la 4ᵉ ligne depgdata/postmaster.pid.sauvegarder_base.pyle lit de là ; coder 5432 en dur donne un « Connection refused » trompeur. - ⚠ Les horodatages de la base et de l'interface sont en UTC, pas en heure de Paris (le build natif ne reçoit pas de
TZ). Deux heures d'écart en été : une analyse démarrée à 20h55 s'affiche à 18h55. Ne pas en conclure à un blocage. - ⚠ Le port 8000 écoute sur
0.0.0.0, pas sur127.0.0.1comme écrit plus haut au §9 : l'interface est donc joignable depuis le réseau local. Portmaster l'autorise (règleAllow LAN) et la bloque depuis l'extérieur (Block *), et l'interface est protégée par le compte créé dans l'assistant — mais ce n'est pas une écoute purement locale.
12. ⚠⚠ Le choix du modèle Gemini — testé le 2026-10-01
Les deux modèles conseillés (par AudioMuse et par le billet Reddit d'origine) ne fonctionnent pas. Testé en appelant directement l'API Google avec la clé de Julien :
| Modèle | Résultat |
|---|---|
gemini-2.5-pro — défaut livré par AudioMuse (config.py) |
404 — « no longer available to new users » |
gemini-flash-latest — conseillé par le billet Reddit |
503 — « currently experiencing high demand », deux fois à 96 s d'écart, puis encore 3 min plus tard |
gemini-2.5-flash |
✅ 200, réponse réelle |
gemini-2.5-flash-lite |
404 — plus ouvert aux nouveaux comptes |
gemini-2.0-flash |
404 — retiré |
Valeur à retenir : GEMINI_MODEL_NAME = gemini-2.5-flash. Son seul inconvénient face à un alias -latest est qu'il faudra le changer à la main le jour où Google sortira un Flash plus récent — bien moindre mal qu'un modèle qui ne répond jamais.
Comment distinguer les trois pannes
Le code HTTP dit tout, et évite de soupçonner la clé à tort :
| Code | Sens |
|---|---|
| 401 / 403 | la clé est mauvaise |
| 404 | le nom de modèle n'existe pas (ou plus) pour ce compte |
| 429 | quota dépassé |
| 503 | modèle surchargé chez Google — ni la clé ni le quota ne sont en cause |
Méthode de diagnostic, sans rien modifier dans l'interface :
grep -E "generativelanguage" .../logs/audiomuse.log | head
Chaque ligne donne le modèle appelé et le code obtenu.
⚠ Aucune relance automatique sur erreur HTTP
tasks/ai/providers/gemini.py : les 3 tentatives de EMPTY_RESPONSE_RETRIES ne couvrent que les réponses vides. Sur une erreur SDK (503 comprise), la fonction renvoie directement "Error: AI service is currently unavailable." sans réessayer. Un délai de 7 s précède chaque appel (GEMINI_API_CALL_DELAY_SECONDS).
Conséquence le jour du clustering : si Google est surchargé à cet instant, les playlists concernées garderont leur nom d'étiquette (Electronic_Pop_Indie_Medium_Relaxed_Danceable). Ce n'est pas perdu : relancer le clustering suffit — il travaille sur les empreintes déjà en base, donc quelques minutes, sans téléchargement ni ré-analyse, et Gemini est réinterrogé.
Valider la clé sans attendre l'analyse complète
La page Instant Playlist appelle Gemini directement (app_chat.py → config.AI_MODEL_PROVIDER). C'est le test le plus rapide : une demande en langage naturel, et le journal dit si l'IA a planifié ou si AudioMuse est retombé sur rescue: matching your words directly (= l'IA n'a pas répondu).
Validé le 2026-10-01 à 22h29 : deux appels gemini-2.5-flash en 200, playlist de 50 titres cohérente, aucun repli.
13. ⚠ Pourquoi « Preview titles » échoue en début d'analyse
Message : « No playlist was large enough to keep. » Ce n'est ni Gemini ni une erreur de réglage, c'est de l'arithmétique :
| Paramètre | Valeur |
|---|---|
NUM_CLUSTERS_MIN / MAX |
40 à 100 grappes |
MIN_PLAYLIST_SIZE_FOR_TOP_N |
20 titres minimum pour qu'une playlist soit retenue |
TOP_N_CLUSTERING_PLAYLIST |
10 playlists conservées au final |
CLUSTERING_MAX_PLAYLIST_SONGS |
200 titres maximum |
MAX_SONGS_PER_ARTIST |
3 par playlist |
Avec 237 titres analysés et 40 grappes au minimum, cela fait 6 titres par grappe au mieux. Le journal l'a confirmé au titre près : 5 playlists de 1, 4, 6, 9 et 16 titres, toutes écartées.
Il faut donc au moins ~800 titres pour que l'aperçu donne quelque chose, et en pratique davantage. Attendre ~2 000 titres (une dizaine d'heures d'analyse) avant de refaire l'essai.
Note sur le résultat final : seules 10 playlists seront conservées sur 40 à 100 grappes. Pour en avoir plus, augmenter TOP_N_CLUSTERING_PLAYLIST.
03_Claude et Ubuntu
01_Installation de Claude dans le Ubuntu
Contexte
Installation et configuration de Claude Code sur la machine Ubuntu 25.10 (utilisateur julien), avec synchronisation du dossier de travail via Syncthing.
1. Installation de Syncthing
Date : 2026-05-31
Système : Ubuntu 25.10 (questing)
Étapes
- Vérification : Syncthing absent des paquets installés
- Installation via les dépôts Ubuntu :
sudo apt install syncthing -y - Activation au démarrage :
systemctl --user enable --now syncthing - Interface web disponible sur :
http://127.0.0.1:8384
Résultat
Dossier synchronisé : /home/julien/Syncthing/
Contenu récupéré depuis le PC Windows (eliob) :
- Billets
- Jux_Obsidian
- Jux_univers (dont Claude-pcelio+jux/CLAUDE.md)
- Ouvrages
- PDF temps
- Suretés
- Tutoriels videos
2. Configuration de Claude Code
Le fichier CLAUDE.md de référence a été localisé dans le dossier synchronisé :
/home/julien/Syncthing/Jux_univers/Claude-pcelio+jux/CLAUDE.md
Ce fichier centralise toute la configuration : MCPs, credentials VPS, préférences, projets en cours. Il a été lu en début de session pour initialiser le contexte.
Mémoire Claude Code initialisée
Répertoire : /home/julien/.claude/projects/-home-julien/memory/
- user_profile.md — profil Julien/Jux/eliob
- project_vps.md — infrastructure VPS principal et Alteris
- reference_mcp.md — tous les services MCP et leurs credentials
- reference_syncthing.md — structure du dossier partagé
- feedback_preferences.md — style de réponse
3. Connexion BookStack depuis Ubuntu
Token API BookStack configuré manuellement pour permettre l écriture depuis Ubuntu (sans MCP npm disponible). Utilisation de l API REST directe via curl :
02_Diagnostic du Ubuntu par Claude
Diagnostic expert — Ubuntu julien-130430
Généré par Claude Code le 2026-05-31 à 19h57 — Ubuntu 25.10 questing — mis à jour 20h15
1. Système de base
| OS | Ubuntu 25.10 (questing) — version non-LTS, support jusqu'à juillet 2026 |
| Kernel | 6.17.0-19-generic (SMP PREEMPT_DYNAMIC — mars 2026) |
| Hostname | julien-130430 |
| Architecture | x86_64 |
| Uptime | 1h36 au moment du diagnostic |
| Langue | fr_FR.UTF-8 / shell bash |
2. Matériel
CPU
| Modèle | AMD Ryzen 5 2600X Six-Core Processor |
| Cœurs / Threads | 6 cœurs / 12 threads (1 socket) |
| Fréquence | 2200–3600 MHz (scaling à 99%) |
| Charge (1/5/15 min) | 2,44 / 1,98 / 1,17 — charge en train de baisser, acceptable |
RAM & Swap
| RAM totale | 15 Gi |
| RAM utilisée | 4,9 Gi utilisé + 9 Gi cache/tampon — 10 Gi disponibles |
| Swap | 4 Gi (fichier /swap.img), 5,5 Mi utilisés — quasi vide, bonne santé |
GPU
| Modèle | AMD Radeon RX 6400/6500 XT — Navi 24 (rev c1) |
| Driver | AMDGPU (open-source, intégré au kernel) |
| Monitoring | lm-sensors absent — pas de relevé de température possible |
3. Stockage
| Disque | Modèle | Taille | Partition | FS | Point de montage | Utilisé | Alerte |
|---|---|---|---|---|---|---|---|
| sda | SanDisk 3.2Gen1 (USB) | 57,3 G | sda2 | ext4 | / (racine) | 31G / 57G — 57% | |
| sdb | Patriot Burst (SSD) | 223,6 G | sdb3 | ntfs | /media/julien/CE1C8DC545 | 149G / 223G — 67% | |
| sdc | Seagate Backup Plus | 7,3 T | sdc2 | — | /media/julien/Seagate… | 3,1T / 7,3T — 42% | |
| sdd | — | 932 G | sdd1 | — | /media/julien/206897… | 827G / 932G — 89% | ⚠ Critique |
| sde | — | 932 G | sde2 | — | /media/julien/2ème disque dur | 294G / 932G — 32% |
Point d'attention : Le disque sdd1 est à 89% de capacité (827G/932G). Seuil critique à surveiller.
Note : Le système racine est sur une clé USB SanDisk (sda). Performances limitées par rapport à un SSD SATA ou NVMe. Risque de défaillance à long terme supérieur à un disque interne.
4. Réseau
| Interface | enp37s0 (Ethernet) |
| IP locale | 192.168.1.26/24 (DHCP) |
| IPv6 | 2a01:cb1c:833b:d00:2ef0:5dff:feec:62e0/64 |
| Passerelle | 192.168.1.1 |
| DNS | 192.168.1.1 + IPv6 routeur (via systemd-resolved) |
| DNSSEC | Désactivé (unsupported) |
| mDNS / LLMNR | Désactivés |
Recommandation : L'IP est attribuée par DHCP. Envisager une réservation DHCP fixe sur le routeur pour la stabilité de 192.168.1.26.
5. Services et sécurité
Services systemd
- 32 services actifs, 0 en échec — état sain
- Services notables : GDM (GNOME), NetworkManager, snapd, cups, bluetooth, chrony (NTP), avahi, rsyslog
- CUPS présent en double :
cups.service(paquet) etsnap.cups.cupsd.service(snap) — redondance inutile
SSH serveur
openssh-server absent — aucun accès SSH entrant possible sur cette machine. Si un accès distant est souhaité, installer openssh-server.
Pare-feu
ufw ne répond pas (non configuré ou inactif). La machine est probablement protégée par le NAT du routeur, mais aucune règle locale n'est en place.
Ports en écoute (accessibles depuis le réseau)
| Port | Service | Remarque |
|---|---|---|
| 22000/tcp+udp | Syncthing (PID 24179) | Sync P2P — normal |
| 53/tcp (127.0.0.53) | systemd-resolved | DNS local uniquement |
| 53/tcp (127.0.0.54) | systemd-resolved stub | DNS local uniquement |
Surface d'attaque réseau réduite : seul Syncthing écoute sur l'interface externe.
Sudo
Julien est membre du groupe sudo. La commande sudo -l nécessite un terminal interactif (PAM conversation) — normal dans le contexte Claude Code non-interactif.
6. Syncthing
| Processus | En cours d'exécution (PID 24179, port 22000 actif) |
| Service systemd | syncthing@julien.service : enabled / active ✓ (activé le 2026-05-31) |
| Dossiers synchronisés | Billets, Jux_Obsidian, Jux_univers, Ouvrages, PDF temps, Suretés, Tutoriels videos |
Fix 2026-05-31 : sudo systemctl enable --now syncthing@julien.service — service activé et démarré. Vérifié via API REST (HTTP 200, uptime ~17h).
7. Snaps
19 snaps installés. Plusieurs ont deux révisions montées simultanément (l'ancienne est conservée le temps du refresh par snapd) :
- Firefox (7901 + 7967), Thunderbird (1040 + 1073), Chromium (3375 + 3390)
- core20, core22, core24, gnome-42-2204, prompting-client, snapd-desktop-integration, firmware-updater, desktop-security-center
C'est le comportement normal de snapd (rollback possible). Les anciennes révisions sont supprimées automatiquement après quelques jours.
Nettoyage manuel possible : sudo snap set system refresh.retain=2 (déjà le défaut) ou snap list --all + sudo snap remove --revision=<rev> <snap>.
8. Environnements de développement
| Python | 3.13.7 (/usr/bin/python3) |
| Venv global | ~/.venv — activé automatiquement via .bashrc (configuré le 2026-05-31) |
| Paquets venv | psycopg2-binary 2.9.12, requests 2.34.2, httpx 0.28.1, pip 26.1.2 |
| Node.js | 24.16.0 |
| npm | 11.13.0 |
| Claude Code | v2.1.158 — installé et opérationnel |
| Docker | Non installé (ou non accessible sans sudo) |
Installation venv : nécessitait sudo apt install python3.13-venv (paquet absent par défaut sur Ubuntu 25.10).
Activation manuelle : source ~/.venv/bin/activate
9. Connexion PostgreSQL — alteris_geo
Testée et validée depuis Ubuntu le 2026-05-31 via le venv ~/.venv.
| Hôte | 79.137.14.202 (VPS Alteris) |
| Port | 5432 (accessible depuis l'extérieur) |
| Base | alteris_geo |
| Utilisateur | alteris_admin / Alteris2026 |
| Serveur | PostgreSQL 15.4 (Debian 15.4-1.pgdg110+1) — x86_64 |
| Table recherches | 4 entrées au 2026-05-31 (2 FreshRSS, 2 kDrive — toutes du 2026-05-29) |
Snippet de connexion Python (Ubuntu) :
import psycopg2
conn = psycopg2.connect(
host="79.137.14.202", port=5432,
dbname="alteris_geo", user="alteris_admin", password="Alteris2026"
)
10. Cron / tâches planifiées
- Pas de crontab utilisateur défini pour julien
- Tâches système présentes :
anacron,e2scrub_all,sysstat - Mises à jour automatiques :
unattended-upgrades.serviceactif
11. Logs / erreurs récentes
Les seules erreurs journalctl (niveau err) sur 7 jours sont des échecs PAM sudo en mode non-interactif (générés par ce diagnostic) + des warnings udev ALSA sans conséquence. Aucune erreur critique applicative.
Synthèse — Points d'action
| Priorité | Problème | Action recommandée | Statut |
|---|---|---|---|
| Haute | sdd1 à 89% (827G/932G) | Libérer de l'espace ou déplacer des données vers sde (32% utilisé) | En attente |
sudo systemctl enable syncthing@julien.service | ✓ Résolu 2026-05-31 | ||
| Moyenne | Système racine sur clé USB SanDisk | Envisager migration vers le SSD Patriot (sdb) pour fiabilité | En attente |
| Basse | Pare-feu inactif | sudo ufw enable + règles minimales si accès SSH ajouté | En attente |
| Basse | lm-sensors absent | sudo apt install lm-sensors && sudo sensors-detect | En attente |
| Basse | CUPS en double (paquet + snap) | Supprimer l'un des deux selon usage | En attente |
| Info | Ubuntu 25.10 non-LTS | Fin de support juillet 2026 — migration vers 26.04 LTS à lancer | En attente |
| Info | IP DHCP dynamique | Réservation DHCP 192.168.1.26 sur le routeur recommandée | En attente |
Points positifs
- 0 service systemd en échec
- Kernel récent (6.17.0, mars 2026)
- RAM bien dimensionnée (15 Gi, peu de swap utilisé)
- Surface réseau réduite (seul Syncthing exposé)
- Python 3.13 + venv opérationnel + connexion alteris_geo validée
- Node 24 LTS à jour
- Claude Code opérationnel
03_250531
1. Syncthing ne repartira pas automatiquement (service désactivé) — il faudra soit le lancer manuellement, soit profiter du redémarrage
pour faire sudo systemctl enable syncthing@julien.service avant d'éteindre.
✓ Fix 2026-05-31 : sudo systemctl enable --now syncthing@julien.service — service activé et démarré. Vérifié via API REST (HTTP 200, uptime ~17h).
2. Le venv ~/.venv se réactivera automatiquement via .bashrc à l'ouverture du terminal.
En attente — après mise à jour Ubuntu 26.04
Mise à jour Ubuntu 26.04 LTS
Lancée le 2026-05-31 via screen -S upgrade + sudo do-release-upgrade.
✓ Terminée — Ubuntu 26.04 LTS opérationnel.
Montage NAS (192.168.1.17) — partages foxy et video
Le NAS a changé d'IP : était sur 192.168.1.22, maintenant sur 192.168.1.17 (MAC Synology 00:11:32:9c:8e:c9 — attribution DHCP).
Script exécuté : sudo bash /home/julien/setup_nas.sh
✓ Terminé — foxy et video montés sur /mnt/nas/foxy et /mnt/nas/video.
Credentials : /etc/samba/credentials_nas — entrées fstab ajoutées avec options nofail,_netdev,x-systemd.automount.
Note : entrée WebDAV sasnexte (https://82.66.244.248:5006) corrigée dans fstab (typos : un seul slash et lettre 'o' dans le port).
✓ Signets Nautilus ajoutés : smb://juxjux@192.168.1.17, /mnt/nas/foxy, /mnt/nas/video dans ~/.config/gtk-3.0/bookmarks.
rclone — sauvegarde vers kDrive
Configuration perdue lors de la mise à jour Ubuntu 26.04. La tâche sauvegardait vers kDrive (WebDAV). À reconfigurer :
rclone config → type webdav, URL https://connect.drive.infomaniak.com, credentials compte Infomaniak.
Son Bluetooth — Xiaomi 15T Pro
Tentative d'utiliser le Xiaomi 15T Pro comme enceinte Bluetooth depuis Ubuntu. Impossible : le téléphone n'expose pas le profil Audio Sink (UUID 0000110b) en Bluetooth classique — il est uniquement Audio Source. Limitation firmware Xiaomi, non contournable en BT.
Alternative WiFi (SoundWire) possible mais peu pratique.
→ À faire : acheter un casque ou une enceinte Bluetooth. N'importe quel périphérique BT standard exposant le profil Audio Sink fonctionnera directement avec Ubuntu/PipeWire.
Compétences Claude_QGIS
RAG de toutes les expériences de Claude dans l'utilisation de QGIS par MCP
REX 06079
Contexte
Affichage des IRIS de Mandelieu-la-Napoule (06079) depuis PostGIS Alteris, avec population graduée, étiquettes, fond orthophoto IGN Géoplateforme et cadastre vecteur WFS — entièrement piloté depuis Claude Code via le MCP QGIS, sans interaction manuelle dans QGIS.
Données utilisées
| Table / Source | Schéma / Provider | Contenu |
|---|---|---|
contours_iris_2025 |
insee_raw (PostGIS Alteris) |
Géométries IRIS France entière |
iris_2025_population |
insee_raw (PostGIS Alteris) |
Population 2022 par IRIS (recensement) |
| Orthophoto IGN | Géoplateforme (WMTS → XYZ) | HR.ORTHOIMAGERY.ORTHOPHOTOS — sans clé API |
| Cadastre parcelles | Géoplateforme WFS CADASTRALPARCELS.PARCELLAIRE_EXPRESS:parcelle |
Parcelles cadastrales vecteur — OGR driver |
Colonnes clés — pièges à retenir
contours_iris_2025 : colonnes standard sans espace — code_insee, code_iris, nom_iris, type_iris, geom
iris_2025_population : colonnes avec espace traînant (import INSEE brut) :
- Clé IRIS :
"IRIS "(avec espace) - Commune :
"COM "(avec espace) - Population totale 2022 :
"P22_POP "(avec espace) - Toutes les colonnes sont de type
text— caster en::numericavant usage
Résultats
9 IRIS pour 06079, population 2022 :
| code_iris | nom_iris | population |
|---|---|---|
| 060790101 | Zone d'activités | 24 |
| 060790102 | IRIS 2 | 2 701 |
| 060790103 | IRIS 3 | 2 000 |
| 060790104 | IRIS 4 | 3 058 |
| 060790105 | IRIS 5 | 2 197 |
| 060790106 | IRIS 6 | 2 432 |
| 060790107 | IRIS 7 | 3 188 |
| 060790108 | IRIS 8 | 2 944 |
| 060790109 | IRIS 9 | 2 656 |
Population min : 24 hab. (zone d'activités/naturelle) — max : 3 188 hab.
Cadastre : 26 439 parcelles après reprojection EPSG:4326 → EPSG:3857 (COUNT=2000 limite la requête WFS initiale à 2000 features, mais la reprojection en mémoire conserve toutes les géométries valides).
Procédure complète
Prérequis
Tunnel SSH paramiko actif (voir page 229 — Option 2). À relancer à chaque redémarrage de QGIS :
import sys
sys.path.insert(0, r'C:\Users\eliob\AppData\Roaming\Python\Python312\site-packages')
import paramiko
import socket, threading, select
class SSHTunnel(threading.Thread):
def __init__(self, ssh_host, ssh_user, ssh_password,
remote_port, local_port=5433, remote_host='127.0.0.1'):
super().__init__(daemon=True)
self.ssh_host = ssh_host; self.ssh_user = ssh_user
self.ssh_password = ssh_password; self.remote_host = remote_host
self.remote_port = remote_port; self.local_port = local_port
self._stop = threading.Event(); self.transport = None; self.server_sock = None
def run(self):
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(self.ssh_host, username=self.ssh_user, password=self.ssh_password)
self.transport = client.get_transport()
self.server_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.server_sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
self.server_sock.bind(('127.0.0.1', self.local_port))
self.server_sock.listen(5); self.server_sock.settimeout(1.0)
while not self._stop.is_set():
try:
conn, _ = self.server_sock.accept()
threading.Thread(target=self._forward, args=(conn,), daemon=True).start()
except socket.timeout:
continue
self.server_sock.close(); client.close()
def _forward(self, local_conn):
try:
chan = self.transport.open_channel('direct-tcpip',
(self.remote_host, self.remote_port), local_conn.getpeername())
except Exception:
local_conn.close(); return
while True:
r, _, _ = select.select([local_conn, chan], [], [], 5)
if local_conn in r:
data = local_conn.recv(4096)
if not data: break
chan.send(data)
if chan in r:
data = chan.recv(4096)
if not data: break
local_conn.send(data)
chan.close(); local_conn.close()
def stop(self):
self._stop.set()
tunnel = SSHTunnel('79.137.14.202', 'debian', 'RAW+NEXTE!', remote_port=5432, local_port=5433)
tunnel.start()
1. Charger l'orthophoto IGN (fond de carte)
Bug QGIS 4.0.3 : addMapLayer déclenche autoSelectAddedLayer → identifyMapTool → access violation quand une couche raster est ajoutée. Deux contournements obligatoires :
- Passer sur l'outil Pan avant d'ajouter la couche
- Utiliser
addMapLayer(layer, False)+root.insertLayer()(sans auto-sélection)
Format URI : le provider WMTS natif de QGIS (crs=...&layers=...&url=...) échoue sur la Géoplateforme (pas de capabilities). Solution : encoder l'URL WMTS en XYZ tiles avec {z}/{y}/{x}.
from qgis.core import QgsProject, QgsRasterLayer
from qgis.gui import QgsMapToolPan
from qgis.utils import iface
import urllib.parse
# 1. Passer sur Pan AVANT d'ajouter la couche raster (évite le crash identifyMapTool)
pan_tool = QgsMapToolPan(iface.mapCanvas())
iface.mapCanvas().setMapTool(pan_tool)
# 2. URI XYZ (le provider WMTS natif échoue sur data.geopf.fr)
base_url = (
"https://data.geopf.fr/wmts?SERVICE=WMTS&REQUEST=GetTile"
"&VERSION=1.0.0&LAYER=HR.ORTHOIMAGERY.ORTHOPHOTOS"
"&STYLE=normal&FORMAT=image/jpeg"
"&TILEMATRIXSET=PM&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}"
)
encoded = urllib.parse.quote(base_url, safe='')
uri = f"type=xyz&url={encoded}&zmin=0&zmax=19"
layer_ortho = QgsRasterLayer(uri, "Orthophoto IGN", "wms")
# 3. addToLegend=False + insertLayer manuel (évite autoSelectAddedLayer)
QgsProject.instance().addMapLayer(layer_ortho, False)
root = QgsProject.instance().layerTreeRoot()
root.insertLayer(-1, layer_ortho) # en bas de la pile
2. Créer la vue PostGIS et charger les IRIS
import psycopg2
conn = psycopg2.connect(host='localhost', port=5433, dbname='alteris_geo',
user='alteris_admin', password='Alteris2026')
cur = conn.cursor()
cur.execute("""
CREATE OR REPLACE VIEW insee_raw.v_iris_mandelieu_pop AS
SELECT c.fid, c.geom, c.nom_iris, c.code_iris,
ROUND(p."P22_POP "::numeric, 0)::integer AS population
FROM insee_raw.contours_iris_2025 c
LEFT JOIN insee_raw.iris_2025_population p ON p."IRIS " = c.code_iris
WHERE c.code_insee = '06079'
""")
conn.commit(); conn.close()
from qgis.core import QgsVectorLayer
uri = (
'host=localhost port=5433 dbname=alteris_geo '
'user=alteris_admin password=Alteris2026 sslmode=disable '
'table="insee_raw"."v_iris_mandelieu_pop" (geom) key=fid'
)
layer = QgsVectorLayer(uri, "IRIS Mandelieu-la-Napoule", "postgres")
3. Graduation par population (semi-transparent)
from qgis.core import QgsGraduatedSymbolRenderer, QgsRendererRange, QgsFillSymbol
colors = ['#EFF3FF', '#BDD7E7', '#6BAED6', '#2171B5', '#084594']
pmin, pmax = 24, 3188
step = (pmax - pmin) / 5
bounds = [pmin + i * step for i in range(6)]
ranges_def = []
for i in range(5):
lo, hi = bounds[i], bounds[i+1]
sym = QgsFillSymbol.createSimple({
'color': colors[i], 'outline_color': '#555555', 'outline_width': '0.3'
})
sym.setOpacity(0.6) # semi-transparent pour laisser voir l'ortho
ranges_def.append(QgsRendererRange(lo, hi, sym,
f"{int(lo):,}–{int(hi):,} hab.".replace(',', ' ')))
layer.setRenderer(QgsGraduatedSymbolRenderer('population', ranges_def))
4. Étiquettes + ajout dans le bon ordre
from qgis.core import (QgsPalLayerSettings, QgsTextFormat,
QgsTextBufferSettings, QgsVectorLayerSimpleLabeling)
from qgis.PyQt.QtGui import QColor, QFont
pal = QgsPalLayerSettings()
pal.fieldName = "concat(nom_iris, '\n', population, ' hab.')"
pal.isExpression = True
pal.placement = QgsPalLayerSettings.Placement.OverPoint
fmt = QgsTextFormat()
fmt.setFont(QFont("Arial", 8)); fmt.setSize(8); fmt.setColor(QColor('#1a1a1a'))
buf = QgsTextBufferSettings()
buf.setEnabled(True); buf.setSize(1); buf.setColor(QColor('white'))
fmt.setBuffer(buf); pal.setFormat(fmt)
layer.setLabelsEnabled(True)
layer.setLabeling(QgsVectorLayerSimpleLabeling(pal))
# IRIS en haut de la pile (index 0), ortho déjà en bas
QgsProject.instance().addMapLayer(layer, False)
root = QgsProject.instance().layerTreeRoot()
root.insertLayer(0, layer)
5. Zoomer sur Mandelieu
from qgis.core import QgsRectangle, QgsCoordinateReferenceSystem, QgsCoordinateTransform
src_crs = QgsCoordinateReferenceSystem("EPSG:4326")
dst_crs = QgsCoordinateReferenceSystem("EPSG:3857")
transform = QgsCoordinateTransform(src_crs, dst_crs, QgsProject.instance())
pt_min = transform.transform(6.87, 43.51)
pt_max = transform.transform(6.99, 43.60)
extent = QgsRectangle(pt_min.x(), pt_min.y(), pt_max.x(), pt_max.y())
iface.mapCanvas().setExtent(extent)
iface.mapCanvas().refresh()
6. Charger le cadastre (WFS vecteur)
Pièges :
- Le provider WFS natif QGIS est invalide sur
data.geopf.frpour ce typename → utiliser le driver OGR WFS - L'API Carto (
geo.api.gouv.fr) a timeout (appel synchrone dans le thread QGIS, 20 s) → abandonné - Le WFS retourne les données en EPSG:4326 mais le canevas est en EPSG:3857 → la couche apparaît dans le panneau mais n'est pas visible sur la carte → reproj obligatoire
import processing
from qgis.core import (QgsVectorLayer, QgsCoordinateReferenceSystem,
QgsFillSymbol, QgsSingleSymbolRenderer, QgsProject)
# Driver OGR WFS avec BBOX en paramètre URL (le provider WFS natif QGIS échoue)
url = (
"WFS:https://data.geopf.fr/wfs/ows?SERVICE=WFS&VERSION=2.0.0&REQUEST=GetFeature"
"&TYPENAME=CADASTRALPARCELS.PARCELLAIRE_EXPRESS:parcelle"
"&BBOX=6.87,43.51,6.99,43.60,EPSG:4326&COUNT=2000"
)
layer_wfs = QgsVectorLayer(url, "Cadastre Mandelieu", "ogr")
# → isValid() = True, 2000 features, EPSG:4326
# Reprojection en mémoire EPSG:3857 (sinon couche invisible dans le canevas)
result = processing.run("native:reprojectlayer", {
'INPUT': layer_wfs,
'TARGET_CRS': QgsCoordinateReferenceSystem('EPSG:3857'),
'OUTPUT': 'memory:'
})
layer_cad = result['OUTPUT']
layer_cad.setName("Cadastre Mandelieu")
# → 26 439 features, EPSG:3857
# Symbologie : contour orange, remplissage quasi-transparent
sym = QgsFillSymbol.createSimple({
'color': '204,68,0,30', # orange très transparent (alpha 30/255)
'outline_color': '#CC4400',
'outline_width': '0.5'
})
layer_cad.setRenderer(QgsSingleSymbolRenderer(sym))
# Ajouter au-dessus des IRIS (index 0)
QgsProject.instance().addMapLayer(layer_cad, False)
root = QgsProject.instance().layerTreeRoot()
root.insertLayer(0, layer_cad)
Ordre final des couches (haut → bas) :
- Cadastre Mandelieu (vecteur WFS, EPSG:3857)
- IRIS Mandelieu-la-Napoule (PostGIS, gradué population)
- Orthophoto IGN (XYZ, fond)
Note cadastre : le BBOX rectangulaire déborde sur les communes voisines (Cannes à l'est, Pégomas au nord). Comportement attendu — pour restreindre au territoire communal strict, il faudrait une intersection post-chargement (pas de filtre code_commune disponible côté WFS Géoplateforme).
Points clés et pièges
| Sujet | Constat |
|---|---|
| Bug QGIS 4.0.3 — raster + identifyMapTool | addMapLayer sur une couche raster → access violation si l'outil Identifier est actif. Fix : passer sur Pan + addMapLayer(layer, False) + insertLayer() |
| Ne pas cliquer sur la couche raster dans le panneau | Même après ajout réussi, cliquer sur la couche raster dans le panneau des couches déclenche onActiveLayerChanged → crash. Rester sur l'outil Pan. |
| Provider WMTS natif QGIS invalide | crs=...&layers=...&url=https://data.geopf.fr/wmts → couche invalide. Fix : encoder en XYZ avec type=xyz&url=...{z}/{y}/{x} |
| Canvas au zoom mondial au démarrage | Les tuiles ne se chargent pas. Toujours zoomer sur la zone cible après ajout. |
| Provider WFS natif QGIS invalide | QgsVectorLayer(url, name, "WFS") → couche invalide pour CADASTRALPARCELS.PARCELLAIRE_EXPRESS:parcelle. Fix : driver OGR WFS QgsVectorLayer("WFS:https://...", name, "ogr") |
| API Carto timeout | geo.api.gouv.fr : appel HTTP synchrone dans le thread QGIS → 20 s de blocage puis timeout. Driver OGR WFS Géoplateforme préférable. |
| CRS mismatch WFS | WFS retourne EPSG:4326, canevas EPSG:3857 → couche présente dans le panneau mais invisible sur la carte. Fix : processing.run("native:reprojectlayer", ...) vers EPSG:3857 en mémoire. |
| Colonnes INSEE avec espace | "IRIS ", "COM ", "P22_POP " — espace traînant partout dans iris_2025_population |
| Types text | Toutes les valeurs numériques INSEE sont en text — caster avec ::numeric |
| Sous-requête URI QGIS | QgsDataSourceUri.setDataSource() sur-échappe les guillemets → couche invalide. Fix : créer une vue PostgreSQL |
sys.executable QGIS |
Pointe sur qgis-bin.exe — pip via subprocess inutilisable. Fix : pip._internal.cli.main |
sys.path paramiko |
QGIS n'inclut pas le dossier utilisateur Python. Ajouter sys.path.insert(0, ...) à chaque session |
Généralisation à d'autres communes
code_insee = '06079' # remplacer par le code cible
cur.execute(f"""
CREATE OR REPLACE VIEW insee_raw.v_iris_pop AS
SELECT c.fid, c.geom, c.nom_iris, c.code_iris, c.nom_commune,
ROUND(p."P22_POP "::numeric, 0)::integer AS population
FROM insee_raw.contours_iris_2025 c
LEFT JOIN insee_raw.iris_2025_population p ON p."IRIS " = c.code_iris
WHERE c.code_insee = '{code_insee}'
""")
Pour le cadastre, adapter le BBOX à l'emprise de la commune cible.
REX — 2026-06-21 (second run)
Résultat : 0 crash — procédure validée reproductible.
Run complet depuis un projet QGIS vide, piloté intégralement via MCP Claude Code → QGIS :
| Étape | Résultat |
|---|---|
| Tunnel SSH paramiko | OK — PostGIS Alteris accessible localhost:5433 |
| Orthophoto IGN (XYZ) | Valide — rendu fond de carte immédiat |
| Vue PostGIS + couche IRIS | 9 features, graduation 5 classes bleu, étiquettes population |
| Zoom sur Mandelieu | Cadrage correct EPSG:3857 |
| Cadastre WFS OGR + reprojection | 26 439 parcelles EPSG:3857, symbologie orange |
Conclusion : la procédure est stable et reproductible. Base solide pour une routine généralisable à n'importe quelle commune (code_insee + BBOX comme seuls paramètres variables). Potentiel : automatiser la production de fiches communales IRIS + cadastre + fond ortho à la demande depuis Claude Code.
Expertises Topologie - Claude et Qgis
Contexte PLU
Pour une couche de zones PLU topologiquement correcte, trois règles sont non-négociables :
- Pas de gaps — tout le territoire communal doit être couvert, sans trou entre zones
- Pas d'overlaps — une parcelle n'appartient qu'à une seule zone
- Géométries valides — pas de self-intersection, pas de géométrie nulle
Ces trois vérifications + corrections sont pilotables intégralement depuis Claude Code via le MCP QGIS, sans manipulation manuelle.
Bloc 1 — Configuration du snapping avant saisie
À lancer en début de session d'édition sur une couche PLU. Configure l'environnement QGIS pour que la saisie soit topologiquement propre dès le départ.
from qgis.core import QgsSnappingConfig, QgsTolerance, QgsProject
proj = QgsProject.instance()
snap_cfg = proj.snappingConfig()
snap_cfg.setEnabled(True)
snap_cfg.setMode(QgsSnappingConfig.SnappingMode.AllLayers)
snap_cfg.setType(QgsSnappingConfig.SnappingType.VertexAndSegment)
snap_cfg.setTolerance(10.0)
snap_cfg.setUnits(QgsTolerance.UnitType.Pixels)
snap_cfg.setIntersectionSnapping(True) # accrochage sur les intersections
proj.setSnappingConfig(snap_cfg)
proj.setTopologicalEditing(True) # partage de noeuds entre couches
proj.setAvoidIntersectionsMode(
QgsProject.AvoidIntersectionsMode.AvoidIntersectionsLayers
) # évite automatiquement les overlaps lors de la saisie
Paramètres clés :
| Paramètre | Valeur | Effet |
|---|---|---|
AllLayers |
mode | snap sur toutes les couches visibles |
VertexAndSegment |
type | accroche vertex ET bord |
10 px |
tolérance | adapté à la saisie courante PLU |
TopologicalEditing |
True | noeuds partagés entre polygones adjacents |
AvoidIntersectionsLayers |
mode | saisie d'un polygone qui "découpe" automatiquement ses voisins |
Piège : setType() attend QgsSnappingConfig.SnappingType — pas Qgis.SnappingType ni Qgis.SnappingTypes.
Bloc 2 — Audit topologique
Routine complète : validité + overlaps + gaps sur n'importe quelle couche polygone.
import processing
from qgis.core import QgsProject
def audit_topo(layer, unique_id='fid', gap_threshold=0, min_overlap_area=0):
"""
Audit topologique d'une couche polygone PLU.
Retourne un dict avec les couches d'erreurs et un résumé.
"""
rapport = {}
# 1. Validité géométrique (GEOS)
r_val = processing.run("native:checkvalidity", {
'INPUT_LAYER': layer, # NOTE : INPUT_LAYER, pas INPUT
'METHOD': 2, # GEOS
'IGNORE_RING_SELF_INTERSECTION': False,
'VALID_OUTPUT': 'memory:',
'INVALID_OUTPUT': 'memory:',
'ERROR_OUTPUT': 'memory:'
})
rapport['validite'] = {
'valides': r_val['VALID_COUNT'],
'invalides': r_val['INVALID_COUNT'],
'erreurs': r_val['ERROR_COUNT'],
'layer_invalides': r_val['INVALID_OUTPUT'],
'layer_erreurs': r_val['ERROR_OUTPUT']
}
# 2. Overlaps
r_ov = processing.run("native:checkgeometryoverlap", {
'INPUT': layer,
'UNIQUE_ID': unique_id,
'MIN_OVERLAP_AREA': min_overlap_area,
'TOLERANCE': 8,
'ERRORS': 'memory:',
'OUTPUT': 'memory:'
})
rapport['overlaps'] = {
'count': r_ov['ERRORS'].featureCount(),
'layer_errors': r_ov['ERRORS'],
'layer_features': r_ov['OUTPUT']
}
# 3. Gaps
r_gap = processing.run("native:checkgeometrygap", {
'INPUT': layer,
'UNIQUE_ID': unique_id,
'GAP_THRESHOLD': gap_threshold,
'TOLERANCE': 8,
'NEIGHBORS': 'memory:',
'ERRORS': 'memory:',
'OUTPUT': 'memory:'
})
rapport['gaps'] = {
'count': r_gap['OUTPUT'].featureCount(),
'layer_gaps': r_gap['OUTPUT'],
'layer_neighbors': r_gap['NEIGHBORS'], # requis pour fixgeometrygap
'layer_errors': r_gap['ERRORS']
}
# Résumé lisible
print(f"=== Audit topo : {layer.name()} ({layer.featureCount()} features) ===")
print(f"Validité : {rapport['validite']['valides']} OK / "
f"{rapport['validite']['invalides']} invalides")
print(f"Overlaps : {rapport['overlaps']['count']} erreur(s)")
print(f"Gaps : {rapport['gaps']['count']} trou(s)")
ok = (rapport['validite']['invalides'] == 0 and
rapport['overlaps']['count'] == 0 and
rapport['gaps']['count'] == 0)
print(f"Résultat : {'PROPRE' if ok else 'ERREURS DETECTEES'}")
return rapport
Usage :
from qgis.core import QgsProject
layer = QgsProject.instance().mapLayersByName("zones_plu")[0]
rapport = audit_topo(layer, unique_id='fid')
Piège critique : native:checkvalidity → paramètre INPUT_LAYER (pas INPUT). Erreur silencieuse sinon.
Bloc 3 — Correction automatique
S'appuie sur les couches d'erreurs produites par le Bloc 2.
3a. Corriger les overlaps
r_fix_ov = processing.run("native:fixgeometryoverlap", {
'INPUT': layer,
'ERRORS': rapport['overlaps']['layer_errors'],
'UNIQUE_ID': 'fid',
'OVERLAP_FEATURE_UNIQUE_IDX': 'gc_overlap_fid', # champ produit par checkgeometryoverlap
'ERROR_VALUE_ID': 'gc_error',
'OUTPUT': 'memory:',
'REPORT': 'memory:',
'TOLERANCE': 8
})
layer_corrige = r_fix_ov['OUTPUT']
print(f"Overlaps corrigés : {r_fix_ov['REPORT'].featureCount()} opérations")
3b. Combler les gaps
3 méthodes disponibles :
| Valeur | Méthode | Usage recommandé |
|---|---|---|
0 |
Ajouter à la plus longue bordure en commun | PLU — zone voisine qui partage le plus de frontière |
1 |
Créer une nouvelle entité | si le gap est une zone à part entière |
2 |
Ajouter à la plus grande zone voisine | quand la surface prime |
r_fix_gap = processing.run("native:fixgeometrygap", {
'INPUT': layer,
'NEIGHBORS': rapport['gaps']['layer_neighbors'], # issu de checkgeometrygap
'GAPS': rapport['gaps']['layer_gaps'],
'METHOD': 0, # 0 = plus longue bordure (recommandé PLU)
'UNIQUE_ID': 'fid',
'ERROR_ID_IDX': 'gc_errorid',
'OUTPUT': 'memory:',
'REPORT': 'memory:',
'TOLERANCE': 8
})
layer_sans_gap = r_fix_gap['OUTPUT']
print(f"Gaps comblés : {r_fix_gap['REPORT'].featureCount()} opérations")
3c. Corriger les géométries invalides (self-intersections, anneaux)
r_fix_val = processing.run("native:fixgeometries", {
'INPUT': rapport['validite']['layer_invalides'],
'METHOD': 1, # 1 = structure linéaire (robuste)
'OUTPUT': 'memory:'
})
layer_valide = r_fix_val['OUTPUT']
Bloc 4 — Accrochage post-saisie (snapgeometries)
Quand une couche a été saisie sans snapping actif, ou importée avec de micro-décalages entre polygones adjacents. Accroche les géométries d'une couche sur une couche de référence (ex : limites communales, autre zonage).
8 comportements disponibles :
| Valeur | Comportement | Usage |
|---|---|---|
0 |
Aligner les nœuds, ajoute sommets si besoin | défaut recommandé |
1 |
Point le plus proche, ajoute sommets | si nœuds mal alignés |
2 |
Aligner les nœuds, sans ajout de sommet | quand on veut conserver la densité |
4 |
Déplacer uniquement les extrémités (nœuds) | micro-corrections de bord |
6 |
Extrémités sur extrémités uniquement | lignes/filaires |
r_snap = processing.run("native:snapgeometries", {
'INPUT': layer_a_corriger,
'REFERENCE_LAYER': layer_reference,
'TOLERANCE': 0.5, # en unités de la couche (mètres si Lambert 93)
'BEHAVIOR': 0,
'OUTPUT': 'memory:'
})
layer_snapped = r_snap['OUTPUT']
Recommandation PLU : tolérance 0.1–0.5 m en EPSG:2154 (Lambert 93). Trop grande → déformation des géométries.
Bloc 5 — Reconstruction automatique depuis le cadastre
Quand une zone (ex : périmètre PLU, emprise de projet) a été saisie grossièrement et doit être recalée exactement sur les limites parcellaires cadastrales. Claude reconstruit le polygone par dissolution des parcelles qui chevauchent la zone rough ; l'opérateur complète ensuite manuellement les parties sans référence cadastrale (domaine public non-parcellaire : voiries, cours d'eau).
Validé le 2026-06-21 sur 06079-Minelle.gpkg (Mandelieu-la-Napoule) : 11 parcelles intersectantes → 2 retenues (overlap ≥ 50%) → 137 004 m², 31 nœuds, géométrie valide.
Principe
- Fixer les géométries du cadastre (WFS souvent invalide)
- Extraire les parcelles qui intersectent la zone rough
- Calculer le % de chevauchement pour chaque parcelle → garder celles à ≥ 50%
- Dissoudre → multiparttosingleparts → garder la plus grande part
- Écrire dans le GeoPackage en retirant d'abord les couches QGIS (file locking Windows)
Code complet
import processing
import urllib.parse
from qgis.core import (
QgsProject, QgsVectorFileWriter, QgsWkbTypes,
QgsFields, QgsMemoryProviderUtils
)
# Pré-requis : layer_cad (cadastre WFS reprojeté EPSG:3857)
# layer_zone (zone rough à recaler)
# gpkg_path (chemin du GeoPackage à écrire)
# 1. Fixer les géométries cadastrales (WFS Géoplateforme souvent invalide)
cad_fixed = processing.run("native:fixgeometries", {
'INPUT': layer_cad,
'METHOD': 1, # structure linéaire, robuste
'OUTPUT': 'memory:'
})['OUTPUT']
# 2. Extraire les parcelles qui intersectent la zone rough
parcelles_in = processing.run("native:extractbylocation", {
'INPUT': cad_fixed,
'PREDICATE': [0], # intersects
'INTERSECT': layer_zone,
'OUTPUT': 'memory:'
})['OUTPUT']
# 3. Calculer le % de chevauchement et retenir celles ≥ 50%
geom_zone = next(layer_zone.getFeatures()).geometry()
a_inclure = []
for f in parcelles_in.getFeatures():
inter = f.geometry().intersection(geom_zone)
pct = inter.area() / f.geometry().area() * 100
if pct >= 50:
a_inclure.append(f['gid'])
print(f"{parcelles_in.featureCount()} parcelles intersectantes → "
f"{len(a_inclure)} retenues (overlap ≥ 50%)")
print(f"GIDs retenus : {a_inclure}")
# 4. Sélectionner + dissoudre
ids_str = ', '.join(str(i) for i in a_inclure)
parcelles_sel = processing.run("native:extractbyexpression", {
'INPUT': cad_fixed,
'EXPRESSION': f'"gid" IN ({ids_str})',
'OUTPUT': 'memory:'
})['OUTPUT']
dissolved = processing.run("native:dissolve", {
'INPUT': parcelles_sel,
'FIELD': [],
'SEPARATE_DISJOINT': False,
'OUTPUT': 'memory:'
})['OUTPUT']
# 5. Single part → garder la plus grande
single = processing.run("native:multiparttosingleparts", {
'INPUT': dissolved,
'OUTPUT': 'memory:'
})['OUTPUT']
largest = max(single.getFeatures(), key=lambda f: f.geometry().area())
print(f"Résultat : {largest.geometry().area():.0f} m², "
f"{largest.geometry().constGet().nCoordinates()} nœuds")
layer_main = QgsMemoryProviderUtils.createMemoryLayer(
"main", QgsFields(), QgsWkbTypes.Type.Polygon, single.crs()
)
layer_main.dataProvider().addFeature(largest)
# 6. Écrire dans le GeoPackage
# CRITIQUE : retirer toutes les couches QGIS référençant le fichier avant écriture
for name in ["06079-Minelle"]:
for lyr in QgsProject.instance().mapLayersByName(name):
QgsProject.instance().removeMapLayer(lyr)
options = QgsVectorFileWriter.SaveVectorOptions()
options.driverName = "GPKG"
options.layerName = "06079-Minelle"
options.actionOnExistingFile = QgsVectorFileWriter.ActionOnExistingFile.CreateOrOverwriteLayer
# writeAsVectorFormatV3 retourne un tuple de 4 valeurs
res = QgsVectorFileWriter.writeAsVectorFormatV3(
layer_main, gpkg_path, QgsCoordinateTransformContext(), options
)
# res = (error_code, error_message, filename, layername)
if res[0] == 0:
print(f"Écrit : {gpkg_path} → couche '{options.layerName}'")
else:
print(f"ERREUR {res[0]} : {res[1]}")
# 7. Recharger dans QGIS pour vérification
layer_reload = QgsVectorLayer(
f"{gpkg_path}|layername={options.layerName}",
options.layerName, "ogr"
)
QgsProject.instance().addMapLayer(layer_reload, False)
root = QgsProject.instance().layerTreeRoot()
root.insertLayer(0, layer_reload)
iface.mapCanvas().setExtent(layer_reload.extent())
iface.mapCanvas().refresh()
print("Couche rechargée et zoomée.")
Pièges spécifiques
| Sujet | Constat |
|---|---|
writeAsVectorFormatV3 retourne 4 valeurs |
(error_code, error_message, filename, layername) — pas 2. Déstructurer en conséquence. |
| File locking Windows | QGIS garde un handle sur le fichier GeoPackage. Retirer toutes les couches référençant le fichier avec removeMapLayer() avant d'écrire. |
CreateOrOverwriteLayer pas CreateOrOverwriteFile |
CreateOrOverwriteFile supprime tout le fichier (détruisant les autres couches). CreateOrOverwriteLayer ne touche qu'à la couche cible. |
native:savefeatures échoue si fichier existe |
"A file system object already exists" — utiliser writeAsVectorFormatV3 à la place. |
MultiPolygon → asPolygon() fail |
Si les parcelles retenues ne sont pas adjacentes, le dissolve produit un MultiPolygon. Appliquer multiparttosingleparts + max(..., key=lambda f: f.geometry().area()) pour garder la plus grande part. |
| Cadastre WFS invalide | La Géoplateforme retourne parfois des géométries invalides (ex : feature 15026). Toujours fixer avec native:fixgeometries METHOD=1 avant usage comme couche de référence. |
Workflow collaboratif
Claude reconstruit le périmètre sur les limites parcellaires exactes. L'opérateur complète manuellement les parties manquantes non-parcellaires (domaine public : voiries, cours d'eau, espaces naturels non cadastrés). Les deux résultats sont complémentaires : la précision automatique sur le cadastre + le jugement humain sur le hors-cadastre.
Routine principale — Audit + Rapport
Fonction complète prête à l'emploi. Appeler par Claude en une seule commande.
import processing
from qgis.core import QgsProject, QgsSnappingConfig, QgsTolerance
def configurer_snapping_plu():
proj = QgsProject.instance()
snap_cfg = proj.snappingConfig()
snap_cfg.setEnabled(True)
snap_cfg.setMode(QgsSnappingConfig.SnappingMode.AllLayers)
snap_cfg.setType(QgsSnappingConfig.SnappingType.VertexAndSegment)
snap_cfg.setTolerance(10.0)
snap_cfg.setUnits(QgsTolerance.UnitType.Pixels)
snap_cfg.setIntersectionSnapping(True)
proj.setSnappingConfig(snap_cfg)
proj.setTopologicalEditing(True)
proj.setAvoidIntersectionsMode(
QgsProject.AvoidIntersectionsMode.AvoidIntersectionsLayers)
print("Snapping PLU configuré")
def audit_topo(layer, unique_id='fid', gap_threshold=0, min_overlap_area=0):
r_val = processing.run("native:checkvalidity", {
'INPUT_LAYER': layer, 'METHOD': 2,
'IGNORE_RING_SELF_INTERSECTION': False,
'VALID_OUTPUT': 'memory:', 'INVALID_OUTPUT': 'memory:', 'ERROR_OUTPUT': 'memory:'
})
r_ov = processing.run("native:checkgeometryoverlap", {
'INPUT': layer, 'UNIQUE_ID': unique_id,
'MIN_OVERLAP_AREA': min_overlap_area, 'TOLERANCE': 8,
'ERRORS': 'memory:', 'OUTPUT': 'memory:'
})
r_gap = processing.run("native:checkgeometrygap", {
'INPUT': layer, 'UNIQUE_ID': unique_id,
'GAP_THRESHOLD': gap_threshold, 'TOLERANCE': 8,
'NEIGHBORS': 'memory:', 'ERRORS': 'memory:', 'OUTPUT': 'memory:'
})
rapport = {
'layer': layer,
'unique_id': unique_id,
'validite': {
'valides': r_val['VALID_COUNT'],
'invalides': r_val['INVALID_COUNT'],
'layer_invalides': r_val['INVALID_OUTPUT']
},
'overlaps': {
'count': r_ov['ERRORS'].featureCount(),
'layer_errors': r_ov['ERRORS'],
'layer_features': r_ov['OUTPUT']
},
'gaps': {
'count': r_gap['OUTPUT'].featureCount(),
'layer_gaps': r_gap['OUTPUT'],
'layer_neighbors': r_gap['NEIGHBORS'],
'layer_errors': r_gap['ERRORS']
}
}
ok = (r_val['INVALID_COUNT'] == 0 and
r_ov['ERRORS'].featureCount() == 0 and
r_gap['OUTPUT'].featureCount() == 0)
print(f"\n=== Audit topo : {layer.name()} ===")
print(f" Géométries invalides : {r_val['INVALID_COUNT']}")
print(f" Overlaps : {r_ov['ERRORS'].featureCount()}")
print(f" Gaps : {r_gap['OUTPUT'].featureCount()}")
print(f" => {'PROPRE' if ok else 'ERREURS — voir rapport'}")
return rapport
# Usage type
# layer = QgsProject.instance().mapLayersByName("zones_plu")[0]
# configurer_snapping_plu()
# rapport = audit_topo(layer)
Pièges à retenir
| Sujet | Constat |
|---|---|
INPUT_LAYER vs INPUT |
native:checkvalidity exige INPUT_LAYER, tous les autres utilisent INPUT. Erreur silencieuse sinon. |
QgsSnappingConfig.SnappingType |
setType() attend ce type précis — pas Qgis.SnappingType ni Qgis.SnappingTypes. |
| NEIGHBORS obligatoire pour fixgeometrygap | La couche NEIGHBORS produite par checkgeometrygap doit être conservée et passée à fixgeometrygap. |
| Tolérance snapgeometries en unités couche | Si la couche est en Lambert 93 (mètres), 0.5 = 50 cm. Ne pas confondre avec la tolérance en pixels du snapping canvas. |
| METHOD 0 pour PLU gaps | "Plus longue bordure en commun" est la méthode la plus cohérente pour les zonages PLU (le gap va à la zone avec laquelle il partage le plus de frontière). |
| AvoidIntersectionsLayers | Mode le plus adapté PLU — évite les overlaps lors de la saisie mais uniquement sur les couches cochées dans les paramètres du projet. |
writeAsVectorFormatV3 retourne 4 valeurs |
(error_code, error_message, filename, layername) — pas 2. |
| File locking GeoPackage Windows | Retirer toutes les couches QGIS référençant le fichier avant écriture, utiliser CreateOrOverwriteLayer. |
Statut
- Validé le 2026-06-21 : Blocs 1–5 testés sur QGIS 4.0.3 via MCP Claude Code.
- Bloc 1 : snapping PLU
- Bloc 2 :
checkvalidity,checkgeometryoverlap,checkgeometrygap - Bloc 5 : reconstruction
06079-Minelle.gpkgdepuis cadastre WFS → 137 004 m², 31 nœuds, valide
- À tester :
fixgeometryoverlap,fixgeometrygap,snapgeometriessur une vraie couche PLU avec erreurs.
04_Claude et les dépannages informatiques
260803-suivi des logs de dysfonctionnement du PC - écrans bleus de la mort
Suivi des dysfonctionnements du PC eliob — écrans bleus
⚠ Mise à jour du 2026-08-25 — après réinstallation de Windows : les écrans bleus ont quasiment cessé, les coupures sèches non.
Deux précisions qui modifient la lecture de toute cette page :
1.
eliobetjuliesont la même machine. Le poste décrit ici n'a pas disparu : Windows y a été réinstallé le 2026-08-08 à 12:21, précisément à cause des plantages analysés dans cette page. Le compteeliobayant perdu ses identifiants, un nouveau profil a été créé à 12:36 sous le nomjulie(faute de frappe pourjulien), adossé au compte Microsoftjulien.bertrand@live.fr. C'est le seul profil de la machine. Matériel identique vérifié le 2026-08-25 : MSI A320M-A PRO (MS-7C51), BIOS 1.40 du 08/12/2020, Ryzen 5 2600X, une seule barrette 16 Go à 2400 MHz, RX 6500 XT.2. Les deux populations ont divergé, et c'est le fait nouveau le plus important.
- Écrans bleus : amélioration nette et vécue comme telle. Ils étaient incessants avant la réinstallation — 3 ×
0x50en 4 jours du 31/07 au 03/08. Depuis le système neuf : 2 ×0x9Fle 12/08, puis plus rien pendant 13 jours.- Coupures sèches : inchangées. Elles ont traversé la reconstruction complète du système. Mais 2 des 6 arrêts de la période sont d'origine électrique externe établie — coupure Enedis le 24/08 à 06:24, débranchement volontaire face aux orages — ce qui fait passer la qualité du secteur en tête des hypothèses. Restent 4 épisodes inexpliqués.
3. Les mesures du 2026-08-03 ont été effacées par la réinstallation — voir § 8 et § 10. Le démarrage rapide est de nouveau actif, la rétention des vidages est retombée à 5. À réappliquer.
Voir le journal (§ 12) et la révision du diagnostic (§ 9).
Machine : PC Windows eliob (pcelio)
Analyse initiale : 2026-08-03 — Claude Code
Fenêtre observée : 29/10/2025 → 03/08/2026 pour le journal d'événements (Windows réinstallé le 28/10/2025) — les compteurs SMART, eux, couvrent toute la vie des disques
En bref
- Deux problèmes distincts, pas un seul.
- Écrans bleus
0x50: cause établie —amdfendr.sys(AMD Crash Defender), embarqué dans un pilote Radeon de janvier 2022 jamais mis à jour. Confirmé par trois déterminations indépendantes, mécanisme du plantage compris. Correctif : réinstaller le pilote AMD avec DDU.- 30 coupures sèches sans écran bleu : cause inconnue. Aucune trace exploitable. Le compteur SMART montre que le phénomène précède la réinstallation de Windows — piste matérielle, alimentation en tête.
- Aucun composant électronique défectueux identifié à ce jour : 0 erreur WHEA, 4 disques SMART impeccables, SSD système à 88 % de vie restante.
- Actions déjà appliquées : voir §10. Action restante à la charge de Julien : réinstallation du pilote AMD.
Mise à jour du 2026-08-03, 08h30 — après élévation de privilèges, les rapports WER ont pu être lus et désignent nommément le module fautif :
amdfendr.sys(AMD Crash Defender). Le pilote réseau VirtualBox, suspect n°1 de la première version de cette analyse, est disculpé comme cause des écrans bleus. Voir §6.Mise à jour du 2026-08-03, 09h00 — WinDbg et smartmontools installés. Le vidage mémoire a été analysé : la pile d'appels confirme
amdfendr.syset donne le mécanisme exact du plantage (§6.1). Les données SMART complètes des 4 disques ont été relevées : aucun n'est défaillant, mais le compteur d'arrêts brutaux du SSD système révèle que l'instabilité est bien antérieure à la réinstallation de Windows (§7).
1. Configuration matérielle
| Élément | Valeur |
|---|---|
| Carte mère | MSI A320M-A PRO (MS-7C51), BIOS AMI 1.40 du 08/12/2020 |
| Processeur | AMD Ryzen 5 2600X — 6 cœurs, 3,6 GHz |
| Carte graphique | AMD Radeon RX 6500 XT (4 Go) — pilote 30.0.14023.3004 du 18/01/2022, soit 4 ans et demi de retard |
| Mémoire | 1 seule barrette 16 Go TEAMGROUP UD4-2666 (DIMM 0, canal B) — cadencée à 2400 MHz (sous sa fréquence nominale de 2666) |
| Disque système | SSD SATA Patriot Burst 240 Go (C: — 71 Go libres) |
| Disque secondaire | HDD SATA Toshiba HDWD110 1 To (D:) |
| Périphériques USB | ASMT 2115 1 To (E:), Seagate Backup+ Hub 8 To (F:), SanDisk 3.2Gen1 64 Go |
| OS | Windows 10 Famille 22H2 — build 19045, installé le 28/10/2025 |
| Boîtier / assemblage | Megaport, modèle 130430 |
Remarque sur l'âge : Julien évalue le PC à 9 ans d'usage intensif. Le Ryzen 2600X date de 2018 et la carte A320M-A PRO de 2019-2020 — le cœur de la machine a donc plutôt 6-7 ans. Le boîtier, l'alimentation et les ventilateurs peuvent être plus anciens s'ils ont été repris d'une configuration précédente. L'alimentation n'a pas pu être identifiée par logiciel — c'est une information à relever physiquement (marque, modèle, wattage, année), elle est déterminante pour la suite du diagnostic.
2. Méthode
Sources exploitées
Sans privilèges particuliers :
- Journal
System—Kernel-Power 41(arrêt inattendu),BugCheck 1001(code d'erreur BSOD),WHEA-Logger(erreurs matérielles remontées par le firmware),volmgr,Ntfs,disk - Propriétés internes des événements 41 (
BugcheckCode,BugcheckParameter1,PowerButtonTimestamp) — ce sont elles qui permettent de distinguer un vrai BSOD d'une coupure sèche - Corrélation temporelle événement par événement (dernier événement journalisé avant chaque redémarrage, présence ou non d'un arrêt propre
1074/13) - Inventaire matériel WMI/CIM, configuration d'alimentation et de vidage mémoire, dates et versions des pilotes tiers
Avec élévation (c'est ce qui a permis d'aboutir) :
- Rapports WER (
C:\ProgramData\Microsoft\Windows\WER\ReportArchive) — contiennent le classement de la panne par Microsoft - Mini-vidages (
C:\Windows\Minidump) etMEMORY.DMP - SMART complet des disques via
smartctl
Outils installés le 2026-08-03
| Outil | Version | Usage |
|---|---|---|
smartmontools |
7.5 | C:\Program Files\smartmontools\bin\smartctl.exe — SMART réel, à lancer en administrateur |
Microsoft.WinDbg |
1.2606 | Expose de vrais alias console dans %LOCALAPPDATA%\Microsoft\WindowsApps : cdbX64.exe, kdX64.exe, WinDbgX.exe |
Analyse d'un vidage en ligne de commande :
cdbX64.exe -z dump.dmp -y "srv*C:\symbols*https://msdl.microsoft.com/download/symbols" -c "!analyze -v; q" -logo sortie.txt
Trois points de méthode qui ont compté
- Les événements
41et1001sont horodatés au redémarrage suivant, pas à l'instant du crash. Le redémarrage automatique étant activé (AutoReboot=1), les deux coïncident à la minute près pour les BSOD — mais il ne faut jamais lire ces horodatages comme « l'heure de la panne » sans cette vérification. - Une corrélation temporelle, même serrée, ne vaut pas une preuve. Trois crashes à 12 secondes d'une erreur
VBoxNetLwfm'ont fait désigner le mauvais coupable. Seule la lecture du vidage a tranché. - Les preuves les plus utiles sont derrière une élévation de privilèges. Tant qu'on lit le journal en session standard, on tourne autour du problème.
3. Chiffres clés
| Indicateur | Valeur |
|---|---|
Arrêts anormaux (Kernel-Power 41) |
45 en 9 mois |
| dont écrans bleus réels (avec code bugcheck) | 15 (33 %) |
dont coupures sèches sans BSOD (BugcheckCode = 0) |
30 (67 %) |
Erreurs matérielles WHEA-Logger |
0 |
| Erreurs disque / NTFS critiques (90 j) | 2 Ntfs 50, 3 volmgr 161 (échec d'écriture du dump) |
| Bouton d'alimentation maintenu (arrêt forcé manuel) | 1 seul cas — 20/05/2026 20:35 |
Arrêt propre demandé (1074/13) juste avant le crash |
0 cas sur 45 |
| Arrêts brutaux au compteur SMART du SSD système | 146 pour 1 066 mises sous tension (13,7 %) |
Fréquence : environ 1 arrêt anormal tous les 6 jours en moyenne, avec des grappes (2 crashes le même jour à 5 reprises).
Écart entre les deux compteurs : 146 arrêts brutaux au SMART contre 45 dans le journal Windows. La centaine manquante est antérieure à la réinstallation du 28/10/2025 — voir §7.
4. Deux populations de pannes bien distinctes
Population A — 30 coupures sèches, sans écran bleu (67 %)
BugcheckCode = 0, PowerButtonTimestamp = 0 : le système s'est arrêté sans produire de vérification d'erreur, sans que le bouton d'alimentation ait été maintenu, et sans qu'un arrêt ait été demandé. Le dernier événement journalisé précède le redémarrage de moins d'une minute dans la quasi-totalité des cas.
C'est le profil d'une coupure d'alimentation, d'un reset matériel ou d'un gel total du noyau — Windows n'a pas eu le temps d'écrire quoi que ce soit.
Ces 30 événements sont répartis sur toute la période (octobre 2025 → juillet 2026), sans lien avec les vagues de BSOD. C'est la population la plus préoccupante pour une hypothèse matérielle, et c'est aussi celle sur laquelle les logs sont, par construction, muets.
Population B — 15 écrans bleus avec code d'erreur (33 %)
| Code | Nb | Nom | Signification |
|---|---|---|---|
0x0000009F |
10 | DRIVER_POWER_STATE_FAILURE | Un pilote bloque une requête de changement d'état d'alimentation (mise en veille, reprise, arrêt). Paramètre 1 = 0x3 dans les 10 cas : un objet de périphérique bloque une IRP trop longtemps. |
0x00000050 |
3 | PAGE_FAULT_IN_NONPAGED_AREA | Accès à une adresse mémoire invalide. Paramètre 2 = 0 → il s'agit d'une lecture (confirmé par WinDbg : AV.Type = Read). |
0x0000003B |
1 | SYSTEM_SERVICE_EXCEPTION | Exception 0xC0000005 (violation d'accès) en mode noyau. |
0x000000A0 |
1 | INTERNAL_POWER_ERROR | Erreur interne du gestionnaire d'alimentation. |
12 des 15 BSOD (80 %) sont des erreurs liées à une transition d'alimentation (0x9F + 0xA0). Aucun n'est précédé d'une demande d'arrêt propre → il s'agit de transitions veille S3 / reprise / démarrage rapide, pas d'un arrêt lancé depuis le menu Démarrer.
5. Chronologie — trois régimes successifs
| Période | Régime dominant |
|---|---|
| 29/10/2025 → 23/12/2025 | Uniquement des coupures sèches (2 événements) |
| 25/12/2025 → 29/03/2026 | Vague de 10 × 0x9F — DRIVER_POWER_STATE_FAILURE, souvent 2 le même jour, entremêlée de coupures sèches |
| 16/04/2026 → 19/05/2026 | 1 × 0xA0, 1 × 0x3B — puis les BSOD cessent |
| 19/05/2026 → 28/07/2026 | Retour aux seules coupures sèches (7 événements) |
| 31/07/2026 → 03/08/2026 | Nouvelle vague : 3 × 0x50 en 4 jours |
Les BSOD ne sont donc pas un phénomène continu : ce sont des vagues qui apparaissent et disparaissent, ce qui est le comportement typique d'une cause logicielle (installation ou mise à jour d'un pilote). Les coupures sèches, elles, sont présentes en continu du premier au dernier jour — comportement typique d'une cause matérielle.
6. Cause de la vague en cours : amdfendr.sys (AMD Crash Defender)
6.1 — La preuve : l'analyse du vidage mémoire
!analyze -v sur C:\Windows\Minidump\073126-9718-01.dmp (crash du 31/07/2026 08:54) donne la pile d'appels complète :
nt!KeBugCheckEx
nt!MiSystemFault
nt!MmAccessFault
nt!KiPageFault
nt!LZNT1FindMatchStandard+0xce <-- instruction fautive
nt!LZNT1CompressChunk+0xd7
nt!RtlCompressBufferLZNT1+0x80
nt!RtlCompressBuffer+0x6f
amdfendr+0x13e1b <-- L'APPELANT
MODULE_NAME: amdfendr
IMAGE_NAME: amdfendr.sys
FAILURE_BUCKET_ID: AV_amdfendr!unknown_function
AV.Type: Read
AV.Page.Virtual: 0xffff830288400000
Adresse fautive: 0xffff830288401000
Le mécanisme est limpide. amdfendr.sys appelle RtlCompressBuffer, la fonction de compression du noyau Windows, en lui passant un tampon dont la taille annoncée dépasse la taille réellement allouée. Le compresseur LZNT1 lit donc au-delà de la fin du tampon, tombe sur une page non mappée, et le noyau plante.
L'adresse fautive …88401000 est exactement à 0x1000 octets (une page mémoire) du début de la page valide …88400000. C'est la signature manuelle du dépassement de tampon : la lecture a franchi la frontière de page juste après la fin de la zone légitime.
Correction d'un point technique de la première version : le déplacement constant 0x3ae que j'avais relevé sur les trois écrans bleus se situe dans ntoskrnl (nt!LZNT1FindMatchStandard+0xce), pas dans amdfendr.sys. C'est pour cette raison qu'il est identique d'un crash à l'autre : c'est toujours la même fonction du noyau qui est mise en défaut. L'intuition — « le même chemin de code plante à chaque fois » — était juste ; son attribution à un pilote tiers ne l'était pas.
Notons enfin que l'horodatage réel du binaire est le 4 juin 2021 — encore plus ancien que sa date de fichier.
6.2 — Confirmation par les rapports WER
Après élévation de privilèges, les deux rapports d'erreur Windows du 31/07/2026 ont pu être lus. Ils contiennent le verdict de Microsoft :
EventType = BlueScreen
Response.BucketId = AV_amdfendr!unknown_function
Sig[0] Code = 50
Sig[3] Paramètre 3 = fffff8031db903ae / fffff805091903ae
Sig[4] Paramètre 4 = 2
AV_amdfendr!unknown_function : Access Violation imputée au module amdfendr.sys. Les deux rapports du 31/07, produits indépendamment, aboutissent au même classement — et au même que l'analyse du vidage ci-dessus. Trois déterminations convergentes.
6.3 — Ce qu'est ce pilote
| Fichier | Description | Version | Date |
|---|---|---|---|
amdfendr.sys |
AMD Crash Defender | 21.30.0.9 | 07/02/2022 |
amdfendrmgr.sys |
AMD Crash Defender Manager Driver | 21.30.0.9 | 07/02/2022 |
AMD Crash Defender est un composant des pilotes Radeon Adrenalin de la génération 21.30 / 22.x. Son rôle est d'intercepter les plantages du pilote graphique pour tenter de rétablir l'affichage sans redémarrer. Autrement dit : c'est le mécanisme censé éviter les écrans bleus qui les provoque.
Ce composant est connu pour être instable dans cette génération de pilotes. AMD l'a profondément remanié dans les versions ultérieures.
Le pilote graphique de cette machine date du 18/01/2022 (version 30.0.14023.3004) pour une Radeon RX 6500 XT — soit quatre ans et demi sans mise à jour, alors que la carte est toujours pleinement prise en charge par les pilotes Adrenalin actuels.
Le pilote graphique est également un candidat classique pour la famille 0x9F (DRIVER_POWER_STATE_FAILURE) : c'est typiquement lui qui bloque une transition de mise en veille ou de reprise. La vague de 10 × 0x9F de l'hiver 2025-2026 pourrait donc relever de la même origine — à confirmer par l'analyse des vidages.
6.4 — Anomalie secondaire : le pilote réseau VirtualBox
VBoxNetLwf — VirtualBox NDIS6 Bridged Networking Driver, version 7.2.14.174565
Le journal System contient 20 erreurs VBoxNetLwf (ID 12) : « Le pilote a détecté une erreur de pilote interne sur \Device\VBoxNetLwf ».
Toutes sont comprises entre le 24/07/2026 06:55 et le 03/08/2026 07:43 — soit exactement depuis l'installation d'Oracle VirtualBox 7.2.14 le 24/07/2026 (fichiers pilotes datés du 17/07/2026). Aucune avant.
Le rythme est de deux erreurs par jour — une le matin, une le soir :
| Date | Matin | Soir |
|---|---|---|
| 24/07 | 06:55 | 18:02 |
| 27/07 | 08:02 | 18:22 |
| 29/07 | 06:27 | 17:36 |
| 30/07 | 07:25 | 19:10 |
| 02/08 | 06:36 | 21:54 |
C'est-à-dire à chaque allumage et à chaque extinction — exactement le symptôme décrit par Julien.
Corrélation avec les 3 écrans bleus 0x50 :
Erreur VBoxNetLwf |
Écran bleu correspondant | Écart |
|---|---|---|
| 31/07/2026 06:27:21 | BugCheck 0x50 à 06:27:34 |
13 s |
| 31/07/2026 08:54:01 | BugCheck 0x50 à 08:54:14 |
13 s |
| 03/08/2026 07:43:26 | BugCheck 0x50 à 07:43:37 |
11 s |
Et le 28/07/2026 07:52:02, une erreur VBoxNetLwf coïncide à la seconde près avec une coupure sèche sans BSOD.
Verdict sur VBoxNetLwf : la corrélation temporelle est réelle, mais elle ne fait pas de lui la cause des écrans bleus. Les rapports WER placent le code fautif dans amdfendr.sys. L'explication cohérente est que les deux pilotes sont sollicités à la même seconde, lors de la même transition d'alimentation : VBoxNetLwf y journalise une erreur interne à chaque fois (20 fois), et amdfendr.sys y plante occasionnellement (3 fois).
VBoxNetLwf reste néanmoins un défaut logiciel réel à traiter : un filtre NDIS qui signale une erreur interne à chaque démarrage et à chaque extinction n'est pas un fonctionnement normal. Il a été désactivé (voir §10). Mais il faut être clair : ce n'est pas lui qui provoquait les écrans bleus.
Leçon de méthode : une corrélation temporelle à 12 secondes sur 3 événements, aussi frappante soit-elle, ne vaut pas une preuve. C'est la lecture du rapport WER — qui a nécessité une élévation de privilèges — qui a tranché. La constance du déplacement
0x3aeétait bien la bonne piste ; c'est son attribution àVBoxNetLwfqui était fausse.
6.5 — Deux attributions antérieures invalidées
RustDesk — le fichier CLAUDE.md attribuait les écrans bleus 0x50 du 31/07/2026 aux pilotes RustDesk (écran virtuel usbmmidd_v2, imprimante virtuelle), désactivés le jour même. Cette explication ne tient pas : un troisième 0x50 s'est produit le 03/08 avec la même signature, alors que usbmmidd_v2 était désactivé depuis trois jours. Le dossier C:\Program Files\RustDesk\drivers — qui ne contenait déjà plus qu'un RustDeskPrinterDriver.disabled — a été renommé en drivers.disabled par sécurité.
VirtualBox — voir ci-dessus. Suspect n°1 de la première version de cette page, disculpé par les rapports WER.
Ces deux erreurs ont la même origine : trois logiciels installés dans la même fenêtre de temps (VirtualBox le 24/07, RustDesk le 31/07) ont capté l'attention, alors que le vrai coupable était un pilote présent depuis longtemps et sans rapport avec ces installations.
7. Ce que les logs ne permettent PAS d'accuser
Il faut être clair sur ce point : à ce stade, aucune donnée ne désigne un composant électronique défectueux.
| Vérification | Résultat | Interprétation |
|---|---|---|
WHEA-Logger (erreurs machine remontées par le firmware : CPU, mémoire, bus PCIe, cache) |
0 événement sur 9 mois | Aucune erreur matérielle corrigible ou fatale détectée par le processeur. C'est un signal négatif fort contre une défaillance CPU ou mémoire franche. |
| État de santé des 5 disques | Tous Healthy / OK |
Aucune alerte |
| Erreurs disque / NTFS | 2 Ntfs 50 + 3 volmgr 161 en 90 jours |
Les volmgr 161 sont des conséquences des crashes (échec d'écriture du fichier de vidage), pas des causes |
Nuance importante sur WHEA : l'absence d'erreur WHEA ne disculpe pas le matériel pour la Population A. Une coupure d'alimentation brutale ou un gel total ne laisse par définition aucune trace, puisque le système n'a plus le temps d'écrire. WHEA ne couvre pas non plus les défaillances d'alimentation, de VRM ou de connectique.
SMART complet — relevé du 2026-08-03 via smartmontools 7.5
Windows n'exposait aucun compteur SMART sur ce chipset A320 (Get-StorageReliabilityCounter ne renvoie rien). smartctl a permis de lire directement les contrôleurs.
| Disque | Rôle | Santé | Heures | Cycles | Secteurs réalloués | Erreurs CRC | Temp. | Usure |
|---|---|---|---|---|---|---|---|---|
| Patriot Burst 240 Go (SSD) | Système (C:) | PASSED | 11 111 | 1 066 | 0 | 0 | 33 °C | SSD_Life_Left = 88 % — 15 To écrits |
| Toshiba HDWD110 1 To (P300 CMR) | Données (D:) | PASSED | 14 481 | 1 416 | 0 | 0 | 41 °C (max 49) | — |
| Seagate/Samsung ST1000LM024 1 To | Boîtier USB (E:) | PASSED | 60 187 | 5 800 | 0 | 0 | 39 °C (max 56) | — |
| Seagate ST8000AS0002 8 To (SMR) | Sauvegarde USB (F:) | PASSED | 19 823 | 2 166 | 0 | 0 | 46 °C (seuil 45 dépassé par le passé) | — |
Conclusion : aucun disque n'est défaillant. Zéro secteur réalloué, zéro secteur en attente, zéro erreur CRC, aucun journal d'erreurs SMART sur les quatre. Le SSD système conserve 88 % de sa durée de vie et n'a que 15 To d'écriture au compteur — il est hors de cause. L'hypothèse « SSD en fin de vie » est écartée.
Deux points annexes : le disque du boîtier USB affiche 60 187 heures, soit près de 7 ans d'allumage cumulé — sans le moindre défaut, mais il mérite une surveillance. Et le Seagate 8 To de sauvegarde a franchi son seuil de température de flux d'air (46 °C pour un seuil à 45 °C) : à surveiller, sans rapport avec les plantages.
⚠ Réglages du 2026-08-03 effacés par la réinstallation — à réappliquer
Constat du 2026-08-25 : la réinstallation de Windows du 08/08 a remis les valeurs par défaut. État actuel relevé au registre :
| Réglage | Voulu (03/08) | État au 25/08 | Effet |
|---|---|---|---|
HiberbootEnabled (démarrage rapide) |
0 | 1 — réactivé | Amplificateur n°1 des 0x9F |
MinidumpsCount |
50 | 5 | Moins d'historique de vidages |
AlwaysKeepMemoryDump |
1 | absent | MEMORY.DMP écrasé à chaque crash |
Les deux derniers sont des réglages de diagnostic : sans eux, le prochain écran bleu laissera moins de traces exploitables. À réappliquer en session élevée.
En revanche, deux pilotes suspects ont bel et bien disparu et n'ont pas été réinstallés : VBoxNetLwf.sys (VirtualBox) et les pilotes RustDesk. Seul amdfendr.sys (07/02/2022) est revenu, avec le pilote AMD.
⚠ Le compteur qui change la perspective
Unsafe_Shutdown_Count du SSD système : 146 arrêts brutaux pour 1 066 mises sous tension — soit 13,7 % des extinctions qui se sont mal passées.
Or le journal d'événements ne recense que 45 arrêts anormaux depuis octobre 2025. Une centaine d'arrêts brutaux sont donc antérieurs à la réinstallation de Windows du 28/10/2025.
C'est une information importante : le problème n'est ni récent, ni né de la réinstallation. Il est installé de longue date, et la réinstallation de Windows ne l'a pas réglé — ce qui affaiblit d'autant les hypothèses purement logicielles pour la Population A, et renforce la piste matérielle.
8. Facteurs aggravants identifiés dans la configuration
Démarrage rapide — était activé, ✅ désactivé le 2026-08-03
Le démarrage rapide (Fast Startup, HiberbootEnabled = 1) était actif jusqu'au 03/08/2026. Avec ce réglage, « Arrêter » n'éteint pas réellement Windows : le noyau et les pilotes sont mis en hibernation dans un fichier, puis rechargés tels quels au démarrage suivant.
Conséquences sur ce cas :
- C'est la première cause connue des écrans bleus
0x9F— qui représentent 10 des 15 BSOD relevés ici. - Cela explique qu'aucun crash ne soit précédé d'un arrêt propre dans les logs : les transitions concernées sont des hibernations/reprises, pas de vrais arrêts.
- Un état de pilote corrompu était réinjecté à chaque démarrage au lieu d'être réinitialisé — ce qui transforme un bug ponctuel en panne récurrente.
Depuis la désactivation, chaque arrêt réinitialise complètement l'état des pilotes. Effet de bord attendu : le démarrage est un peu plus lent — c'est normal et souhaitable ici.
Mémoire : une seule barrette, sous-cadencée
Un seul module de 16 Go occupant DIMM 0 (canal B) — donc pas de double canal, et la barrette tourne à 2400 MHz au lieu de 2666. Ce n'est pas une cause de panne en soi, mais c'est une configuration à connaître. Point positif pour le diagnostic : avec une seule barrette, un test mémoire est simple à interpréter et il n'y a pas de problème d'appairage possible.
BIOS de 2020
Version 1.40 datée du 08/12/2020, jamais mise à jour depuis. MSI a publié des révisions ultérieures pour l'A320M-A PRO, comportant des correctifs AGESA sur la gestion de l'alimentation et la compatibilité mémoire — directement pertinents pour des erreurs 0x9F et 0xA0.
Pilote graphique de 2022 — le facteur central
Pilote Radeon 30.0.14023.3004 du 18/01/2022 sur une RX 6500 XT, alors que la carte est toujours pleinement prise en charge par les Adrenalin actuels. C'est ce pilote qui embarque le amdfendr.sys fautif (binaire du 4 juin 2021). Plus qu'un facteur aggravant : c'est la cause identifiée des 0x50, et un suspect sérieux pour les 0x9F.
Espace disque système
71 Go libres sur 223 Go (C:) — suffisant, mais à surveiller : MEMORY.DMP occupe 2,4 Go, et sa copie de sauvegarde 2,31 Go de plus sur D:. Avec AlwaysKeepMemoryDump = 1 désormais actif, le vidage complet ne sera plus supprimé automatiquement par le nettoyage de disque — c'est voulu, mais cela demande de surveiller l'espace libre.
9. Diagnostic de synthèse
Il y a très probablement deux problèmes distincts, pas un seul.
Révision du 2026-08-25 — le test à variable unique a eu lieu, et il est négatif.
La réinstallation complète de Windows du 2026-08-08 constitue l'expérience que cette page appelait de ses vœux : logiciel intégralement remis à zéro, matériel inchangé. Résultat sur 17 jours de système neuf — 6 arrêts anormaux journalisés, dont 2 d'origine électrique externe établie : une coupure de courant Enedis le 24/08 à 06:24, et un débranchement volontaire face aux orages le 24/08 (journalisé au démarrage du 25/08 à 08:22).
Restent 4 épisodes inexpliqués : 2 coupures sèches sans code (12/08 05:49, 17/08 19:41) et 2 écrans bleus
0x9F(paramètre0x3, 12/08 à 10:30 et 15:27).Aucun écran bleu depuis le 12/08, soit 13 jours au 2026-08-25 — sans qu'aucune action n'ait été engagée entre-temps. Cohérent avec le régime par vagues décrit au § 5 : l'accalmie ne vaut pas correction, et ne dispense pas de la priorité 1.
Nuance importante sur les écrans bleus. Dire que « la réinstallation n'a rien réglé » serait faux pour cette population : le vécu est celui d'une amélioration franche, et les chiffres le corroborent — 2 BSOD dans les 4 jours suivant l'installation, puis 13 jours sans aucun. Trois raisons de rester prudent avant d'en conclure à une guérison :
- Le régime historique est fait de vagues (§ 5) : l'hiver a connu 10 ×
0x9Fde décembre à mars, puis des mois de calme sans qu'aucune action n'ait été engagée. Treize jours ne suffisent pas à distinguer une correction d'une accalmie.- La machine est aujourd'hui dans une configuration moins protégée qu'au 03/08 : le démarrage rapide, désigné comme amplificateur n°1 des
0x9F, a été réactivé par la réinstallation, etamdfendr.sysest revenu avec le pilote AMD que Windows Update réinstalle automatiquement. L'accalmie se produit donc malgré des réglages défavorables.- En revanche, deux suspects ont réellement disparu :
VBoxNetLwf.sys(VirtualBox) et les pilotes RustDesk (usbmmidd, imprimante virtuelle) sont absents du système neuf, et ni VirtualBox ni RustDesk ne sont réinstallés. Si l'accalmie se confirme au-delà d'un mois, ce sont eux qu'il faudra regarder — et nonamdfendr, qui est toujours là.Ce que la réinstallation établit en revanche sans ambiguïté :
- Le Problème 2 (coupures sèches) n'a plus aucune explication logicielle plausible. Il a survécu à une reconstruction totale du système. L'hypothèse matérielle — alimentation en tête — passe du statut de conjecture à celui d'explication par défaut. La priorité 3 (intervention physique) devient la priorité réelle.
- Le Problème 1 n'est pas disculpé pour autant. Windows Update réinstalle exactement le même pilote Radeon 30.0.14023.3004 du 18/01/2022, et
amdfendr.sys(binaire du 07/02/2022) est de nouveau en place sur le système neuf. La réinstallation n'a donc pas testé cette variable-là : le pilote fautif est revenu tout seul. L'action de priorité 1 garde tout son sens.- La signature
0x9Fréapparaît à l'identique — même code, même paramètre0x3(périphérique trop lent à honorer un IRP d'alimentation) que la vague de 10 ×0x9Fde l'hiver 2025-2026. Ce n'était donc pas un accident de configuration : c'est reproductible sur une installation vierge.La condition posée au § 10 — « ne pas engager d'intervention physique avant 2-3 semaines de relevés » — est remplie, et par la voie la plus radicale qui soit.
Problème 1 — logiciel, identifié formellement.
amdfendr.sys (AMD Crash Defender, version 21.30.0.9 de février 2022) provoque les écrans bleus 0x50. Les rapports WER de Windows le désignent nommément, deux fois indépendamment (AV_amdfendr!unknown_function), et la signature d'adresse constante (0x3ae) confirme un défaut de code reproductible. Il est embarqué dans un pilote Radeon de janvier 2022, jamais mis à jour depuis. Le démarrage rapide amplifiait le phénomène. Ce même pilote est un candidat sérieux pour la vague de 0x9F de l'hiver. C'est traitable immédiatement et sans risque : il suffit d'installer un pilote AMD à jour.
Problème 2 — cause encore indéterminée, présent en continu depuis au moins octobre 2025.
30 coupures sèches réparties sur 9 mois, sans aucune trace exploitable. La vague de 10 × 0x9F de l'hiver 2025-2026 relève probablement aussi d'un pilote (autre que VirtualBox, installé bien plus tard), mais les coupures sèches restent inexpliquées. Les hypothèses ouvertes, par ordre de vraisemblance sur une machine de cet âge :
Le SMART apporte ici un élément décisif : avec 146 arrêts brutaux pour 1 066 démarrages, dont une centaine antérieurs à la réinstallation de Windows, le phénomène est ancien et a survécu à une remise à zéro complète du système. Hypothèses ouvertes, par ordre de vraisemblance :
- Qualité du secteur électrique — hypothèse ajoutée le 2026-08-25, désormais en tête. Micro-coupures et creux de tension venant du réseau, et non du bloc d'alimentation. Elle produit exactement la même signature que les hypothèses internes — coupure nette, aucune trace, insensible aux réinstallations de Windows — mais elle dispose de quelque chose qu'aucune autre n'a : des preuves directes.
Sur les 17 jours de suivi, 2 des 6 arrêts sont d'origine électrique externe établie : une coupure Enedis le 24/08 à 06:24, et un débranchement volontaire face aux orages. Autrement dit, le réseau électrique de ce logement a produit au moins un incident avéré en deux semaines et demie. Une installation qui subit des coupures franches subit aussi, statistiquement, des creux plus brefs — trop courts pour être remarqués, largement suffisants pour faire tomber un PC dont l'alimentation n'a plus de marge.
Cela réconcilie aussi les données anciennes : les 146 arrêts brutaux au compteur du SSD et les 30 coupures sèches sur 9 mois n'ont jamais eu d'explication interne convaincante. Un secteur instable les explique toutes, sans supposer de composant défectueux.
Effet de second ordre à ne pas négliger : chaque coupure franche est elle-même un stress pour le matériel — condensateurs, contrôleur du SSD, système de fichiers. Un secteur instable ne se contente pas de provoquer des arrêts, il use la machine et peut fabriquer, à terme, le défaut d'alimentation qu'on cherche par ailleurs.
Action : un onduleur. Il tranche l'hypothèse et la corrige d'un même geste — si les coupures sèches cessent, la cause était le secteur ; si elles persistent, elle est interne. Aucun démontage, aucun risque, matériel utile quoi qu'il arrive, et protection immédiate lors du prochain orage. C'est le test le moins invasif de la liste et il doit passer avant l'intervention physique du § 10 priorité 3.
- Alimentation vieillissante — condensateurs fatigués, tension instable sous charge. Hypothèse interne n°1 : composant le plus âgé et le plus sollicité, cohérente avec un problème qui traverse les réinstallations. À noter qu'elle n'est pas exclusive de la précédente — une alimentation fatiguée tient moins bien un creux de tension qu'une neuve, les deux causes se renforcent.
- Thermique — pâte thermique sèche après 6-7 ans, ventilateur de CPU encrassé, coupure de protection.
- Connectique / oxydation — barrette mémoire, connecteurs d'alimentation, câbles SATA.
- Mémoire — moins probable (aucune erreur WHEA), mais non écartée tant qu'un test complet n'a pas été passé.
SSD système— écarté : SMART impeccable, 88 % de durée de vie restante, aucune erreur.
10. Actions recommandées, par ordre de priorité
✅ Déjà appliqué le 2026-08-03 à 08h29
| # | Action | Résultat |
|---|---|---|
| 1 | Filtre VirtualBox NDIS6 Bridged Networking désactivé sur les cartes Ethernet et Ethernet 2 |
✅ Enabled = False sur les deux |
| 2 | Démarrage rapide désactivé (HiberbootEnabled : 1 → 0) |
✅ |
| 3 | Mini-vidages portés à 50 (MinidumpsCount : 5 → 50) et AlwaysKeepMemoryDump = 1 |
✅ Le vidage complet ne sera plus supprimé par le nettoyage de disque |
| 4 | C:\Program Files\RustDesk\drivers renommé en drivers.disabled |
✅ (ne contenait déjà plus qu'un RustDeskPrinterDriver.disabled) |
| 5 | MEMORY.DMP du crash du 03/08 sauvegardé → D:\MEMORY_20260803_0743_bugcheck50.DMP (2,31 Go) |
✅ La preuve est préservée du prochain écrasement |
Priorité 1 — l'action décisive
| # | Action | Objectif |
|---|---|---|
| 6 | Réinstaller proprement le pilote AMD Radeon. Télécharger l'Adrenalin actuel pour RX 6500 XT sur le site AMD, désinstaller l'ancien avec DDU (Display Driver Uninstaller) en mode sans échec, puis installer le nouveau. Choisir une installation minimale/personnalisée, sans les composants optionnels. | Traite la cause identifiée. Remplace amdfendr.sys 21.30.0.9 (2022) par une version où AMD Crash Defender a été remanié. Susceptible de régler à la fois les 0x50 et les 0x9F. |
Pourquoi DDU et pas une simple mise à jour : l'installateur AMD ne remplace pas systématiquement les pilotes de la génération 21.30 et peut laisser
amdfendr.sysen place. DDU garantit une table rase.
Priorité 2 — confirmer et combler les angles morts
| # | Action | Objectif |
|---|---|---|
| ✅ Fait le 03/08 à 09h00 — voir §6.1. Verdict confirmé et mécanisme établi | ||
| ✅ Fait le 03/08 à 09h00 — voir §7. Aucun disque défaillant | ||
| 9 | Test mémoire complet : MemTest86 sur clé USB, au moins 4 passes complètes, de préférence une nuit entière. L'outil intégré à Windows est insuffisant. | Écarte ou confirme la RAM de façon définitive. Simple ici : une seule barrette. |
| 10 | Mettre à jour le BIOS MSI A320M-A PRO (actuel : 1.40 de 2020). | Correctifs AGESA sur la gestion d'alimentation, directement liés aux 0x9F/0xA0 |
Priorité 3 — intervention physique, pour la Population A
À n'engager qu'après avoir traité le pilote AMD et laissé passer deux ou trois semaines de relevés : si les coupures sèches s'arrêtent aussi, cette section devient inutile.
| # | Action | Objectif |
|---|---|---|
| 11 | Relever les références de l'alimentation (marque, modèle, wattage, année). | Information manquante et déterminante |
| 12 | Dépoussiérer : ventilateur et radiateur CPU, ventilateur de la carte graphique, ventilateurs de boîtier, filtres, bloc d'alimentation. | Cause thermique |
| 13 | Réextraire et réinsérer la barrette mémoire et les connecteurs d'alimentation ATX 24 broches et EPS 8 broches. Nettoyer les contacts. | Cause connectique / oxydation |
| 14 | Refaire la pâte thermique du processeur si elle n'a pas été changée depuis l'assemblage. | Cause thermique |
| 15 | Surveiller les températures et les tensions en fonctionnement (HWiNFO64), en particulier les rails 12 V, 5 V et 3,3 V sous charge. | Détecte une alimentation qui décroche |
| 16 | Si les coupures sèches persistent après tout ce qui précède : tester avec une autre alimentation. | Test décisif de l'hypothèse n°1. À noter : la RX 6500 XT est peu gourmande (~107 W), mais une alimentation fatiguée décroche sur les pics de la carte graphique |
11. Limites de cette analyse
À mentionner pour que les conclusions soient lues à leur juste valeur :
- Le journal d'événements ne remonte qu'au 29/10/2025 (réinstallation de Windows la veille). Le compteur SMART
Unsafe_Shutdown_Count(146) permet toutefois d'affirmer que le phénomène est bien antérieur — mais sans en connaître ni la chronologie ni la nature. - Un seul vidage a pu être analysé (31/07 08:54). Il concerne un
0x50. Aucun vidage exploitable n'existe pour les 10 écrans bleus0x9Fde l'hiver — leur attribution àamdfendrreste une hypothèse plausible, pas un fait établi. - Aucune donnée de température ni de tension en fonctionnement n'est disponible sans capteur logiciel dédié (HWiNFO64). Les températures SMART relevées sont celles des disques, pas du processeur ni de la carte graphique.
- Le déclencheur reste inconnu : on sait comment
amdfendrplante (dépassement de tampon surRtlCompressBuffer), pas pourquoi cela n'arrive que 3 fois sur des dizaines de transitions. - Trois des quatre mini-vidages présents font 0 octet (
080326-9906-01.dmpdu 03/08, deux du 31/07) — cohérent avec les erreursvolmgr 161: Windows n'a pas réussi à écrire le vidage. Seul073126-9718-01.dmp(31/07 08:54, 1,1 Mo) est exploitable. Cette difficulté récurrente à écrire un vidage est en soi un signal : elle peut trahir un problème d'accès au disque système au moment du crash. - La cause des 30 coupures sèches reste entièrement ouverte. Rien dans les logs ne permet de la désigner, par construction.
12. Journal des relevés
Un relevé toutes les 1 à 2 semaines suffit à mesurer l'effet des actions engagées. Le script ajoute automatiquement une ligne à ce tableau :
powershell -ExecutionPolicy Bypass -File "D:\Syncthing\Jux_univers\Jux-scripts\PC-Health\collect_bsod.ps1"
À lancer en administrateur pour que les compteurs SMART soient lus ; sinon la ligne est écrite sans eux. L'option -DryRun affiche le résultat sans rien écrire dans BookStack. Le script relève les arrêts anormaux, les codes bugcheck, les erreurs VBoxNetLwf, les erreurs WHEA, la version du pilote AMD (pour dater sa réinstallation), et signale tant que amdfendr 21.30 est en place.
La colonne « Actions faites depuis » est à compléter à la main.
| Date du relevé | Arrêts anormaux depuis le dernier relevé | dont BSOD | Codes rencontrés | Erreurs VBoxNetLwf |
WHEA | Actions faites depuis | Observations |
|---|---|---|---|---|---|---|---|
| 2026-08-03 | 45 (cumul 9 mois) | 15 | 10×9F, 3×50, 1×3B, 1×A0 |
20 | 0 | — (état initial) | Analyse initiale. Deux populations distinctes. Cause des 0x50 établie par analyse du vidage : amdfendr.sys déborde un tampon sur RtlCompressBuffer. Actions 1 à 5 + 7 + 8 faites. SMART : 4 disques sains, mais 146 arrêts brutaux au compteur du SSD → problème antérieur à la réinstallation. |
| 2026-08-25 | 4 inexpliqués / 6 journalisés (17 jours, système neuf) | 2 | 2×9F (param. 0x3) |
n/c | n/c | Windows réinstallé le 2026-08-08 — profil eliob perdu, profil julie créé |
Relevé par Get-WinEvent (ID 41/6008/1001), session non élevée donc SMART non lu. Épisodes : 12/08 05:49, 12/08 10:30 (9F), 12/08 15:27 (9F), 17/08 19:41, puis deux épisodes d'origine électrique externe confirmée — 24/08 06:24 coupure de courant Enedis, et 25/08 08:22 qui journalise le débranchement volontaire du 24/08 (orages ; l'arrêt sale est écrit au démarrage suivant). Aucun BSOD depuis le 12/08. Système neuf sans effet sur les deux populations. Pilote AMD revenu en 30.0.14023.3004 (18/01/2022) par Windows Update, amdfendr.sys du 07/02/2022 réinstallé. Test à variable unique négatif → priorité déplacée vers le matériel (§ 9). |
⚠ Attention au compteur SMART depuis le 2026-08-25 : Unsafe_Shutdown_Count est un compteur du SSD, pas de Windows — il n'a donc pas été remis à zéro par la réinstallation et reste directement comparable au relevé du 2026-08-03. C'est aujourd'hui le meilleur indicateur disponible pour la Population A : l'écart attendu depuis le 03/08 est d'environ 6. À relever en session élevée au prochain passage.
Référence — état au 2026-08-03 : SSD système 11 111 h / 1 066 cycles / 146 arrêts brutaux / 88 % de vie restante. Comparer Unsafe_Shutdown_Count d'un relevé à l'autre donne un compteur de coupures indépendant du journal Windows :
& 'C:\Program Files\smartmontools\bin\smartctl.exe' -A /dev/pd0
13. Indicateur de succès
Le suivi doit permettre de trancher entre les deux problèmes :
- Si les écrans bleus cessent après la réinstallation du pilote AMD mais que les coupures sèches continuent → le problème logiciel est réglé, le problème matériel est confirmé et isolé. On passe à la priorité 3.
- Si tout cesse → la cause était entièrement logicielle, et l'hypothèse du composant défectueux tombe. Un pilote graphique instable peut en effet provoquer aussi bien des écrans bleus que des gels totaux sans trace.
- Si les écrans bleus persistent malgré un pilote AMD à jour → analyser le nouveau vidage sous WinDbg (les mini-vidages sont maintenant conservés, 50 au lieu de 5), et l'hypothèse d'une carte graphique défaillante — et non plus seulement de son pilote — devient sérieuse.
Point de vigilance sur la carte graphique : c'est le composant qui concentre désormais le plus de signaux. Si des artefacts visuels, des écrans noirs momentanés ou des gels pendant un jeu ou une vidéo apparaissent, il faut le noter dans le journal — ce serait l'indice d'un défaut matériel de la RX 6500 XT.
Deuxième indicateur, indépendant du journal Windows : l'écart de Unsafe_Shutdown_Count entre deux relevés. Il compte les coupures réelles même quand Windows n'a rien pu journaliser — donc il capte la Population A, celle qui est invisible autrement. C'est le chiffre à surveiller pour trancher la question matérielle.
14. Fichiers et emplacements
| Quoi | Où |
|---|---|
| Script de relevé | D:\Syncthing\Jux_univers\Jux-scripts\PC-Health\collect_bsod.ps1 (Syncthing, disponible sur toutes les machines) |
| Vidage du crash du 03/08, sauvegardé | D:\MEMORY_20260803_0743_bugcheck50.DMP (2,31 Go) |
| Mini-vidage exploitable du 31/07 | C:\Windows\Minidump\073126-9718-01.dmp (1,1 Mo) — accès administrateur |
| Vidages suivants | C:\Windows\Minidump\ — 50 conservés désormais (au lieu de 5) |
smartctl |
C:\Program Files\smartmontools\bin\smartctl.exe |
| Débogueur console | cdbX64.exe (dans le PATH via %LOCALAPPDATA%\Microsoft\WindowsApps) |
| Contexte projet | CLAUDE.md du dépôt Claude-pcelio+jux, section « Stabilité du PC Windows (poste julie, ex-eliob) » |
Page tenue à jour par Claude Code. Analyse initiale et investigation complète le 2026-08-03. Révision du 2026-08-25 : réinstallation de Windows sans effet, priorité déplacée vers le matériel.
Relevé du 2026-09-03 — pilote AMD mis à jour
L'action en attente depuis le 2026-08-03 est exécutée.
| Avant | Après | |
|---|---|---|
| Pilote graphique | 30.0.14023.3004 du 18/01/2022 |
32.0.21045.5002 du 17/08/2026 |
amdfendr.sys actif |
21.30.0.9 (07/02/2022) | 25.10.0.7 (25/02/2026) |
amdpsp.sys |
5.24.0.0 | 5.46.0.0 |
Méthode : AMD Software Adrenalin Edition 26.8.1 WHQL, paquet complet de 942 Mo depuis amd.com, Factory Reset coché, installation Driver Only (la suite Adrenalin, l'enregistrement vidéo et l'AI Bundle ont été écartés — ce dernier est un mode d'échec connu de l'installeur). Point de restauration 11 créé au préalable, non utilisé. Aucun incident pendant l'opération.
La cause établie des écrans bleus 0x50 est donc corrigée : amdfendr.sys (AMD Crash Defender) passe de la version de février 2022 à celle de février 2026.
⚠ Ne pas se fier au fichier dans System32\drivers
C:\Windows\System32\drivers\amdfendr.sys affiche toujours 21.30.0.9 du 07/02/2022 après la mise à jour. C'est un résidu inutilisé. Le pilote réellement chargé est celui que désigne le service :
(Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Services\amdfendr').ImagePath
# -> ...\DriverStore\FileRepository\amdfendr.inf_amd64_bea53a1d416fbcfa\amdfendr.sys (v25.10.0.7)
Le script — fait le 2026-09-03 : s'il lit le fichier de collect_bsod.ps1 doit être corrigé sur ce pointSystem32\drivers, il continuera de signaler la version 21.30 à tort.
Ce que cette mise à jour ne traite pas
Les 30 coupures sèches (BugcheckCode = 0, aucune trace exploitable) restent hors périmètre. Elles sont réparties en continu sur toute la période, ont survécu à la réinstallation complète de Windows d'octobre 2025, et le compteur SMART du SSD en recense une centaine antérieures à celle-ci. Hypothèse en tête : qualité du secteur électrique, qu'un onduleur trancherait sans démontage.
Si des coupures sèches persistent dans les semaines qui viennent, ce n'est pas un échec de cette intervention — c'est au contraire l'élément qui isolerait définitivement les deux populations.
Suite
Relancer Jux-scripts\PC-Health\collect_bsod.ps1 (en élevé) dans deux à trois semaines. Attendu : plus aucun 0x50, et une réponse sur la persistance ou non des coupures sèches.
Détail complet de l'intervention : page 295. Effets sur l'émulateur Android : page 282.
Correction de collect_bsod.ps1 (2026-09-03)
Deux défauts corrigés, sauvegarde collect_bsod.ps1.bak-260903 :
1. Il lisait le mauvais fichier. C:\Windows\System32\drivers\amdfendr.sys reste périmé après une mise à jour de pilote. Le script lit désormais l'ImagePath du service, résout \SystemRoot\ et rapporte la version réellement chargée. Il affiche maintenant la version quelle qu'elle soit, au lieu de ne signaler que la 21.30.
2. Get-WinEvent faisait planter le script. Le fournisseur VBoxNetLwf n'existe plus depuis la réinstallation de Windows, et Get-WinEvent -FilterHashtable lève alors une erreur que -ErrorAction SilentlyContinue ne supprime pas. Les deux appels passent par une fonction Compter-Evenements avec try/catch et -ErrorAction Stop — le seul moyen fiable de rendre l'échec non fatal.
Premier relévé après correction
Periode : 2026-08-25 -> 2026-09-03
Arrets anormaux : 6 | BSOD : 0 | VBoxNetLwf : 0 | WHEA : 0
pilote AMD 32.0.21045.5002 ; amdfendr 25.10.0.7
demarrage rapide TOUJOURS actif
⚠ Ce relévé ne mesure PAS encore l'effet du nouveau pilote : la fenêtre couvre le 25/08 au 03/09, alors que la mise à jour date du 03/09 au matin. C'est une référence de départ, pas un résultat.
Deux points à relever tout de même :
- 6 arrêts anormaux pour 0 écran bleu sur neuf jours — exactement le profil de la population « coupures sèches », celle que le pilote ne peut pas corriger
- le démarrage rapide est toujours actif (
HiberbootEnabled = 1), réactivé par la réinstallation d'août. C'est l'amplificateur n°1 des0x9F: le remettre à 0 reste un levier disponible, en session élevée
260813 - solutions de page Internet pour transfert des epub sur la liseuse Kobo Aura 2
Transfert d'epub sur la Kobo Aura Edition 2 sans câble USB
Date : 2026-08-13 — Statut : en production, validé sur l'appareil
Matériel : Kobo Aura Edition 2 (6 pouces, micro-USB)
URL de service : juxjux.ovh/56ifciz — répond en HTTP et en HTTPS
1. Le problème
Le port USB de la liseuse ne permet plus aucun transfert. Le PC ne détecte rien du tout — pas même un périphérique en erreur.
Diagnostic mené sur le poste Windows julie :
| Vérification | Résultat |
|---|---|
Périphérique VID_2237 (Kobo Inc.) présent |
absent |
Périphérique inconnu ou en erreur (Status ≠ OK) |
aucun |
Historique registre Enum\USB — trace d'un VID_2237 |
aucune |
Historique USBSTOR |
un seul boîtier ASMT, jamais de Kobo |
| Disques vus | Patriot (C:), Toshiba (D:), ASMT (E:), Seagate (F:) — rien de plus |
Conclusion : Windows ne reçoit aucun handshake USB. Le problème est en amont du système — ce n'est ni un pilote, ni une lettre de lecteur, ni une base de registre à nettoyer. Aucune piste logicielle n'est exploitable.
Causes matérielles possibles, par probabilité décroissante :
- Câble charge seule — cause n°1 et de loin. Beaucoup de câbles micro-USB ne câblent que 2 fils sur 4
- Port de la liseuse encrassé — la micro-USB accumule peluches et poussière de poche
- Batterie profondément déchargée — une Kobo à plat ne s'énumère pas, même branchée. Il faut la laisser une heure sur un chargeur secteur avant de retenter
- Port physiquement HS
Le contournement décrit ci-dessous rend la liseuse pleinement utilisable, mais ne remplace pas un test câble. Voir § 7.
Commandes de diagnostic réutilisables (PowerShell) :
Get-PnpDevice -PresentOnly | Where-Object { $_.InstanceId -match 'USB' } |
Select-Object Status,Class,FriendlyName,InstanceId | Sort-Object Class
Get-ChildItem 'HKLM:\SYSTEM\CurrentControlSet\Enum\USB' |
Where-Object { $_.PSChildName -match 'VID_2237' }
2. Solutions écartées, et pourquoi
Ce tableau évite de refaire le tour des mêmes impasses.
| Piste | Verdict | Raison |
|---|---|---|
| GUI Syncthing | impossible | Ne permet aucun téléchargement de fichier — Syncthing synchronise, il ne sert pas de fichiers. Et c'est une application JS moderne, illisible sur ce navigateur |
FileBrowser (files.juxjux.ovh) |
impossible | SPA + login JWT — injouable sur le WebKit de la liseuse |
| OPDS (Komga, Kavita, Ubooquity) | impossible | Le navigateur stock de la Kobo ne lit pas l'OPDS. Ne deviendrait pertinent qu'avec KOReader installé |
| Kobo Sync natif de Calibre-web | bloqué | C'est la bonne solution sur le papier : synchronisation native par Wi-Fi. Mais elle impose de modifier api_endpoint dans .kobo/Kobo/Kobo eReader.conf sur la liseuse — donc exige l'USB, précisément ce qui est en panne. À reconsidérer si le port refonctionne |
| Yourls pour raccourcir l'URL | inutile | juxjux.ovh/56ifciz est déjà court à taper au doigt, et éviter la redirection supprime un point de fragilité |
Page HTML nue en autoindex |
retenu | Pas de JavaScript, pas de session, pas de cookie. Le navigateur Kobo télécharge le fichier et l'ajoute à la bibliothèque |
3. La solution retenue
Un location nginx en autoindex greffé sur le vhost juxjux.ovh existant, servant un dossier de l'arbre Syncthing.
Dépôt du fichier Syncthing nginx autoindex Navigateur bêta
D:\Syncthing\Kobo\ → (n'importe quelle → juxjux.ovh/56ifciz → de la liseuse
machine du maillage) (port 80) → bibliothèque
Aucun DNS ni certificat n'a été créé — la location est greffée sur un vhost déjà en place.
| Élément | Valeur |
|---|---|
| URL liseuse | juxjux.ovh/56ifciz (HTTP, pas HTTPS) |
| Dossier VPS | /home/debian/Documents/Kobo/ |
| Équivalent Windows | D:\Syncthing\Kobo\ |
| Propriétaire | debian:debian (Syncthing tourne sous cet utilisateur) |
| Vhost modifié | /etc/nginx/sites-available/juxjux.ovh |
| Sauvegarde | /etc/nginx/sites-available/juxjux.ovh.bak-260813 |
Mode d'emploi
Déposer un livre : le glisser dans D:\Syncthing\Kobo\ depuis n'importe quelle machine du maillage. Syncthing le pousse au VPS, il apparaît dans la page — aucune autre manipulation.
Le récupérer sur la liseuse : Menu → Plus → Navigateur bêta → taper juxjux.ovh/56ifciz → toucher le lien de l'epub. Téléchargement, puis ajout automatique à la bibliothèque.
4. Les quatre pièges, et leur correctif
Ce sont les points à ne pas défaire par inadvertance.
4.1 Le chemin doit exister dans les deux blocs — la liseuse force HTTPS
C'est le point qui a demandé une correction après coup, et l'hypothèse de départ était fausse.
Hypothèse initiale (erronée) : le navigateur de l'Aura Edition 2 étant un WebKit ancien, on a supposé qu'il échouerait sur la config TLS actuelle — soit par une version TLS trop vieille (options-ssl-nginx.conf impose TLS 1.2+), soit par un magasin de racines ignorant la chaîne Let's Encrypt (ISRG Root X2 → ISRG Root X1). La location n'a donc d'abord été posée que dans le bloc listen 80, en HTTP volontaire.
Ce que l'appareil a montré : le navigateur bêta force HTTPS. Avec la location absente du bloc 443, il tombait sur un 404. Et le magasin de racines de la liseuse connaît parfaitement ISRG Root X1 — le TLS n'a jamais été le problème.
Correctif appliqué le 2026-08-13 à 14:49 : la location /56ifciz/ a été dupliquée à l'identique dans le bloc listen 443 ssl, le bloc listen 80 étant conservé pour la robustesse. Les deux répondent aujourd'hui 200.
Aucun assouplissement TLS n'a été nécessaire ni appliqué — pas de TLS 1.0/1.1 réactivé, pas de ciphers CBC hérités. Ne pas en ajouter « au cas où » : ce serait dégrader la sécurité de tout le domaine pour un problème qui n'existe pas.
Sauvegarde avant cet ajout : /etc/nginx/sites-available/juxjux.ovh.bak-260813-https
Contrepartie : la liseuse passant par 443, le chemin et les fichiers ne circulent plus forcément en clair. Mais le bloc HTTP reste ouvert, et surtout le seul rempart demeure l'obscurité de l'URL (§ 7). Ne rien déposer de sensible dans ce dossier.
4.2 La redirection 80 → 443 devait être restructurée
Le vhost portait la redirection sous cette forme, posée par Certbot :
if ($host = juxjux.ovh) { return 301 https://$host$request_uri; }
Écrit au niveau serveur, ce if s'évalue en phase rewrite — c'est-à-dire avant le choix de la location. Il est donc impossible d'y soustraire un chemin : /56ifciz/ partait en redirection HTTPS comme tout le reste.
Correctif : remplacer le if par un location / explicite. Une location plus spécifique (/56ifciz/) l'emporte alors naturellement.
location / {
return 301 https://$host$request_uri;
}
4.3 nginx ne connaît pas le type MIME epub
/etc/nginx/mime.types ne contient ni epub, ni mobi, ni azw. Sans déclaration, le fichier est servi en text/plain et la liseuse l'affiche au lieu de le télécharger.
Piège dans le piège : un bloc types { } placé dans une location remplace intégralement la table MIME pour cette location — il ne s'y ajoute pas. Tout type utile doit donc y figurer, d'où le default_type application/octet-stream en filet de sécurité.
4.4 Permissions — Syncthing dépose parfois en 640
www-data doit pouvoir lire les fichiers déposés. Or Syncthing crée parfois des fichiers en 640, ce qui produirait un 403 silencieux.
Correctif — une ACL par défaut sur le dossier, qui force la lisibilité des fichiers à venir :
setfacl -m o::rx /home/debian/Documents/Kobo
setfacl -d -m o::r /home/debian/Documents/Kobo
setfacl -d -m u::rw /home/debian/Documents/Kobo
setfacl -d -m g::r /home/debian/Documents/Kobo
Attention : si le dossier est créé avec
sudo, il appartient àrootet Syncthing ne peut plus y écrire. Vérifierchown -R debian:debianaprès création.
5. Configuration nginx appliquée
Fichier /etc/nginx/sites-available/juxjux.ovh. Le bloc location /56ifciz/ est identique dans les deux server — c'est délibéré (§ 4.1) : la liseuse force HTTPS, le port 80 est conservé pour la robustesse.
server {
server_name juxjux.ovh www.juxjux.ovh;
root /var/www/juxjux.ovh/html;
index index.html index.htm;
# --- Acces liseuse Kobo Aura Edition 2 (ajout 2026-08-13, volet HTTPS)
# Duplique le location du bloc :80. La liseuse impose HTTPS -> ce chemin
# doit exister aussi en 443. Ne rien mettre de sensible dans Documents/Kobo.
location /56ifciz/ {
alias /home/debian/Documents/Kobo/;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
charset utf-8;
add_header X-Robots-Tag "noindex, nofollow" always;
types {
application/epub+zip epub;
application/pdf pdf;
application/x-mobipocket-ebook mobi;
application/vnd.amazon.ebook azw3;
application/vnd.comicbook+zip cbz;
text/plain txt;
}
default_type application/octet-stream;
}
location / {
try_files $uri $uri/ =404;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/juxjux.ovh/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/juxjux.ovh/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
listen 80;
server_name juxjux.ovh www.juxjux.ovh;
# --- Acces liseuse Kobo Aura Edition 2 (ajout 2026-08-13)
location /56ifciz/ {
# ... bloc strictement identique a celui du server 443 ...
}
location / {
return 301 https://$host$request_uri;
}
}
En cas de modification, penser à reporter le changement dans les deux blocs. Une divergence entre les deux produirait un comportement dépendant du protocole, très déroutant à diagnostiquer depuis la liseuse.
6. Vérifications de bon fonctionnement
Depuis le VPS et depuis l'extérieur :
# Page d'index dans les deux protocoles — les deux doivent repondre 200
for u in http https; do
curl -s -o /dev/null -w "$u : HTTP %{http_code} type=%{content_type}\n" \
$u://juxjux.ovh/56ifciz/
done
# Type MIME du fichier — doit repondre application/epub+zip
curl -s -o /dev/null -D - "https://juxjux.ovh/56ifciz/<fichier>.epub" | grep -iE 'HTTP/|content-type'
# La racine doit toujours rediriger en HTTPS
curl -s -o /dev/null -w 'HTTP %{http_code} -> %{redirect_url}\n' http://juxjux.ovh/
Résultats attendus, relevés le 2026-08-23 :
| Test | Attendu | Obtenu |
|---|---|---|
| Index HTTP | 200 / text/html; charset=utf-8 |
conforme |
| Index HTTPS | 200 / text/html; charset=utf-8 |
conforme |
| Epub | 200 / application/epub+zip |
conforme |
Racine / en HTTP |
301 vers https://juxjux.ovh/ |
conforme |
Lecture par www-data |
autorisée | conforme |
Un
404sur un seul des deux protocoles signifie que lalocationa disparu du bloc correspondant — c'est le symptôme exact de la panne corrigée le 13 août (§ 4.1).
7. Limites et suites
Sécurité
La seule protection est l'obscurité du chemin. Il n'y a aucune authentification — le navigateur Kobo gère mal les invites Basic Auth, ce qui l'excluait. Un X-Robots-Tag: noindex, nofollow évite l'indexation par les moteurs.
Le passage en HTTPS (§ 4.1) chiffre le transport, mais ne change rien à ce point : quiconque connaît l'URL accède à tout le dossier, et le bloc HTTP reste ouvert.
Conséquence pratique : ce dossier est à considérer comme public. Y déposer uniquement des livres, jamais un document personnel.
Nommage des fichiers
Éviter accents et espaces. L'autoindex les encode correctement (%20), mais le navigateur de la liseuse est capricieux sur les URL encodées.
À faire — tester le câble USB
Le contournement fonctionne, mais la panne USB reste non élucidée. Dans l'ordre :
- Tester un autre câble dont on sait qu'il transporte des données (celui d'un disque externe ou d'un téléphone déjà utilisé en transfert)
- Inspecter et nettoyer le port de la liseuse à la lampe, appareil éteint, avec un cure-dent en bois — jamais en force
- Laisser une heure sur chargeur secteur (pas le PC) avant de retenter
- Reset matériel : bouton d'alimentation maintenu 30 secondes
- Croiser les variables : ce câble sur un autre appareil, cette liseuse sur un autre PC
Si l'USB revient, basculer sur le Kobo Sync de Calibre-web — synchronisation native, bidirectionnelle, avec suivi de la position de lecture. Nettement supérieur à cette page. Il ne faut l'USB qu'une seule fois, pour écrire api_endpoint dans .kobo/Kobo/Kobo eReader.conf.
Voir aussi
CLAUDE.md— section « Liseuse Kobo Aura Edition 2 — dépôt epub par le navigateur »- Page 249 — stabilité du PC Windows (même chapitre, dépannages)
260823-Le réglage du pare-feu Portmaster
Portmaster — la découverte réseau et le NAS maison
Poste julie (DESKTOP-B7J2KGP), Windows 10. Installation de Safing Portmaster 2.2.1 le 22/08/2026 à 10:58, réglage le 23/08/2026.
Portmaster est un pare-feu applicatif qui s'insère au niveau WFP via son pilote portmaster-kext.sys. Il double le pare-feu Windows et c'est lui qui tranche : inutile d'aller chercher du côté de Defender.
| Élément | Valeur |
|---|---|
| Version | 2.2.1 (éditeur safing) |
| Service | PortmasterCore, démarrage automatique |
| Binaires | C:\Program Files\Portmaster |
| Données et journaux | C:\ProgramData\Portmaster |
| API locale | http://127.0.0.1:817 |
1. Le symptôme, et ce qui n'était pas en cause
Plus aucune découverte réseau sur le poste : le NAS Synology maison (192.168.1.17, \\NASMAISON) n'apparaissait plus dans le volet Réseau de l'Explorateur.
Le premier réflexe — soupçonner le réseau ou le NAS — était faux. Tout répondait :
| Contrôle | Résultat |
|---|---|
| Poste | 192.168.1.26/24, passerelle et DNS 192.168.1.1 |
Ping 192.168.1.17 |
répond |
| MAC du NAS | 00-11-32-9C-8E-C9 — OUI Synology |
| Ports TCP | 445, 139, 22, 80 ouverts (5000/5001 fermés) |
| Résolution du nom | NASMAISON → NASMAISON.local = 192.168.1.17, par mDNS |
Lecteur A: → \\NASMAISON\foxy |
monté et lisible, 55 entrées |
Leçon : l'accès n'a jamais été rompu, seule la découverte l'était. Distinguer les deux dès le départ fait gagner beaucoup de temps.
Détail annexe, non symptomatique : \\192.168.1.17\foxy échoue alors que \\NASMAISON\foxy fonctionne. L'identifiant Windows est enregistré sous la cible NASMAISON (utilisateur juxjux), pas sous l'adresse IP — comportement normal de cmdkey.
2. Le diagnostic
La preuve est dans le journal de Portmaster, C:\ProgramData\Portmaster\logs\2026-08-22_10-57-46.log :
2026-08-23 07:12:50 filter: connection AUTORITE NT\SERVICE LOCAL:
C:\Windows\System32\svchost.exe:12184 <- 192.168.1.17
dropped: inbound connections blocked
svchost.exe PID 12184 héberge le service SSDPSRV (Découverte SSDP) — identifié par Get-CimInstance Win32_Service -Filter "ProcessId=12184".
Cadence des rejets : 05:56, 06:11, 06:26, 06:42, 06:57, 07:12 — toutes les ~15 minutes, soit exactement le rythme des annonces SSDP périodiques du NAS.
Répartition des 1 802 blocages du même motif :
| Source | Occurrences | Destinataire |
|---|---|---|
92.184.113.225 |
441 | syncthing.exe |
192.168.1.26 (le poste lui-même) |
421 | — |
192.168.1.1 (Livebox) |
330 | — |
192.168.1.17 (NAS) |
249 | SSDPSRV |
192.168.1.19 |
153 | — |
IPv6 globales 2a01:cb1c:… |
~80 | syncthing.exe, SSDPSRV |
À noter : le trafic sortant passait bien (287 requêtes SSDP acceptées vers 239.255.255.250:1900). Le poste interrogeait, mais les annonces du NAS, qui arrivent en entrant non sollicité, étaient jetées.
3. La cause
Le réglage filter/blockInbound — « Force Block Incoming Connections » — activé par défaut à l'installation.
Sa propre description est sans ambiguïté : « Is stronger than Rules ». Aucune règle entrante ne peut le contourner, ce qui explique qu'aucun réglage fin ne suffisait tant qu'il restait coché.
État des réglages liés au moment du diagnostic :
| Clé | Valeur | Rôle |
|---|---|---|
filter/blockInbound |
True (défaut) |
la cause |
filter/defaultAction |
permit (défaut) |
action si aucune règle ne correspond |
filter/serviceEndpoints |
[] |
Incoming Rules, vides |
filter/blockLAN |
False (défaut) |
non impliqué |
4. La configuration retenue
Incoming Rules, dans cet ordre impératif :
| Ordre | Menu | Champ |
|---|---|---|
| 1 | Allow | Localhost |
| 2 | Allow | LAN |
| 3 | Block | * |
puis décocher Force Block Incoming Connections.
Localhost, LAN et Internet sont des mots-clés de portée reconnus par Portmaster, au même titre qu'une adresse ou un CIDR. Les utiliser vaut mieux que d'écrire 192.168.1.0/24 : la portée suit le réseau, la règle ne devient jamais caduque.
Variante resserrée
Si l'on veut n'ouvrir que le strict nécessaire à la découverte, plutôt que tout le LAN — cela laisse notamment les partages administratifs C$, D$, E$ et le RPC fermés y compris depuis le réseau local :
| Menu | Champ | Rôle |
|---|---|---|
| Allow | Localhost |
boucle locale |
| Allow | LAN UDP/1900 |
SSDP — les annonces du NAS |
| Allow | LAN UDP/3702 |
WS-Discovery |
| Allow | LAN TCP/5357 |
WSDAPI, l'échange qui construit l'icône |
| Block | * |
tout le reste |
Pour Syncthing en direct sur le LAN, ajouter avant le Block : LAN TCP/22000, LAN UDP/22000, LAN UDP/21027.
5. Les pièges — à ne pas redécouvrir
1. Incoming Rules est invisible en mode Simple.
filter/serviceEndpoints est de niveau expert (ExpertiseLevel 1), tandis que filter/endpoints (Outgoing Rules) est de niveau user — d'où l'impression trompeuse que seules les règles sortantes existent. Basculer l'interface sur Advanced Interface : sélecteur en haut à droite de la fenêtre, ou Settings → User Interface → UI Mode. Les réglages masqués restent actifs.
2. Ne jamais taper le + ou le - dans le champ de la règle.
Le menu Allow/Block fournit déjà le signe. Saisir + LAN produit + + LAN et déclenche :
Invalid Value: validation of filter/serviceEndpoints failed:
entry #1 did not match validation regex
La regex de validation est :
^(\+|\-) (! +)?[A-z0-9\.:\-*/]+( [A-z0-9*]+(/[A-z0-9]+(\-[A-z0-9]+)?)?)?( +#.*)?
Le + n'appartient pas à la classe de caractères qui suit le signe. La syntaxe + LAN / - * est celle du fichier de configuration, pas de l'interface graphique.
3. Block * sans Allow Localhost au-dessus casse la boucle locale.
Constaté en direct :
07:43:31 firefox.exe <- 127.0.0.1 dropped: denied by rule: matches *
07:43:18 syncthing.exe <- 127.0.0.1 changed from accepted to dropped
07:43:18 steam.exe <- 127.0.0.1 changed from accepted to dropped
07:43:18 dasHost.exe <- ::1 changed from accepted to dropped
L'interface Syncthing sur 127.0.0.1:8384 est tombée en timeout. Portmaster ré-évalue les connexions déjà établies et les coupe à chaud. Sur une machine de travail, une grande part du trafic légitime passe par la boucle locale.
Piège dans le piège : l'API de Portmaster s'auto-exempte et continue de répondre — elle ne sert donc pas de témoin pour détecter la panne.
4. L'ordre des règles fait tout. Évaluation de haut en bas, la première correspondance l'emporte. Block * doit être la dernière ligne. Les flèches à gauche de chaque ligne permettent de réordonner.
5. filter/defaultAction vaut permit. Une liste de règles sans Block * final n'est pas restrictive : tout ce qui ne correspond à aucune règle est autorisé. Décocher Force Block Incoming sans poser ce garde-fou ouvre la machine — point critique compte tenu de l'IPv6 (section 6).
6. L'API locale ment par omission. GET http://127.0.0.1:817/api/v1/config/options répond à n'importe quel processus, mais ne renvoie que les définitions et les valeurs par défaut : le champ Value reste vide même pour un réglage effectivement modifié, ce qui fait croire à tort que rien n'a été enregistré. Les endpoints qui exposent l'état réel (/api/v1/sync/settings/export) répondent :
403 The requesting process is not authorized to access the Portmaster API.
Vérifier par le journal, jamais par l'API.
7. Le profil réseau Windows n'a pas eu à être modifié. Il est resté sur Public et la découverte fonctionne. L'hypothèse initiale — passer en Privé et redémarrer FDResPub et upnphost — s'est révélée inutile. Ne pas y consacrer de temps.
6. IPv6 — le point de sécurité
Ce poste possède des adresses IPv6 globales routables : 2a01:cb1c:833b:d00:4958:51b1:629a:a6b4 et 2a01:cb1c:833b:d00:28cb:cac8:3621:d7d0 (préfixe Orange, obtenu par Router Advertisement).
En IPv6 il n'y a pas de NAT. La Livebox ne fait pas écran comme en IPv4 : Portmaster est la seule barrière. Ce que le poste expose au réseau :
| Port | Processus |
|---|---|
| 445 | SMB — partages ADMIN$, C$, D$, E$, IPC$ |
| 135 + 49664-49675 | RPC (lsass, wininit, spoolsv, services) |
| 5357 | WSDAPI |
| 22000 | Syncthing |
| 27036 | Steam |
La portée LAN ne couvre pas ces adresses globales — elles sont classées Global, pas LAN. Le Block * les refuse donc, ce qui est le comportement voulu.
Conséquence assumée : les liens Syncthing directs en IPv6 restent bloqués. Sans impact aujourd'hui, la synchronisation passant par le hub VPS (syncthing-vps, tcp-client vers 51.77.141.54:22000). Pour les rétablir, ajouter 2a01:cb1c:833b:d00::/64 au-dessus du Block * — en sachant que ce préfixe peut changer au redémarrage de la Livebox et rendre la règle caduque sans le moindre signal.
7. Vérification
État constaté après réglage :
| Portée | Verdict |
|---|---|
127.0.0.1 / ::1 |
accepté — scope matches Localhost |
LAN (192.168.1.x, fe80::) |
accepté — scope matches LAN, 8 acceptations NAS, zéro rejet |
IPv6 globales 2a01:cb1c:… |
rejeté — denied by rule: matches * |
- Interface Syncthing
127.0.0.1:8384: HTTP 200 A:→\\NASMAISON\foxy: accessible, 55 entréesfdPHost,SSDPSRV,FDResPub,upnphost: les quatreRunning
Commande de contrôle, à relancer si le NAS redisparaît :
grep "192.168.1.17" /c/ProgramData/Portmaster/logs/*.log | tail -20
Attendu :
svchost.exe:12184 <- 192.168.1.17 accepted: allowed by rule: scope matches LAN
dasHost.exe:3608 to nasmaison. (192.168.1.17) accepted
dasHost.exe est le Device Association Host : le voir dialoguer avec nasmaison., c'est littéralement l'icône du NAS en train de se construire dans l'Explorateur.
Si l'on lit dropped: inbound connections blocked, c'est que Force Block Incoming Connections a été réactivé.
8. Chronologie
| Horodatage | Événement |
|---|---|
| 22/08 10:58 | Installation de Portmaster 2.2.1 |
| 22/08 → 23/08 | Découverte réseau muette, ~1 800 blocages entrants silencieux |
| 23/08 ~05:45 | Diagnostic : NAS joignable, seule la découverte est cassée |
| 23/08 ~07:30 | Cause identifiée — filter/blockInbound et les annonces SSDP |
| 23/08 07:41 | Allow LAN posé, Force Block Incoming décoché → NAS visible |
| 23/08 07:43 | Block * ajouté → boucle locale coupée, Syncthing GUI en timeout |
| 23/08 07:45 | Allow Localhost ajouté en tête → état final correct |
| 23/08 07:46 | Vérification des trois niveaux, conforme |
9. Références
CLAUDE.md— section « Portmaster (pare-feu applicatif) surjulie», insérée le 23/08/2026- Journal Portmaster :
C:\ProgramData\Portmaster\logs\ - Aide intégrée à Portmaster : la syntaxe complète des règles (portées, domaines, pays, AS, listes de filtrage, protocoles et ports) est dans l'infobulle des champs Outgoing Rules et Incoming Rules
260826-Secure Virtual Machine et Emulateur Android
Mise en place d'un émulateur Android sur le poste julie pour faire tourner des applications de presse (The Guardian, Le Monde) et d'autres APK. Séance du 2026-08-26.
Trois obstacles se sont enchaînés, chacun avec un diagnostic trompeur : la virtualisation matérielle absente, un pilote d'accélération dont l'installation échoue en silence, et un faux écran noir. Cette page retient surtout les pièges, parce que chacun a coûté plusieurs allers-retours.
Contexte et matériel
| Élément | Valeur |
|---|---|
| Poste | julie — MSI A320M-A PRO (MS-7C51), BIOS E7C51AMS.140 du 12/08/2020 |
| CPU | AMD Ryzen 5 2600X, 6 cœurs / 12 threads |
| RAM | 16 Go |
| GPU | Radeon RX 6500 XT, pilote du 18/01/2022 (voir page 249) |
| Écran | dalle 4K 3840x2160, bureau logique 2560x1440 (mise à l'échelle 150 %) |
| OS | Windows 10 19045, firmware UEFI, démarrage rapide actif |
1. Activer la virtualisation (SVM)
Le symptôme
systeminfo répondait Virtualisation activée dans le microprogramme : Non, alors que le CPU est parfaitement capable de SVM. Sans virtualisation, aucun émulateur Android ne fonctionne — BlueStacks, LDPlayer, MEmu, Nox, Genymotion et l'AVD d'Android Studio sont tous des machines virtuelles x86. Changer d'émulateur ne contourne pas le problème.
Vérification préalable qu'aucune cause logicielle n'était en jeu :
Get-CimInstance Win32_ComputerSystem | Select-Object HypervisorPresent # False
(Get-CimInstance -Namespace root\Microsoft\Windows\DeviceGuard `
-ClassName Win32_DeviceGuard).VirtualizationBasedSecurityStatus # 0
Aucun hyperviseur actif, pas de VBS : ni Hyper-V ni l'isolation du noyau ne confisquaient la virtualisation. La cause était donc bien dans le firmware.
Le chemin dans le BIOS
Ce poste a l'ancienne interface MSI Click BIOS à onglets horizontaux, pas la version récente à tuiles. Donc ni EZ Mode, ni touche F7, ni OC Explore Mode à chercher — toutes indications que l'on trouve partout en ligne et qui ne s'appliquent pas ici.
Touche d'entrée dans le BIOS sur cette machine : F11. Plus fiable, le démarrage rapide étant actif : Paramètres → Mise à jour et sécurité → Récupération → Démarrage avancé → Redémarrer maintenant → Dépannage → Options avancées → Changer les paramètres du microprogramme UEFI.
Chemin réel du réglage :
Overclocking → (section Other Setting, tout en bas) → Caractéristique du CPU → SVM Mode
Caractéristique du CPU est la traduction française de CPU Features.
Piège n°1 — deux sous-menus qui se ressemblent
La section Other Setting du menu Overclocking contient trois entrées :
CPU Specifications -> INFORMATIONS, lecture seule
MÉMOIRE-Z -> informations RAM
Caractéristique du CPU -> LES RÉGLAGES
CPU Specifications → CPU Technology Support affiche une fiche technique :
Secure Virtual Machine YES
Ce « YES » ne signifie pas que SVM est activé — seulement que le processeur en est capable. C'est une page de consultation.
Règle pour distinguer d'un coup d'œil : dans ce BIOS, un réglage modifiable est toujours entre crochets (A-XMP [Désactivé], NX Mode [Activé], SVM Mode [Activé]). Une valeur en texte nu (YES, N/A, 3.60GHz) est informative.
Piège n°2 — la vraie cause : il faut couper le secteur
Contenu réel de Overclocking\Caractéristique du CPU :
Simultaneous Multi-Threading [AUTO]
Global C-state Control [AUTO]
Opcache Control [AUTO]
IOMMU [AUTO]
Spread Spectrum [AUTO]
Relaxed EDC throttling [AUTO]
AMD Cool'n'Quiet [Activé]
NX Mode [Activé]
SVM Mode [Activé] <-- déjà correct
Power Supply Idle Control [AUTO]
Le réglage était déjà bon, et Windows répondait pourtant Non.
Ce qui a débloqué : le débranchement de la prise pendant 10 secondes. Après quoi :
Virtualisation activée dans le microprogramme : Oui
VirtualizationFirmwareEnabled : True
Sur cette carte, un
SVM Modecorrectement réglé peut rester invisible du système tant qu'il n'y a pas eu de vraie coupure secteur. Un redémarrage, et même un arrêt Windows normal, ne suffisent pas — le démarrage rapide maintient un état résiduel. Débrancher d'abord, diagnostiquer ensuite.
Ne pas toucher aux autres lignes, en particulier laisser IOMMU et Simultaneous Multi-Threading sur [AUTO].
Fiche pas-à-pas réutilisable : Jux-scripts/PC-Health/bios_svm_a320m.md.
2. Android Studio
winget install -e --id Google.AndroidStudio --accept-package-agreements --accept-source-agreements
Version installée : 2026.1.3.7, 3,29 Go dans C:\Program Files\Android\Android Studio.
Installation en mode Custom pour accéder aux composants. Composants retenus :
| Composant | Version | Rôle |
|---|---|---|
| Android Emulator | 37.1.11 | l'émulateur |
| Android SDK Platform-Tools | 37.0.1 | adb |
| Android SDK Command-line Tools | 23.0.0 | avdmanager, diagnostics |
| Android Emulator hypervisor driver | 2.2.0 | accélération AMD — voir section suivante |
Symptôme si le pilote manque : l'assistant marque Android Virtual Device comme indisponible, et n'installe ni l'émulateur ni les platform-tools. Ce n'est pas un échec du BIOS — il manque juste la couche d'accélération.
Note : sdkmanager est déprécié et son remplaçant android est encore incomplet (android sdk list ne liste que l'installé). Passer par l'interface pour tout ce qui touche aux images système.
3. Le pilote AEHD — installation manuelle
Pourquoi ce pilote
Sur un CPU AMD sous Windows, l'émulateur a besoin de l'un des deux mécanismes suivants :
| Mécanisme | Prérequis | Retenu ? |
|---|---|---|
| AEHD (Android Emulator Hypervisor Driver) | SVM activé, Hyper-V absent | Oui — correspond à la configuration du poste |
| WHPX | Hyper-V + Windows Hypervisor Platform installés | Non — alourdirait le système |
Piège n°3 — le SDK Manager échoue et efface ses traces
Sortie observée :
Installing Android Emulator hypervisor driver (installer) in ...\extras\google\Android_Emulator_Hypervisor_Driver
"Install Android Emulator hypervisor driver (installer) v.2.2.0" complete.
Failed to update status to COMPLETE
"Install Android Emulator hypervisor driver (installer) v.2.2.0" failed.
Le paquet se télécharge et s'extrait, puis l'étape d'installation du pilote échoue faute d'élévation, et le gestionnaire annule l'extraction : extras\google se retrouve vide. Il ne reste donc rien à réparer sur place — il faut repartir du paquet d'origine.
La réparation
New-Item -ItemType Directory -Force 'D:\temp_aehd' | Out-Null
Invoke-WebRequest -Uri 'https://dl.google.com/android/repository/aehd-windows_v2.2.zip' `
-OutFile 'D:\temp_aehd\aehd.zip'
Expand-Archive 'D:\temp_aehd\aehd.zip' -DestinationPath 'D:\temp_aehd\x' -Force
Start-Process -FilePath 'cmd.exe' -Verb RunAs -Wait -ArgumentList `
'/c','"cd /d D:\temp_aehd\x && silent_install.bat > D:\temp_aehd\out.txt 2>&1"'
Piège MSIX — utiliser
D:et non le dossier temporaire habituel. Claude Code tourne dans un conteneur MSIX : ce qu'il écrit sous%LOCALAPPDATA%atterrit en réalité dans…\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Local\. Un installeur lancé en élevé sort du conteneur et ne verrait pas ces fichiers. Même famille de piège que le home Syncthing (voir la section « Poste Windows julie » duCLAUDE.md).
Contenu du paquet : aehd.Sys (403 Ko), aehd.cat, aehd.Inf, silent_install.bat. Le script installe via RUNDLL32 SETUPAPI.DLL,InstallHinfSection puis lance le service. Désinstallation : silent_install.bat -u.
Résultat :
SERVICE_NAME: aehd
TYPE : 1 KERNEL_DRIVER
STATE : 4 RUNNING
Vérification
& 'D:\Android\Sdk\emulator\emulator.exe' -accel-check
Attendu : AEHD (version 2.2) is installed and usable. et code de retour 0.
4. L'AVD
Choix retenus
Profil Pixel Tablet en paysage : l'écran du PC est large, et Guardian comme Le Monde ont de vraies mises en page tablette (multi-colonnes). Un profil téléphone donnerait une colonne étroite au milieu d'un grand écran.
Ce qui déclenche la mise en page tablette, c'est la largeur en dp, pas en pixels : 1600 / (320/160) = 800 dp, au-delà du seuil de 600 dp.
Si aucun profil tablette ne porte l'icône Play Store, ne pas se rabattre sur un téléphone : prendre un profil téléphone avec Play Store, puis régler dans Edit une résolution de 1920x1200 en 240 dpi (soit 800 dp). On garde le Play Store et la mise en page large.
Image système
system-images\android-35\google_apis_playstore_tablet\x86_64
Android 15, API 35
La variante « Google Play » est indispensable pour installer les applications depuis le Store. C'est une build de production : adb root y est impossible, mais adb install fonctionne normalement.
Traduction ARM confirmée — point décisif pour les APK récupérés ailleurs :
ro.product.cpu.abilist = x86_64,arm64-v8a
Les images x86_64 en API 30 et plus traduisent l'ARM 64 bits à la volée. Sans cela, un APK ARM échoue sur INSTALL_FAILED_NO_MATCHING_ABIS.
Piège n°4 — les réglages avancés ne s'appliquent pas à la création
Valeurs demandées dans l'assistant, valeurs réellement écrites :
| Réglage | Demandé | Obtenu | Corrigé en |
|---|---|---|---|
hw.ramSize |
4096 | 2048 | 6144 |
vm.heapSize |
— | 192 | 512 |
disk.dataPartition.size |
16 Go | 10 Go | 10 Go (suffisant) |
hw.cpu.ncore |
4 | 4 | 4 |
Plus simple que de rechercher le Device Manager dans l'interface : éditer directement, émulateur arrêté (il réécrit son fichier en quittant).
C:\Users\julie\.android\avd\Pixel_Tablet.avd\config.ini
hw.ramSize=6144
vm.heapSize=512
hw.cpu.ncore=4
disk.dataPartition.size=10G
hw.gpu.mode=auto
vm.heapSize est le réglage sous-estimé : c'est le plafond mémoire par application, distinct de la RAM totale. À 192 Mo, une application de presse chargeant beaucoup d'images se fait tuer sans message. C'était le vrai goulet d'étranglement, davantage que les 2 Go de RAM.
Sauvegarde : config.ini.bak-260826. Vérification côté invité : MemTotal: 6072156 kB — l'écart avec 6144 Mo est la part réservée par le noyau, c'est normal.
Augmenter le stockage après coup impose un effacement des données. C'est le seul réglage à ne pas rater à la création.
5. Piège n°5 — le faux écran noir
Le symptôme
Après quelques minutes, écran entièrement noir. La capture prise depuis l'intérieur d'Android était noire elle aussi — ce qui semblait exclure un simple problème de fenêtre Windows et accusait la pile graphique, d'autant que le journal de l'émulateur contenait :
UpdateLayeredWindowIndirect failed ... (Un périphérique attaché au système ne fonctionne pas correctement)
avec un pilote AMD de janvier 2022 comme suspect tout désigné.
La vraie cause
mWakefulness=Dozing
L'écran s'était simplement mis en veille, comme sur une vraie tablette. Et le volet de notifications était resté déployé par-dessus (mCurrentFocus=NotificationShade), ce qui gardait l'affichage noir même après réveil.
Aucune erreur graphique dans logcat. Le pilote AMD était hors de cause.
Méthode de diagnostic, dans cet ordre
$adb = 'D:\Android\Sdk\platform-tools\adb.exe'
& $adb devices # le système répond-il ?
& $adb shell getprop sys.boot_completed # 1 = démarrage fini
& $adb shell dumpsys power | Select-String mWakefulness # Dozing / Asleep / Awake
& $adb shell dumpsys window | Select-String mCurrentFocus # quelle fenêtre au premier plan
DozingouAsleep→ simple veille, réveillerAwakeet écran noir → là seulement, suspecter le rendu graphique
Réveil et retour à l'accueil :
& $adb shell input keyevent 224 # KEYCODE_WAKEUP
& $adb shell cmd statusbar collapse # referme le volet de notifications
& $adb shell input keyevent 3 # HOME
BACK et HOME ne referment PAS le volet de notifications quand il reste bloqué ouvert après un réveil. Seul cmd statusbar collapse y parvient. Symptôme : mWakefulness=Awake mais mCurrentFocus=NotificationShade et une capture toujours à ~19 Ko.
Le piège de stay_on_while_plugged_in
Ce réglage n'agit que si l'appareil se déclare en charge. Après un -wipe-data, la batterie virtuelle repart sur AC powered: false — et l'écran se remet donc en veille malgré stay_on = 7. Il faut forcer l'alimentation secteur :
& $adb shell dumpsys battery set ac 1
& $adb shell dumpsys battery set status 2
Vérification :
& $adb shell dumpsys battery | Select-String 'AC powered|status'
Attendu : AC powered: true et status: 2. À refaire après chaque effacement des données, en même temps que les deux settings put.
Indice utile : le poids de la capture d'écran. 23 Ko = écran noir, ~3 Mo = interface réellement dessinée.
& $adb shell screencap -p /sdcard/s.png; & $adb pull /sdcard/s.png D:\s.png
Le correctif
& $adb shell settings put global stay_on_while_plugged_in 7
& $adb shell settings put system screen_off_timeout 1800000
stay_on_while_plugged_in = 7 couvre secteur + USB + sans-fil. L'émulateur se déclarant toujours « en charge », l'écran ne s'éteint plus jamais. Le réglage persiste au redémarrage (il vit sur la partition de données).
6. Piège n°6 — le plus coûteux : ne jamais lancer un installeur depuis Claude Code
Android Studio a été lancé par Claude Code via Start-Process. Un processus enfant hérite du conteneur MSIX du parent. Android Studio a donc tourné dans le conteneur, et tout ce qu'il a écrit sous %LOCALAPPDATA%\Android\Sdk est parti dans :
C:\Users\julie\AppData\Local\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Local\Android\Sdk
Pourquoi c'est indétectable de l'intérieur
- l'interface d'Android Studio affichait
Android SDK Location: D:\Android\Sdk Test-Pathsur ce chemin répondaitTruedepuis une session Claude- les deux chemins renvoyaient exactement la même taille (4,12 Go) — parce que le « vrai » est redirigé vers le virtualisé
Le symptôme n'apparaît qu'en dehors de Claude : un double-clic sur le raccourci du bureau donnait
Windows ne trouve pas 'D:\Android\Sdk\emulator\emulator.exe'
Le même piège sur les raccourcis
Un .lnk créé par WScript.Shell depuis le conteneur résout et fige la cible en chemin virtualisé :
Target : C:\Users\julie\AppData\Local\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Local\Android\Sdk\emulator\emulator.exe
Le raccourci ne fait alors rien du tout, sans message. Les arguments, eux, sont stockés littéralement — d'où un contournement possible : viser cmd.exe (dans System32, non virtualisé) et passer le vrai chemin en argument.
Correctif retenu
Le SDK a été sorti sur D:\Android\Sdk, hors de toute virtualisation :
robocopy 'C:\Users\julie\AppData\Local\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Local\Android\Sdk' `
'D:\Android\Sdk' /E /MT:8
Puis : skin.path corrigé dans config.ini, raccourci repointé sur D:\Android\Sdk\emulator\emulator.exe. L'émulateur retrouve seul sa racine SDK à partir de son propre emplacement (Found systemPath D:\Android\Sdk\system-images\...). Le dossier .android (les AVD) n'était pas concerné : il vit à la racine du profil, hors LocalAppData.
Preuve directe de la redirection de %APPDATA% (2026-08-26) : après que l'utilisateur a repointé le SDK, le fichier %APPDATA%\Google\AndroidStudio2026.1.3\options\android.sdk.path.xml affichait
C:\Users\julie\AppData\Local\Android\Sdklu depuis une session ClaudeD:\Android\Sdklu par l'utilisateur dans sa propre console
Deux contenus différents pour un chemin identique. La redirection ne concerne donc pas que %LOCALAPPDATA% : %APPDATA% (Roaming) l'est aussi. Conséquence pratique : depuis une session Claude, on ne peut pas relire un réglage écrit par une application lancée hors conteneur — la vérification revient à l'utilisateur.
Règles à retenir
- Ne jamais faire lancer un installeur ou un IDE par Claude Code. L'utilisateur le lance lui-même depuis le menu Démarrer.
- Ne jamais installer sous
%LOCALAPPDATA%sur ce poste — préférerD:.- Un
.lnkcréé depuis Claude vers une cible sous%LOCALAPPDATA%est cassé par construction.- Pour vérifier : comparer le chemin réel et
…\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Local\…. Deux tailles identiques = c'est le même dossier redirigé.
Même famille que le piège du home Syncthing (D:\SyncthingHome) documenté dans CLAUDE.md.
7. Piège n°7 — le multi-écrans casse l'AVD
Une configuration d'écrans multiples essayée depuis l'interface a rendu la tablette inutilisable. Elle laisse des lignes dans config.ini :
hw.display1.width = 2160
hw.display1.height = 3840
hw.display1.density = 640
hw.display1.flag = 1739
Un Wipe Data seul ne les enlève pas — elles vivent dans config.ini, pas dans les données invité. Remise en état, émulateur arrêté :
- supprimer toutes les lignes
hw.displayN.*deconfig.ini - redémarrer avec
-wipe-data -no-snapshot-load - réappliquer les réglages invités —
stay_on_while_plugged_inetscreen_off_timeoutsont effacés par le wipe
Vérification du retour à un seul écran :
& 'D:\Android\Sdk\platform-tools\adb.exe' shell dumpsys SurfaceFlinger --display-id
Une seule ligne attendue.
8. Point de restauration de la tablette
Une fois la tablette configuree - langue francaise, compte Google connecte, Play Store fonctionnel - cet etat vaut la peine d'etre fige. Le reconstituer a la main prend une bonne demi-heure.
Ce qu'il ne faut PAS utiliser : l'instantane interne
L'emulateur sait enregistrer des instantanes (snapshots\\), mais ils sont a ecarter comme sauvegarde :
- ils contiennent une image de la RAM - avec 6 Go d'AVD, c'est 6 Go pour l'instantane seul (9,06 Go de dossier AVD, dont 6 pour le seul
snapshots\\) - ils se cassent au moindre changement de version d'emulateur ou de configuration d'AVD
- ils vivent dans le dossier AVD : une corruption de l'AVD les emporte avec elle
Ce sont des caches de demarrage rapide, pas des sauvegardes.
La bonne methode : copie froide du dossier AVD
Emulateur arrete - copier un qcow2 en cours d'ecriture donne une image incoherente.
& 'D:\Android\Sdk\platform-tools\adb.exe' -s emulator-5554 emu kill
Get-Process emulator,qemu-system-x86_64 -ErrorAction SilentlyContinue | Stop-Process -Force
$d = "D:\Android\Backups\Pixel_Tablet_$(Get-Date -Format 'yyMMdd')"
robocopy 'C:\Users\julie\.android\avd\Pixel_Tablet.avd' "$d\Pixel_Tablet.avd" /E /XD snapshots tmpAdbCmds /R:1 /W:1
Copy-Item 'C:\Users\julie\.android\avd\Pixel_Tablet.ini' "$d\Pixel_Tablet.ini" -Force
compact /c /s /i /f /exe:LZX "$d\*"
/XD snapshots tmpAdbCmds retire l'instantane : 9,06 Go -> 4,06 Go. Apres restauration, le premier demarrage sera simplement a froid.
Sur la compression
La compression NTFS LZX est transparente - rien a decompresser a la restauration. Mais le gain est faible : 4,06 Go -> 3,26 Go, soit 1,2 pour 1 seulement. Les donnees de userdata sont deja denses.
Ne pas chercher mieux avec une archive 7z : on gagnerait peut-etre 1 Go, au prix d'une etape de decompression au moment ou l'on est presse. Compter ~3,3 Go par point de restauration et faire le menage dans les anciens.
Repartition du volume
| Fichier | Taille |
|---|---|
userdata-qemu.img.qcow2 |
2 430 Mo |
sdcard.img |
512 Mo |
cache.img.qcow2 + cache.img |
137 Mo |
snapshots\\ |
~6 Go - exclu |
Restaurer
- arreter l'emulateur et verifier qu'aucun processus ne subsiste
- renommer l'AVD abime plutot que le supprimer (
Pixel_Tablet.avd.casse-AAMMJJ) robocopyde la sauvegarde versC:\Users\julie\.android\avd\Pixel_Tablet.avd, plus le.ini- redemarrer avec
-no-snapshot-load - ecran noir eventuel = veille, voir la section 5
Ce que la sauvegarde ne contient PAS
Si le PC lui-meme est reinstalle, il faut d'abord remettre en place, dans cet ordre :
- SVM dans le BIOS - avec la coupure secteur (section 1)
- le pilote AEHD - sans lui l'emulateur ne demarre pas (section 3)
- le SDK sur
D:\Android\Sdk- jamais sous%LOCALAPPDATA%(section 6)
Emplacement
D:\Android\Backups\Pixel_Tablet_260826\
Pixel_Tablet.avd\
Pixel_Tablet.ini
RESTAURATION.md <- procedure complete, sur place
Piege annexe
Une redirection > D:\dossier\fichier.log dans un cmd /c echoue silencieusement si le dossier n'existe pas - et l'emulateur n'est alors jamais lance. Symptome : aucun processus, journal de 0 octet. Verifier l'existence du dossier de log avant de conclure a une panne de l'emulateur.
9. Piège n°8 — l'horloge de la tablette dérive et casse les applications
Symptôme trompeur : une application (ici Le Monde) semble privée d'Internet alors que la tablette navigue normalement. Le pare-feu Portmaster affiche au même moment une notification Blocked Bypass Attempt by Netsimd qui n'est pas la cause et détourne tout le diagnostic. Son conseil — « désactiver Secure DNS dans Netsimd » — est de surcroît inapplicable : netsimd.exe est le démon réseau de l'émulateur, il n'a aucun réglage de DNS sécurisé.
Le vrai défaut
L'AVD reprend un instantané (Quick boot) : au réveil, l'horloge invitée repart de l'heure figée au moment de la sauvegarde et ne se recale pas sur celle du PC. Écart mesuré le 2026-08-31 : 4 jours et 18 heures de retard.
Les serveurs rejettent alors toute requête signée. La preuve tient en une ligne d'adb logcat :
[LOGGER] error sending logs to kinesis - Signature expired:
20260826T234130Z is now earlier than 20260831T182829Z
AWS SigV4 tolère 5 minutes d'écart, pas 5 jours. Tout ce qui repose sur une signature ou une expiration de jeton tombe : connexion, abonnement, contenus.
⚠ auto_time = 1 ne protège pas. Le réglage « heure automatique » était bien actif et n'a rien rattrapé — il ne couvre pas la reprise d'instantané. Le vérifier ne sert à rien.
Correctif
Device Manager → arrêter la tablette → menu ⋮ → Cold Boot.
⚠ L'option n'apparaît pas tant que la tablette tourne : le menu propose Stop à la place. C'est ce qui fait qu'on ne la trouve pas. Le libellé a par ailleurs perdu son « Now » dans les versions récentes.
Durablement, pour que la dérive ne revienne pas : Edit → Show Advanced Settings → Boot option → Cold boot. Équivalent dans %USERPROFILE%\.android\avd\Pixel_Tablet.avd\config.ini :
fastboot.forceColdBoot = yes
fastboot.forceFastBoot = no
⚠ Android Studio n'écrit config.ini qu'à sa fermeture. Après un changement dans l'interface, relire le fichier avant de conclure que le réglage est pris.
⚠ adb shell date -s ne marche pas : l'image google_apis_playstore n'est pas rootable. Le démarrage à froid est la seule voie.
⚠ Ce chemin n'est PAS redirigé par le conteneur MSIX. C:\Users\julie\.android\ n'est ni %LOCALAPPDATA% ni %APPDATA% — vérifié le 2026-08-31, aucun jumeau sous …\Packages\Claude_pzs8sxrjxfjjc\LocalCache\. Une écriture y est donc réelle, contrairement au piège n°6.
Vérification
Comparer les époques, pas l'affichage : la tablette est en GMT, le PC en heure de Paris.
adb shell date +%s ; date +%s
Attendu : quelques secondes d'écart au plus. Après recalage le 2026-08-31 — écart 1 seconde, Signature expired disparu, application fonctionnelle.
Méthode de diagnostic, dans cet ordre
1. Écarter le pare-feu d'abord. Sa notification est bruyante et fausse la piste. Mesurer la connectivité réelle depuis l'invité :
adb shell ping -c 2 8.8.8.8
adb shell curl -s -o /dev/null -w '%{http_code}' http://connectivitycheck.gstatic.com/generate_204
HTTP 204 est la réponse qu'Android attend pour se déclarer connecté. Si elle arrive, Portmaster est hors de cause.
2. Comparer les horloges. Contrôle le moins cher et le plus rentable — il aurait fait gagner toute la séance.
3. Lire le journal de l'application, pas seulement celui du pare-feu :
adb logcat -d --pid $(adb shell pidof com.lemonde.androidapp)
C'est là, et nulle part ailleurs, que se trouvait Signature expired.
⚠ monkey affiche not connected dans ses statistiques réseau même quand tout va bien : c'est sa comptabilité interne, pas l'état de ConnectivityManager. Se fier à dumpsys connectivity, qui doit montrer IS_VALIDATED.
⚠ Un logcat peut être périmé sans le dire : le tampon affichait encore des lignes datées du 26/08 alors qu'on était le 31/08 — conséquence directe de la dérive. Vider (adb logcat -c) et relancer l'application avant de conclure.
⚠ Le TLS n'était PAS cassé malgré 5 jours d'écart : curl depuis l'invité rendait 200/301/404. Une horloge en retard ne casse que les certificats émis après elle. Ne pas s'arrêter à ce test pour disculper l'horloge.
Ce que Portmaster bloquait réellement
Un seul blocage légitime à lever : cmp.lemonde.fr, la plateforme de consentement du Monde, classée traceur par la liste TRAC. Bloquée, l'application reste sur son écran de consentement — ce qui ressemble à une panne de réseau. Règle posée dans Outgoing Rules → Allow.
⚠ Deux profils netsimd.exe coexistent dans Portmaster, séquelle du piège n°6 : l'ancien sous …\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Local\Android\Sdk\ (mort depuis le 26/08) et le vrai sur D:\Android\Sdk\emulator\. Portmaster identifie les applications par chemin de binaire : une règle posée sur le mauvais profil ne fait rien, sans le moindre message.
⚠ Ne pas taper le + dans le champ de la règle — le menu Allow le pose lui-même, et + + cmp.lemonde.fr échoue sur la regex de validation. Même piège que les Incoming Rules (CLAUDE.md, section « Portmaster »). À noter : Outgoing Rules est de niveau user, donc visible en mode Simple, contrairement aux Incoming Rules.
Le reste est voulu : ws.batch.com, tracking.purchasely.io, logs13.xiti.com, firebase-settings.crashlytics.com sont des traceurs. ws.batch.com reboucle indéfiniment — 4 224 requêtes en une journée, toutes les 2 à 6 secondes — c'est bruyant dans le journal et sans effet sur l'application. Ne pas l'autoriser pour faire taire le journal.
Portmaster laisse passer NTP (time.google.com accepté) : il n'est pour rien dans la dérive d'horloge.
9. Piège n°8 — « auto » choisit le rendu LOGICIEL (lavapipe)
2026-09-02. Retours d'usage : tablette peu réactive, vidéo saccadée, son défaillant, « bord blanc inutile », écran trop petit. Tout venait d'une seule cause.
Le diagnostic décisif : comparer les DEUX fichiers
config.ini porte ce qu'on a demandé. hardware-qemu.ini porte ce que l'émulateur a réellement retenu au dernier lancement. C'est ce second fichier qu'il faut lire.
config.ini hw.gpu.mode = auto
hardware-qemu.ini hw.gpu.mode = lavapipe <-- rasteriseur Vulkan LOGICIEL
lavapipe, c'est le processeur qui dessine tout. Le GPU ne fait rien. À 2560x1600, cela représente 4,1 millions de pixels par image à la charge du CPU — d'où la lenteur, les saccades vidéo, et le son qui décroche (l'audio est sous-alimenté quand le CPU sature).
Chaîne d'échecs visible dans le journal de l'émulateur :
Failed to load [...\qemu\windows-x86_64\lib64\vulkan\vulkan-1.dll]
[Vulkan Loader] Registry lookup failed to get layer manifest files
Critical: Failed to load opengl32sw
Warning: Software OpenGL failed. Falling back to system OpenGL.
Le chemin Vulkan échoue, et auto se rabat silencieusement sur le logiciel. Aucun message d'erreur visible dans l'interface.
Correctif
hw.gpu.mode = host
Vérification après relance — c'est le seul test qui compte :
Get-Content 'C:\Users\julie\.android\avd\Pixel_Tablet.avd\hardware-qemu.ini' | Select-String 'gpu.mode'
Doit répondre host. Si host donne des artefacts, essayer angle_indirect (OpenGL traduit en Direct3D 11) : un peu plus lent, nettement plus robuste sur pilote ancien.
Suite (2026-09-03). Le pilote a été mis à jour en Adrenalin 26.8.1 (voir page 295). Vulkan n'est toujours pas enregistré pour autant :
HKLM\SOFTWARE\Khronos\Vulkan\Driversreste absente, l'installationDriver Onlyn'ayant pas recréé l'ICD supprimée par leFactory Reset. Conserverhw.gpu.mode = host— repasser enautoferait retomber enlavapipe.
Cause racine : le pilote AMD de janvier 2022 (voir page 249), qui expose mal Vulkan. host contourne le problème, il ne le corrige pas. Résultat après correction : vidéo fluide et tablette nettement plus réactive, confirmé par l'utilisateur.
Le faux « cadre blanc » et l'écran trop petit : même cause
Le bord clair n'était pas le skin de la tablette — hardware-qemu.ini ne contenait aucune ligne skin ni showDeviceFrame, l'émulateur ne l'appliquait déjà plus.
C'était du remplissage de fenêtre : l'AVD faisait 2560x1600 pour un bureau logique de 2560x1440. Impossible à afficher en entier, donc image réduite pour tenir, et le fond clair de l'émulateur comble le reste.
Règle : la définition de l'AVD doit tenir dans le bureau, sinon l'image est réduite en permanence et entourée de remplissage.
Correctif appliqué — 1920x1200 en densité 240 :
| Avant | Après | |
|---|---|---|
| Définition | 2560x1600 | 1920x1200 |
| Densité | 320 | 240 |
| Largeur en dp | 800 | 800 (inchangée) |
| Pixels à calculer | 4,1 Mpx | 2,3 Mpx (-44 %) |
Les 800 dp sont conservés : les mises en page tablette sont identiques. Mais l'image tient dans l'écran sans réduction, la fenêtre peut être agrandie à la main, et le GPU travaille moins. Résultat confirmé : bord blanc disparu, écran nettement plus grand.
Retirer aussi skin.name et skin.path de config.ini (showDeviceFrame = no seul les rend inopérants, mais autant être net).
Le son
Mesurer avant de conclure :
& $adb shell cmd media_session volume --stream 3 --get
Le volume invité était déjà à 13/15 — il a été passé à 15.
Résolu, et la cause n'était pas l'audio. Les ratés de son étaient un symptôme de la saturation processeur : quand le CPU dessinait 4,1 Mpx par image en
lavapipe, le flux audio n'était plus alimenté à temps et décrochait. Une fois le rendu basculé surhostet la définition ramenée à 1920x1200, le son est redevenu correct sans aucun réglage audio supplémentaire. Ne pas partir sur le mélangeur de volume Windows ni sur le périphérique de sortie tant que le rendu graphique n'est pas vérifié — c'est une fausse piste coûteuse.
Note : la commande media n'existe pas sur cette image, il faut cmd media_session.
Horloge : démarrage à froid obligatoire
La tablette affichait lundi 31 août alors que le PC était au mercredi 2 septembre. Cause déjà documentée sur ce poste : en Quick boot, l'horloge repart de l'heure figée dans l'instantané et ne se recale jamais.
fastboot.forceColdBoot = yes
fastboot.forceFastBoot = no
Après correction : Wed Sep 2 21:18 GMT côté tablette pour 23:18 côté PC — le même instant, l'écart n'étant que le fuseau. Le démarrage passe de ~20 s à 2-3 min : compromis accepté, une horloge fausse ayant déjà fait rejeter des requêtes signées et accuser Portmaster à tort.
Le fuseau se règle à la main dans la tablette (Paramètres → Système → Date et heure) : setprop persist.sys.timezone est refusé sur une image Google Play, qui est une build de production.
Deux conséquences du démarrage à froid
- La tablette arrive verrouillée.
mCurrentFocus=NotificationShadedésigne alors l'écran de verrouillage, pas le volet de notifications. Déverrouiller par un glissement :adb shell input swipe 960 1000 960 200 200. dumpsys battery set ac 1ne persiste pas — c'est une valeur d'exécution. À chaque lancement la tablette repart sur batterie, doncstay_on_while_plugged_inne s'applique pas. Seulscreen_off_timeout(30 min) protège alors de la veille.
10. Dimensionner la mémoire — mesurer, ne pas deviner
2026-09-02. qemu-system-x86_64 consommait 7 Go sur les 16 de la machine. L'AVD avait été réglé à 6 Go « pour être tranquille ».
La bonne mesure : MemAvailable, pas MemFree
& 'D:\Android\Sdk\platform-tools\adb.exe' shell cat /proc/meminfo
Relevé à 6 Go :
MemTotal: 6 071 Mo
MemFree: 1 038 Mo
MemAvailable: 3 834 Mo <-- 63 % reellement disponible
Cached: 3 429 Mo
SwapTotal / SwapFree : 4 554 / 4 111 Mo -> 442 Mo utilises, aucune pression
MemFree est trompeur : Linux remplit toujours la mémoire inoccupée de cache disque, donc MemFree reste bas quoi qu'il arrive. C'est MemAvailable qui dit ce que le système peut réellement rendre — ici 63 %, plus 3,4 Go de cache purement opportuniste. Android n'utilisait qu'environ 2,2 Go de mémoire de travail.
Second indice : la partition d'échange de l'invité n'était sollicitée qu'à 442 Mo sur 4 554. Aucune contrainte mémoire.
Résultat après passage à 4 Go
hw.ramSize = 4096
| 6 Go | 4 Go | |
|---|---|---|
Guest MemTotal |
6 071 Mo | 4 013 Mo |
Guest MemAvailable |
3 834 Mo (63 %) | 2 596 Mo (65 %) |
qemu working set |
6 964 Mo | 3 479 Mo |
| Hôte libre | 3,1 Go | 6,9 Go |
La mémoire de qemu est divisée par deux et Android conserve exactement la même marge relative. 3,8 Go rendus à l'hôte sans contrepartie mesurable.
Repères
- 4096 Mo : le bon réglage pour cet usage (presse, lecture, quelques applications). Retenu.
- 3072 Mo : encore faisable au vu des 2,2 Go de mémoire de travail constatés, mais ne laisse que ~800 Mo de cache — l'invité évictionnerait plus souvent et s'appuierait sur son zram. À n'envisager que si l'hôte est vraiment à l'étroit.
- 6144 Mo : surdimensionné. Ne rien attendre de plus qu'à 4 Go.
Ne pas toucher à vm.heapSize en même temps : c'est un plafond par application, pas une réservation. Le laisser à 512 Mo, c'est ce qui évite qu'une application de presse chargeant beaucoup d'images se fasse tuer sans message (voir section 4).
Méthode réutilisable
- laisser tourner la tablette en usage normal quelques minutes
- lire
MemAvailableet l'état du swap invité - si
MemAvailabledépasse ~50 % et que le swap est quasi inutilisé, il y a de la marge à reprendre - réduire par paliers de 1 Go, émulateur arrêté, et remesurer
- penser à recopier
config.inidans le point de restauration après chaque changement
11. Apres un deplacement du SDK : « Could not automatically detect an ADB binary »
2026-09-06. Boite de dialogue au demarrage de l'emulateur, apres la sortie du SDK vers D:\\Android\\Sdk (section 6).
L'emulateur ne cherche pas adb seulement a cote de lui : il consulte d'abord ANDROID_HOME, ANDROID_SDK_ROOT et le PATH, qui pointaient implicitement sur l'ancien emplacement disparu.
adb present D:\Android\Sdk\platform-tools\adb.exe OK
ANDROID_HOME non defini
ANDROID_SDK_ROOT non defini
platform-tools absent du PATH
Ce n'est pas anodin : les fonctions de l'emulateur qui reposent sur adb tombent — installation d'un APK par glisser-deposer sur la fenetre, bouton de capture d'ecran des Extended Controls, envoi de fichiers. Les scripts qui appellent adb par un chemin absolu, eux, ne sont pas concernes.
Correctif — a taper par l'utilisateur dans sa propre console, non elevee :
[Environment]::SetEnvironmentVariable('ANDROID_HOME','D:\Android\Sdk','User')
[Environment]::SetEnvironmentVariable('ANDROID_SDK_ROOT','D:\Android\Sdk','User')
[Environment]::SetEnvironmentVariable('PATH',
[Environment]::GetEnvironmentVariable('PATH','User') + ';D:\Android\Sdk\platform-tools', 'User')
Fermer puis rouvrir l'emulateur : les variables ne sont lues qu'au demarrage du processus. Benefice annexe, adb devient utilisable sans chemin dans n'importe quelle console.
Repli si l'on ne veut rien toucher au systeme : ... (Extended Controls) -> Settings -> onglet General -> decocher Use detected ADB location et indiquer le chemin. Reglage propre a l'emulateur, sans effet ailleurs.
Precision sur la redirection MSIX : le registre se lit, mais ne s'ecrit pas
Constate a cette occasion : les valeurs ecrites par l'utilisateur dans HKCU\\Environment sont immediatement visibles depuis une session Claude Code, contrairement aux fichiers sous %LOCALAPPDATA% et %APPDATA% (section 6).
C'est le comportement classique de MSIX pour le registre : lecture directe, ecriture redirigee.
Consequence pratique : une variable d'environnement utilisateur peut etre verifiee depuis Claude Code — ce qui n'est pas le cas d'un fichier de configuration. En revanche, presumer qu'une ecriture depuis Claude serait visible a l'exterieur reste faux. La regle « c'est l'utilisateur qui ecrit » ne change pas ; seule la verification devient possible.
Aide-mémoire
Chemins
Android Studio C:\Program Files\Android\Android Studio
SDK D:\Android\Sdk (sorti du conteneur MSIX, voir section 6)
adb ...\Sdk\platform-tools\adb.exe
emulator ...\Sdk\emulator\emulator.exe
AVD C:\Users\julie\.android\avd\Pixel_Tablet.avd
Raccourci C:\Users\julie\Desktop\Tablette Android.lnk
Commandes
# Démarrer (le raccourci du bureau fait la même chose)
& '...\Sdk\emulator\emulator.exe' -avd Pixel_Tablet
# Démarrage propre, si un boot se passe mal
& '...\Sdk\emulator\emulator.exe' -avd Pixel_Tablet -no-snapshot-load
# Lister les AVD / arrêter proprement
& '...\Sdk\emulator\emulator.exe' -list-avds
& '...\adb.exe' -s emulator-5554 emu kill
# Installer un APK (ou glisser-déposer le fichier sur la fenêtre)
& '...\adb.exe' install monapp.apk
& '...\adb.exe' install-multiple base.apk split_config.arm64_v8a.apk split_config.xxhdpi.apk
Les dépôts type APKMirror servent souvent des .xapk / .apkm : ce sont des archives ZIP de plusieurs APK. adb install échoue dessus, il faut les décompresser et utiliser install-multiple.
Premier démarrage : 2 à 3 minutes, sans aucune fenêtre visible pendant une bonne partie du temps. Ne pas conclure trop vite que le raccourci ne marche pas — vérifier le processus :
Get-Process emulator,qemu-system-x86_64 -ErrorAction SilentlyContinue
Les démarrages suivants réutilisent l'instantané, environ 20 secondes.
Limites connues
- Applications bancaires et de paiement : Play Integrity échoue systématiquement sur émulateur
- Vidéo protégée (Netflix, Disney+, MyCanal) : pas de Widevine L1
- Jeux avec anti-triche : détection d'émulateur
- Matériel absent : NFC, appareil photo réel, SIM et téléphonie, empreinte digitale
Presse, lecture, productivité et utilitaires : sans problème.
Voies écartées
| Option | Raison |
|---|---|
| Émulateur sur le VPS juxjux | La virtualisation imbriquée y est pourtant active (/dev/kvm, kvm_intel.nested=Y) — mais 2,7 Gio de RAM disponibles seulement, swap déjà à moitié plein, aucun GPU, et usage interactif à travers le réseau. Redroid exigerait en plus un changement de noyau : le noyau cloud n'a pas CONFIG_ANDROID_BINDER_IPC |
| BlueStacks / LDPlayer / MEmu / Nox | Mêmes prérequis de virtualisation, plus publicité et télémétrie |
| Genymotion | Dépend de VirtualBox, déjà impliqué dans le dossier écrans bleus (page 249) |
| Waydroid sur l'Ubuntu 25.10 | Reste une bonne solution de repli : conteneur LXC, aucun besoin de VT-x/AMD-V. Aurait été retenu si SVM était resté inaccessible |
| scrcpy + tablette existante | Écarté ici, mais pertinent : recopie l'écran d'une Lenovo Tab K11 ou d'une SM-T720 sur le PC, sans virtualisation ni émulateur |
Points restés ouverts
- Le pilote AMD de janvier 2022 n'est toujours pas réinstallé (action en attente de la page 249). Les erreurs
UpdateLayeredWindowIndirectdu journal de l'émulateur en sont un symptôme de plus, même si elles n'ont pas empêché le fonctionnement. - Résolu. Le Virtual Device Manager n'apparaissait pas dans More Actions : Android Studio tournait alors dans le conteneur MSIX, sur un SDK dont l'émulateur n'était pas correctement enregistré. Une fois Studio relancé par l'utilisateur et repointé sur
D:\Android\Sdk, l'entrée est présente et l'AVDPixel_Tablety figure. Même cause racine que le reste — ce n'était pas une bizarrerie d'interface. - Le réglage Cold boot n'est pas encore persisté dans
config.ini— toujoursfastboot.forceFastBoot = yesau 2026-08-31. Le démarrage à froid du jour a recalé l'horloge, mais la dérive reviendra à la prochaine reprise d'instantané après quelques jours d'arrêt. L'instantanésnapshots/default_bootpèse par ailleurs 6,1 Go sur le SSD système ; le supprimer force aussi un démarrage à froid et rend la place, sans toucher aux données de la tablette (userdata-qemu.img).
Voir aussi
- Page 249 — stabilité du PC
julie, écrans bleus, pilote AMD Jux-scripts/PC-Health/bios_svm_a320m.md— fiche BIOS pas à pasCLAUDE.md, section « Poste Windowsjulie» — piège MSIX, outillage du poste
260903 - Mise à jour du pilote AMD
Procédure préparée le 2026-09-02, à exécuter le 2026-09-03 sur le poste julie.
Objectif : remplacer le pilote graphique AMD du 18 janvier 2022 par la version actuelle. Deux motifs indépendants, chacun suffisant à lui seul.
Pourquoi
1. C'est la cause établie des écrans bleus 0x50. L'analyse du vidage mémoire du 31/07/2026 désigne amdfendr.sys (AMD Crash Defender) v21.30.0.9 : le pilote appelle RtlCompressBuffer avec une taille supérieure à l'allocation réelle, LZNT1 lit au-delà et tombe sur une page non mappée. MODULE_NAME: amdfendr, confirmé par deux rapports WER. Analyse complète : page 249.
2. C'est aussi ce qui dégradait l'émulateur Android. Le support Vulkan de ce pilote est défaillant : le chargement de l'ICD échouait, et l'émulateur se rabattait silencieusement sur lavapipe, un rasteriseur purement logiciel. Détail : page 282, section 9.
État avant intervention
À relever pour pouvoir comparer après.
| Élément | Valeur au 2026-09-02 |
|---|---|
| Carte | AMD Radeon RX 6500 XT (Navi 24, 0x743F), 4 Go |
| Pilote | 30.0.14023.3004 |
| Date du pilote | 18/01/2022 |
amdfendr.sys |
21.30.0.9, fichier du 07/02/2022 |
amdfendrmgr.sys |
21.30.0.9, fichier du 07/02/2022 |
| OS | Windows 10 19045, UEFI |
| Point de restauration | 11 — 260903-maj pilotes carte grapphique, 03/09/2026 03:09 |
Précautions propres à cette machine
⚠ L'utilisateur lance l'installeur lui-même. Un processus démarré par Claude Code hérite de son conteneur MSIX et installe au mauvais endroit, de façon indétectable depuis la session. Voir page 282, section 6.
⚠ Pas par temps d'orage, ni en période de coupures. Ce poste compte 146 arrêts brutaux au compteur SMART du SSD et a subi des coupures secteur avérées (Enedis le 24/08). Un flash de pilote graphique interrompu par une coupure est l'un des rares moments où l'on casse réellement quelque chose.
⚠ Une seule opération à risque à la fois. Ne pas enchaîner avec une mise à jour du BIOS, même si l'occasion se présente. Le BIOS 1.40 de 2020 reste volontairement en place.
⚠ winget est inutile ici. Il ne propose que AMD.AMDSoftwareCloudEdition, destiné aux serveurs de jeu en nuage — à ne pas installer. Le téléchargement vient du site AMD.
Procédure
1. Poser le filet
Dans une console PowerShell en administrateur (la protection système était déjà active sur ce poste — trois points existaient déjà des 26, 27 et 28/08) :
⚠ Angle mort à connaître.
Get-ComputerRestorePointexige l'élévation : depuis une session Claude Code, non élevée, il renvoie une liste vide, ce qui fait conclure à tort que la protection système est désactivée. Erreur commise le 2026-09-02. La vérification revient à l'utilisateur, dans sa propre console élevée — même famille d'angle mort que la lecture de%APPDATA%(page 282, section 6).
Autre piège : Windows refuse de créer un second point dans les 24 h suivant le précédent.
Checkpoint-Computerpeut donc échouer en silence.
Enable-ComputerRestore -Drive 'C:\'
Checkpoint-Computer -Description 'Avant pilote AMD' -RestorePointType MODIFY_SETTINGS
Vérifier qu'il est bien créé :
Get-ComputerRestorePoint | Select-Object SequenceNumber,Description,CreationTime
2. Télécharger
amd.com/fr/support → Graphics → Radeon RX 6000 Series → Radeon RX 6500 XT → Windows 10 - 64-Bit
Prendre l'édition Recommended (WHQL), pas l'Optional : plus prudente sur une machine dont la stabilité est en cours d'investigation.
3. Installer
Deux choix à ne pas manquer dans l'installeur :
- Cocher
Factory Reset— supprime proprement les restes du pilote de 2022. C'est ce qui évite d'avoir à passer par DDU en mode sans échec. - Choisir
Driver Only(ou Minimal) si l'option est proposée — la suite Adrenalin complète (enregistrement vidéo, AMD Link, surcouche de jeu) n'a aucun usage ici et ajoute des services résidents sur une machine déjà fragile.
L'écran clignote et devient noir plusieurs secondes pendant l'opération : c'est normal.
4. Redémarrer et vérifier
Get-CimInstance Win32_VideoController | Select-Object Name,DriverVersion,DriverDate | Format-List
(Get-Item 'C:\Windows\System32\drivers\amdfendr.sys').VersionInfo.FileVersion
Attendu : une date récente, et amdfendr.sys sorti de la 21.30.0.9.
5. Contrôles complémentaires
Côté émulateur Android — vérifier que l'accélération répond toujours :
& 'D:\Android\Sdk\emulator\emulator.exe' -accel-check
Puis, après un lancement de la tablette, que le rendu n'est pas retombé en logiciel :
Get-Content 'C:\Users\julie\.android\avd\Pixel_Tablet.avd\hardware-qemu.ini' | Select-String 'gpu.mode'
Laisser hw.gpu.mode = host. Même si Vulkan est réparé, un réglage explicite qui fonctionne vaut mieux qu'un auto susceptible de retomber en lavapipe sans le moindre message.
Côté stabilité — relancer le relevé après deux à trois semaines :
Jux-scripts\PC-Health\collect_bsod.ps1
Le script signale la version d'amdfendr.sys à chaque passage ; il doit cesser de la marquer comme problématique.
Retour arrière
Si l'affichage se dégrade ou si de nouveaux plantages apparaissent :
- Restauration système sur le point créé à l'étape 1
- À défaut : Gestionnaire de périphériques → carte graphique → Propriétés → onglet Pilote → Restaurer le pilote précédent
- En dernier recours : DDU en mode sans échec, puis réinstallation propre
Ce qu'il ne faut PAS en attendre
La page 249 distingue deux populations d'arrêts anormaux, et cette mise à jour n'en traite qu'une.
| Population | Traitée ? |
|---|---|
15 écrans bleus (3× 0x50 attribués à amdfendr, 10× 0x9F, 1× 0x3B, 1× 0xA0) |
Oui, c'est l'objet de l'intervention |
30 coupures sèches (BugcheckCode = 0, aucune trace) |
Non — hypothèse électrique externe, un onduleur trancherait |
Les 146 arrêts brutaux du compteur SSD, dont une centaine antérieurs à la réinstallation d'octobre 2025, appartiennent à la seconde catégorie. Ne pas conclure à un échec de la mise à jour si des coupures sèches persistent.
Après l'intervention
Mettre à jour :
- page 249 — journal de stabilité, version du pilote, retrait de l'action en attente
- page 282, section 9 — indiquer si Vulkan est réparé et si
autoredevient sûr
Résultats — intervention du 2026-09-03
Version installée : AMD Software: Adrenalin Edition 26.8.1 (WHQL Recommended), paquet de 942 Mo téléchargé depuis amd.com, avec Factory Reset coché et installation Driver Only.
Point de restauration préalable : 11 — 260903-maj pilotes carte grapphique, 03/09/2026 03:09. Non utilisé.
Avant / après
| Avant | Après | |
|---|---|---|
| Pilote affiché | 30.0.14023.3004 |
32.0.21045.5002 |
| Date du pilote | 18/01/2022 | 17/08/2026 |
amdfendr.sys actif |
21.30.0.9 (07/02/2022) | 25.10.0.7 (25/02/2026) |
amdpsp.sys |
5.24.0.0 | 5.46.0.0 (19/06/2026) |
Quatre ans et sept mois rattrapés. La version d'amdfendr.sys identifiée comme cause des écrans bleus 0x50 est remplacée — c'était l'objet de l'intervention.
⚠ Piège de vérification : lire le service, pas le fichier
Le premier contrôle a fait croire à un échec :
C:\Windows\System32\drivers\amdfendr.sys 21.30.0.9 07/02/2022
Ce fichier est un résidu de l'installation de 2022 que Windows n'utilise pas. Le pilote réellement chargé est désigné par le service :
HKLM\SYSTEM\CurrentControlSet\Services\amdfendr
ImagePath = \SystemRoot\System32\DriverStore\FileRepository\
amdfendr.inf_amd64_bea53a1d416fbcfa\amdfendr.sys -> v25.10.0.7, 25/02/2026
Les deux versions cohabitent dans le DriverStore (...9c52cee6bd9e4fb5 pour l'ancienne, ...bea53a1d416fbcfa pour la nouvelle) ; seule la seconde est enregistrée.
Règle : après une mise à jour de pilote, vérifier
ImagePathdu service, jamais le fichier dansSystem32\drivers. Ce dernier peut rester périmé indéfiniment sans que cela signifie quoi que ce soit.
Commande de contrôle :
(Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Services\amdfendr').ImagePath
État du service : Start = 3 (démarrage manuel), actuellement arrêté.
⚠ Vulkan n'est TOUJOURS pas enregistré
C'est le point décevant de l'intervention.
HKLM\SOFTWARE\Khronos\Vulkan\Drivers absente
HKLM\SOFTWARE\WOW6432Node\Khronos\Vulkan\Drivers absente
C:\Windows\System32\amdvlk64.dll absent
Les bibliothèques existent pourtant dans le DriverStore (amdvlk64.dll, amdxc64.dll dans deux paquets), mais aucune ICD n'est déclarée : Vulkan reste inutilisable. Le Factory Reset a vraisemblablement supprimé la clé sans que l'installation Driver Only la recrée.
Seules entrées présentes sous Khronos\Vulkan\ImplicitLayers : les deux couches de Steam.
Conséquence pour l'émulateur Android : garder hw.gpu.mode = host, ne pas repasser en auto — il retomberait en lavapipe (page 282, section 9). Le réglage explicite reste nécessaire.
Si Vulkan devient un besoin (jeux, applications tierces), il faudra relancer l'installeur sans Driver Only, en acceptant la suite Adrenalin complète.
Émulateur — non régressé
emulator -accel-check AEHD (version 2.2) is installed and usable. code 0
hardware-qemu.ini hw.gpu.mode = host
Definition 1920x1200
MemTotal invite 4 013 Mo
Focus NexusLauncherActivity
Ce qui reste à surveiller
La page 249 distingue deux populations d'arrêts anormaux. Cette mise à jour n'en traite qu'une.
- 15 écrans bleus — traités. Relevé de contrôle à relancer dans deux à trois semaines :
Jux-scripts\PC-Health\collect_bsod.ps1 - 30 coupures sèches (
BugcheckCode = 0) — non traitées, hypothèse électrique externe. Leur persistance ne signifierait pas un échec de l'intervention ; elle isolerait au contraire définitivement la piste de l'alimentation.
05_Claude et les MCP
Quelles opportunités entre logiciels opensource et les IA
Voici une liste des logiciels open source dans les domaines de l’infographie, la PAO, la CAO et la géomatique qui, en juin 2026, bénéficient d’une connexion MCP (Model Context Protocol) ou pour lesquels des serveurs MCP existent ou sont en développement pour permettre à une IA de prendre la main sur la production de documents ou d’automatiser des tâches.
📌 Logiciels compatibles MCP (ou avec serveurs MCP disponibles)
🎨 Infographie & PAO
-
Scribus Logiciel de PAO open source pour la mise en page professionnelle (brochures, magazines, livres). Statut MCP : Des serveurs MCP communautaires permettent d’interagir avec les fichiers Scribus (lecture, modification, export) via des scripts Python ou des connecteurs dédiés. Cela permet à une IA de générer ou modifier des mises en page automatiquement.
-
Inkscape Éditeur de graphiques vectoriels (SVG) open source. Statut MCP : Des serveurs MCP existent pour manipuler des fichiers SVG (création, édition, export) via des outils comme Puppeteer ou des scripts Python. Une IA peut ainsi générer ou modifier des visuels vectoriels.
-
GIMP Logiciel de retouche photo et de création graphique open source. Statut MCP : Des connecteurs MCP permettent d’automatiser des tâches de retouche ou de génération d’images via des scripts (Python, Bash) ou des API externes.
🏗️ CAO (Conception Assistée par Ordinateur)
-
FreeCAD Logiciel de CAO 3D paramétrique open source. Statut MCP : Des serveurs MCP permettent d’interagir avec les fichiers FreeCAD (
.FCStd) pour automatiser la création ou la modification de modèles 3D. Une IA peut ainsi générer des pièces ou des assemblages à partir de prompts textuels. -
Blender Logiciel open source de modélisation 3D, animation et rendu. Statut MCP : Blender est explicitement cité comme compatible avec MCP dans la documentation officielle. Des serveurs MCP permettent de contrôler Blender via Python (API Blender + MCP), ce qui permet à une IA de créer, modifier ou rendre des scènes 3D, ou même d’automatiser des workflows complexes (ex : génération de visuels pour l’architecture ou le design industriel).
-
OpenSCAD Logiciel de CAO 3D open source basé sur un langage de script. Statut MCP : Des serveurs MCP permettent d’exécuter des scripts OpenSCAD et de récupérer les modèles 3D générés, ce qui facilite l’automatisation de la conception paramétrique.
🌍 Géomatique (SIG & Cartographie)
-
QGIS Système d’Information Géographique (SIG) open source le plus répandu. Statut MCP : Des serveurs MCP permettent d’interagir avec QGIS via PyQGIS (Python) ou des API REST. Une IA peut ainsi :
- Charger des couches géospatiales (Shapefile, GeoJSON, etc.).
- Effectuer des analyses spatiales (requêtes, calculs de distances, etc.).
- Générer des cartes ou des rapports automatiques.
-
GRASS GIS SIG open source avancé pour l’analyse spatiale. Statut MCP : Compatible via des scripts Python ou des connecteurs MCP dédiés pour automatiser des traitements géomatiques (ex : classification d’images satellite, modélisation de terrains).
-
GDAL/OGR Bibliothèque open source pour la manipulation de données géospatiales (raster/vectoriel). Statut MCP : Des serveurs MCP permettent d’utiliser GDAL pour convertir, traiter ou analyser des données géospatiales (ex : transformation de formats, extraction de métadonnées).
-
PostGIS Extension spatiale pour PostgreSQL. Statut MCP : Des serveurs MCP permettent d’interroger des bases de données PostGIS en langage naturel (ex : "Trouve tous les bâtiments à moins de 500m d’une rivière") et de générer des rapports ou des cartes automatiques.
🔌 Comment ça marche ?
Le Model Context Protocol (MCP) est un standard ouvert créé par Anthropic et donné à la Linux Foundation en décembre 2025. Il permet à une IA (comme Claude, ChatGPT, ou des modèles locaux) de :
- Lire/écrire des fichiers (ex :
.svg,.fcstd,.qgs). - Exécuter des fonctions (ex : lancer un rendu dans Blender, une requête SQL dans PostGIS).
- Interagir avec des API externes (ex : Google Drive, GitHub, etc.).
Exemples concrets en 2026 :
- Un agent IA peut créer une carte thématique dans QGIS à partir d’une demande en langage naturel.
- Une IA peut générer un modèle 3D dans FreeCAD en suivant un cahier des charges textuel.
- Un workflow automatisé peut produire une affiche dans Scribus en combinant du texte généré par IA et des images retouchées via GIMP.
📂 Où trouver les serveurs MCP pour ces logiciels ?
- Registry officiel : GitHub MCP Servers (plus de 1 000 serveurs open source en 2026).
- Exemples de serveurs :
💡 Cas d’usage avancés
- Infographie : Génération automatique de visuels pour les réseaux sociaux (Inkscape + IA).
- PAO : Création de catalogues produits à partir d’une base de données (Scribus + MCP + PostGIS).
- CAO : Optimisation topologique de pièces mécaniques (FreeCAD + IA + MCP).
- Géomatique : Analyse de risques naturels à partir de données ouvertes (QGIS + GDAL + MCP).
⚠️ Limites et précautions
- Sécurité : MCP permet un accès profond aux outils. Il faut contrôler les permissions pour éviter des actions non désirées (ex : suppression de fichiers).
- Maturity : Tous les logiciels n’ont pas encore de serveurs MCP officiels, mais la communauté développe activement des connecteurs.
- Performances : Pour les logiciels lourds (Blender, QGIS), une machine puissante est recommandée pour éviter les lenteurs.
🔍 Pour aller plus loin
Question : Souhaites-tu que je te guide pour configurer un serveur MCP spécifique (ex : Blender ou QGIS) ou explorer un cas d’usage précis dans ton domaine ?
Retours de Claude et propositions d'intégration
Contexte
Analyse rédigée par Claude Code (Sonnet 4.6) le 2026-06-20, à partir d'une session de travail sur le PC Windows (eliob).
Logiciels utilisés par Julien : QGIS, Inkscape, GIMP, Scribus. Ces quatre outils forment un workflow cohérent : QGIS pour la donnée géospatiale, Inkscape et Scribus pour la mise en page cartographique et la PAO, GIMP pour le traitement d'image.
Note critique sur la page 227
La page 227 ("Quelles opportunités entre logiciels opensource et les IA") a vraisemblablement été générée par une IA en mode chatbot. Les liens GitHub vers modelcontextprotocol/servers/tree/main/src/servers/blender, .../qgis, .../freecad, .../postgis sont probablement hallusinés — ces sous-dossiers n'existent pas dans le dépôt officiel MCP. À vérifier systématiquement avant d'agir sur ces références.
Analyse par logiciel
QGIS — Priorité 1 (le plus mature et le plus pertinent)
Ce qui existe réellement : Le projet qgis-mcp (disponible sur GitHub, maintenu par la communauté) expose QGIS comme un serveur MCP local. Il s'installe comme un plugin Python dans QGIS et ouvre un socket local sur lequel Claude peut envoyer des commandes PyQGIS.
Capacités concrètes :
- Charger des couches (Shapefile, GeoJSON, WMS, PostGIS)
- Lancer des algorithmes de traitement (buffer, intersection, statistiques zonales)
- Modifier la symbologie d'une couche
- Exporter une carte en PNG/PDF
Avantage spécifique à Julien : La base PostGIS alteris_geo sur le VPS Alteris (79.137.14.202:5432) est déjà accessible. Un workflow QGIS + MCP + PostGIS permettrait à Claude de : interroger la base en SQL spatial → charger le résultat dans QGIS → générer une carte thématique → exporter en PDF, le tout en langage naturel.
Contrainte : QGIS doit être ouvert sur la machine locale. Le MCP communique via socket local (pas de pilotage à distance).
Scribus — Priorité 2 (fort potentiel pour les rendus cartographiques)
Ce qui existe réellement : Scribus expose une API Python complète via son module scribus (accessible en mode headless : scribus --python-script myscript.py). Pas de serveur MCP publié, mais un MCP custom est trivial à écrire : un script Python qui reçoit des commandes MCP et les traduit en appels scribus.*.
Capacités concrètes via Python headless :
- Créer un document depuis un gabarit
.sla - Injecter du texte dans des cadres de texte nommés
- Placer des images
- Exporter en PDF
Cas d'usage concret pour Julien : Générer automatiquement une fiche de synthèse cartographique (titre, carte exportée depuis QGIS, texte de légende) en combinant la carte produite par QGIS MCP et un gabarit Scribus.
Contrainte : Scribus headless est instable sur certaines versions — à tester avec la version installée. La génération de gabarits .sla de référence est un prérequis.
Inkscape — Priorité 3 (manipulation SVG, pas contrôle UI)
Ce qui existe réellement : Pas de serveur MCP dédié pour contrôler l'interface Inkscape. En revanche, deux approches sont réalistes :
- Manipulation directe du SVG — le format natif d'Inkscape est du XML/SVG standard. Claude peut générer ou modifier des fichiers SVG avec Python (
lxml,svgwrite) sans lancer Inkscape. - Inkscape CLI —
inkscape --actions="verb1;verb2"permet des opérations batch (export PNG/PDF, conversion de formats) pilotables depuis un MCP.
Cas d'usage concret pour Julien : Modifier programmatiquement une carte SVG exportée depuis QGIS (changer des couleurs, ajouter un texte, insérer un logo) avant intégration dans Scribus.
Contrainte : L'automatisation reste au niveau fichier, pas au niveau interactif. Pour un usage cartographique, QGIS couvre déjà la plupart des besoins de rendu.
GIMP — Priorité 4 (batch uniquement)
Ce qui existe réellement : GIMP peut être piloté en batch via gimp --no-interface --batch='(script-fu-batch-list ...)' ou via Python-Fu (gimp --batch). Un MCP custom est faisable.
Cas d'usage concret pour Julien : Traitement en masse d'images pour intégration dans des documents Scribus (redimensionnement, recadrage, conversion CMJN, compression). Moins critique si StirlingPDF couvre déjà les besoins de compression.
Contrainte : GIMP batch est lent au démarrage. Pour du traitement image simple, des alternatives Python (Pillow, ImageMagick) sont plus légères à wraper en MCP.
Proposition de workflow intégré
PostGIS (Alteris) ──→ QGIS MCP ──→ carte exportée (PNG/PDF)
│
▼
Inkscape CLI (ajustements SVG)
│
▼
Scribus headless (mise en page finale)
│
▼
StirlingPDF (compression)
Claude pilote l'ensemble de la chaîne : de la requête spatiale jusqu'au document final, sans intervention manuelle.
Ordre de priorité pour une mise en œuvre
| Priorité | Outil | Action | Effort |
|---|---|---|---|
| 1 | QGIS | Installer le plugin qgis-mcp, tester avec une couche PostGIS |
Faible |
| 2 | Scribus | Écrire un MCP custom Python headless, créer un gabarit .sla de référence |
Moyen |
| 3 | Inkscape | MCP de manipulation SVG via lxml + CLI export |
Faible |
| 4 | GIMP | MCP batch Python-Fu | Moyen (faible priorité) |
Recommandation : commencer par QGIS. C'est le maillon central du workflow de Julien, le MCP existe déjà, et la base PostGIS Alteris est immédiatement exploitable.
QGIS MCP
Références
- Plugin officiel : plugins.qgis.org/plugins/qgis_mcp_plugin — version 0.5.0, compatible QGIS 3.28–4.x
- Dépôt GitHub : nkarasiak/qgis-mcp — 102 outils MCP (couches, traitements, symbologie, export, mise en page/atlas, SQL cross-couches)
Architecture
Claude Code ↔ Serveur MCP Python (uvx) ↔ socket TCP local ↔ Plugin QGIS (dock "QGIS MCP")
Le plugin QGIS crée un serveur TCP local. Le serveur MCP Python (lancé par Claude Code via uvx) s'y connecte. QGIS doit être ouvert et le serveur démarré avant de lancer Claude Code.
Prérequis
Installer uv (gestionnaire de paquets Python) si absent :
winget install astral-sh.uv
Installation
1. Plugin dans QGIS
Extensions > Installer/Gérer les extensions > chercher QGIS MCP > Installer.
Redémarrer QGIS, puis cliquer Start Server dans le dock QGIS MCP.
2. Enregistrer le MCP dans Claude Code
claude mcp add -s user qgis -- uvx --from https://github.com/nkarasiak/qgis-mcp/archive/refs/heads/main.zip qgis-mcp-server
-s user = enregistrement global (tous les projets Claude Code).
3. Vérifier
Dans une session Claude Code avec QGIS ouvert et le serveur démarré, demander diagnose — confirme la synchronisation plugin/serveur MCP.
Ordre de démarrage (à chaque session)
- Ouvrir QGIS
- Cliquer Start Server dans le dock QGIS MCP
- Lancer Claude Code
Authentification (optionnel, machines partagées)
Définir QGIS_MCP_TOKEN=votre-secret dans l'environnement QGIS, redémarrer le serveur, puis ajouter la même variable à la config MCP :
"env": { "QGIS_MCP_TOKEN": "votre-secret" }
Capacités principales
| Catégorie | Exemples |
|---|---|
| Couches | Charger Shapefile, GeoJSON, WMS, PostGIS ; lister, supprimer |
| Traitements | Buffer, intersection, statistiques zonales (1000+ algorithmes) |
| Symbologie | Modifier couleurs, classification, étiquettes |
| Export | PNG, PDF, carte mise en page |
| SQL cross-couches | Requêtes spatiales directement depuis Claude |
| Mise en page/Atlas | Créer et exporter des atlas cartographiques |
Lien avec PostGIS Alteris
La base alteris_geo (79.137.14.202:5432, user alteris_admin) est directement utilisable depuis QGIS MCP : Claude peut interroger PostGIS en SQL spatial, charger le résultat comme couche QGIS, styliser et exporter en PDF — sans intervention manuelle.
Le port 5432 n'est pas exposé publiquement (pare-feu VPS). Connexion via tunnel SSH obligatoire (voir section Tunnel SSH).
Tunnel SSH vers PostGIS Alteris
Option 1 — Tunnel manuel (terminal externe)
Lancer avant QGIS/Claude Code :
ssh -L 5433:localhost:5432 debian@79.137.14.202 -N
Puis se connecter sur localhost:5433 au lieu de 79.137.14.202:5432.
Option 2 — Tunnel automatique via paramiko (PyQGIS) ✓ validé 2026-06-20
Ouvre le tunnel directement depuis la console Python QGIS, sans terminal externe.
Installation de paramiko (une seule fois)
sys.executable dans QGIS pointe sur qgis-bin.exe — subprocess est inutilisable. Utiliser pip en interne :
from pip._internal.cli.main import main as pip_main
pip_main(['install', 'paramiko'])
Paramiko s'installe dans C:\Users\eliob\AppData\Roaming\Python\Python312\site-packages (dossier utilisateur). QGIS ne l'inclut pas automatiquement dans sys.path — ajouter à chaque session :
import sys
sys.path.insert(0, r'C:\Users\eliob\AppData\Roaming\Python\Python312\site-packages')
import paramiko
print(paramiko.__version__) # 5.0.0
Script du tunnel (à lancer après l'import paramiko)
import socket
import threading
import select
class SSHTunnel(threading.Thread):
def __init__(self, ssh_host, ssh_user, ssh_password,
remote_port, local_port=5433, remote_host='127.0.0.1'):
super().__init__(daemon=True)
self.ssh_host = ssh_host
self.ssh_user = ssh_user
self.ssh_password = ssh_password
self.remote_host = remote_host
self.remote_port = remote_port
self.local_port = local_port
self._stop = threading.Event()
self.transport = None
self.server_sock = None
def run(self):
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(self.ssh_host, username=self.ssh_user, password=self.ssh_password)
self.transport = client.get_transport()
self.server_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.server_sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
self.server_sock.bind(('127.0.0.1', self.local_port))
self.server_sock.listen(5)
self.server_sock.settimeout(1.0)
print(f"[Tunnel] localhost:{self.local_port} → {self.ssh_host} → {self.remote_host}:{self.remote_port}")
while not self._stop.is_set():
try:
conn, _ = self.server_sock.accept()
threading.Thread(target=self._forward, args=(conn,), daemon=True).start()
except socket.timeout:
continue
self.server_sock.close()
client.close()
print("[Tunnel] Arrêté.")
def _forward(self, local_conn):
try:
chan = self.transport.open_channel(
'direct-tcpip',
(self.remote_host, self.remote_port),
local_conn.getpeername()
)
except Exception as e:
print(f"[Tunnel] Erreur canal : {e}")
local_conn.close()
return
while True:
r, _, _ = select.select([local_conn, chan], [], [], 5)
if local_conn in r:
data = local_conn.recv(4096)
if not data:
break
chan.send(data)
if chan in r:
data = chan.recv(4096)
if not data:
break
local_conn.send(data)
chan.close()
local_conn.close()
def stop(self):
self._stop.set()
tunnel = SSHTunnel('79.137.14.202', 'debian', 'RAW+NEXTE!', remote_port=5432, local_port=5433)
tunnel.start()
import time; time.sleep(1)
s = socket.socket(); s.settimeout(3)
try:
s.connect(('127.0.0.1', 5433)); print("Tunnel OK")
except Exception as e:
print(f"Tunnel KO : {e}")
finally:
s.close()
Pour arrêter : tunnel.stop()
Les avertissements DEPRECATION: Unexpected import of 'paramiko.*' sont inoffensifs (pip qui se plaint d'imports tardifs dans la même session).
Connexion PostGIS depuis PyQGIS
Charger une couche PostGIS
from qgis.core import QgsProject, QgsVectorLayer
uri = (
"host=localhost port=5433 dbname=alteris_geo "
"user=alteris_admin password=Alteris2026 sslmode=disable "
'table="altfoncier_28051"."28051_plu_zonage" (geom) sql='
)
layer = QgsVectorLayer(uri, "PLU Zonage 28051", "postgres")
QgsProject.instance().addMapLayer(layer)
Point clé — champ JSONB props
Les tables altfoncier ont leurs attributs métier dans un champ props de type JSONB. Dans PyQGIS, ce champ est un dict Python (pas une chaîne). Pour y accéder en expression QGIS :
map_get("props", 'typezone') ✓ correct
"props" LIKE '%typezone%' ✗ ne fonctionne pas (props n'est pas une chaîne)
Stylisation CNIG PLU (zonage)
Renderer catégorisé sur map_get("props", 'typezone') :
| typezone | Couleur remplissage | Couleur bordure | Label |
|---|---|---|---|
| U | #FFFF73 |
#A3A300 |
Zones urbaines |
| AU | #FFAA00 |
#CD6600 |
Zones à urbaniser |
| A | #D3FFBE |
#267300 |
Zones agricoles |
| N | #98E600 |
#267300 |
Zones naturelles et forestières |
from qgis.core import QgsCategorizedSymbolRenderer, QgsRendererCategory, QgsFillSymbol
cnig = {
'U': ('#FFFF73', '#A3A300', 'Zones urbaines (U)'),
'AU': ('#FFAA00', '#CD6600', 'Zones à urbaniser (AU)'),
'A': ('#D3FFBE', '#267300', 'Zones agricoles (A)'),
'N': ('#98E600', '#267300', 'Zones naturelles et forestières (N)'),
}
categories = []
for tz, (fill, border, label) in cnig.items():
symbol = QgsFillSymbol.createSimple({
'color': fill, 'outline_color': border, 'outline_width': '0.26'
})
categories.append(QgsRendererCategory(tz, symbol, label))
renderer = QgsCategorizedSymbolRenderer("map_get(\"props\", 'typezone')", categories)
layer.setRenderer(renderer)
layer.triggerRepaint()
Journal de session
2026-06-20 — Premier diagnostic validé
Première connexion réussie entre Claude Code et QGIS via MCP. Résultat du diagnose :
| Vérification | Résultat |
|---|---|
| QGIS | 4.0.3-Norrköping |
| Python | 3.12.13 |
| Qt | 6.11.0 |
| Plugin MCP | 0.5.0 (serveur et plugin synchronisés) |
| Clients connectés | 1 |
| Providers de traitement | 3d, gdal, grass, model, native, pdal, project, qgis, quickosm, script |
| Projet ouvert | Aucun (layer_count = 0) |
Statut global : healthy. Stack complète et opérationnelle.
2026-06-20 — Connexion PostGIS Alteris + stylisation CNIG
- Connexion PostGIS directe (
79.137.14.202:5432) → timeout (port filtré par pare-feu VPS) - Tunnel SSH manuel (
ssh -L 5433:localhost:5432 debian@79.137.14.202 -N) → connexion OK - Couche
altfoncier_28051.28051_plu_zonagechargée (20 entités, commune 28051) - Stylisation CNIG appliquée et validée visuellement
- Point clé découvert : le champ
props(JSONB PostGIS) arrive comme dict Python dans PyQGIS — utilisermap_get("props", 'typezone')en expression, pas LIKE sur chaîne
2026-06-20 — Tunnel paramiko validé
sys.executable=qgis-bin.exe→ subprocess inutilisable pour pip- Installation via
pip._internal.cli.main→ paramiko 5.0.0 installé dans le dossier utilisateur sys.path.insert(0, ...)nécessaire à chaque session (QGIS n'inclut pas le dossier utilisateur)- Tunnel paramiko démarré → Tunnel OK confirmé
- Couche PostGIS chargée via
localhost:5433→ succès
Prochaine étape :
- Exporter la carte en PDF via mise en page QGIS
Inkscape MCP
Vue d'ensemble
Inkscape est un éditeur de graphisme vectoriel open source basé sur le format SVG. À la différence de QGIS, il n'existe pas de plugin MCP officiel pour Inkscape en juin 2026 — mais plusieurs approches sont réalistes, avec des niveaux d'effort et de puissance différents.
Approches possibles
| Approche | Effort | Puissance | Statut |
|---|---|---|---|
| 1. Manipulation SVG directe | Aucun | Élevée (structure du fichier) | Fonctionne déjà |
| 2. MCP wrapper CLI Inkscape | Moyen (écrire un serveur MCP) | Moyenne (opérations CLI) | À construire |
| 3. Extension Inkscape + serveur TCP | Élevé (plugin Python Inkscape) | Maximale (GUI + rendu live) | À construire |
Approche 1 — Manipulation SVG directe (disponible maintenant)
SVG est du XML texte. Claude peut lire, écrire et modifier des fichiers .svg directement avec ses outils natifs, sans aucune intégration supplémentaire.
Ce que Claude peut déjà faire
- Lire la structure d'un SVG (éléments, attributs, groupes, calques Inkscape)
- Créer un SVG complet de zéro (formes, textes, chemins, dégradés)
- Modifier des propriétés : couleur, opacité, stroke, transform, viewBox
- Réorganiser les éléments dans l'arbre XML
- Ajouter/supprimer des calques (
<g inkscape:label="..." inkscape:groupmode="layer">) - Générer des motifs répétitifs, des grilles, des mises en page structurées
Limites de cette approche
- Pas de rendu live dans Inkscape — il faut rouvrir ou recharger le fichier
- Les opérations complexes (nœuds de chemin, boolean ops) sont difficiles à écrire à la main en SVG
- Pas d'accès aux filtres Inkscape (flou, ombres) via simple édition XML
Flux de travail type
Claude génère/modifie le .svg → tu recharges dans Inkscape (Ctrl+Z+rechargement) → ajustements manuels → boucle
Approche 2 — MCP wrapper CLI Inkscape
Inkscape expose une interface en ligne de commande (--actions) qui permet d'automatiser des opérations sans ouvrir l'interface graphique.
Commandes CLI Inkscape utiles
# Export PNG depuis SVG
inkscape --export-type=png --export-filename=sortie.png source.svg
# Export PDF
inkscape --export-type=pdf --export-filename=sortie.pdf source.svg
# Appliquer une transformation et exporter
inkscape --actions="select-all;object-set-attribute:transform,scale(2)" source.svg --export-type=svg --export-filename=sortie.svg
# Convertir texte en chemins
inkscape --actions="select-all;object-to-path" source.svg --export-type=svg --export-filename=sortie.svg
# Obtenir les dimensions du document
inkscape --query-all source.svg
Architecture d'un serveur MCP CLI
Claude Code ↔ Serveur MCP Python (stdio) ↔ subprocess inkscape CLI ↔ fichiers SVG/PNG/PDF
Un serveur MCP Python minimal exposerait des outils comme :
export_png(svg_path, output_path, dpi=96)export_pdf(svg_path, output_path)convert_text_to_paths(svg_path, output_path)get_document_dimensions(svg_path)apply_inkscape_action(svg_path, actions, output_path)
Prérequis
# Inkscape doit être dans le PATH
inkscape --version
# Inkscape 1.x.x (...)
Sur Windows, ajouter le dossier Inkscape au PATH système ou utiliser le chemin complet :
C:\Program Files\Inkscape\bin\inkscape.exe
Approche 3 — Extension Inkscape + serveur TCP (pattern QGIS)
La plus puissante mais la plus complexe à mettre en place. Inkscape supporte les extensions Python via le module inkex. Une extension pourrait ouvrir un socket TCP local et exposer des outils MCP (similaire au plugin QGIS MCP).
Architecture
Claude Code ↔ Serveur MCP Python (uvx) ↔ socket TCP local ↔ Extension Python Inkscape
Ce que ça permettrait
- Accéder aux éléments sélectionnés dans l'interface
- Appliquer des opérations live (boolean, nœuds, effets)
- Lire la position exacte des objets
- Déclencher des menus et actions Inkscape programmatiquement
Obstacles techniques
- Les extensions Inkscape s'exécutent en mode one-shot (lancées, exécutent, se ferment) — un serveur TCP persistant nécessite un thread daemon ou une extension de type "Effect" avec boucle
- L'API
inkexest bien documentée mais moins riche que PyQGIS - Aucun projet open source mature n'existe encore pour ce pattern (juin 2026)
Capacités envisageables selon l'approche
| Capacité | Approche 1 (SVG direct) | Approche 2 (CLI) | Approche 3 (Extension) |
|---|---|---|---|
| Créer des formes géométriques | ✓ | ✓ | ✓ |
| Modifier couleurs / styles | ✓ | ✓ | ✓ |
| Gérer les calques | ✓ | — | ✓ |
| Exporter PNG/PDF | — | ✓ | ✓ |
| Convertir texte en chemins | — | ✓ | ✓ |
| Boolean operations | — | ✓ (CLI) | ✓ |
| Lire sélection courante | — | — | ✓ |
| Appliquer filtres Inkscape | — | ✓ (partiel) | ✓ |
| Batch processing de fichiers | ✓ | ✓ | — |
| Rendu live dans l'UI | — | — | ✓ |
Cas d'usage concrets avec Inkscape
Avec l'approche 1 (maintenant)
- Générer des pictogrammes SVG (icônes, logos simples) à partir d'une description
- Créer des gabarits de mise en page (grilles, marges, zones de texte)
- Modifier en batch les couleurs d'une charte graphique sur plusieurs fichiers SVG
- Produire des cartes thématiques simplifiées à partir de données (ex : export QGIS → SVG → habillage Claude)
- Générer des diagrammes (organigrammes, schémas techniques) en SVG structuré
Avec l'approche 2 (à construire, effort ~2h)
- Pipeline : Claude génère SVG → CLI Inkscape exporte PDF → livraison automatique
- Batch conversion de SVG en PNG à différentes résolutions
- Optimisation SVG (texte en chemins avant impression)
Lien avec le workflow cartographique
Inkscape est souvent utilisé en aval de QGIS pour l'habillage cartographique (polices, mise en page avancée, symboles non gérés par QGIS). Le flux naturel serait :
QGIS MCP → export SVG → Claude (habillage Inkscape SVG direct) → Inkscape (retouches manuelles) → export PDF final
QGIS peut exporter une mise en page en SVG via Projet > Imprimer la mise en page > Exporter en SVG. Claude peut ensuite enrichir ce SVG (légendes, encadrés, pictogrammes) avant ouverture dans Inkscape.
Prochaine étape proposée
Trois options pour explorer concrètement :
- Test SVG direct — Claude génère un SVG d'exemple (carte, diagramme, gabarit) et tu l'ouvres dans Inkscape pour voir le résultat
- Prototype CLI MCP — écrire un serveur MCP Python minimal (~50 lignes) wrappant les exports Inkscape CLI, l'enregistrer dans Claude Code
- Exploration API inkex — ouvrir la console Python d'Inkscape et tester quelques commandes
inkexpour évaluer la faisabilité de l'approche 3
Mise en place réalisée (2026-07-21)
L'approche 2 (MCP wrapper CLI Inkscape) a été implémentée sur le PC Windows eliob.
Obstacle rencontré : version Microsoft Store (MSIX)
Le PC avait initialement Inkscape installé via le Microsoft Store, packagé en MSIX. Ce type de paquet s'est révélé inutilisable pour un pilotage CLI :
- L'exécutable dans
C:\Program Files\WindowsApps\...\inkscape.exerefuse l'exécution directe (Accès refusé) — ACL verrouillées par le sandboxing du paquet. - Aucun alias d'exécution (
AppExecutionAlias) n'est déclaré dans le manifest (AppxManifest.xml) — impossible d'appelerinkscapedepuis le PATH. Invoke-CommandInDesktopPackage(la seule méthode de lancement programmatique disponible) ouvre l'app en mode GUI sans retourner la main ni capturer stdout — inexploitable pour de l'automatisation headless (export,--actions, etc.).
Conclusion : les versions Inkscape installées via le Microsoft Store ne conviennent pas à un usage MCP/CLI. Il faut la version standalone.
Fix — installation de la version standalone
winget install --id Inkscape.Inkscape --source winget --accept-package-agreements --accept-source-agreements
- Package winget
Inkscape.Inkscape(distinct du Store) → installe dansC:\Program Files\Inkscape\bin\inkscape.exe - Version installée : 1.4.4 (dcaf3e7, 2026-05-05)
- Vérification :
& "C:\Program Files\Inkscape\bin\inkscape.exe" --versionrépond correctement, exit code 0
Important : si une version Store est déjà présente, la désinstaller d'abord (Paramètres > Applications, ou winget uninstall) pour éviter la confusion entre les deux installations.
Serveur MCP créé
- Fichier :
C:\Users\eliob\.claude\mcp_inkscape.py - Framework :
FastMCP(même pattern que les autres MCP du projet —mcp_portainer.py,mcp_jellyfin.py, etc.) - Constante :
INKSCAPE_EXE = r"C:\Program Files\Inkscape\bin\inkscape.exe"(chemin en dur — adapter si l'installation standalone se fait ailleurs)
Outils exposés :
| Outil | Rôle |
|---|---|
get_version() |
Vérifie qu'Inkscape répond (smoke test) |
get_document_dimensions(svg_path) |
Dimensions et bounding boxes de tous les objets (--query-all) |
export_png(svg_path, output_path="", dpi=96) |
Export PNG |
export_pdf(svg_path, output_path="") |
Export PDF |
convert_text_to_paths(svg_path, output_path="") |
Convertit les textes en chemins vectoriels |
apply_inkscape_action(svg_path, actions, output_path="") |
Échappatoire générique — chaîne d'actions Inkscape libre (; séparées) |
Toutes les fonctions retournent {ok, returncode, stdout, stderr} (+ output_path pour les exports) — pas d'exception levée sur échec CLI, le code retour renseigne l'appelant.
Enregistrement MCP
Ajouté dans C:\Users\eliob\.mcp.json :
"inkscape": {
"type": "stdio",
"command": "python",
"args": ["C:\\Users\\eliob\\.claude\\mcp_inkscape.py"],
"env": {}
}
Nécessite un rechargement de session Claude Code pour que le nouveau serveur MCP soit détecté et ses outils exposés.
Test réalisé
SVG de test (rectangle bleu + texte) → export_png → PNG de 1974 octets généré avec succès. get_document_dimensions retourne correctement les bounding box (svg1,10,10,180,80 etc.) via --query-all.
À reproduire demain sur le PC Windows Alteris
- Vérifier si Inkscape est installé via le Store (
Get-AppxPackage -Name "*Inkscape*") — si oui, désinstaller winget install --id Inkscape.Inkscape --source winget --accept-package-agreements --accept-source-agreements- Vérifier
C:\Program Files\Inkscape\bin\inkscape.exe --version - Copier
mcp_inkscape.py(script identique, cheminINKSCAPE_EXEà adapter si besoin) - Ajouter l'entrée
inkscapedans le.mcp.jsonde la machine Alteris - Recharger la session Claude Code et tester
get_version()+export_png()sur un SVG de test
Confirmation de fonctionnement (2026-07-21, session rechargée)
Après rechargement de la session Claude Code, le serveur MCP inkscape est bien détecté et ses 6 outils sont exposés. Tests effectués dans l'ordre :
| Test | Résultat |
|---|---|
get_version() |
OK — Inkscape 1.4.4 (dcaf3e7, 2026-05-05) |
get_document_dimensions(svg_path) sur un SVG de test (rect 80x80) |
OK — svg1,10,10,80,80 / rect1,10,10,80,80 |
export_png(svg_path) |
OK — PNG généré (389 octets), fichier vérifié sur disque |
Conclusion : le protocole MCP Inkscape est pleinement opérationnel sur le PC Windows eliob, de bout en bout (Claude Code → serveur MCP Python → subprocess Inkscape CLI → fichier de sortie).
LibreOffice MCP
État au 2026-10-02 : réinstallé sur le poste
julie(le PCeliobaprès la réinstallation de Windows du 2026-08-08, qui avait emporté l'ancienne configuration). Extension Nelson MCP 0.14.3, serveur actif sur127.0.0.1:8766(processsoffice.bin), MCPnelsoninscrit en portée utilisateur dansC:\Users\julie\.claude.json— voir « Installation surjulie» ci-dessous.État au 2026-08-05 : installé et opérationnel sur le PC Windows eliob. Extension Nelson MCP 0.7.1, LibreOffice 26.2.5.2, serveur HTTP actif sur
127.0.0.1:8766, 110 outils exposés, MCPnelsonenregistré dans Claude Code pour le projetD:\Syncthing\Jux_univers\Claude-pcelio+jux.Cette page a été réécrite le 2026-08-05 à partir de l'installation réelle. La version précédente reposait sur une recherche web et contenait plusieurs erreurs — voir la section « Erreurs de la version précédente » en fin de page.
Nelson MCP — piloter LibreOffice depuis Claude Code
Le principe
Nelson n'est pas un serveur MCP séparé qu'on lance à côté de LibreOffice. C'est une extension .oxt qui embarque un serveur HTTP dans le process soffice.bin. Claude Code s'y connecte en HTTP et pilote les documents ouverts dans la fenêtre LibreOffice, en direct, via l'API UNO.
Conséquences pratiques :
-
pas de commande à lancer, pas de service à installer — LibreOffice ouvert = serveur disponible
-
toutes les opérations UNO tournent sur le thread principal de LibreOffice (sécurité thread)
-
on voit les modifications apparaître à l'écran pendant que l'IA travaille
-
fermer LibreOffice ferme le serveur
-
Projet :
quazardous/nelson-mcp(lobehub n'est qu'un annuaire de serveurs MCP, pas la source) -
Auteur : David Berlioz — licence MPL 2.0
-
Version installée : 0.7.1
-
Dépendance déclarée : LibreOffice ≥ 4.1 (le
.oxtembarque son propre Python 3.12 et ses libs)
Installation
1. Extension
Outils → Gestionnaire des extensions → Ajouter → sélectionner nelson.oxt, puis redémarrer LibreOffice.
Emplacement après installation (Windows) :
%APPDATA%\LibreOffice\4\user\uno_packages\cache\uno_packages\<hash>.tmp_\nelson.oxt\
Le sous-dossier <hash>.tmp_ est généré par LibreOffice — sur eliob : lu3692afhf.tmp_. Ne pas le coder en dur dans un script, le retrouver par Get-ChildItem ...\uno_packages -Recurse -Filter nelson.oxt.
2. Démarrage du serveur
Valeurs par défaut : host localhost, port 8766. Modifiables dans Outils → Options → Nelson, ainsi que TLS (use_ssl, ssl_cert, ssl_key).
Vérifier :
netstat -ano | Select-String ":8766"
Le PID retourné doit être celui de soffice.bin.
3. Enregistrement dans Claude Code
claude mcp add --transport http nelson http://127.0.0.1:8766/mcp
Écrit dans C:\Users\eliob\.claude.json, section projects > <projet> > mcpServers. Vérifier avec claude mcp list → nelson: ✔ Connected.
Relancer la session Claude Code : les outils d'un MCP ajouté en cours de session ne sont pas chargés.
3 bis. Installation sur le poste julie (2026-10-02)
Le CLI claude n'est pas dans le PATH de ce poste (application de bureau) : claude mcp add est impossible, l'entrée s'écrit à la main dans C:\Users\julie\.claude.json (sauvegarder d'abord), puis on ferme et rouvre l'application.
json mcpServers: { nelson: { type: http, url: http://127.0.0.1:8766/mcp } }
⚠ Piège : en portée projet, le MCP n'est pas chargé. Première inscription sous projects > D:\Syncthing\Jux_univers\Claude-pcelio+jux\.claude > mcpServers : après redémarrage, aucun outil Nelson — et pas davantage ceux de bookstack ou kdrive, inscrits au même endroit. Seul caldav, en portée utilisateur (mcpServers à la racine du fichier), était chargé. Nelson a donc été déplacé à la racine. Contrepartie : ses outils sont présents dans toutes les sessions, quel que soit le projet.
Nombre d'outils variable. Le tools/list interrogé en HTTP, LibreOffice ouvert sans document, n'a rendu que 26 outils (gestion de documents, images, formes, styles, jobs, batch_execute) au lieu des 110 relevés en août. Les outils Writer, Calc ou Draw n'apparaissent que si un document de ce type est actif — ouvrir le document avant de démarrer la session.
Endpoints HTTP
| Méthode | Chemin | Rôle |
|---|---|---|
| POST/GET/DELETE | /mcp |
MCP Streamable HTTP (transport actuel) — c'est celui à utiliser |
| POST/GET | /sse, /messages |
ancien transport SSE, pour clients qui ne gèrent pas Streamable HTTP |
| GET | /health |
état du serveur |
| GET | /api/tools |
référence HTML de tous les outils |
| GET | / |
page d'info |
| GET/POST | /api/config |
lecture/écriture de la configuration — désactivé par défaut (http.enable_config_api) |
Test de connexion en une commande :
curl -s -X POST http://127.0.0.1:8766/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"test","version":"1"}}}'
Réponse attendue : serverInfo: {"name":"Nelson MCP","version":"0.7.1"} + un en-tête Mcp-Session-Id.
Ce que ça permet réellement — 110 outils
Writer
Lecture et écriture par paragraphe (read_paragraphs, insert_at_paragraph, set_paragraph_text, delete_paragraph, duplicate_paragraph, insert_paragraphs_batch), styles, plan/outline, tableaux, images, cadres, hyperliens, commentaires, statistiques, recherche/remplacement, suivi des modifications (accept/reject), navigation (signets, titres, proximité), et un index plein texte avec stemming (33 langues embarquées via snowballstemmer, base SQLite embarquée).
Calc
Cellules, lignes, feuilles, formules, graphiques, formatage conditionnel, commentaires, navigation, recherche, et un détecteur d'erreurs de feuille.
Draw / Impress
Pages, formes, masques, notes, transitions, espaces réservés.
Transversal
execute_batch (plusieurs appels en une requête, avec chaînage de variables entre opérations), undo/redo, document_health_check (titres vides, sauts de niveau de titre, images orphelines…), ouverture/création/sauvegarde/export/impression, jobs asynchrones (list_jobs, get_job).
Galeries et images IA
- Galerie d'images indexée depuis un dossier, avec recherche plein texte et métadonnées XMP en fichier sidecar
- Galerie de documents indexée depuis un dossier
- Génération et édition d'images (
generate_image,edit_image) via AI Horde, OpenAI-compatible, ou Stable Diffusion WebUI Forge local - Fournisseur LLM Ollama pour l'indexation/description automatique
Fonction =PROMPT() dans Calc
Fournie par XPromptFunction.rdb — interroge un fournisseur IA directement depuis une formule de feuille de calcul.
Deux garde-fous activés par défaut
Ce sont les réglages les plus importants de la page Options (core) :
| Réglage | Défaut | Effet |
|---|---|---|
force_track_changes |
activé | active l'enregistrement des modifications avant toute mutation venant du MCP — toutes les modifications de l'IA sont visibles et réversibles |
follow_activity |
activé | fait défiler la vue vers l'endroit modifié, en temps réel |
À ne pas désactiver sans raison : c'est ce qui rend une session d'édition par IA relisable.
Le panneau latéral Nelson (deck NelsonDeck, visible dans Writer et Calc) affiche le journal des actions MCP et les jobs en cours.
Presets — réduire la surface d'outils
110 outils, c'est beaucoup de contexte. Nelson permet de créer des endpoints filtrés : Options → Nelson → MCP → preset puis bouton de création. L'endpoint apparaît sur /mcp/<preset>.
| Preset | Contenu |
|---|---|
minimal |
8 outils — lister/ouvrir/créer/sauver, lire et insérer des paragraphes, insérer une image |
writer-read |
14 outils, lecture seule |
writer-edit |
24 outils d'édition Writer |
calc |
13 outils tableur |
gallery |
10 outils images/documents |
Utile pour un modèle plus petit, ou pour interdire les mutations (writer-read).
Launchers intégrés — l'autre façon de faire
Nelson sait lancer lui-même Claude Code (aussi Gemini CLI et OpenCode), depuis LibreOffice. Le module launcher.claude crée alors un espace de travail dans :
~/.local/share/nelson/cli/claude
et y génère automatiquement :
.mcp.jsonpointant sur<url>/mcp.claude/settings.jsonavec"allow": ["mcp__nelson__*"]— auto-approbation de tous les outils NelsonCLAUDE.md(méta-prompt fourni par l'extension).claude/skills/nelson/SKILL.md
puis lance claude --resume dans ce dossier.
Choix retenu sur eliob : ne pas utiliser le launcher, et brancher le MCP sur les projets existants. Raisons — l'espace de travail du launcher est isolé et perd le CLAUDE.md du Jux_univers ; et l'auto-approbation globale mcp__nelson__* inclut les outils de mutation et de sauvegarde de fichiers.
Tunnels — accès distant
Modules tunnel.cloudflare, tunnel.ngrok, tunnel.tailscale (Funnel), tunnel.bore : exposent le serveur HTTP local à l'extérieur, pour piloter LibreOffice depuis un client MCP distant (l'aide embarquée documente le cas ChatGPT via Tailscale).
À manier avec prudence : cela publie sur internet un endpoint qui peut lire, modifier et enregistrer des fichiers locaux. Le serveur écoute par défaut sur localhost uniquement — c'est le bon réglage. Voir l'incident du 2026-06-09 sur l'API RC rclone exposée en 0.0.0.0 (VPS Jux), même schéma de risque.
Aide embarquée
L'extension embarque sa propre documentation HTML, consultable directement :
<...>\nelson.oxt\help\index.html
Fichiers utiles : writer.html (33 Ko), calc.html (20 Ko), draw.html, batch.html, documents.html, ai_images.html, et des how-to (howto_connect-chatgpt-tailscale, howto_setup-ollama-indexation, howto_setup-image-gallery, howto_setup-forge-images).
Points de vigilance
- Un document doit être ouvert dans LibreOffice pour la plupart des outils ; les outils sont filtrés selon le type de document actif (writer / calc / draw)
- Fermer LibreOffice coupe le MCP — Claude Code affichera le serveur comme déconnecté
- Le dossier d'installation contient un
<hash>.tmp_variable : ne jamais le figer dans un script - Le port par défaut est 8766, pas 8765
/api/config(écriture de configuration en HTTP) est désactivé par défaut : le laisser ainsi- L'extension embarque
pysqlite3compilé (_sqlite3.cp312-win_amd64.pyd) — l'installation est liée à Python 3.12 de LibreOffice
Erreurs de la version précédente de cette page
La version antérieure de cette page avait été rédigée à partir d'une recherche web, avant installation. Corrections :
| Ancienne affirmation | Réalité vérifiée |
|---|---|
| Port 8765 | Port 8766 (cfg.get("port") or 8766 dans modules/http/__init__.py) |
python3 -m nelson_mcp --port 8765 |
Cette commande n'existe pas — le serveur est embarqué dans soffice.bin |
Variante de configuration stdio |
Inexistante — HTTP uniquement |
.oxt à télécharger « depuis lobehub » |
lobehub est un annuaire ; la source est le dépôt quazardous/nelson-mcp |
| LibreOffice ≥ 24.2 requis | La dépendance déclarée est 4.1 ; LibreOffice 26.2.5.2 en place |
Alternatives libreoffice-mcp (KeithCu) port 2083, OooDev |
Sans objet une fois Nelson en place |
Baikal MCP pour la gestion des agendas perso et NEXTE et de l'observatoire des tâches
1-l'infrastructure Baikal et Infcloud sur le vps personnel - juxjux.ovh
Cas à part de la gestion des contacts et du calendrier -
Non pas sur alteris.ovh mais sur juxjux.ovh car primauté de l'infrastructure personnelle de JUlien pour la gestion des agendas et des contacts.
la solution contacts et calendrier
Solution d'unification des contacts et du calendrier de Julien.
État au 3 août 2026 — déployé et opérationnel de bout en bout. Seul vdirsyncer (agrégation Google/Infomaniak) reste à faire.
1. Objectif
Unifier la base de contacts et de calendriers, dispersée entre plusieurs sources (Google, Infomaniak, téléphone), autour d'un point central auto-hébergé sur le VPS juxjux.ovh, synchronisé vers tous les clients existants.
Baïkal est la source de vérité unique. Roundcube, InfCloud et DAVx5 en sont des clients ; vdirsyncer sera le seul composant qui écrit depuis l'extérieur vers Baïkal.
2. Architecture réellement déployée
| Composant | Rôle | Emplacement | État |
|---|---|---|---|
| Baïkal | Serveur CardDAV + CalDAV, stockage central | Docker, VPS juxjux | En service |
| InfCloud | Agenda et contacts web | Statique, servi par nginx | En service |
| Roundcube | Interface web des contacts | Docker, VPS juxjux | En service |
| Nginx | Reverse proxy HTTPS | Hôte VPS | En service |
| DAVx5 | Pont de synchronisation vers Android | Téléphone | Opérationnel |
| Fossify Agenda | Client calendrier | Téléphone (via DAVx5) | Opérationnel |
| vdirsyncer | Agrège Google et Infomaniak vers Baïkal | VPS, cron | Non déployé |
| Thunderbird | Client mail, indépendant de ce circuit | Téléphone | Inchangé |
3. Accès
| Service | URL | Identifiant |
|---|---|---|
| Agenda + contacts web | https://baikal.juxjux.ovh/infcloud/ | Julien (compte Baïkal) |
| Contacts web (Roundcube) | https://secretariat.juxjux.ovh | julien.bertrand@ik.me (compte mail Infomaniak) |
| Administration Baïkal | https://baikal.juxjux.ovh/admin/ | compte admin Baïkal |
| Découverte DAV (DAVx5) | https://baikal.juxjux.ovh/dav.php/ |
Julien |
Utilisateur Baïkal : Julien — avec un J majuscule. La casse compte dans les URLs DAV.
- Principal :
https://baikal.juxjux.ovh/dav.php/principals/Julien/ - Contacts :
https://baikal.juxjux.ovh/dav.php/addressbooks/Julien/default/ - Calendrier :
https://baikal.juxjux.ovh/dav.php/calendars/Julien/default/
Certificats Let's Encrypt valides jusqu'au 1er novembre 2026 pour les deux domaines. Celui de baikal.juxjux.ovh existait déjà mais avait expiré le 8 février 2026 (vestige d'une tentative antérieure) ; il a été renouvelé le 3 août.
4. Déploiement
Stack sur le VPS : /home/debian/baikal/docker-compose.yml, projet compose baikal. Sources versionnées : Syncthing/Jux_univers/Jux-scripts/Baikal-Contacts/.
| Fichier | Rôle |
|---|---|
docker-compose.yml |
Stack Baïkal + Roundcube |
baikal.juxjux.ovh.conf |
Vhost Baïkal (.well-known forcés en HTTPS + service d'InfCloud) |
secretariat.juxjux.ovh.conf |
Vhost Roundcube |
infcloud-config.js |
Configuration InfCloud |
finaliser_tls.sh |
Vérifie le DNS puis lance certbot |
vps_backup.sh |
Script de sauvegarde complet, Baïkal inclus |
push_bookstack.py |
Publication de cette page via l'API BookStack |
| Service | Image | Port local | Base | RAM |
|---|---|---|---|---|
| baikal | ckulka/baikal:nginx |
127.0.0.1:8088 | SQLite | ~38 Mo |
| roundcube | roundcube/roundcubemail:latest (1.7.2) |
127.0.0.1:8083 | SQLite | ~32 Mo |
| InfCloud | fichiers statiques (13 Mo sur disque) | — | aucune | 0 |
Les deux containers pèsent environ 70 Mo au total, contre environ 600 Mo avec l'architecture MariaDB initialement prévue. Ce choix était important : le VPS était en pression mémoire au moment du déploiement (swap à 3,8/4,0 Go).
5. Écarts avec le plan initial
Le plan préparé prévoyait une configuration qui ne pouvait pas fonctionner en l'état. Écarts constatés et corrigés :
| Point | Prévu | Réel | Raison |
|---|---|---|---|
| Port Baïkal | 8081 | 8088 | 8081 est occupé par FreshRSS. 8088 correspond au vhost baikal.juxjux.ovh préexistant |
| Port Roundcube | 8082 | 8083 | 8082 est ciblé par un vhost nextcloud mort |
| Domaine Roundcube | mail.juxjux.ovh |
secretariat.juxjux.ovh |
Aucun DNS n'existait ; mail. prêtait à confusion avec les MX OVH du domaine |
| Base Roundcube | MariaDB | SQLite | ~400 Mo de RAM économisés, suffisant en mono-utilisateur |
| Vhost Baïkal | À créer | Déjà présent | Le fichier baikal.conf préparé n'a pas servi |
| Agenda web | Plugin calendar Roundcube | InfCloud | Plugin inutilisable, voir §6.2 |
6. Pièges rencontrés
6.1 Les plugins carddav et calendar ne sont pas dans l'image Roundcube
L'image officielle ne fournit ni carddav ni calendar. Les déclarer dans ROUNDCUBEMAIL_PLUGINS ne fait que les activer — s'ils sont absents, Roundcube part en erreur fatale.
Il faut les faire installer par composer au démarrage, via ROUNDCUBEMAIL_COMPOSER_PLUGINS (et non ROUNDCUBEMAIL_INSTALL_PLUGINS, qui n'existe pas dans cette image) :
Le premier démarrage est alors plus long (téléchargement composer).
6.2 Le plugin calendar de Roundcube est une impasse
Trois obstacles successifs, testés le 3 août :
a) Il casse le tout premier démarrage. Le script d'initialisation de base de kolab/calendar s'exécute avant que l'entrypoint n'écrive la configuration Roundcube : il tombe sur le DSN MySQL par défaut et échoue en SQLSTATE[HY000] [2002] No such file or directory. Cette erreur fatale empêche la régénération de l'autoloader composer, ce qui casse aussi le plugin carddav :
Symptôme : HTTP 500 permanent, alors que les fichiers du plugin sont bien présents sur le disque — c'est vendor/composer/autoload_psr4.php qui ne contient aucune entrée carddav.
b) Ce premier obstacle est contournable. Réinstallé après que Roundcube ait été initialisé une première fois, la configuration existe déjà dans le volume et l'initialisation aboutit (Creating database schema... [OK]). Vérifié.
c) Mais le plugin ne sait pas parler à Baïkal. La seule version installable, kolab/calendar 3.2.9.1, ne livre que les pilotes database, kolab et ldap — aucun pilote caldav. Il ne créerait qu'un agenda local dans Roundcube, sans lien avec Baïkal ni le téléphone : pire qu'inutile, on pourrait y saisir des rendez-vous en croyant qu'ils se synchronisent.
Les versions qui embarquent le pilote CalDAV (3.5.7, 3.6.1) dépendent de kolab/libkolab, qui réclame pear/http_request2 — paquet bloqué par composer pour faille de sécurité (PKSA-jrt3-xndd-g4sz). Ne pas contourner ce garde-fou sur un service exposé sur internet.
Conclusion : agenda web assuré par InfCloud (§7), plugin calendar définitivement écarté.
6.3 Baïkal ignore X-Forwarded-Proto — fuite HTTP sur la découverte
Baïkal ne tient pas compte de X-Forwarded-Proto et générait ses redirections de découverte en HTTP nu :
C'est exactement le risque identifié dès la conception : CardDAV et CalDAV envoient les identifiants à chaque synchronisation. Un client suivant cette redirection part sur du HTTP.
Corrigé en court-circuitant Baïkal directement dans le vhost :
À vérifier après tout reload nginx : le rechargement n'est pas instantané, un test lancé dans la foulée peut encore montrer l'ancien comportement.
6.4 Roundcube exige un serveur IMAP pour authentifier
Roundcube n'a pas de base d'utilisateurs propre : son écran de login valide les identifiants contre le serveur IMAP configuré. Sans IMAP joignable, aucune connexion n'est possible — donc aucun accès aux contacts non plus.
L'idée d'un Roundcube « contacts et agenda seulement, sans IMAP » n'est pas réalisable. La configuration retenue pointe vers ssl://mail.infomaniak.com:993, ce qui couvre le compte julien.bertrand@ik.me (le domaine ik.me est servi par l'infrastructure Infomaniak).
Si un jour le compte passe en double authentification, il faudra générer un mot de passe d'application Infomaniak.
6.5 Baïkal doit être installé en SQLite
L'installeur Baïkal propose MySQL ou SQLite. Choisir SQLite : la stack ne contient aucun serveur MySQL, cocher « Enable MySQL » mène à une impasse. Base à /var/www/baikal/Specific/db/db.sqlite, dans le volume baikal-data.
7. InfCloud — l'agenda web
Client CalDAV/CardDAV entièrement côté navigateur : aucun backend, aucune base, du HTML/JS servi en statique par nginx. Affiche agenda et contacts.
- Source officielle :
https://www.inf-it.com/InfCloud_0.13.1.zip(3,9 Mo, sha2569fa95edd2dcc2b864a10b503ab9220895ea28d4c5541ab02117de1511d5464d4) - Installé dans
/home/debian/baikal/infcloud, propriétairewww-data - Servi sur le même domaine que Baïkal (
/infcloud/) et non sur un sous-domaine dédié : InfCloud interroge/dav.php/en direct depuis le navigateur ; depuis une autre origine il aurait fallu ouvrir du CORS sur les méthodes DAV de Baïkal, ce qui est fragile et l'affaiblirait. Même origine = aucun CORS. - Dossier
auth/supprimé : module PHP d'authentification par proxy inutilisé ici. nginx ne traite pas le PHP à cet emplacement — servis en statique, ces fichiers.incauraient exposé leur contenu en clair.
Réserve assumée : projet figé depuis 2015, interface datée, embarque jQuery 2.1.4. Acceptable parce qu'il n'a aucun composant serveur : rien à maintenir, rien à patcher. La seule alternative maintenue serait SOGo, au prix d'environ 500 Mo de RAM et d'une base PostgreSQL.
7.1 Les trois pièges d'InfCloud
a) Le bloc regex du vhost avale tous les JS. Le vhost Baïkal contient déjà :
En nginx, un bloc regex ~* a priorité sur un bloc préfixe ordinaire. Tous les fichiers JavaScript d'InfCloud auraient donc été proxifiés vers Baïkal. Comme InfCloud est presque intégralement du JavaScript, la page serait restée blanche — symptôme difficile à diagnostiquer. Il faut ^~, qui passe devant les regex :
b) L'endpoint par défaut vise DAViCal. Le config.js livré pointe /caldav.php/ ; Baïkal expose /dav.php/.
c) Le href doit viser les principals, pas la racine DAV. InfCloud accole le nom d'utilisateur au href. Avec /dav.php/ il demandait /dav.php/Julien/ → 404. La documentation du fichier le précise : « globalNetworkCheckSettings : principal URL WITHOUT the USER/ part ». Chez Baïkal, la bonne valeur est donc :
Après toute modification de config.js, rechargement forcé du navigateur (Ctrl+Maj+R) : le fichier est mis en cache.
7.2 Digest → Basic : le blocage d'authentification
Baïkal était configuré en dav_auth_type: Digest et annonçait WWW-Authenticate: Digest realm="BaikalDAV".
InfCloud ne sait faire que du Basic. Ses requêtes partaient donc en 401 en boucle, alors que DAVx5 — qui gère Digest — fonctionnait parfaitement avec le même compte. Le symptôme prêtait à confusion : les identifiants étaient bons.
Diagnostic par les logs nginx, où le champ utilisateur est renseigné mais la réponse reste 401 :
Correctif : dav_auth_type: Basic dans /var/www/baikal/config/baikal.yaml, puis docker restart baikal.
Ce n'est pas un pis-aller. Digest repose sur MD5, est considéré comme obsolète, et impose au serveur de stocker une empreinte exploitable ; Basic sur TLS est aujourd'hui la recommandation, et tout est en HTTPS ici, y compris les redirections de découverte (§6.3).
Les mots de passe restent valides : Baïkal calcule la même empreinte md5(username:auth_realm:password) dans les deux modes (Baikal\Core\PDOBasicAuth::validateUserPass), avec auth_realm: BaikalDAV conservé en interne — même si le serveur annonce désormais realm="sabre/dav" côté client. Rien à redéfinir, DAVx5 bascule tout seul.
Sauvegarde : /var/www/baikal/config/baikal.yaml.bak-260803-digest (dans le container).
8. Sauvegarde
Baïkal a été ajouté à /opt/backups/vps_backup.sh le 3 août 2026 (cron quotidien à 2h UTC).
- Dossier kDrive de destination : 1467771 (
SYNC-pour_VPS/backups/baikal) - Le bilan de fin de log passe de 5 à 6 services (le total est calculé dynamiquement, pas codé en dur)
- Sauvegarde de l'ancien script :
/opt/backups/vps_backup.sh.bak-260803
La fonction archive deux volumes, via un tar intermédiaire puis 7z :
Specific/— la basedb.sqlite(contacts et calendriers)config/—baikal.yaml(paramètres et empreinte du mot de passe admin)
Sans le second, la restauration est incomplète. Testée le 3 août : upload HTTP 200, aucun résidu temporaire.
InfCloud n'a pas besoin d'être sauvegardé (fichiers statiques réinstallables), mais son config.js est versionné dans Jux-scripts/Baikal-Contacts/.
9. Vérifications effectuées le 3 août 2026
| Test | Résultat |
|---|---|
GET /dav.php/ |
HTTP 401 — authentification bien exigée |
PROPFIND /dav.php/ |
HTTP 401 et non 405 — nginx laisse passer les méthodes DAV étendues |
.well-known/carddav et caldav |
301 vers HTTPS |
| Installation Baïkal | Utilisateur Julien, carnet et calendrier default créés |
| Login Roundcube | IMAP Infomaniak accepté |
| Découverte CardDAV Roundcube | Carnet résolu à .../dav.php/addressbooks/Julien/default/ |
| Écriture d'un contact | vCard 3.0 écrite par RCMCardDAV v5.1.3, relue dans Baïkal, accents UTF-8 préservés |
| Synchronisation DAVx5 | 5 rendez-vous d'août écrits dans Baïkal par DAVx5/4.5.18-ose, synctoken du calendrier à 6 |
| InfCloud | 32 ressources servies en 200 ; PROPFIND sur principals, addressbooks et calendars tous en 207 |
| Dotfiles InfCloud | .htaccess bloqué en 403 |
| Sauvegarde Baïkal | Archive uploadée sur kDrive, HTTP 200 |
Note : dans la table carddav_addressbooks de Roundcube, une seconde ligne nommée %N avec une URL vide n'est pas une erreur — c'est le template de rcmcarddav v5, qui porte les réglages appliqués aux carnets découverts.
10. Reste à faire
10.1 vdirsyncer — agrégation Google et Infomaniak
Seule brique du plan initial encore absente. Objectif : faire remonter dans Baïkal les contacts existants sur Google et Infomaniak, pour que Baïkal devienne le point central réel et pas un silo de plus.
- Google Contacts : CardDAV via
https://www.google.com/carddav/v1/principals/EMAIL/— nécessite un mot de passe d'application (compte en 2FA) - Infomaniak : CardDAV natif, identifiants standards du compte mail
- vdirsyncer : outil CLI léger, une paire de synchronisation par source, exécuté par cron sur le VPS
Décision à prendre avant déploiement :
- one-way (Google/Infomaniak → Baïkal, lecture seule) : sans risque, mais les modifications faites dans Baïkal ne remontent pas vers Google
- two-way : tout reste aligné, mais un conflit ou une erreur de configuration peut propager des suppressions dans les deux sens
Recommandation : démarrer en one-way le temps de vérifier que l'import est fidèle, puis basculer si besoin.
10.2 Nettoyage
Quatre vhosts morts traînent dans /etc/nginx/sites-enabled/, vestiges des tentatives précédentes : radicale, agendav, infcloud, nextcloud. Le dernier cible le port 8082, ce qui a contraint le choix du port de Roundcube. Attention : le vhost nommé radicale.juxjux.ovh sert en réalité Readeck — ne pas le supprimer sans vérifier.
11. Checklist sécurité
- Aucun mot de passe
CHANGE_ME_...en production — la bascule vers SQLite a supprimé les identifiants MariaDB du compose - HTTPS forcé sur les deux vhosts (redirection 80 vers 443)
- Certificats Let's Encrypt valides, renouvellement automatique certbot en place
- Découverte DAV forcée en HTTPS (§6.3)
- Authentification Basic uniquement sur TLS (§7.2)
- Les deux containers n'écoutent que sur
127.0.0.1— seul nginx les expose - Module PHP
auth/d'InfCloud supprimé, dotfiles bloqués - Sauvegarde quotidienne des volumes Baïkal vers kDrive
- Mot de passe d'application dédié pour l'accès CardDAV Google — à faire au moment de vdirsyncer
12. Commandes utiles
13. Choix d'architecture — pourquoi ces outils
Radicale écarté : stockage fichier brut, pas de vraie gestion. La stack Radicale/InfCloud initialement envisagée n'a pas été mise en place — seul InfCloud a finalement été retenu, en client de Baïkal.
Nextcloud écarté : trop lourd pour l'usage visé (PHP-FPM + base + Redis + écosystème complet), alors que le VPS fait déjà tourner PostGIS, Metabase, BookStack, FreshRSS.
Baïkal retenu : léger, CardDAV et CalDAV natifs, interface d'administration suffisante. Développé par des bénévoles sous l'organisation sabre-io (mainteneurs de SabreDAV, la librairie sous-jacente) — pas de société commerciale derrière, mais communauté active et outil robuste pour un usage personnel sur la durée.
Roundcube retenu comme interface de saisie des contacts, Baïkal n'ayant pas de vraie UI de consultation : léger, traduit en français, projet actif (version 1.7.2 en août 2026). A rejoint la famille Nextcloud en 2023 tout en restant indépendant, sous licence GPL. Réserves constatées à l'usage : il impose une authentification IMAP (§6.4) et ne couvre pas l'agenda (§6.2).
InfCloud retenu pour l'agenda web : sans backend, donc sans coût mémoire ni surface d'attaque serveur, et couvre agenda et contacts. Ancien mais fonctionnel.
SOGo envisagé et écarté : suite complète et maintenue, mais environ 500 Mo de RAM et une base PostgreSQL sur un VPS déjà en pression mémoire, et il aurait fait doublon avec Roundcube.
Thunderbird containerisé (VNC/noVNC) envisagé puis écarté : fonctionnel mais plus lourd et moins adapté au multi-accès qu'un vrai webmail.
2-MCP CalDAV pour Claude Code — un agenda Baïkal partagé par les deux PC
MCP CalDAV pour Claude Code
État au 16 septembre 2026 — opérationnel sur les deux PC. Cycle complet validé le 15/09 sur NEXTE : création de calendrier, écriture d'un événement, relecture, visibilité sur le téléphone (DAVx5 → Fossify) et dans InfCloud, suppression. Installé sur le PC perso le 16/09 (§7.8), avec un écart de méthode : venv Python sur D: au lieu de uv.
Prérequis : l'infrastructure Baïkal décrite en page 1 de ce chapitre (Baïkal en Docker sur juxjux.ovh, Basic auth sur TLS, utilisateur DAV Julien).
1. Décision d'architecture
Un seul Baïkal, sur juxjux.ovh, partagé par les deux Claude Code (PC perso et PC NEXTE). C'est la seule exception assumée à l'étanchéité entre l'univers Jux et l'univers Alteris/NEXTE.
Pourquoi ne pas dupliquer Baïkal sur le VPS Alteris :
- Baïkal est posé comme source de vérité unique (page 1). Deux Baïkal = deux vérités, et le problème d'origine (agendas dispersés) se recrée.
- Deux flux dans DAVx5 fonctionnent, mais les deux calendriers ne se voient pas : les conflits d'horaire entre perso et pro deviennent invisibles.
- Doublement de la maintenance (certificat, sauvegarde, compose, InfCloud) sur un VPS déjà chargé.
Pourquoi l'exception est acceptable : l'étanchéité protège les fichiers et données de mission. Un agenda n'est pas une donnée de mission, c'est un service de la personne, comme le téléphone. Le PC NEXTE devient un client CalDAV de plus, au même titre que DAVx5 ; aucune donnée Jux n'entre sur NEXTE, aucune donnée Alteris ne sort vers juxjux. Seul l'identifiant Baïkal traverse — il est dans le Vault 2603.
2. Modèle : un utilisateur, deux calendriers
| Calendrier | URL | Usage | Couleur | PC qui y écrit par défaut |
|---|---|---|---|---|
Default calendar |
https://baikal.juxjux.ovh/dav.php/calendars/Julien/default/ |
Personnel (Julien) | (installeur) | PC perso |
NEXTE |
https://baikal.juxjux.ovh/dav.php/calendars/Julien/nexte/ |
Professionnel NEXTE (pas Alteris) | #1E88E5 bleu |
PC NEXTE |
Même compte Julien pour les deux, donc les deux calendriers apparaissent ensemble dans DAVx5, Fossify et InfCloud, chacun avec sa couleur.
Règle de lecture/écriture du MCP : chaque PC écrit dans son calendrier par défaut (CALDAV_DEFAULT_CALENDAR) mais lit les deux — sinon Claude placerait un rendez-vous pro sur un créneau perso. L'écriture dans l'autre calendrier reste possible en le nommant explicitement (calendar="Default calendar").
Le calendrier NEXTE a été créé le 15/09/2026 par le MCP lui-même (MKCALENDAR, outil create_calendar). Dans DAVx5, il faut ensuite rafraîchir la liste des calendriers du compte et le cocher pour qu'il se synchronise. Dans InfCloud, il faut l'inscrire dans les réglages stockés sur le serveur — voir §5.7, c'est désormais fait automatiquement par create_calendar.
3. Le serveur MCP
Aucun serveur MCP CalDAV communautaire mûr : serveur maison, ~400 lignes de Python.
- Fichier :
C:\Users\nexte\Nexte Claude\MCP CalDAV\260915-mcp_caldav_server.py - Script autonome PEP 723 : dépendances déclarées en tête de fichier, résolues par
uv run --script. Aucune installation Python système nécessaire (il n'y en a pas sur NEXTE, seulement celui de QGIS) —uvest déjà là pour le MCP QGIS. - Dépendances :
mcp>=1.2,<2(FastMCP),caldav(3.3 au 15/09),icalendar,python-dateutil. - Configuration par variables d'environnement, passées par
claude mcp add -e:
| Variable | Valeur NEXTE | Rôle |
|---|---|---|
CALDAV_URL |
https://baikal.juxjux.ovh/dav.php/ |
racine DAV de Baïkal |
CALDAV_USER |
Julien |
utilisateur DAV — J majuscule, la casse compte |
CALDAV_PASSWORD |
Vault 2603 | mot de passe de l'utilisateur DAV (pas celui de l'admin Baïkal) |
CALDAV_DEFAULT_CALENDAR |
NEXTE |
calendrier d'écriture par défaut (default sur le PC perso) |
CALDAV_TZ |
Europe/Paris (défaut) |
fuseau des heures saisies sans fuseau, et fuseau posé sur les calendriers créés |
Le script ne journalise jamais le mot de passe ; s'il manque, il le signale sur stderr sans en dire plus.
Outils exposés
| Outil | Rôle |
|---|---|
list_calendars |
calendriers du compte, avec marquage du calendrier par défaut |
create_calendar(name, cal_id, color) |
MKCALENDAR, puis pose calendar-color / calendar-order / calendar-timezone (palette par défaut) et inscrit le calendrier dans les réglages InfCloud (§5.7) ; refuse si le nom existe déjà |
infcloud_sync_collections |
inscrit dans les réglages InfCloud tous les calendriers du compte qui n'y figurent pas — pour un calendrier créé ailleurs (DAVx5, admin Baïkal) |
list_events(start, end, calendar, all_calendars) |
événements sur une période (défaut : aujourd'hui → +14 j), tous calendriers sauf si calendar est nommé ; occurrences récurrentes développées |
search_events(text, calendar) |
recherche plein texte (résumé, lieu, description), fenêtre −6/+12 mois |
get_event(uid, calendar) |
détail + iCalendar brut |
create_event(summary, start, end, calendar, all_day, location, description, rrule) |
end absent → +1 h (ou +1 jour en journée entière) ; heures sans fuseau = Europe/Paris ; dates ISO ou jj/mm/aaaa, heures 16:00 ou 16h00 |
update_event(uid, …) |
ne modifie que les champs fournis ; incrémente SEQUENCE et LAST-MODIFIED |
delete_event(uid, calendar) |
suppression définitive — uniquement après confirmation explicite de Julien |
free_slots(start, end, duration_minutes, day_start, day_end, weekdays_only) |
créneaux libres tous calendriers confondus, dans la plage horaire quotidienne indiquée |
4. Enregistrement dans Claude Code (PC NEXTE)
Portée utilisateur (-s user), comme le MCP QGIS. À lancer dans un terminal, en remplaçant <MDP> par le mot de passe de l'utilisateur DAV Julien (Vault 2603) :
Puis :
qui doit afficher caldav: … - ✔ Connected.
Pour refaire l'enregistrement (mot de passe changé, mauvais calendrier par défaut) : claude mcp remove -s user caldav puis la commande add.
Où va le secret : claude mcp add l'écrit en clair dans C:\Users\nexte\.claude.json — même niveau de protection que le MCP postgres. Le mot de passe reste archivé dans le Vault 2603 ; il n'a pas à figurer dans une conversation ni dans BookStack.
5. Pièges rencontrés le 15/09/2026
5.1 Les chevrons du gabarit ne font pas partie du mot de passe
Une commande donnée avec CALDAV_PASSWORD=<MDP> a été lancée telle quelle, puis avec <vrai-mdp> chevrons compris. Dans les deux cas Baïkal répond 401. Vérification sans afficher le secret : longueur de la valeur stockée, premier caractère, présence des caractères spéciaux attendus.
5.2 Mot de passe admin ≠ mot de passe utilisateur DAV
Baïkal a deux comptes distincts : l'admin (/admin/) et l'utilisateur DAV (Julien). Le premier essai a été fait avec le mot de passe admin → 401 systématique, avec Julien comme avec julien, alors que le serveur annonçait bien Basic realm="sabre/dav". Le bon mot de passe est celui saisi dans DAVx5 et InfCloud. Test de référence qui distingue « serveur joignable » de « identifiants acceptés » :
401 sans identifiants = normal ; 401 avec identifiants = mauvais couple utilisateur/mot de passe.
5.3 Caractères spéciaux dans PowerShell
Le mot de passe contient % et @ : passer la variable entre apostrophes simples ('CALDAV_PASSWORD=…'), pas entre guillemets. Vérifié : la valeur stockée est intacte.
5.4 SDK mcp 2.x
La 2.x du SDK Python a renommé FastMCP en MCPServer et cassé l'import mcp.server.fastmcp. Le script épingle mcp<2. À revoir si on migre un jour vers la 2.x.
5.5 Reprise de session ≠ nouvelle session
Un serveur MCP est chargé au démarrage de la session. Après claude mcp add, une session reprise dans l'app ne voit pas le nouveau serveur alors que claude mcp list le donne connecté. Il faut une nouvelle session. Entre-temps, le script peut être piloté directement (import du module + lecture de l'env dans .claude.json) — c'est ainsi que le calendrier NEXTE et l'événement test ont été créés.
5.6 Rappels de la page 1 qui s'appliquent au MCP
- Racine DAV
/dav.php/, pas/caldav.php/. Julienen majuscule dans les URLs.- Basic sur TLS : la bibliothèque
caldavgère la négociation 401 → Basic toute seule.
5.7 Un calendrier créé hors InfCloud n'apparaît jamais dans InfCloud
Symptôme : NEXTE visible dans DAVx5 et Fossify, mais absent d'InfCloud, même après déconnexion, Ctrl+Maj+R et reconnexion.
Fausse piste écartée en premier : le calendrier créé par MKCALENDAR nu n'avait ni calendar-color, ni calendar-order, ni calendar-timezone (404 sur ces trois propriétés, alors que le calendrier de l'installeur les a). Elles ont été posées par PROPPATCH — nécessaire pour l'homogénéité, mais insuffisant.
Cause réelle : config.js d'InfCloud a settingsAccount: true. InfCloud stocke alors ses réglages sur le serveur, dans la propriété {http://inf-it.com/ns/dav/}settings du principal (/dav.php/principals/Julien/), sous forme de JSON. Ce JSON contient loadedcalendarcollections et activecalendarcollections (idem pour les tâches), figés à la première session — donc réduits à default/. InfCloud ne charge que les collections de cette liste ; un nouveau calendrier n'y entre jamais tout seul.
Diagnostic (avec identifiants) :
puis lire loadedcalendarcollections dans le JSON retourné.
Correctif : relire le JSON, ajouter l'URL du calendrier aux quatre listes (loadedcalendarcollections, activecalendarcollections, loadedtodocollections, activetodocollections), réécrire la propriété par PROPPATCH, puis déconnexion/reconnexion InfCloud (les réglages sont lus au login). Sauvegarde du JSON d'origine : MCP CalDAV\260915-infcloud_settings_backup.json.
Depuis le 15/09, create_calendar fait tout cela d'emblée, et infcloud_sync_collections rattrape un calendrier créé ailleurs. Le config.js lui-même n'est pas en cause (additionalResources: [], pas de liste figée).
5.8 Le parseur de dates lisait 2026-10-02 comme le 10 février
dateutil.parser.parse(..., dayfirst=True) — voulu pour accepter 02/10/2026 — inverse aussi jour et mois d'une date ISO quand les deux valeurs sont ≤ 12 : 2026-10-02 devient le 10 février, 2026-10-09 le 10 septembre, 2026-10-12 le 10 décembre. 2026-10-13 passe, ce qui rend le bug intermittent et sournois.
Constaté lors du premier blocage de créneaux (6 dates, 3 fausses). Correctif dans _parse_dt : datetime.fromisoformat d'abord, dateutil en jour-premier seulement en repli ; 16h00 / 14h sont normalisés en 16:00 / 14:00. Les trois événements erronés ont été supprimés et recréés.
Règle : toujours relire les dates renvoyées par create_event (le résultat affiche start/end en ISO avec fuseau) avant d'annoncer qu'un créneau est bloqué.
6. Vérifications effectuées le 15/09/2026
| Test | Résultat |
|---|---|
PROPFIND /dav.php/ sans identifiants |
401, Basic realm="sabre/dav" |
list_calendars |
Default calendar visible |
create_calendar("NEXTE", cal_id="nexte") |
créé, URL …/calendars/Julien/nexte/ |
list_events 14 jours, tous calendriers |
1 événement perso lu |
create_event dans NEXTE (16/09 10:00–10:30, Europe/Paris) |
écrit, relu par get_event avec fuseau +02:00 |
| Synchronisation DAVx5 → Fossify | événement visible sur le téléphone après avoir coché NEXTE |
delete_event par UID |
supprimé, calendrier NEXTE vide |
| PROPPATCH couleur/ordre/fuseau sur NEXTE | 200, relu |
| Inscription de NEXTE dans les réglages InfCloud | 200 ; NEXTE visible dans InfCloud après reconnexion |
infcloud_sync_collections après correction |
added: [] — idempotent |
create_calendar("NEXTE") une seconde fois |
refusé, « existe déjà » |
claude mcp list |
caldav … ✔ Connected |
| 6 créneaux « Tourrettes PLU (validation en attente) » dans NEXTE (02→16/10) | créés, relus aux bonnes dates après correctif §5.8 ; aucun conflit perso |
7. Installation sur le PC perso
Objectif : que le Claude Code du PC perso lise les deux calendriers et écrive dans l'un ou l'autre, avec le même serveur Baïkal et le même compte Julien. Aucune configuration côté Baïkal : le compte voit déjà les deux calendriers. Tout se passe sur le PC perso.
7.1 Copier le script
Source (PC NEXTE) : C:\Users\nexte\Nexte Claude\MCP CalDAV\260915-mcp_caldav_server.py — prendre la version courante, elle contient les correctifs du 15/09 (§5.7 InfCloud, §5.8 dates).
Destination recommandée : Syncthing/Jux_univers/Jux-scripts/Baikal-Contacts/260915-mcp_caldav_server.py, à côté d'infcloud-config.js — c'est le dossier où sont déjà versionnés les fichiers Baïkal (page 1, §4). Le script est autonome : un seul fichier, pas de dépendance à copier.
Point d'attention : le fichier ne doit pas être dans un coffre Cryptomator — un MCP se lance au démarrage de Claude Code, coffre fermé ou non (règle « aucun script ne dépend d'un coffre déverrouillé »).
7.2 Vérifier uv
Si absent :
puis rouvrir le terminal. uv télécharge lui-même un Python et les dépendances au premier lancement (~50 paquets, une dizaine de secondes) ; aucune installation Python système n'est nécessaire.
Repérer le chemin complet de uv.exe ((Get-Command uv).Source en PowerShell) — l'utiliser en absolu dans la commande d'enregistrement, comme sur NEXTE, évite les surprises de PATH au lancement par Claude Code.
Fait autrement sur le PC perso (16/09) : pas d'uv, un venv sur D: — voir §7.8 pour la raison.
7.3 Choisir le calendrier par défaut
| Choix | CALDAV_DEFAULT_CALENDAR |
Comportement |
|---|---|---|
| Recommandé | default |
le PC perso écrit dans le calendrier perso sauf mention contraire ; symétrique de NEXTE sur le PC pro |
| Variante | NEXTE |
le PC perso se comporte exactement comme le PC NEXTE |
Dans les deux cas, la lecture porte sur les deux calendriers, et l'écriture dans l'autre calendrier reste possible en le nommant (« ajoute ça dans NEXTE »).
7.4 Enregistrer le MCP
Dans un terminal (PowerShell), en remplaçant <MDP> par le mot de passe de l'utilisateur DAV Julien (Vault 2603) et <chemin> par le dossier de destination :
Rappels des pièges §5 :
- mot de passe de l'utilisateur DAV
Julien, pas celui de l'admin Baïkal (§5.2) ; - sans chevrons autour de la valeur (§5.1) ;
- apostrophes simples autour de
CALDAV_PASSWORD=…à cause des%et@(§5.3) ; Julienavec un J majuscule (§5.6).
Vérifier :
→ caldav: … - ✔ Connected. Si Failed to connect : lancer à la main uv run --script "<chemin>\260915-mcp_caldav_server.py" dans le terminal pour voir l'erreur (dépendance, chemin, Python).
Pour corriger une valeur : claude mcp remove -s user caldav puis relancer la commande add.
7.5 Nouvelle session et test
- Ouvrir une nouvelle session Claude Code — pas une reprise (§5.5).
- Demander
list_calendars: les deux calendriers doivent apparaître,Default calendarmarqué par défaut. - Écrire un événement test dans NEXTE (« crée un test demain 10 h dans NEXTE »), le vérifier sur le téléphone ou dans InfCloud, puis le faire supprimer.
7.6 Ce qui n'est PAS à faire
- Rien dans l'admin Baïkal : pas de second utilisateur, pas de partage de calendrier.
- Rien dans DAVx5 ni InfCloud : ils voient déjà les deux calendriers.
- Ne pas dupliquer Baïkal sur un autre VPS (§1).
- Ne pas copier le mot de passe dans BookStack, dans un script ou dans une conversation : il vit dans le Vault 2603 et dans
.claude.jsondu PC.
7.7 Entretien à deux PC
Le script existe en deux exemplaires (NEXTE et perso). Toute correction faite sur l'un doit être recopiée sur l'autre — c'est le prix d'un serveur maison hors dépôt. Convention : le fichier daté reste 260915-… tant que l'API des outils ne change pas ; une refonte produit un nouveau fichier daté et une mise à jour des deux enregistrements MCP.
7.8 Installation effective sur le PC perso — 16/09/2026
Faite depuis une session Claude Code du poste julie, après dépôt du script par Julien. Vérifiée en session : list_calendars rend Default calendar (par défaut) et NEXTE, list_tasks lit les deux tâches ouvertes de NEXTE.
| Élément | Valeur sur le PC perso |
|---|---|
| Script | D:\Syncthing\Jux_univers\Jux-scripts\Baikal-Contacts\260915-mcp_caldav_server.py — dans l'arbre Syncthing, hors coffre |
| Interpréteur | D:\Python\venv-caldav-mcp\Scripts\python.exe (venv créé par py -3.12 -m venv, puis pip install "mcp>=1.2,<2" "caldav>=1.4" "icalendar>=6" python-dateutil — mcp 1.30, caldav 3.3, icalendar 7.3) |
| Enregistrement | à la main dans C:\Users\julie\.claude.json, clé mcpServers.caldav (portée utilisateur, type: stdio, command = python du venv en absolu, args = chemin du script, env = les 4 variables). Sauvegarde : .claude.json.bak-260916-caldav |
CALDAV_DEFAULT_CALENDAR |
default — le PC perso écrit dans le perso, lit les deux |
Pourquoi pas uv ni pip dans le Python système. Sur ce poste, Claude Code tourne dans un conteneur MSIX : tout ce qu'une session écrit sous %LOCALAPPDATA% ou %APPDATA% est redirigé vers …\Packages\Claude_pzs8sxrjxfjjc\LocalCache\, invisible du reste du système (page 282). Or le Python 3.12 du poste est installé sous %LOCALAPPDATA%\Programs\Python, et uv met son cache dans %LOCALAPPDATA%\uv : un pip install ou un premier uv run lancés depuis la session auraient produit une installation fantôme. Un venv sur D: est hors redirection, et cohérent avec les six autres MCP Python du poste (enregistrés avec un python.exe en chemin absolu, page 282). uv reste valable sur NEXTE, où Claude Code n'est pas dans un conteneur.
Pas de claude mcp add : le CLI claude n'est pas dans le PATH de ce poste (application de bureau). L'entrée est écrite directement dans .claude.json, comme pour Mealie le 13/09. Le mot de passe y est en clair, au même titre que sur NEXTE.
Correctif apporté au script (à recopier sur NEXTE, §7.7). list_calendars marquait le calendrier par défaut en comparant CALDAV_DEFAULT_CALENDAR au seul nom affiché. Avec default, le nom affiché est Default calendar : aucun calendrier n'était marqué (default: false partout), alors que l'écriture fonctionnait — _find_calendar, lui, se rabat sur le dernier segment d'URL. Invisible sur NEXTE parce que nom et segment coïncident (NEXTE/nexte). list_calendars applique désormais la même règle : nom affiché ou segment d'URL, insensible à la casse. Une ligne changée, même fichier daté 260915-… (l'API des outils ne bouge pas).
Chargement en session : après l'écriture dans .claude.json, l'application de bureau a dû être fermée et rouverte — une session reprise ne voit pas le nouveau serveur (§5.5). Au retour, les 17 outils mcp__caldav__* étaient présents et list_calendars a répondu par le MCP.
8. Règles d'usage pour Claude
- Lire les deux calendriers avant de proposer un créneau (
list_eventssanscalendar, oufree_slots). - Écrire dans le calendrier par défaut du PC ; n'écrire dans l'autre que sur demande explicite.
- Ne jamais appeler
delete_eventsans confirmation explicite de Julien dans la conversation. - Ne jamais afficher, journaliser ni répéter
CALDAV_PASSWORD; diagnostiquer sur les longueurs et les codes HTTP. - Si un calendrier manque dans InfCloud :
infcloud_sync_collections, puis déconnexion/reconnexion — avant toute autre hypothèse. - Relire les dates renvoyées par
create_eventavant d'annoncer un créneau bloqué (§5.8).
3 - gestionnaires de tâches - Tasks.org sur Baikal - Infcloud et DAVx5
Gestionnaire de tâches — Tasks.org sur Baïkal, InfCloud et DAVx5
État au 15 septembre 2026 — opérationnel de bout en bout. Cycle validé dans les deux sens : une tâche créée par le MCP est apparue dans Tasks.org, y a été cochée, et le MCP l'a relue COMPLETED ; une tâche saisie dans Tasks.org a été lue par le MCP ; les deux sont visibles dans InfCloud (§6).
Décision : on valorise au maximum l'existant — Baïkal, InfCloud, DAVx5. Les tâches vivent dans les mêmes collections que les événements, aucun composant serveur n'est ajouté. Seul ajout : Tasks.org sur le téléphone, comme écran des tâches que DAVx5 lui dépose.
1. Ce que l'existant sait déjà faire
| Composant | Tâches (VTODO) |
Constat |
|---|---|---|
| Baïkal | oui, nativement | les deux collections default/ et nexte/ annoncent VEVENT et VTODO (vérifié par PROPFIND supported-calendar-component-set) |
| InfCloud | oui, onglet Tâches | les réglages serveur contiennent déjà loadedtodocollections / activetodocollections avec les deux calendriers (page 2, §5.7) |
| DAVx5 | oui, synchronise les VTODO |
mais Android n'a pas de fournisseur de tâches natif : DAVx5 ne peut les déposer que dans une appli tierce — Tasks.org, jtx Board ou OpenTasks. Sans elle, l'option « Tâches » n'apparaît même pas dans le compte |
| MCP CalDAV | oui depuis le 15/09 | 7 outils *_task ajoutés au script (§3) |
2. Choix du client Android
Fossify Calendar — écarté
La fonction « Tâche » de Fossify est locale : c'est un événement d'un type particulier dans sa propre base, jamais écrit en VTODO, jamais synchronisé (héritage de Simple Calendar, dont la synchro CalDAV ne couvre que les événements). Une tâche saisie là n'atteint ni Baïkal, ni InfCloud, ni le MCP — et on croirait qu'elle est synchronisée. Même famille de piège que le plugin calendar de Roundcube (page 1, §6.2).
Fossify reste le client événements ; il n'affiche pas les tâches — chaque appli dans son rôle.
Tasks.org (F-Droid, 15.x) — retenu
| Avantages | Inconvénients | |
|---|---|---|
| Synchro | VTODO complet : échéance, priorité, récurrence, rappels, sous-tâches, étiquettes ; CalDAV direct ou via DAVx5 |
deux chemins possibles → en choisir un seul (§4) |
| Fonctionnel | vraie appli de tâches : listes = collections CalDAV, filtres, widgets, tri par échéance | plus riche que nécessaire pour un usage simple — d'où le §5 |
| Projet | actif, GPL, version F-Droid sans services Google | pas de synchro Google Tasks sur F-Droid — sans importance ici |
| Cohérence | les tâches apparaissent dans InfCloud et sont lisibles/écrites par le MCP | — |
Alternative connue : jtx Board (bitfire, même éditeur que DAVx5) — tâches + journaux (VJOURNAL), intégration DAVx5 très propre, mais moins de fonctions de gestion de tâches. À garder en tête si les notes datées deviennent un besoin ; Baïkal gère VJOURNAL.
Branchement : via DAVx5, pas en CalDAV direct
Tasks.org sait parler CalDAV tout seul, mais on le branche comme fournisseur de tâches de DAVx5 : un seul compte Baïkal sur le téléphone, une seule planification de synchro, un seul mot de passe stocké. DAVx5 détecte Tasks.org à l'installation et fait apparaître « Tâches » dans le compte. Rien à saisir dans Tasks.org : ni compte, ni URL, ni mot de passe.
Emplacement des tâches : dans les calendriers existants
Pas de collection dédiée aux tâches. La séparation perso/pro est portée par la collection (Default calendar / NEXTE), InfCloud est déjà configuré ainsi, et Tasks.org montre deux listes portant ces noms. L'échéance d'une tâche reste visible à côté des rendez-vous dans InfCloud.
3. Outils tâches du MCP CalDAV
Ajoutés le 15/09/2026 au script 260915-mcp_caldav_server.py (page 2, §3). Même mécanique que les événements : écriture dans le calendrier par défaut du PC, lecture des deux.
| Outil | Rôle |
|---|---|
list_tasks(calendar, include_completed, due_before) |
tâches ouvertes de tous les calendriers (ou d'un seul) ; include_completed ajoute terminées/annulées ; due_before filtre sur l'échéance ; tri échéance puis priorité |
get_task(uid, calendar) |
détail + iCalendar brut |
create_task(summary, due, calendar, priority, description, start, categories, rrule) |
due = date seule (journée) ou date-heure (Europe/Paris) ; priority 0 aucune / 1 haute / 5 moyenne / 9 basse (convention Tasks.org) ; rrule ex. FREQ=WEEKLY;BYDAY=MO |
update_task(uid, …) |
ne modifie que les champs fournis ; due="" retire l'échéance ; status ∈ NEEDS-ACTION / IN-PROCESS / COMPLETED / CANCELLED ; percent_complete |
complete_task(uid, calendar) |
STATUS COMPLETED, COMPLETED = maintenant, 100 % ; une tâche récurrente est close pour l'occurrence courante et la suivante est générée |
reopen_task(uid, calendar) |
retour à NEEDS-ACTION, COMPLETED et pourcentage retirés |
delete_task(uid, calendar) |
suppression définitive — uniquement après confirmation explicite de Julien |
Champs renvoyés : calendar, uid, summary, status, due, start, priority, percent_complete, completed, description, categories, rrule, last_modified.
4. Configuration du téléphone — faite le 15/09
- Tasks.org installé depuis F-Droid.
- DAVx5 → compte Baïkal : calendriers et tâches activés pour
NEXTEetDefault calendar(DAVx5 récent les montre dans le même onglet, avec une icône différente — il faut cocher les deux entrées de chaque collection). - Tasks.org → Paramètres → Synchronisation : le compte « DAVx5 » est actif. Aucun compte CalDAV ajouté dans Tasks.org lui-même — ce serait le second chemin de synchro qu'on a écarté.
5. Utiliser Tasks.org au quotidien
Tasks.org intimide parce qu'il s'ouvre sur un filtre (« Ma journée » ou « Boîte de réception »), pas sur les listes. Une tâche due demain n'y apparaît pas ; il faut aller la chercher dans sa liste ou dans « Toutes les tâches ». Le vocabulaire à connaître :
5.1 Listes et filtres
| Notion | Ce que c'est | Où |
|---|---|---|
| Liste | une collection CalDAV — ici NEXTE et Default calendar |
menu ≡ (icône en bas à gauche, ou balayage depuis le bord gauche), bloc au nom du compte DAVx5 |
| Filtre | une vue transversale sur toutes les listes | menu ≡, en haut |
| « Toutes les tâches » | l'ensemble des tâches ouvertes, perso + pro, dans une seule vue — la vue du quotidien | filtre |
| « Ma journée » | échues aujourd'hui ou en retard, tous calendriers — l'équivalent de list_tasks(due_before=aujourd'hui) |
filtre |
| « Récemment modifiées » | ce qui a bougé, utile après une synchro | filtre |
| Filtre personnalisé | composition de critères : listes, étiquettes, priorité, échéance (« cette semaine »), état | menu ≡ → Filtres → + ; devient une entrée du menu |
| Widget | un widget d'écran d'accueil par liste ou par filtre — « Toutes les tâches » en widget montre donc les deux calendriers | appui long sur l'écran d'accueil |
Pour distinguer perso et pro dans la vue commune : Paramètres → Apparence → regrouper par liste (ou afficher le nom de la liste sous chaque tâche), et une couleur par liste (appui long sur la liste → couleur), affichée en pastille. La couleur est locale à Tasks.org ; celle d'InfCloud est la calendar-color de la collection (page 2, §5.7).
5.2 Le déclenchement — quand une tâche se rappelle à toi
C'est la partie à comprendre avant de s'en remettre à l'appli :
| Situation | Notification ? |
|---|---|
| Tâche sans échéance (ex. « reprendre des fruits ») | jamais. Elle n'existe que dans les listes et « Toutes les tâches ». C'est un pense-bête, pas un rappel |
Échéance date seule (DUE;VALUE=DATE) |
à l'heure d'échéance par défaut de Tasks.org (Paramètres → Échéances / Notifications → « heure par défaut », à régler — souvent 18 h d'origine) |
| Échéance date + heure | à cette heure, si le rappel « à l'échéance » est actif dans les réglages de la tâche (il l'est par défaut pour les tâches créées dans Tasks.org ; pour une tâche créée par le MCP, voir §7.3) |
| Rappels supplémentaires (dans la tâche → Rappels) | « au début », « à l'échéance », « aléatoire », « personnalisé » (x heures/jours avant ou après), et « quand dépassée » qui relance périodiquement tant que la tâche n'est pas cochée |
| Tâche cochée | plus aucune notification, elle passe dans les terminées (masquées ou non selon Paramètres → Apparence → « afficher les terminées ») |
Une notification peut être reportée (snooze) depuis la notification elle-même. Les rappels sont écrits en VALARM dans le VTODO et donc synchronisés vers Baïkal ; InfCloud les affiche, le MCP les lit dans get_task (iCalendar brut) mais ne les crée pas encore.
5.3 Ce que porte une tâche, et sa correspondance CalDAV
| Dans Tasks.org | Dans le VTODO |
Vu par le MCP |
|---|---|---|
| Titre | SUMMARY |
summary |
| Échéance (date, ou date + heure) | DUE |
due |
| Date de début (« masquer jusqu'à ») | DTSTART |
start |
| Priorité (aucune / basse / moyenne / haute) | PRIORITY 0 / 9 / 5 / 1 |
priority |
| Notes | DESCRIPTION |
description |
| Étiquettes (tags) | CATEGORIES |
categories |
| Répétition | RRULE |
rrule |
| Sous-tâches | RELATED-TO (tâche parente) |
non exposé — à ajouter si l'usage vient |
| Rappels | VALARM |
iCalendar brut seulement |
| Coché | STATUS:COMPLETED + COMPLETED + PERCENT-COMPLETE:100 |
status, completed, percent_complete |
| Pièces jointes, lieux, minuteur | locaux, jamais synchronisés | — |
Piège constaté : une tâche saisie dans Tasks.org sans toucher à la priorité arrive avec PRIORITY:9 (basse), pas 0. Ne pas lire « basse » comme un choix de Julien.
5.4 Trois gestes utiles
- Changer une tâche de liste (perso ↔ pro) : ouvrir la tâche → champ Liste. Tasks.org la déplace côté serveur (suppression dans une collection, création dans l'autre : l'UID change).
- Saisie rapide : le bouton + saisit dans la liste ou le filtre courant — depuis « Toutes les tâches », la tâche va dans la liste par défaut (Paramètres → Liste par défaut : à fixer sur
Default calendarpour que le perso soit le réflexe et que NEXTE soit un choix). - Forcer la synchro : balayage vers le bas dans une liste, ou DAVx5 → Synchroniser maintenant. Sinon, périodicité DAVx5 (120 s dans InfCloud, celle de DAVx5 pour le téléphone).
6. Vérifications effectuées le 15/09/2026
6.1 MCP → Baïkal (script seul)
| Test | Résultat |
|---|---|
PROPFIND supported-calendar-component-set sur default/ et nexte/ |
VEVENT, VTODO sur les deux |
create_task échéance 18/09/2026, priorité 1, catégorie |
créée dans NEXTE, DUE;VALUE=DATE |
create_task échéance 2026-09-20 17h00, priorité 5 |
créée, DUE horodaté +02:00 |
list_tasks(calendar="NEXTE") |
les deux, triées par échéance |
list_tasks(due_before="19/09/2026") |
une seule (la première) |
update_task IN-PROCESS, 50 %, échéance décalée au 19/09 |
relu conforme |
complete_task |
COMPLETED, 100 %, horodatage COMPLETED posé |
list_tasks sans / avec include_completed |
0 / 1 |
reopen_task |
NEEDS-ACTION, 0 %, COMPLETED retiré |
update_event (régression §7.1) |
description posée sur un créneau Tourrettes, date inchangée |
delete_task ×2 |
NEXTE vide |
claude mcp list après modification |
caldav … ✔ Connected |
6.2 Bout en bout, avec le téléphone
| Étape | Résultat |
|---|---|
create_task « TEST MCP → Tasks.org », échéance 16/09, priorité 5, dans NEXTE |
créée |
| Synchro DAVx5 → Tasks.org, liste NEXTE | visible, avec échéance et priorité |
| Cochée dans Tasks.org, synchro | list_tasks(include_completed=True) : COMPLETED 100 %, completed 15/09 17:02 |
| Tâche « reprendre des fruits » saisie dans Tasks.org (liste NEXTE) | lue par le MCP : NEEDS-ACTION, sans échéance, PRIORITY:9 |
| InfCloud → onglet Tâches | les deux visibles |
Les deux tâches sont laissées en place à la demande de Julien, pour observer le comportement des rappels (§5.2).
7. Pièges rencontrés le 15/09/2026
7.1 icalendar.walk() renvoie une liste
Avec icalendar 6, Calendar.walk("VTODO") renvoie une liste, pas un itérateur : next(ic.walk(...)) échoue en TypeError. Le même code dormait dans update_event depuis la création du script — jamais exercé jusque-là. Corrigé aux deux endroits (ic.walk(...)[0]).
7.2 Todo.complete() ne pose pas le pourcentage
La bibliothèque caldav pose STATUS:COMPLETED et COMPLETED:<horodatage> mais laisse PERCENT-COMPLETE à sa valeur précédente (50 % dans le test). Certains clients affichent alors une tâche « terminée à 50 % ». complete_task force 100 %.
7.3 Une tâche créée par le MCP n'a pas de rappel
Le MCP écrit DUE mais aucun VALARM. Dans Tasks.org, la tâche a une échéance mais son rappel « à l'échéance » dépend du réglage par défaut de l'appli pour les tâches importées (Paramètres → Notifications). Si Julien veut être notifié des tâches créées depuis Claude, deux options : régler Tasks.org pour appliquer les rappels par défaut aux nouvelles tâches synchronisées, ou ajouter un VALARM côté MCP (paramètre reminder sur create_task). À trancher à l'usage.
7.4 Échéance : date seule vs date-heure
Une échéance 18/09/2026 doit produire DUE;VALUE=DATE:20260918 (journée entière), et 2026-09-20 17h00 un DUE horodaté en Europe/Paris. Les deux formes sont gérées ; due_before compare une date seule à la fin de journée, pour ne pas exclure une tâche échue le jour même.
7.5 Priorité 9 par défaut côté Tasks.org
Voir §5.3 : « basse » n'est pas un choix, c'est le défaut de l'appli.
8. Règles d'usage pour Claude
- Une tâche se crée dans le calendrier par défaut du PC (NEXTE ici) ; les tâches perso ne sont lues que pour la vue d'ensemble, jamais modifiées sans demande explicite.
delete_taskuniquement après confirmation explicite de Julien. Terminer ≠ supprimer : une tâche faite se termine (complete_task), on ne l'efface pas — l'historique reste consultable avecinclude_completed.- Priorités : n'en poser une que si Julien la donne ; par défaut 0. Ne pas interpréter un 9 venant de Tasks.org.
- Une tâche sans échéance ne notifiera jamais : si Julien veut « être rappelé », demander une date.
- Ne jamais annoncer qu'une tâche est créée sans relire
duedans le résultat (même règle que pour les dates d'événements, page 2 §5.8).
4 - intégration des contacts personnels et professionnels de Julien
Intégration des contacts personnels et professionnels de Julien
Statut au 15 septembre 2026 : en discussion. Rien n'est construit. Cette page contient le plan en trois actes posé par Julien, puis les retours de Claude. Les décisions prises seront consignées en §5 au fur et à mesure.
1. Le plan de Julien (15/09/2026)
Sources actuelles, dispersées :
- contacts hérités dans Synology Contacts (NAS SasNexte) ;
- contacts pro chez Infomaniak (compte
julien.bertrand@ik.me) ; - contacts téléphone qui se baladent dans le Xiaomi (compte local / Mi Cloud) ;
- contacts Gmail perso.
Trois actes :
- Une base unificatrice simple (SQLite) pour tout rapatrier, trier, sérier, ancrer, archiver — lisible depuis Thunderbird sur le téléphone, depuis Synology Contacts, etc.
- Baïkal comme catalyseur de cette base : il la distribue, mais reçoit aussi les mises à jour depuis les foyers de création que sont Gmail, Infomaniak et le Xiaomi.
- InfCloud comme répertoire web (Roundcube : à quoi sert-il encore ?), pour rapprocher adresses et rendez-vous.
Procédure hébergée sur le VPS perso juxjux.ovh, comme le reste de la stack (page 1).
2. Retours de Claude
2.1 L'acte 1 existe déjà : Baïkal est la base SQLite
Baïkal stocke ses contacts dans une base SQLite (/var/www/baikal/Specific/db/db.sqlite, table cards, une vCard par ligne — page 1 §6.5 et §12). Construire une seconde SQLite « unificatrice » à côté, c'est créer deux sources de vérité pour le même objet, avec un synchroniseur maison entre les deux à écrire et à maintenir. C'est précisément le problème que Baïkal a été installé pour résoudre (page 1 §1 : « Baïkal est la source de vérité unique »).
Ce que le plan attend de la base « versatile dans sa lecture » — être vue par Thunderbird, par le téléphone, par un répertoire web — c'est exactement ce qu'un serveur CardDAV fournit. Une SQLite nue ne le fournit pas : il faudrait un connecteur par client. Baïkal est la SQLite plus la couche de lecture universelle.
Proposition : fusionner les actes 1 et 2. Baïkal est la base ET le catalyseur. Ce qui manque n'est pas une base, ce sont trois choses :
- un outil d'ingestion des sources (vivantes et mortes) ;
- un espace de tri dans Baïkal, avant que les contacts n'entrent dans le carnet de référence ;
- un outil de triage : détecter les doublons, fusionner, classer, archiver.
Le tri, le sériage, l'ancrage et l'archivage se font dans le vocabulaire vCard, pas dans un schéma SQL à inventer : CATEGORIES pour les étiquettes (mairie, bureau d'études, famille, …), NOTE ou un champ X-PROVENANCE pour l'origine, ORG/TITLE pour l'ancrage professionnel, et plusieurs carnets pour les grands compartiments. Tous les clients relisent ces champs.
2.2 Les sources ne sont pas de même nature
Le plan les traite comme quatre « foyers de création » équivalents. Elles ne le sont pas :
| Source | Nature | Traitement proposé |
|---|---|---|
| Synology Contacts (hérités) | source morte : un stock à vider, pas un flux | export .vcf une fois, import dans un carnet de transit, puis triage. Synology Contacts n'est ensuite plus alimenté |
| Infomaniak (pro) | source vivante, CardDAV natif | vdirsyncer, prévu depuis août (page 1 §10.1), en sens unique vers Baïkal pour commencer |
| Gmail (perso) | source vivante, CardDAV Google (mot de passe d'application, compte en 2FA) | idem, vdirsyncer sens unique vers Baïkal |
| Xiaomi | pas une source distante : ce sont des contacts dans le compte « Téléphone » ou « Mi Cloud » de l'appareil, invisibles de tout serveur | export .vcf une fois depuis l'appli Contacts, import en transit, triage ; puis réglage du compte par défaut pour les nouveaux contacts = compte Baïkal de DAVx5, et désactivation de la synchro contacts Mi Cloud / Google pour tarir la fuite |
Point important : une fois le compte DAVx5 défini comme compte par défaut sur le téléphone, le téléphone n'est plus un foyer de création à synchroniser — il écrit directement dans Baïkal. Même chose pour InfCloud, Roundcube et Claude (via le futur MCP CardDAV). Restent deux vrais flux entrants : Infomaniak et Gmail.
2.3 Sur le « reçoit les mises à jour » de l'acte 2 : le sens du flux est la décision structurante
Deux modèles possibles, à trancher avant de configurer vdirsyncer :
Modèle A — Baïkal devient l'unique foyer de création. Gmail et Infomaniak sont vidés dans Baïkal une fois (sens unique), puis on cesse d'y créer des contacts : nouveaux contacts saisis sur le téléphone (compte DAVx5), dans InfCloud, ou par Claude. Gmail et Infomaniak deviennent des vestiges, ou reçoivent une copie descendante (Baïkal → Google) si l'autocomplétion Gmail compte.
- Avantages : aucune synchro bidirectionnelle, donc aucun conflit et aucune propagation de suppression accidentelle ; vdirsyncer peut même être arrêté après la migration.
- Coût : une discipline — ne plus créer de contact dans Gmail ni dans le webmail Infomaniak.
Modèle B — synchronisation bidirectionnelle permanente avec Gmail et Infomaniak.
- Avantage : on continue de créer des contacts partout.
- Risques : un contact supprimé d'un côté est supprimé partout ; un doublon fusionné dans Baïkal peut être recréé par la source ; les champs que Google ne connaît pas sont perdus au retour. vdirsyncer sait faire, mais c'est le mode où l'on découvre les problèmes après coup.
Recommandation : modèle A, avec vdirsyncer en sens unique le temps de la migration, puis à l'arrêt. C'est aussi la recommandation déjà posée en page 1 §10.1. Si l'autocomplétion Gmail manque, ajouter plus tard un flux descendant Baïkal → Google (sens unique aussi) — pas de remontée.
2.4 Espace de tri : des carnets de transit dans Baïkal
Plutôt que de trier dans une base à part, créer dans Baïkal, sous le même utilisateur Julien :
| Carnet | Rôle | Synchronisé vers le téléphone ? |
|---|---|---|
default |
contacts personnels de référence | oui |
nexte |
contacts professionnels de référence (mairies, DDTM, bureaux d'études, …) | oui |
archive |
contacts conservés mais sortis de l'usage (anciens clients, personnes décédées, …) | non — visible dans InfCloud seulement |
transit-synology, transit-gmail, transit-infomaniak, transit-xiaomi |
chaque source importée telle quelle, sans modification | non |
Les carnets de transit sont éphémères : une fois vidés par le triage, on les supprime. Tout ce qui est décidé s'exprime par un déplacement d'un carnet à un autre — ce qui est tracé par Baïkal (horodatage, synctoken) et sauvegardé chaque nuit (page 1 §8).
Deux carnets de référence (default / nexte) plutôt qu'un seul : même logique que pour les calendriers (page 2 §1) — le PC NEXTE n'écrit que dans nexte, les contacts personnels ne transitent par une conversation Alteris que si Julien le demande, et DAVx5 permet de n'exposer que l'un des deux à une appli donnée. Une mairie qui est « les deux » va dans nexte avec une CATEGORIES explicite ; on ne duplique pas.
2.5 L'outil de triage : c'est là que Claude a une valeur
Le triage manuel de quatre sources est ce qui a fait échouer toutes les tentatives de rangement de contacts depuis vingt ans. Ce que le MCP CardDAV (à écrire, comme pour les tâches — page 3) permettrait :
- inventaire : combien de fiches par carnet de transit, combien avec e-mail, téléphone, organisation, combien vides ;
- rapport de doublons : même e-mail, même téléphone normalisé (
+33 6 …), même nom à casse/accent près, entre carnets ; - fusion assistée : Claude propose la fiche fusionnée (union des e-mails et téléphones,
ORGle plus complet,NOTEavec provenance), Julien valide, la fiche entre dansdefaultounexteet les fiches sources sont retirées du transit ; - classement par lots : « tous les contacts dont l'e-mail est en
.gouv.froumairie-→nexte, catégorie collectivité » ; - archivage : déplacement vers
archiveavec date et motif enNOTE.
Rien de tout cela ne demande une base à part : ce sont des opérations CardDAV (REPORT addressbook-query, PUT, DELETE, MOVE) sur des vCards 3.0 — le format que Roundcube écrit déjà et que tout le monde relit (page 1 §9).
2.6 Acte 3 — InfCloud, Roundcube, Thunderbird, Synology
- InfCloud : oui comme répertoire web. Sa moitié CardDavMATE lit et édite les carnets ; il autocomplète les participants d'un rendez-vous depuis les carnets chargés — c'est le « matcher les adresses avec les rendez-vous ». Rappel : un nouveau carnet doit être inscrit dans ses réglages serveur (
loadedaddressbookcollections), même piège qu'en page 2 §5.7 ; on a d'ailleurs vu dans ces réglages une entréeactiveaddressbookcollections: ["https://undefined"]à corriger au passage. - Roundcube : il n'a plus de rôle propre pour les contacts dès qu'InfCloud les couvre. Il ne se justifie que comme webmail du compte
ik.me. Si Julien ne l'utilise pas comme webmail, il peut être arrêté : un container, un vhost, ~32 Mo et une surface d'attaque de moins (page 1 §6.4 pour ses contraintes IMAP). À décider — pas dans l'urgence. - Thunderbird sur le téléphone : il ne gère pas de carnet ; il lit les contacts Android, qui viennent de DAVx5. Rien à faire de plus. Thunderbird sur PC (s'il y en a un) parle CardDAV nativement : URL du carnet + identifiants, et il voit
default/nexte. - Synology Contacts : à ma connaissance, l'application Synology expose du CardDAV (elle est serveur) et importe des comptes Google/Microsoft, mais ne consomme pas un CardDAV tiers. À vérifier sur le DSM. Si c'est confirmé, le NAS n'est pas un client à alimenter mais une source à vider (§2.2), et il n'a plus de rôle après la migration — sauf comme archive figée de l'existant, ce qui est très bien.
2.7 Ordre de chantier proposé
Chaque étape est réversible et laisse la stack en état de marche. Rien n'est lancé sans validation de Julien.
| # | Étape | Où | Outil |
|---|---|---|---|
| 0 | Inventaire : nombre de contacts par source, présence d'e-mail/téléphone, date du dernier ajout | chaque source | exports .vcf, comptage |
| 1 | Gel des sources : arrêt de la création de contacts dans Gmail et le webmail Infomaniak ; compte DAVx5 par défaut sur le Xiaomi ; synchro contacts Mi Cloud/Google coupée | téléphone, discipline | réglages Android |
| 2 | Carnets : création de nexte, archive et des carnets de transit ; inscription dans InfCloud |
Baïkal | admin Baïkal ou MCP |
| 3 | Imports morts : Synology et Xiaomi → carnets de transit | VPS | .vcf + PUT CardDAV |
| 4 | Imports vivants : vdirsyncer sens unique Gmail → transit, Infomaniak → transit ; cron le temps de la migration | VPS | vdirsyncer (page 1 §10.1) |
| 5 | Triage : inventaire, doublons, fusions validées, classement default/nexte/archive |
MCP CardDAV | Claude + Julien |
| 6 | Vérification clients : téléphone (DAVx5), InfCloud, Thunderbird PC | clients | — |
| 7 | Fin de migration : suppression des carnets de transit, arrêt de vdirsyncer (modèle A), sort de Roundcube | VPS | — |
Le MCP CardDAV (outils *_contact) est un préalable à l'étape 5 et sert dès l'étape 0 pour compter. Il se construit comme celui des tâches, dans le même script.
3. Ce que Claude ne recommande pas
- Une SQLite maison à côté de Baïkal (§2.1).
- Un conteneur « tout-en-un » (Nextcloud, SOGo) : déjà écarté en page 1 §13 pour de bonnes raisons de RAM et de surface ; la stack actuelle est plus riche en pièces mais chaque pièce est petite et remplaçable.
- La bidirectionnalité d'emblée avec Gmail et Infomaniak (§2.3).
- Le triage à la main dans une interface web, fiche par fiche.
4. Questions à trancher
- Modèle A (Baïkal seul foyer de création) ou modèle B (bidirectionnel) ? — §2.3
- Deux carnets de référence
default/nexte, ou un seul avec catégories ? — §2.4 - Le pro, c'est NEXTE ou Alteris, ou les deux avec une catégorie ? (même question que pour le calendrier, tranchée « NEXTE » le 15/09)
- Roundcube : webmail utilisé, ou à arrêter ? — §2.6
- Synology Contacts : confirmer qu'il ne peut pas être client CardDAV ; sinon, souhaite-t-on qu'il reste alimenté ?
- L'autocomplétion Gmail manque-t-elle si Gmail cesse d'être alimenté ? (déclenche ou non un flux descendant Baïkal → Google)
- Ordre de grandeur : combien de contacts au total, toutes sources confondues ? (change la méthode de triage : 300 se font en une séance, 3 000 par lots)
# Note de déploiement — miroir contacts Baïkal → Infomaniak (VPS juxjux)
Rédigée le 22/09/2026 par l'instance Claude du **PC NEXTE**, à l'attention de l'instance Claude du **PC perso** qui a l'accès SSH au VPS juxjux. Documentation du chantier : BookStack Alteris page 499 (chapitre 486, livre 280).
---
## 1. Ce qui est déjà fait (sur le PC NEXTE, en production)
Le miroir tourne et a été validé de bout en bout. Il est **lancé à la main** depuis le PC NEXTE ; il faut maintenant le **planifier sur le VPS** pour qu'il vive sans ce PC.
État au 22/09 au soir :
| Paire | Identifiant court | Carnet Infomaniak | Baïkal | Infomaniak |
|---|---|---|---|---|
| **NEXTE** → `julien.bertrand@nexte.fr` | `JB08607` | `Baikal-NEXTE` | 1 584 fiches | 1 584, identiques |
| **Jux** → `julien.bertrand@ik.me` | `JB06766` | `Baikal-Jux` | 305 fiches | 305, identiques |
Les deux paires sont déclarées dans `PAIRES` en tête du script et tournent en production ; un passage à blanc ne trouve plus rien à faire des deux côtés.
Chaîne vérifiée : correction d'une fiche dans InfCloud → descend dans Infomaniak et sur le téléphone (DAVx5/Fossify). Création **et modification** dans le webmail Infomaniak → remontent dans Baïkal (§2).
## 2. Le script
`260922-miroir_infomaniak.py` (ce dossier Syncthing, `Jux-scripts/Baikal-Contacts/`). Autonome PEP 723, dépendance `vobject`, lancé par `uv run --script`.
**Principe** — Baïkal est le maître :
- **descente** : toute fiche Baïkal absente ou sémantiquement différente côté Infomaniak est écrite (PUT, même UID) ; toute fiche que le miroir avait déposée et qui a disparu de Baïkal est supprimée côté Infomaniak ;
- **remontée des créations** : une fiche présente côté Infomaniak dont l'UID n'a **jamais** été déposé par le miroir (donc créée dans le webmail) est recopiée dans Baïkal, avec une note de provenance ;
- **remontée des modifications** *(ajoutée le 22/09, avant déploiement)* : une fiche existante modifiée dans le webmail remonte dans Baïkal. L'arbitrage repose sur les **ETag mémorisés des deux côtés** : si seul Infomaniak a bougé, la fiche remonte ; si seul Baïkal a bougé, elle redescend ; si les deux ont bougé, le **`REV` le plus récent gagne** et le conflit est compté dans la sortie (`conflits_arbitres`) ;
- **aucune suppression ne remonte jamais** — une suppression dans le webmail est annulée au passage suivant. C'est voulu : protection contre les suppressions intempestives et contre une compromission de la boîte.
Deux propriétés vérifiées avant de coder l'arbitrage, à re-vérifier si Infomaniak change de moteur : leurs **ETag sont stables** entre deux lectures sans modification (1 585/1 585 testées) et le **`REV` de Baïkal est conservé à l'identique** au stockage.
Le fichier d'état `miroir_<paire>.json` (**version 2** : `{uid: {"ik": etag, "bk": etag}}`) est **ce qui distingue** « supprimée dans Baïkal » de « créée dans le webmail », et quel côté a bougé. **Ne pas le perdre** : sans lui, le passage suivant retombe sur le comportement « Baïkal gagne » et les modifications faites dans le webmail seraient écrasées. Il migre automatiquement depuis le format v1 (simple liste d'UID).
Comparaison **sémantique** (nom, N, e-mails, téléphones, organisation, fonction, catégories, note, adresses) et non octet à octet : Infomaniak réécrit les vCards au stockage, une comparaison stricte réécrirait tout à chaque passage.
## 3. Ce qu'il faut faire sur le VPS
### 3.1 Fichiers à déposer
| Fichier | Où | Contenu |
|---|---|---|
| `260922-miroir_infomaniak.py` | `/home/debian/baikal-miroir/` | le script (copie depuis Syncthing) |
| `260915-mcp_caldav_server.py` | `/home/debian/baikal-miroir/` | **requis** : le miroir l'importe comme bibliothèque (accès Baïkal) |
| `infomaniak.env` | `/home/debian/baikal-miroir/` | `NEXTE_FR_PASSWORD=…` et `IK_ME_PASSWORD=…` — mots de passe d'application Infomaniak (16 caractères chacun). `chmod 600`. **À consigner dans le Vault 2603** : le fichier a disparu une fois du PC NEXTE sans explication, le 22/09 |
| `~/.claude.json` **ou** variables d'environnement | — | le script serveur lit `CALDAV_URL`, `CALDAV_USER`, `CALDAV_PASSWORD` dans `~/.claude.json` → **à adapter** (voir §3.2) |
### 3.2 Adaptation à faire dans `load_server()`
Sur le PC NEXTE, les identifiants Baïkal viennent de `~/.claude.json` (config du MCP Claude Code). **Sur le VPS il n'y a pas de Claude Code** : remplacer, dans `260922-miroir_infomaniak.py` (et dans les autres scripts si tu les déploies), la fonction :
```python
def load_server():
cfg = json.load(open(os.path.expanduser("~/.claude.json"), encoding="utf-8"))
os.environ.update(cfg["mcpServers"]["caldav"]["env"])
...
```
par une lecture directe d'un fichier `baikal.env` (même dossier, `chmod 600`) :
```
CALDAV_URL=https://baikal.juxjux.ovh/dav.php/
CALDAV_USER=Julien
CALDAV_PASSWORD=<mot de passe DAV de l'utilisateur Julien — Vault 2603>
CALDAV_DEFAULT_CALENDAR=NEXTE
```
Remarque : le VPS juxjux héberge Baïkal lui-même ; le miroir peut donc taper sur `http://127.0.0.1:8088/dav.php/` plutôt que de ressortir par nginx. À toi de voir — l'URL publique fonctionne et évite de dépendre du port interne (page 487 §4).
### 3.3 Cron
```
*/15 * * * * cd /home/debian/baikal-miroir && /usr/local/bin/uv run --script 260922-miroir_infomaniak.py --env infomaniak.env --etat /home/debian/baikal-miroir/etat --real >> /var/log/baikal-miroir.log 2>&1
```
- `uv` à installer si absent (`curl -LsSf https://astral.sh/uv/install.sh | sh`) ; sinon un venv avec `vobject`, `caldav`, `icalendar`, `python-dateutil`, `mcp<2`.
- **Verrou** : ajouter `flock` pour qu'un passage lent ne chevauche pas le suivant :
`flock -n /tmp/baikal-miroir.lock -c '…'`
- **Alerte** : en cas de sortie contenant `"echecs": [1-9]` ou d'un code de retour non nul, envoyer un e-mail comme le fait `vps_backup.sh` (même mécanisme, page 487 §8).
Durée observée d'un passage sans changement : quelques secondes. Un passage qui réécrit 1 500 fiches : ~5 minutes.
### 3.4 Export `.vcf` quotidien
Décision de Julien : **un seul fichier, toujours à jour, réécrit à chaque passage** — pas de rotation, le versionnage est assuré par la sauvegarde nocturne de Baïkal vers kDrive (page 487 §8). Destination : le dossier Syncthing `Jux_univers/jux_contacts/` (si le VPS est dans le maillage ; sinon `/home/debian/baikal-miroir/export/`).
Poids mesuré le 22/09 : **1,92 Mo** pour les deux carnets réunis (1 890 fiches), dont 62 % de photos (116 photos). À écrire une fois par nuit, pas à chaque passage du miroir.
Le code d'export existe déjà, dupliqué dans plusieurs scripts (`260921-restaurer_carnets.py`, `260921-fusion_lots.py`) :
```python
with open(dest, "w", encoding="utf-8", newline="") as f:
for c in m._fetch_contacts(m._find_addressbook(book)):
f.write(c["_raw"].rstrip("\r\n") + "\r\n")
```
## 4. Pièges rencontrés — à ne pas redécouvrir
1. **Identifiant CardDAV Infomaniak** : ce n'est **pas** l'adresse e-mail mais un **identifiant court** de synchronisation (`JB08607` pour `julien.bertrand@nexte.fr`), obtenu sur `https://config.infomaniak.com` → *Contacts & calendriers* → appareil **GNU/Linux**. Avec l'adresse e-mail, l'authentification passe (207 à la racine) mais toute requête répond `Principal with name … not found` — cherche-erreur garanti.
2. **Mots de passe d'application Infomaniak** : ils n'ont **pas** de périmètre par service (contrairement à ce que j'avais supposé) ; un seul mot de passe vaut pour IMAP, CalDAV, CardDAV. Ne pas confondre avec les mots de passe **de boîte mail** générés par `config.infomaniak.com` pour un appareil : ceux-là ne donnent pas accès au CardDAV.
3. **MKCOL interdit** : Infomaniak refuse la création d'un carnet par CardDAV (403 Forbidden). Le carnet cible doit être créé **à la main dans le webmail**, avec le nom exact attendu par `PAIRES` (`Baikal-NEXTE`, `Baikal-Jux`).
4. **Lignes pliées** : Infomaniak lit mal les vCards pliées à 75 caractères (RFC 6350 §3.2) — la catégorie `Important` devenait `Imp`. Le script **déplie** les vCards avant le PUT (`data.replace("\r\n ", "")`). Ne pas retirer cette ligne.
5. **Suivre `carnet_ik_cree`** dans la sortie JSON : `true` signifie que le carnet n'a pas été trouvé par son nom — souvent un carnet renommé ou une faute de frappe, pas une vraie création (elle est interdite, cf. 3).
## 5. Reste à faire
1. ~~Paire `Jux` → `ik.me`~~ — **faite le 22/09** : identifiant court `JB06766`, carnet `Baikal-Jux`, 305 fiches déposées, 0 échec.
*Au passage, un piège à connaître* : le compte `ik.me` ne contenait qu'un seul carnet, « Julien BERTRAND », avec **1 664 fiches jamais triées** (ce compte ne faisait pas partie des cinq exports du 17/09). Julien les a jugées « doublon de doublon de doublon » et fait supprimer — sauvegarde préalable dans `jux_contacts/260922-1643-sauvegarde-ikme-JulienBERTRAND.vcf` (736 Ko). **Il ne fallait surtout pas renommer ce carnet en `Baikal-Jux` avant de le vider** : le miroir aurait pris ses 1 664 fiches pour des créations faites dans le webmail et les aurait remontées dans le carnet Jux de Baïkal, puis sur le téléphone. Vider d'abord, renommer ensuite.
2. ~~Remontée des modifications~~ — **faite le 22/09**, avant déploiement (voir §2). Testée deux fois : mise à jour substantielle d'une fiche dans le webmail (nom, organisation, fonction, note de 483 caractères) et **ajout d'une photo de 70 Ko** — remontées intactes dans Baïkal, base64 et attribut de recadrage compris.
3. **Surveiller le poids du carnet** (question posée par Julien le 22/09, laissée ouverte) : le miroir relit **l'intégralité** des deux carnets à chaque passage. À 2 Mo aujourd'hui c'est indolore ; mais les photos ajoutées par le webmail pèsent ~70 Ko chacune (contre 7 Ko pour les vignettes héritées), et le base64 ajoute 33 %. À 500 photos, le carnet ferait ~46 Mo, soit ~4 Go de trafic par jour à raison d'un passage tous les quarts d'heure. Deux parades, à préparer avant d'en arriver là : **lecture incrémentale** (`sync-collection` + `sync-token`, supportés par Baïkal et Infomaniak — vérifié) et/ou **redimensionnement des photos à l'entrée** (400 px, ~25 Ko). Julien a choisi de laisser tel quel pour l'instant et d'en discuter avec toi.
4. **Ne pas oublier** : le troisième compte `nexte@ik.me` (trash) **ne doit jamais être branché** — c'est une consigne explicite de Julien.
## 6. Contrat entre nos deux instances
Le script maître reste celui du **pivot Syncthing** `Jux-scripts/Baikal-Contacts/`. Si tu le modifies pour le VPS (notamment `load_server()`), garde la version VPS distincte et datée (`2609xx-miroir_infomaniak_vps.py`) plutôt que d'écraser le fichier commun — le PC NEXTE continue de s'en servir pour les opérations manuelles sur les carnets.
Renvoie-moi une note dans ce même dossier quand le cron tourne, avec : chemin d'installation, contenu exact de la crontab, emplacement du journal, et le premier passage observé (JSON de sortie). Je la consignerai en page 499.
06_Veille quotidienne FreshRSS
Veille RSS automatique — une page par jour, generee chaque matin depuis FreshRSS par veille_freshrss.py
00_Configuration de la veille
Configuration de la veille quotidienne
Cette page pilote le script veille_freshrss.py (VPS, cron 6h00). Elle est relue à chaque exécution : toute modification est prise en compte dès le lendemain matin.
Ne pas renommer les titres de section ni les en-têtes de colonnes — le script s'appuie dessus.
Paramètres généraux
| Paramètre | Valeur |
|---|---|
| fenetre_heures | 24 |
| max_par_theme | 12 |
| categories_exclues | Torrentage, Alertes WEB - overveille |
| afficher_reste | oui |
- fenetre_heures — ancienneté maximale des articles retenus.
- max_par_theme — nombre d'articles affichés par thème (les mieux scorés d'abord).
- categories_exclues — catégories FreshRSS jamais retenues, même sur mot-clé.
- afficher_reste —
ouiajoute en fin de page le décompte des articles non retenus, par catégorie.
Thèmes
| # | Thème | Mode | Max | Catégories FreshRSS | Mots-clés | Expire le |
|---|---|---|---|---|---|---|
| 1 | SIG & Cartographie | tout | QGIS SIG, Cartographie | |||
| 2 | OpenStreetMap | tout | SOTM Europe 2025 | |||
| 3 | Urbanisme & Territoires | tout et filtre | 24 | Veille Urbanisme, urbanisme | PLU, SCOT, Evaluation Environnementale, Corse, Var, Alpes-Maritimes, Bouches-du-Rhône, | |
| 4 | Self-hosting & Infra | filtre | Synoworld, Infrastructure Docker, Cloud Storage, Synchronisation, Notes et documentation, Gestion de fichiers, Médias, RSS Reader, Sécurité | docker, portainer, immich, jellyfin, navidrome, komga, kavita, syncthing, rclone, nginx, bookstack, readeck, freshrss, mealie, audiobookshelf, joplin, sauvegarde, backup, nas, synology, self-host, selfhosted, faille, cve, vulnérabilité | ||
| 5 | Libre & Linux | tout | LINUX NOW !, claude_foss | Inkscape, Libreoffice, Gimp, | ||
| 6 | IA & Numérique | filtre | Geekeries | ia, llm, claude, anthropic, chatgpt, openai, mistral, souveraineté, rgpd, cnil, chiffrement, vie privée, surveillance, open source, logiciel libre | ||
| 7 | Culture | tout | Culture | |||
| 8 | Signaux transverses | transverse | qgis, postgis, lizmap, openstreetmap, osm, ign, géoplateforme, cadastre, dvf, gdal, plu, plui, scot, foncier, zan, mobilité, vélo |
Modes disponibles
- tout — tous les articles publiés dans les catégories listées.
- filtre — uniquement les articles de ces catégories dont le titre ou le résumé contient au moins un mot-clé.
- transverse — cherche les mots-clés dans toutes les catégories (hors exclues), quelle que soit l'origine. Sert à rattraper un sujet majeur qui apparaît dans un flux inattendu.
Règles de fonctionnement
- L'ordre de la colonne
#fait la priorité : un article capté par plusieurs thèmes est classé dans celui dont le numéro est le plus petit. Chaque article n'apparaît donc qu'une fois. - Le score d'un article est le nombre de mots-clés distincts trouvés dans son titre et son résumé (titre compté double). Il détermine l'ordre à l'intérieur d'un thème et la coupe à
max_par_theme. - Les mots-clés sont insensibles à la casse et aux accents, et cherchés sur des mots entiers (
ignne matche pas « signal »). - Max — plafond d'articles propre à ce thème. Colonne vide = le
max_par_themegénéral s'applique. - Expire le — date
AAAA-MM-JJpour un thème temporaire (un événement, un dossier en cours). Passée cette date, la ligne est ignorée sans être supprimée. Colonne vide = thème permanent. - Pour désactiver un thème sans le perdre, mettre une date d'expiration passée.
Journal des modifications
| Date | Modification |
|---|---|
| 2026-08-05 | Création de la configuration initiale |
| 2026-09-15 | Publication avancée de 7h30 à 6h00 (cron VPS 4h00 UTC). |
| 2026-09-29 | Colonne Max par thème ; Urbanisme & Territoires porté à 24 ; nouveau thème Culture (catégorie FreshRSS Culture, ~7 articles/jour). |
Veille 2026-08-05
Veille du mercredi 5 aout 2026
120 articles sur 24 h (147 avant regroupement des doublons et fils de discussion) — 56 retenus dans 6 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
OpenStreetMap (2)
- TeamFHF
OSM Diaries · 15h45 · fil - Flock camera
OSM Diaries · 12h25 · fil
Urbanisme & Territoires (14)
- Cycle Tunnel Replaces a Level Crossing in Breda
BICYCLE DUTCH · 22h00 · fil - Feu du Gros Bessillon, les points de situation
Alerte Google : urbanisme var · 21h31 · fil - Pour protéger son cabanon dans le Var, le maire d'Aubagne emprunte le matériel des pompiers
Alerte Google : urbanisme var · 21h29 · fil - Urbanisme, SRU, Ensa Versailles, Médiateur des entreprises... Vos textes officiels du mardi ...
Alerte Google : urbanisme alpes maritimes (+2 autres flux) · 20h56 · fil - Confort d'été : dans le Var, cette commune montre l'exemple en investissant 300 000€ par ...
Alerte Google : urbanisme var · 20h46 · fil - Les grosses ficelles du maire de Bandol pour s'extraire de ses obligations légales - La Marseillaise
Alerte Google : urbanisme var · 20h15 · fil - Elaboration et évolution des documents d'urbanisme - LE MONDE DU DROIT
Alerte Google : urbanisme var · 20h08 · fil - Incendies : situation "stabilisée" mais "problématique" dans le Var, interpellations en France ...
Alerte Google : urbanisme var · 19h58 · fil - Voter Turnout Lags as Washington's Primary Election Enters Home Stretch
The Urbanist · 17h59 · fil - COMMUNE DE DRAGUIGNAN : ZONE AGRICOLE PROTEGEE (ZAP) - Var.gouv.fr
Alerte Google : urbanisme var · 16h53 · fil - Spelunca-Liamone : la rénovation énergétique présentée aux élus - Corse Matin
Alerte Google : corse urbanisme · 14h42 · fil - Op-Ed: Sound Transit Gave Us a Ballard Date. Here’s How To Accelerate It.
The Urbanist · 14h38 · fil - … et 2 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Self-hosting & Infra (8)
- (Topic Unique) Alternatives aux Applications propriétaire ( Asustor / QNAP / Synology / UGREEN )
Forum des NAS : Synology, Qnap, Asustor... · 08h30 · fil - How to Install YT Zero on Your UGREEN NAS
Marius Hosting · 16h35 · fil - Problème NAS saturé
NAS-Forum · 14h27 · 13 messages · fil - Mise a jour de l'app Ugreen nas IOS
Forum des NAS : Synology, Qnap, Asustor... · 12h45 · fil - Appli type Onedrive chez NAS Ugreen ?
Forum des NAS : Synology, Qnap, Asustor... · 06h49 · fil - Espace disque insuffisant mise a jour DSM 7.4 alors que le stockage est rempli a 15%
NAS-Forum · 20h44 · 10 messages · fil - Extension de mémoire pour la gamme AS68
Forum des NAS : Synology, Qnap, Asustor... · 12h14 · fil - UGOS 1.18.1.0098 du 04.08.2026
Forum des NAS : Synology, Qnap, Asustor... · 08h21 · fil
Libre & Linux (13)
- AMD Posts Proposal & Linux Patches For eSPI Subsystem
Phoronix · 00h33 · fil - Papirus icon set gets first update in over a year with 80+ new icons
OMG! Ubuntu · 14h54 · fil - AMD openSIL & Coreboot Pull Requests For Phoenix AM5 Support
Phoronix · 14h07 · fil - NVIDIA Becomes A Premier Sponsor Of LVFS / Fwupd
Phoronix · 13h43 · fil - Richard Hughes: NVIDIA is now supporting the LVFS
Planet GNOME · 12h19 · fil - Linux Foundation Announces Tokenomics Foundation For "Economics & ROI Of AI Value"
Phoronix · 12h14 · fil - CISA Publishes Open Source Security Guidance: Verifiability Is the Difference
The Document Foundation Planet (+1 autre flux) · 11h39 · fil - Linux's Staging Area To Now Reject LLM-Generated Patches, Except For Real Security Fixes
Phoronix · 10h29 · fil - New LibreOffice extension: Impress Remote
The Document Foundation Planet (+1 autre flux) · 10h20 · fil - Wild Linker 0.10 Released With GDB Index Support, Mitigation For Btrfs Performance
Phoronix · 10h14 · fil - Linux 7.3 To Fix MSI Claw M-Center Keys For Ryzen Z2 Extreme Powered Handheld
Phoronix · 09h57 · fil - Firebird Adds an Optional Static fbclient — and Solves the Symbol-Collision Problem Properly
The Document Foundation Planet · 07h18 · fil - … et 1 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (18)
- Les IA d’OpenAI et d’Anthropic piratent des entreprises, l’Europe s’en mêle
Actualités · 07h02 · fil - Un ordinateur virtuel au lieu d’un conteneur : Cloudflare publie @cloudflare/computer en open source
Goodtech · 02h11 · fil - Apple attaque de nouveau OpenAI, qui se défend en public
Next - Articles gratuits · 13h33 · fil - Libérer les souris du code propriétaire : Keychron lance ZGM, le premier firmware open source pour les souris en jeu vidéo
Goodtech · 03h08 · fil - Google touché par une première : un agent IA a été détourné pour en piéger un autre
Numerama · 16h35 · fil - 1,2 million de Tesla sous haute surveillance : leur suspension pourrait entraîner une perte de contrôle
Actualités · 16h11 · fil - « Apple se trompe » : OpenAI riposte aux accusations de vol et d’espionnage
Actualités · 15h24 · fil - Le studio de Stellar Blade s’enfonce dans la mauvaise foi après son utilisation de l’IA
Numerama · 14h41 · fil - Cet examen surveillé par une IA a tourné au fiasco, 58 000 étudiants ont dû le repasser
Numerama · 10h30 · fil - Qwen3.8-Max : Alibaba revient dans la course pour rivaliser avec Fable 5 et Kimi K3
Next - Articles gratuits · 10h11 · fil - Commentaires sur L’IA, un nouvel internet… sans condition par Rey
Framasoft - Toute l'actualité · 09h53 · fil - Open source mais fermé aux systèmes libres : l’UE impose l’attestation matérielle pour vérifier l’âge et cela fait débat
Goodtech · 09h09 · fil - … et 6 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Signaux transverses (1)
- Ce compteur GPS pour vélo avec un écran XXL profite de 200 € de remise sur Amazon
Numerama · 08h57 · fil
Non retenu (64)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 57 |
| Sans catégorie | 4 |
| Synoworld | 3 |
Genere le 2026-08-05 a 06h36 par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-08-06
Veille du jeudi 6 aout 2026
106 articles sur 24 h (111 avant regroupement des doublons et fils de discussion) — 48 retenus dans 6 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
OpenStreetMap (3)
- If contributing to OSM is no different from contributing to a commercial map service, ···
OSM Diaries · 18h40 · fil - Mapping of Flood-Prone Areas in Pakistan
OSM Diaries · 14h02 · fil - Overpass Ultra
OSM Diaries · 11h49 · fil
Urbanisme & Territoires (8)
- Des villes françaises touchées par des pannes de courant : pourquoi la canicule provoque-t ...
Alerte Google : urbanisme var · 18h47 · fil - Tous les habitants peuvent regagner leur domicile. - Toutes les infos - Actualités - Var.gouv.fr
Alerte Google : urbanisme var · 16h41 · fil - À cause de la sécheresse, une commune dans le Var gèle les permis de construire jusqu'en 2028
Alerte Google : urbanisme var · 11h53 · fil - Loi "pour une montagne vivante et souveraine" : le récap des mesures concernant l'urbanisme
Alerte Google : corse urbanisme · 16h37 · fil - Incendies en France : 402 interpellations annoncées par le ministre de l'Intérieur
Alerte Google : urbanisme var · 15h08 · fil - Habitat et urbanisme : la revue de presse du 5 août 2026 - AEF info
Alerte Google : urbanisme var · 09h56 · fil - August Social and The Urbanist x CityNerd: Building a Transit-Oriented Puget Sound
The Urbanist · 19h00 · fil - Library Levies Up Big in Early Primary Results, Mixed Bag for Progressive Challengers
The Urbanist · 18h10 · fil
Self-hosting & Infra (7)
- How to Install Ruin Media on Your UGREEN NAS
Marius Hosting · 22h26 · fil - Music Assistant (Docker) - gestionnaire de bibliothèque musicale
Forum des NAS : Synology, Qnap, Asustor... · 19h20 · fil - OneDrive Personal: rclone copy fails with unauthenticated: Unauthenticated when copying from a shared folder ("Add shortcut to My files")
Rclone Forum - Announcements · 16h39 · fil - Catalogue de médias pour Jellyfin
Forum des NAS : Synology, Qnap, Asustor... · 11h54 · fil - Bonjour à tous
Forum des NAS : Synology, Qnap, Asustor... · 06h28 · fil - Smartfanspeed : gestion fine de la température des disques
Forum des NAS : Synology, Qnap, Asustor... · 18h21 · fil - J'ai sombré ...
Forum des NAS : Synology, Qnap, Asustor... · 11h27 · fil
Libre & Linux (15)
- LibreOffice project and community recap: July 2026
The Document Foundation Planet (+1 autre flux) · 10h22 · fil - Linux 7.3 To Fix Longstanding Gap In The Native Driver For Original Steam Controller
Phoronix · 02h44 · fil - Resources beta adds PowerPC temp, AMD NPU stats
OMG! Ubuntu · 01h43 · fil - Rust Coreutils 0.10 Released With More Security Hardening, Increased GNU Compatibility
Phoronix · 00h59 · fil - Mesa 26.2 Released With NVK Mesh Shader Support, Many Other Vulkan Improvements
Phoronix · 00h13 · fil - USB4STREAM Adding Busy Poll Option For Lower Latency At The Cost Of Increased CPU Cycles
Phoronix · 23h27 · fil - Éditer de la littérature libre : les Éditions du Renard Spatial
LinuxFr.org : les dépêches · 20h36 · fil - Application mobile pour Nextcloud Calendar, l'outil manquant de l'écosystème
LinuxFr.org : les dépêches · 18h51 · fil - Rhythmbox 3.5 lets you sync your podcast listening across apps
OMG! Ubuntu · 18h22 · fil - Denial WM: New Wayland Compositor With Flutter Directly Embedded
Phoronix · 18h10 · fil - Cloudflare Announces Open-Source Cloudflare OS As AI "Operating System"
Phoronix · 15h16 · fil - Linux To Avoid Confusing Processor Firmware With Newer Intel CPUs Sporting DEC
Phoronix · 14h39 · fil - … et 3 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (14)
- C’est reparti : des agents IA d’Anthropic et OpenAI ont dépassé les bornes en plein test de sécurité
Numerama · 10h07 · fil - ChatGPT et Claude ont échappé à tout contrôle : les IA ont lancé 2 nouvelles cyberattaques « dans le monde réel »
Actualités · 10h11 · fil - OpenAI, Google, Anthropic, Microsoft et Amazon alliés dans la sécurisation des I
LeMagIT · 09h19 · fil - OpenAI pousse trois nouveaux outils dans les écoles, en pleine épidémie de triche à l'IA
Korben · 11h31 · fil - Orchestrer des équipes d’agents IA de codage en continu : Kiro Crew passe en open source
Goodtech · 05h22 · fil - Développée en une semaine pour 8 500 € : Genspark publie sa suite bureautique IA GenOffice en open source
Goodtech · 03h14 · fil - Panne chez Anthropic : Claude est inaccessible pour de nombreux utilisateurs
Numerama · 14h32 · fil - SpaceX double presque son chiffre d’affaires, mais l’IA plombe l’ambiance
Next - Articles gratuits · 16h35 · fil - L’IA est incapable de produire quelque chose de nouveau, et c’est un chercheur de Google DeepMind qui le dit
Numerama · 15h53 · fil - Paré pour le futur : Samsung dévoile une puce de nouvelle génération taillée pour l’IA
Actualités · 15h28 · fil - Apple vs OpenAI : le conflit prend une nouvelle dimension
Actualités · 12h29 · fil - Pendant un test de sécurité, le modèle d'OpenAI a piraté un vrai site sans le savoir
Korben · 10h58 · fil - … et 2 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Signaux transverses (1)
- Châteaux de France — recensement consolidé
Derniers jeux de données · 14h08 · fil
Non retenu (57)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 48 |
| Sans catégorie | 6 |
| Synoworld | 2 |
| Culture | 1 |
Genere le 2026-08-06 a 08h31 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-08-07
Veille du vendredi 7 aout 2026
144 articles sur 24 h (148 avant regroupement des doublons et fils de discussion) — 55 retenus dans 5 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
SIG & Cartographie (2)
- Re: QGIS: retrouver cles / valeurs d une couche
GeoRezo.net - QGIS · 10h57 · fil - QGIS: retrouver cles / valeurs d une couche
GeoRezo.net - QGIS · 09h44 · fil
Urbanisme & Territoires (14)
- À Orange, un projet hôtelier de luxe fait bondir les riverains - La Marseillaise
Alerte Google : urbanisme bouches du rhône · 19h07 · fil - Du covoiturage plutôt que le projet de liaison Fos-Salon - La Marseillaise
Alerte Google : urbanisme bouches du rhône · 19h54 · fil - Points de situation, accompagnement et interdictions - Actualités - Les services de l'État dans le Var
Alerte Google : urbanisme var · 16h52 · fil - Drame du Tinduff à Plougastel, incendie à Trébeurden et projet d'autonomie de la Corse
Alerte Google : corse urbanisme · 16h02 · fil - Construction sans permis à Nice et dans les Alpes-Maritimes : risques, sanctions et options ...
Alerte Google : urbanisme alpes maritimes · 07h47 · fil - Habitat et urbanisme : la revue de presse du 6 août 2026 - AEF info
Alerte Google : urbanisme bouches du rhône (+2 autres flux) · 21h55 · fil - « Elle aura vocation à exercer toutes missions d'aménagement » : la ville de Saint-Tropez ...
Alerte Google : urbanisme var · 17h21 · fil - « Les travaux pourront démarrer avant la fin de l'année » : à Hyères, le permis de construire ...
Alerte Google : urbanisme var · 16h46 · fil - Sécheresse : la France enregistre un record d'écoulement interrompu sur ses petits cours d'eau
Alerte Google : corse urbanisme · 14h57 · fil - Le Conseil constitutionnel approuve intégralement l'augmentation du budget des Armées
Alerte Google : corse urbanisme · 11h01 · fil - Le FLNC rejette l'autonomie et menace les non-Corses installés sur l'île (Vidéo)
Alerte Google : corse urbanisme · 09h56 · fil - Au centre de Nice, l'agence Alexandre Chemetoff & Associés fait déborder la nature ... - Le Moniteur
Alerte Google : urbanisme alpes maritimes · 21h27 · fil - … et 2 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Self-hosting & Infra (4)
- How to Install Questarr on Your Synology NAS
Marius Hosting · 22h52 · fil - Nouveaux nas Synology gamme neo+
Forum des NAS : Synology, Qnap, Asustor... · 14h55 · fil - Premier NAS – Besoin de vos avis avant de me lancer
Forum des NAS : Synology, Qnap, Asustor... · 16h03 · fil - K7 serveur média
Forum des NAS : Synology, Qnap, Asustor... · 14h31 · fil
Libre & Linux (16)
- AMD Squeezes In A Few More Graphics Driver Updates For Linux 7.3
Phoronix · 02h44 · fil - Zapscape Is The Latest Linux Vulnerability For KVM Guest-To-Host Escape, LPE
Phoronix · 02h29 · fil - Linux 7.2-rc7 Restoring Btrfs Fixup Worker Infrastructure To Address Silent Data Loss
Phoronix · 23h09 · fil - Linux Networking Continues Being Bombarded With AI Patches
Phoronix · 21h07 · fil - IceWM 4.1 Window Manager Fixes Rare Video Performance Problems
Phoronix · 20h55 · fil - Linux Patched For Safe RET Interrupt Vulnerability
Phoronix · 18h14 · fil - Apple NVMe Linux Driver Sees Fixes After Being Bitten By New Firmware
Phoronix · 18h00 · fil - The Performance Benefits To Upgrading Mesa With Intel Arc B390 On Ubuntu Linux
Phoronix · 16h44 · fil - Linux Accidentally Left Legacy I/O & Memory Handlers Open In Kernel Lockdown Mode
Phoronix · 15h50 · fil - Philipp Sauberzweig: Sovereign Tech Fellowship for GNOME Design & Community Management
Planet GNOME · 15h28 · fil - Linux Wireless Maintainer Takes Firm Stance Against AI/LLM Generated Slop Patches
Phoronix · 14h22 · fil - Page Alloc Hogger Lets You Better Stress Memory Behavior On Linux For Testing/Debugging
Phoronix · 12h28 · fil - … et 4 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (19)
- 10 % des effectifs mobilisés et des correctifs par IA : ce que contient le bilan open source de Google
Goodtech · 03h22 · fil - Après ChatGPT et Claude, Meta AI a dérapé et piraté une entreprise
Actualités · 12h30 · fil - Donner un système d’exploitation IA à chaque employé : Cloudflare publie Cloudflare OS en open source
Goodtech · 03h05 · fil - ☕️ Meta ouvre Muse Code et casse les prix face à OpenAI et Anthropic
Next - Articles gratuits · 17h54 · fil - « Pourrie jusqu’à la moelle » : OpenAI accuse Apple de vouloir masquer ses échecs dans l’IA
Actualités · 17h51 · fil - « Nous développons des modèles de télépathie » : cette chercheuse a quitté OpenAI pour communiquer avec l’IA par la pensée
Numerama · 14h07 · fil - Mistral lance Shieldstral, son « petit » modèle local pour la modération de contenus
Next - Articles gratuits · 15h53 · fil - Muse Code : Meta attaque Claude Code et Codex et part à la conquête des développeurs
Numerama · 12h00 · fil - Journée noire pour l’IA chez Google : Demis Hassabis n’est plus à la tête de DeepMind
Numerama · 11h26 · fil - Modération sur mesure sans réentraînement : Mistral publie Shieldstral 3B en open weight
Goodtech · 11h01 · fil - IA : les cyberattaques autonomes sont un tournant majeur pour la sécurité informatique
LeMagIT · 09h35 · fil - « Bon sang, le lecteur a les droits admin ? » : OpenAI révèle le forum secret que ses agents ont créé avant de pirater Hugging Face
Numerama · 14h30 · fil - … et 7 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Non retenu (88)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 69 |
| Sans catégorie | 12 |
| cuisine | 3 |
| Synoworld | 2 |
| Culture | 2 |
Genere le 2026-08-07 a 07h30 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-08-08
Veille du samedi 8 aout 2026
131 articles sur 24 h (144 avant regroupement des doublons et fils de discussion) — 54 retenus dans 5 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
SIG & Cartographie (7)
- Re: QGIS: Prb localisation photos avec le plugin ImportPhotos
GeoRezo.net - QGIS · 03h47 · fil - Re: QGIS: Affichage photos Trace GPS
GeoRezo.net - QGIS · 03h41 · 2 messages · fil - QGIS: Prb localisation photos avec le plugin ImportPhotos
GeoRezo.net - QGIS · 16h14 · fil - Extraction
Geoservices.ign.fr – Toute l’actualité · 11h54 · fil - Validation
Geoservices.ign.fr – Toute l’actualité · 11h54 · fil - Statistiques d’utilisation
Geoservices.ign.fr – Toute l’actualité · 09h54 · fil - Limites d’usage des API
Geoservices.ign.fr – Toute l’actualité · 09h54 · fil
Urbanisme & Territoires (8)
- L'EHPAD de Porto-Vecchio renaît, pour mieux accueillir ses aînés - Corse Net Infos
Alerte Google : corse urbanisme · 16h03 · fil - Point de situation de la sécheresse dans le Var en 2026 - Var.gouv.fr
Alerte Google : urbanisme var · 18h58 · fil - Alpes-Maritimes : le logement au cœur des enjeux du territoire - Petites Affiches
Alerte Google : urbanisme alpes maritimes · 15h30 · fil - Le FLNC rejette le projet d'autonomie de la Corse - RiskAssur
Alerte Google : corse urbanisme · 14h04 · fil - "Le débat sur l'autonomie révèle l'échec du centralisme français" : entretien avec David ...
Alerte Google : corse urbanisme · 22h45 · fil - Menacés de démolition à Villeneuve-Loubet, les restaurateurs du bord de mer attaquent l ...
Alerte Google : urbanisme var (+1 autre flux) · 20h01 · fil - Travaux à proximité des réseaux... Vos textes officiels du vendredi 7 août 2026 - Le Moniteur
Alerte Google : urbanisme bouches du rhône · 14h55 · fil - Sound Transit Board Committee Advances Fare Gate Retrofit Program
The Urbanist · 16h49 · fil
Self-hosting & Infra (4)
- Synology & UGREEN NAS WordPress 7.0.3 Released
Marius Hosting · 16h45 · fil - Immich - mainteneur Patrick
Forum des NAS : Synology, Qnap, Asustor... · 14h10 · fil - Paperless - Ngx (Docker)
Forum des NAS : Synology, Qnap, Asustor... · 14h13 · fil - Nextcloud - Docker
Forum des NAS : Synology, Qnap, Asustor... · 14h11 · fil
Libre & Linux (19)
- Why and how the Austrian Military moved to LibreOffice (Part 1)
The Document Foundation Planet (+1 autre flux) · 09h51 · fil - Dynamic Music Pill adds word-by-word lyrics highlighting
OMG! Ubuntu · 04h44 · fil - KDE Plasma 6.8 Improvements For UI, Built-In Remote Desktop Server
Phoronix · 03h01 · fil - Linux 7.3 To Support Logitech HID++ 2.0 Reprogrammable Button Support
Phoronix · 21h28 · fil - This Week in GNOME: #261 Sushi Boxes
Planet GNOME · 21h21 · fil - Initial Apple M3 Pro / Max / Ultra Support Being Upstreamed For Linux 7.3
Phoronix · 19h31 · fil - Intel QATlib 26.08 Released With Gen6 Device Support, 2MB Hugepages
Phoronix · 18h57 · fil - TTM Memory Management For Graphics To Be More Aggresive With Linux 7.3
Phoronix · 17h57 · fil - Calibre 9.13 fixes broken ebook search in the content server
OMG! Ubuntu · 17h07 · fil - Intel Makes Progress On HDMI 2.1 FRL With Their Linux Driver For Meteor Lake & Newer
Phoronix · 16h00 · fil - PoCL 7.2-RC1 Brings Official OpenCL 3.0 Conformance On RISC-V & x86_64 CPUs
Phoronix · 15h39 · fil - HyperX Driver Coming For Linux 7.3 Just To Report A Microphone's Mute Status
Phoronix · 14h23 · fil - … et 7 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (16)
- OpenAI launches GPT-5.6 Luna as default for free ChatGPT users with unlimited text chats
News - AlternativeTo.net · 21h14 · fil - Le magazine Time sert aux chatbots IA des pages spécifiques avec de la pub
Next - Articles gratuits · 17h46 · fil - Deux offres d’emploi ont vendu la mèche : Anthropic va concevoir ses propres puces pour faire tourner Claude
Numerama · 11h15 · fil - 300 dollars pour un donut ChatGPT : le mystérieux projet d’OpenAI continue de se dévoiler
Actualités · 09h28 · fil - ☕️ ChatGPT fait sauter la limite sur les conversations texte pour les comptes gratuits
Next - Articles gratuits · 09h20 · fil - Les lecteurs préfèrent les histoires écrites par ChatGPT, mais ils ne le savent pas
Numerama · 12h01 · fil - Une mise à jour de ChatGPT corrige deux gros défauts et supprime une limite majeure
Actualités · 10h08 · fil - ChatGPT n’a plus de limites dans sa version gratuite : vous pouvez lui parler en illimité
Numerama · 08h54 · fil - This "designer" just plagiarized my work and tried to sell it back to me.
The Bryant Review · 17h42 · fil - « Je n’avais jamais mentionné ce nom » : l’IA de Google connaissait pourtant le secret de ce jeu vidéo
Numerama · 17h31 · fil - C’est reparti : le modèle d’IA chinois Kimi K3 s’est échappé d’un environnement de test
Numerama · 14h34 · fil - Suno veut mettre fin au far-west de la musique générée par IA
Next - Articles gratuits · 10h35 · fil - … et 4 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Non retenu (77)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 66 |
| Sans catégorie | 8 |
| Culture | 2 |
| Synoworld | 1 |
Genere le 2026-08-08 a 07h30 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-08-09
Veille du dimanche 9 aout 2026
69 articles sur 24 h (70 avant regroupement des doublons et fils de discussion) — 25 retenus dans 6 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
SIG & Cartographie (1)
- QGIS: Plugin cadastre (millesime 2026)
GeoRezo.net - QGIS · 08h16 · fil
OpenStreetMap (1)
- Tourism and Digital Mapping: Documenting Local Places with OpenStreetMap
OSM Diaries · 17h30 · fil
Urbanisme & Territoires (6)
- Concert de Polyphonie Corse - Le journal du Gers
Alerte Google : corse urbanisme · 21h36 · fil - Économie de proximité : "Les trésoreries sont à bout de souffle", alerte l'U2P Corse
Alerte Google : corse urbanisme · 15h51 · fil - Chantier du port à revoir, nouveau projet pour le coeur de ville, verrues sur le bord de mer
Alerte Google : urbanisme var · 19h39 · fil - pourquoi les travaux de sécurisation de la Roche Aiguille sont suspendus à Ampus - Nice-Matin
Alerte Google : urbanisme var · 18h40 · fil - La future ligne 5 de tramway à Nice déclarée d'utilité publique : ce que ça change concrètement
Alerte Google : urbanisme alpes maritimes · 18h24 · fil - Op-Ed: State Lawmakers Must Step Up Wildfire Alleviation Efforts
The Urbanist · 16h20 · fil
Self-hosting & Infra (4)
- How to Install DayGlance on Your Asustor NAS
Marius Hosting · 18h09 · fil - Catalogue de médias pour Jellyfin
Forum des NAS : Synology, Qnap, Asustor... · 14h07 · fil - Philippe du Pats Basque
Forum des NAS : Synology, Qnap, Asustor... · 05h12 · fil - didier, un serveur maison dans le placard du couloir
Forum des NAS : Synology, Qnap, Asustor... · 19h34 · fil
Libre & Linux (9)
- Orion for Linux beta update adds private browsing and link previews
OMG! Ubuntu · 04h49 · fil - New Linux Patches Enable ASUS ROG Ryujin III Monitoring Support
Phoronix · 02h47 · fil - Linux 7.3 To Better Handle Cluster Load Balancing On Intel Hybrid CPUs
Phoronix · 19h27 · fil - Polychromatic 0.9.8 Released With Razer Blade 16 2023 Support
Phoronix · 18h33 · fil - Wine 11.15 Released With Wayland Fixes, Fix For A 20 Year Old MSXML3 Bug
Phoronix · 15h42 · fil - GNOME Receiving Additional Design Help Thanks To Sovereign Tech Agency Fellowship
Phoronix · 13h20 · fil - HWMON Fixes For Linux 7.2-rc7: "Most Of Them Fixing Critical Or High Severity Bugs"
Phoronix · 12h55 · fil - AI Helped Create A DirectX 11 Driver For QEMU VMs
Phoronix · 12h40 · fil - Linux 7.2-rc7 Adding Support For The Most Unique Or Very Funky Gaming Controller
Phoronix · 12h25 · fil
IA & Numérique (4)
- OpenAI dévoile les coulisses étonnantes de la première cyberattaque orchestrée par ChatGPT
Actualités · 12h18 · fil - SuperCmd v2-1.0.4 adds local translation, custom AI support, and new search options
News - AlternativeTo.net · 17h15 · fil - Claude Code adds cross-session messaging for better workflow
News - AlternativeTo.net · 17h11 · fil - Protéger sa vie privée en ligne – J7 : Wi-Fi public, VPN, Tor
Nicolas FORCET · 16h48 · fil
Non retenu (43)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 36 |
| Sans catégorie | 3 |
| Synoworld | 2 |
| Culture | 2 |
Genere le 2026-08-09 a 07h30 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-08-10
Veille du lundi 10 aout 2026
61 articles sur 24 h (65 avant regroupement des doublons et fils de discussion) — 30 retenus dans 5 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
OpenStreetMap (4)
- I wonder should "Streets of London" be the anthem of #OpenStreetMap, bc tha…
Anne-Karoline (Mastodon) · 15h06 · fil - Happy 22nd anniversary, #OpenStreetMap! You have achieved what very few 22…
Anne-Karoline (Mastodon) · 14h51 · fil - weeklyOSM 837
WeeklyOSM · 14h07 · fil - نمایندگی بیمه دات کام
OSM Diaries · 09h53 · fil
Urbanisme & Territoires (7)
- Action citoyenne : quand Frédéric Poletti mord - Journal de la Corse
Alerte Google : corse urbanisme · 17h47 · fil - La Corse face au miroir de son impuissance
Alerte Google : corse urbanisme · 18h06 · fil - À Moncale, le pari gagnant d'un village qui construit son avenir - Corse Net Infos
Alerte Google : corse urbanisme · 10h28 · fil - À Marseille, 74 000 cendriers de poche distribués pour lutter contre les jets de mégots
Alerte Google : urbanisme bouches du rhône · 19h03 · fil - Sunday Video: How Safe Is Your City’s Transportation System?
The Urbanist · 19h59 · fil - Transition foncière : un colloque sur les sols vivants à Paris - Presse Agence
Alerte Google : urbanisme var · 17h07 · fil - hebdoOSM 837
weekly – semanario – hebdo – 週刊 – týdeník – Wochennotiz – 주간 – tygodnik · 14h07 · fil
Self-hosting & Infra (4)
- Synology & UGREEN Dockhand Docker Version 1.0.41
Marius Hosting · 22h15 · fil - Choix NAS
Forum des NAS : Synology, Qnap, Asustor... · 12h26 · fil - DXP 2800 - Sauvegarde avant changement HDD (1To vers 2x12To)
Forum des NAS : Synology, Qnap, Asustor... · 11h54 · fil - SHA1 mismatches on B2 with no_data_encryption = true
Rclone Forum - Announcements · 01h25 · fil
Libre & Linux (10)
- Linux 7.2-rc7 Released Following Another Exhausting AI-Driven Week
Phoronix · 00h14 · fil - CachyOS August 2026 Release Preps For Upcoming Server Edition
Phoronix · 20h18 · fil - Windows 11’s Weather app uses ~1GB RAM, Linux apps a fraction
OMG! Ubuntu · 19h09 · fil - Ivan Molodetskikh: Easy Sandboxing on Linux with Bubblewrap
Planet GNOME · 18h51 · fil - Qualcomm Posts Linux Patches For Kuno SoC Support: Cortex-A7 Platform In 2026
Phoronix · 17h35 · fil - Agenda du Libre pour la semaine 33 de l’année 2026
LinuxFr.org : les dépêches · 17h16 · fil - Electric Firebird: Firebird Database Engine Compiled to WebAssembly, With a Live Demo
The Document Foundation Planet · 15h27 · fil - Mesa 26.3 Intel Driver Code Enables Large GRF Mode For Newer GPUs
Phoronix · 14h24 · fil - Dell Latitude 7320 2-in-1 Seeing Web Camera Support On Linux After Five Years
Phoronix · 12h37 · fil - FreeBSD 14.5 Beta 1 Released With Various Backports, Security Fixes
Phoronix · 12h10 · fil
IA & Numérique (5)
- Plus fort que les experts humains : l’IA open source Prime Agent modifie ses propres règles et apprend à tricher
Goodtech · 02h47 · fil - On vous explique le RAG : la mécanique invisible derrière chaque source citée par une IA
Numerama · 17h01 · fil - Commentaires sur IA et science : du pliage de protéines… à l’illusion de la connaissance par Thierry Kauffmann
Framasoft - Toute l'actualité · 15h33 · fil - L’idée que l’IA serait l’avenir de la science comme on l’entend très souven…
Framasoft - Toute l'actualité · 10h05 · fil - Vous cherchez un logiciel Windows ? Méfiez-vous de ces faux sites qui propagent des virus
Actualités · 09h30 · fil
Non retenu (31)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 25 |
| Synoworld | 4 |
| Culture | 2 |
Genere le 2026-08-10 a 07h30 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-08-11
Veille du mardi 11 aout 2026
135 articles sur 24 h (147 avant regroupement des doublons et fils de discussion) — 49 retenus dans 7 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
SIG & Cartographie (1)
- Re: QGIS Extension: Universal Map2Web - Creez votre portail SIG en 1 clic
GeoRezo.net - QGIS · 23h08 · 5 messages · fil
OpenStreetMap (5)
- 今天的进展
OSM Diaries · 17h39 · fil - terbaik
OSM Diaries · 16h57 · fil - It's covered by "no video recording", but some people might need it spelled…
Anne-Karoline (Mastodon) · 15h01 · fil - RE: https://mastodon.online/@danielgibert/117070409770393130I guess we'll h…
Anne-Karoline (Mastodon) · 14h50 · fil - Foto pribadi saya
OSM Diaries · 07h51 · fil
Urbanisme & Territoires (11)
- Nice : Joia Méridia se déploie dans la plaine du Var - Le Moniteur
Alerte Google : urbanisme alpes maritimes (+1 autre flux) · 01h47 · fil - Les Bouches-du-Rhône passent à nouveau en vigilance orange canicule - Marsactu
Alerte Google : urbanisme bouches du rhône · 00h04 · fil - Clément Beaune : "Bastia peut être une ville pilote pour le plan canicule " - Corse Matin
Alerte Google : corse urbanisme · 19h17 · fil - Tramways, trains, bus... : les grands dossiers qui redessinent la mobilité dans les Alpes-Maritimes
Alerte Google : urbanisme alpes maritimes · 14h51 · fil - Les océans enregistrent leur mois de juillet le plus chaud en 2026 - AZERTAC
Alerte Google : urbanisme bouches du rhône · 23h02 · fil - La Ville d'Aix-en-Provence va créer une nouvelle centrale de chaleur à la Pioline
Alerte Google : urbanisme bouches du rhône · 19h33 · fil - Habitat et urbanisme : la revue de presse du 10 août 2026 - AEF info
Alerte Google : urbanisme var · 15h19 · fil - Monaco et la Slovénie célèbrent 20 ans de relations diplomatiques et renforcent leur coopération
Alerte Google : urbanisme var · 13h53 · fil - Urbanisme, voisinage, construction : quelles questions ont préoccupé les ménages en 2025
Alerte Google : corse urbanisme (+1 autre flux) · 11h48 · fil - Cannes : la requalification de la Croisette débutera cet automne - Le Moniteur
Alerte Google : urbanisme alpes maritimes · 01h03 · fil - Seattle Is Still Studying Housing at Magnolia's Fort Lawton
The Urbanist · 15h00 · fil
Self-hosting & Infra (4)
- How to Install Glances on Your Asustor NAS
Marius Hosting · 19h17 · fil - Hyperbackup et ouverture de ports
NAS-Forum · 23h46 · 2 messages · fil - Besoin d'aide pour vider le répertoire à 100%
Forum des NAS : Synology, Qnap, Asustor... · 17h48 · fil - Bonjour à tous
Forum des NAS : Synology, Qnap, Asustor... · 17h39 · fil
Libre & Linux (16)
- Asman Malika: My First GUADEC: From Kenya to the GNOME Community
Planet GNOME · 04h18 · fil - Open-Source NVIDIA "Nova" Driver Sees More Functionality For Linux 7.3
Phoronix · 03h08 · fil - Laureen Caliman: Vocab-style Crosswords Update | Final Stretch
Planet GNOME · 00h29 · fil - Fedora CoreOS To Enable systemd-oomd & zRAM Swap By Default
Phoronix · 21h35 · fil - Five More Lenovo Laptops To Report Fan Sensors With Linux 7.3
Phoronix · 20h40 · fil - Linux 7.3 Bringing A KCFI Optimization To Benefit Older Intel CPUs
Phoronix · 19h26 · fil - Linux Mint will delete your old kernel versions automatically
OMG! Ubuntu · 17h50 · fil - Qt Toolkit To Introduce Edge AI Submodule, Initially For Vision AI With Qt
Phoronix · 17h22 · fil - Linux Mint 22.3 HWE released with Linux kernel 7.0
OMG! Ubuntu · 16h38 · fil - Intel Xeon 678X Windows 11 vs. Ubuntu 26.04 Performance With The HP Z4 G6i
Phoronix · 16h35 · fil - Linux Mint Improves Kernel Management & Setting System-Wide Environment Variables
Phoronix · 14h53 · fil - Meta Publishes Muse Glimmer As 30B Open Agentic Model
Phoronix · 13h10 · fil - … et 4 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (11)
- OpenAI suspend une partie du développement du futur ChatGPT pour des raisons de sécurité
Actualités · 07h30 · fil - Meta dévoile Muse Glimmer et Mark Zuckerberg en profite pour dérouler sa « philosophie » de l’IA
Numerama · 17h46 · fil - OpenAI freine le développement de son propre modèle Astra, visiblement trop doué pour le piratage
Numerama · 16h21 · fil - Il demande à son agent IA de réserver un cours de sport, il se retrouve à pirater la salle
Numerama · 14h00 · fil - Linux 7.2 - L'IA relit le code du noyau et Torvalds trouve la note salée
Korben · 11h06 · fil - Mea Culpa - Dark Hours — Terry Godier
Liens en vrac de sebsauvage · 09h19 · fil - Cette IA chinoise s’évade de son test de sécurité… juste pour tricher
Actualités · 08h01 · fil - Super Nintendomination
Canard PC · 15h00 · fil - Google Chrome change d’interface sur Android pour imposer son bouton Gemini
Actualités · 13h27 · fil - Boy George says band will be 'fired' if they refuse to play AI song live | PinkNews
Liens en vrac de sebsauvage · 12h18 · fil - Ces chercheurs ont créé 8,3 milliards d’humains virtuels pour tester des produits à notre place
Numerama · 11h12 · fil
Signaux transverses (1)
- Casque et gilet fluo en trottinette, mais pas à vélo : la nouvelle absurdité des pistes cyclables franciliennes
Numerama · 10h14 · fil
Non retenu (85)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 73 |
| Sans catégorie | 6 |
| Culture | 3 |
| cuisine | 2 |
| Synoworld | 1 |
Genere le 2026-08-11 a 07h30 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-08-12
Veille du mercredi 12 aout 2026
154 articles sur 24 h (157 avant regroupement des doublons et fils de discussion) — 55 retenus dans 6 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
OpenStreetMap (5)
- A solar eclipse simulator built on OSM data
OSM Diaries · 14h28 · fil - AI-phobic idiot
OSM Diaries · 11h36 · fil - OsmAPP 1.8.0 & 1.9.0 released
OSM Diaries · 11h33 · fil - OpenClimbing 2.0 – a big step forward
OSM Diaries · 11h32 · fil - My First Diary Entry!
OSM Diaries · 08h09 · fil
Urbanisme & Territoires (7)
- Centre de tri de déchets de Monte : le collectif corse Piaghja di Golu réclame un moratoire ...
Alerte Google : corse urbanisme · 22h00 · fil - En Corse, le recul des marchés immobiliers et l'explosion des meublés de tourisme - ICI
Alerte Google : corse urbanisme · 21h38 · fil - Friche Heineken à Strasbourg : l'Eurométropole prépare l'avenir - Presse Agence
Alerte Google : urbanisme var · 21h48 · fil - Moyens aériens, débroussaillements, règles d'urbanisme… Mégafeu en Gironde - Le Point
Alerte Google : urbanisme var · 19h04 · fil - Antibes Juan-les-Pins : le front de mer dévoile son nouveau vi... - Presse Agence
Alerte Google : urbanisme var · 18h17 · fil - Éclipse solaire : comment l'observer en toute sécurité ? - Ville d'Hyères les Palmiers
Alerte Google : urbanisme var · 17h38 · fil - Seattle Prepares Gun Violence Prevention Policy Update
The Urbanist · 15h00 · fil
Self-hosting & Infra (5)
- How to Install JetLog on Your UGREEN NAS
Marius Hosting · 22h19 · fil - Docker Engine
Forum des NAS : Synology, Qnap, Asustor... · 20h12 · fil - Qsync 6 pour Mac dispo en Beta !
Forum des NAS : Synology, Qnap, Asustor... · 21h18 · fil - DS918+ s'éteint brutalement
NAS-Forum · 00h11 · fil - Upgrade ZimaOS
Forum des NAS : Synology, Qnap, Asustor... · 16h49 · fil
Libre & Linux (15)
- QEMU 11.1 Released With Numerous Improvements
Phoronix · 03h42 · fil - Redox OS Enjoys installer Improvements, Performance Enhancements
Phoronix · 02h47 · fil - GNOME Shell search redesign use a floating overlay
OMG! Ubuntu · 01h33 · fil - ChatGPT desktop app is now available for Linux (in preview)
OMG! Ubuntu · 21h33 · fil - Intel CPU Microcode 20260811 Release Fixes Eight Security Issues
Phoronix · 21h26 · fil - OpenAI Brings ChatGPT Desktop App To Linux
Phoronix · 20h37 · fil - Analyzing Fedora's Slow Performance On The Framework Laptop 13 Pro With Intel Panther Lake
Phoronix · 16h39 · fil - Flatpak 1.19 Released With Nine Security Fixes
Phoronix · 15h41 · fil - GNOME Designers Lay Out Some Of Their GNOME Shell Dreams
Phoronix · 14h35 · fil - Up To 12.8x Improvement Observed For gup_test With New Linux MM Patches
Phoronix · 14h16 · fil - Raspberry Pi AXI PMU Driver Under Review For The Mainline Linux Kernel
Phoronix · 14h00 · fil - GNOME Shell and Mutter Development: GNOME Shell Design Dreams
Planet GNOME · 13h08 · fil - … et 3 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (20)
- OpenAI launches official ChatGPT desktop app for Linux with Codex support
News - AlternativeTo.net · 00h18 · fil - Anthropic will start embedding invisible watermarks in text and images generated by Claude
News - AlternativeTo.net · 17h13 · fil - Anthropic va marquer tous les textes générés par Claude, mais l’idée a « ses limites »
Actualités · 10h32 · fil - OpenAI dégaine un nouveau ChatGPT programmé pour traquer les failles de sécurité… et les exploiter
Actualités · 09h45 · fil - Meta revient aux poids ouverts avec Muse Glimmer, un modèle IA local
Next - Articles gratuits · 09h37 · fil - Entraînement de modèles MoE : Cursor publie Mixture-of-Kittens en open source
Goodtech · 03h57 · fil - Les contenus passés par Claude pourront être repérés, même après un copier-coller
Numerama · 10h35 · fil - Coder avec l'IA sans pomper le projet d'un autre ?
Korben · 09h29 · fil - Mark Zuckerberg a encore changé d’avis : Meta libère Muse Glimmer 30B en open source
Goodtech · 07h40 · fil - Claude Fable 5 cuts biology false positives by 85 percent after safeguards update
News - AlternativeTo.net · 18h01 · fil - « Aperçus IA » de Google : l’Alliance de la presse saisit l’Autorité de la concurrence
Next - Articles gratuits · 17h36 · fil - iPhone et images générées par IA : Apple travaille sur un badge pour certifier les photos authentiques
Actualités · 17h00 · fil - … et 8 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Signaux transverses (3)
- Lieux de stationnement de la commune de Boucau
Derniers jeux de données · 17h14 · fil - Le vélo électrique compact et pliant Flexy Boost d’Intersport est 300 € moins cher
Numerama · 12h02 · fil - Fitness Park Le Moule
Derniers jeux de données · 15h02 · fil
Non retenu (98)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 80 |
| Sans catégorie | 12 |
| Synoworld | 4 |
| cuisine | 2 |
Genere le 2026-08-12 a 07h30 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-08-13
Veille du jeudi 13 aout 2026
155 articles sur 24 h (171 avant regroupement des doublons et fils de discussion) — 62 retenus dans 5 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
SIG & Cartographie (6)
- Re: QGIS 2.6: calcul de l Elongation des polygones
GeoRezo.net - QGIS · 01h55 · 2 messages · fil - Re: QGIS: Representer sens des pentes dans un reseau Egout
GeoRezo.net - QGIS · 01h25 · fil - Coup de chaud pour notre instance @umap qui n'est pas dû à la canicule mais…
OpenStreetMap 🇫🇷 · 19h10 · fil - QGIS: Representer sens des pentes dans un reseau Egout
GeoRezo.net - QGIS · 17h47 · fil - Re: QGIS: Recup infos d une couche dans une autre couche
GeoRezo.net - QGIS · 17h29 · fil - Re: QGIS 2.6 : calcul de l'élongation des polygones
GeoRezo.net - QGIS · 10h36 · fil
Urbanisme & Territoires (11)
- Grève des pompiers : la Corse solidaire du mouvement - ICI
Alerte Google : corse urbanisme · 18h04 · fil - "On est assommé par la chaleur": au Plan d'Aou à Marseille, des locataires ont interdiction d ...
Alerte Google : urbanisme bouches du rhône · 21h31 · fil - À Sommières, « repenser l'urbanisme » avec le boom démographique - Les Echos
Alerte Google : corse urbanisme · 18h31 · fil - Etangs, fontaines, « Monacolithe » et « Monérond » : comment le vallon et la place Sainte ...
Alerte Google : urbanisme var · 17h53 · fil - Habitat et urbanisme : la revue de presse du 12 août 2026 - AEF info
Alerte Google : urbanisme var · 16h11 · fil - À Ciamannacce, cinq terrains communaux pour faire revenir des familles au village
Alerte Google : corse urbanisme · 13h32 · fil - En Balagne, Moncale se bat pour se revitaliser : "Je ne reconnaissais plus mon village"
Alerte Google : corse urbanisme · 11h19 · fil - Fréjus : une esplanade en hommage à Brigitte Bardot à Port-Fréjus - Presse Agence
Alerte Google : urbanisme alpes maritimes (+1 autre flux) · 08h18 · fil - Seattle Council Passes Wilson's Junk Fee Ban, Aiding Renters
The Urbanist · 22h16 · fil - Op-Ed: Progressives Are Winning the Future of Washington's Legislature
The Urbanist · 21h43 · fil - Proposal for a Vision Zero Action Plan in Lynnwood Meets Resistance
The Urbanist · 15h00 · fil
Self-hosting & Infra (11)
- (Résolu) Remettre mon Nas Synology au format usine
NAS-Forum · 18h25 · 5 messages · fil - Synology & UGREEN NAS WordPress 7.0.4 Released
Marius Hosting · 17h59 · fil - {resolu) Remettre mon Nas Synology au format usine
NAS-Forum · 15h05 · 4 messages · fil - Remettre mon Nas Synology au format usine
NAS-Forum · 14h04 · 3 messages · fil - RS826+ & RS826RP+ : Officiellement sur le site Synology France
Forum des NAS : Synology, Qnap, Asustor... · 13h19 · fil - Tailscale (Docker) - Mainteneur : Patrick - Développeur : Tailscale Inc.
Forum des NAS : Synology, Qnap, Asustor... · 18h23 · fil - Question concernant les petites annonces
Forum des NAS : Synology, Qnap, Asustor... · 17h33 · fil - When dismissing an unwanted or previously shared folder, remote-unshare instead of ignore?
Syncthing Forum - Announcements · 02h50 · fil - Hyperbackup et ouverture de ports
NAS-Forum · 13h29 · 2 messages · fil - Fire TV Stick banni les médias centers maison
Forum des NAS : Synology, Qnap, Asustor... · 12h29 · fil - Nouveautés DSM 7.4.1-90080
NAS-Forum · 10h34 · fil
Libre & Linux (15)
- Rsync 3.5 Released As "Extraordinary" Update To Fix 33 Security Issues
Phoronix · 03h26 · fil - Comma.ai Launches A PCIe Gen4 x4 To USB4 Dock With Open-Source Firmware
Phoronix · 02h35 · fil - Jussi Pakkanen: Digitizing super 8 film yourself
Planet GNOME · 23h53 · fil - Tenstrorrent Posts GCC Compiler Patches For Ascalon XG Core
Phoronix · 22h14 · fil - GCC 17 Compiler Adding "-m128bit-atomic" For 128-bit Atomic Memory Operations
Phoronix · 20h40 · fil - Manjaro Linux 26.1 Released With GNOME 50 & KDE Plasma 6.7 Desktops
Phoronix · 20h28 · fil - Intel AMX Performance With The Xeon 678X Workstation CPU
Phoronix · 19h07 · fil - Lettre d'information XMPP de juin 2026
LinuxFr.org : les dépêches · 18h47 · fil - LightDM returns from the dark with first release in 4 years
OMG! Ubuntu · 18h16 · fil - Linux Finally Seeing Patches For Better Hybrid Graphics On 2018~2019 Era MacBook Pros
Phoronix · 16h15 · fil - Intel ANV Driver Enables Vulkan Video AV1 Encoding For DG2/Alchemist GPUs
Phoronix · 15h57 · fil - Linux 7.2 To Revert Back To The FIFO DRM Scheduler Policy Due To "Fair" Regressions
Phoronix · 12h31 · fil - … et 3 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (19)
- Anthropic va tatouer les textes et les images générés par Claude
Next - Articles gratuits · 09h52 · fil - ChatGPT arrive enfin sur Linux, avec Work et Codex
Numerama · 13h02 · fil - ChatGPT introduces AI Agent import support
News - AlternativeTo.net · 10h17 · fil - Arcane : une solution open source très complète pour gérer ses conteneurs Docker
IT-Connect · 06h00 · fil - SpaceX lance Grok Bot, la nouvelle IA qui veut travailler à votre place
Actualités · 17h59 · fil - Après Deezer, Spotify va étiqueter la musique générée par IA
Actualités · 17h00 · fil - Il confie sa récolte à une IA, 10 hectares dépérissent en une nuit
Numerama · 16h27 · fil - Missing openai-whisper
Framasoft - Toute l'actualité · 13h52 · fil - Cloudflare Computer - Un ordinateur dans le cloud pour votre agent IA
Korben · 10h54 · fil - OpenAI rachète 7 milliards de dollars d’actions à ses salariés avant d’entrer en bourse
Next - Articles gratuits · 09h27 · fil - Sur Spotify, les « artistes IA » vont gagner un badge et perdre des recommandations
Next - Articles gratuits · 08h12 · fil - Ne cherchez plus sur Google : Ford ajoute une IA survoltée pour tout contrôler dans votre voiture
Actualités · 07h35 · fil - … et 7 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Non retenu (92)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 80 |
| Sans catégorie | 8 |
| Culture | 2 |
| Infrastructure Docker | 1 |
| Synoworld | 1 |
Genere le 2026-08-13 a 07h30 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-08-14
Veille du vendredi 14 aout 2026
111 articles sur 24 h (116 avant regroupement des doublons et fils de discussion) — 42 retenus dans 6 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
SIG & Cartographie (1)
- Re: QGIS: Representer sens des pentes dans un reseau Egout
GeoRezo.net - QGIS · 16h19 · 3 messages · fil
Urbanisme & Territoires (9)
- Document d'urbanisme - En cas de projet de PLUi transfrontalier, consulter les communes ...
Alerte Google : urbanisme alpes maritimes (+1 autre flux) · 21h05 · fil - 20 personnes évacuées, travaux réalisés sans autorisation... ce que l'on sait de ... - France 3 Régions
Alerte Google : urbanisme bouches du rhône · 20h10 · fil - "C'était très humiliant comme situation" : avec un WC pour 9 800 habitants, à Marseille, le ...
Alerte Google : urbanisme bouches du rhône · 13h30 · fil - « Les travaux nous ont convaincus » : les travaux de réaménagement de la pinède de Juan ...
Alerte Google : urbanisme alpes maritimes (+1 autre flux) · 23h08 · fil - Médecine esthétique Côte d'Azur : les chiffres de la montée en gamme - News of Marseille
Alerte Google : urbanisme alpes maritimes · 23h04 · fil - State Extension Denied, Bainbridge Island Pivots on Growth Plan
The Urbanist · 19h01 · fil - Plage privée : peut-on vous empêcher d'accéder à la mer ?
Alerte Google : urbanisme alpes maritimes · 15h58 · fil - Seattle Advances Ban on Surveillance Pricing, Targeting Grocery Giants
The Urbanist · 15h00 · fil - Les Journées Européennes du Patrimoine Aix-en-Provence 2026 - JDS
Alerte Google : urbanisme bouches du rhône · 09h21 · fil
Self-hosting & Infra (1)
- Synology: Portainer Docker Version 2.39.6
Marius Hosting · 11h33 · fil
Libre & Linux (13)
- AMD GAIA 0.23 Delivers Ability To Install/Run AI Agents From The Terminal
Phoronix · 02h33 · fil - KDE, Techpaladin & Kubuntu Focus Announce The Bullet-Proof KDE Software Initiative
Phoronix · 22h08 · fil - The Best Linux 7.2 Features: Cache Aware Scheduling, AMD Zen 6, AMDGPU HDMI 2.1 FRL
Phoronix · 21h57 · fil - Updated Coreboot/Dasharo For MSI PRO Z690-A / Z790-P Motherboards, Adds Overclocking
Phoronix · 21h08 · fil - Philipp Sauberzweig: Fellowship Update, 2026-08-13
Planet GNOME · 19h40 · fil - GeForce NOW’s Linux app exits beta, gets official Flatpak repo
OMG! Ubuntu · 17h22 · fil - The Beneficial Performance Gains Running The Framework Laptop Pro 13 / Core Ultra X9 388H With Linux 7.1+
Phoronix · 16h00 · fil - GeForce NOW On Linux Native App Exits Beta
Phoronix · 15h21 · fil - MSI Claw Gamepad Driver Set To Be Merged For Linux 7.3
Phoronix · 15h11 · fil - Linux Patches Enable Apple M4 NVMe Support
Phoronix · 13h30 · fil - Microsoft's Azure Linux 3.0.20260809 Ships With 233+ CVE Fixes
Phoronix · 12h38 · fil - Intel XPU Manager 2.1 Released For Monitoring Arc Pro Graphics On Windows/Linux
Phoronix · 12h24 · fil - … et 1 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (17)
- Claude va glisser un filigrane invisible dans tous ses textes
Korben · 10h10 · fil - (Édito) Quatre modèles d’IA « échappent » à leurs constructeurs : vous le faites exprès ?
Next - Articles gratuits · 10h02 · fil - ☕️ La préfecture de Seine-et-Marne autorise l’installation de Campus IA à Fouju
Next - Articles gratuits · 08h42 · fil - Ça y est, ChatGPT débarque enfin sur Linux en version native 🐧
Goodtech · 07h39 · fil - Mistral launches open multimodal safety model Shieldstral with adaptable moderation
News - AlternativeTo.net · 19h23 · fil - Retouche IA de vos photos au smartphone sans vous le dire ! - r/IaCaca
Liens en vrac de sebsauvage · 18h21 · fil - Les gains de productivité de l’IA provoquent une augmentation des émissions de CO2
Next - Articles gratuits · 17h02 · fil - Amazon va utiliser les données des utilisateurs Twitch pour entraîner son IA, comment s’y opposer ?
Actualités · 16h01 · fil - Twitch regrette mais assume : les contenus des chaînes entraînent par défaut l’IA d’Amazon
Next - Articles gratuits · 15h42 · fil - Vos streams Twitch nourrissent l'IA d'Amazon - La case à décocher
Korben · 09h38 · fil - Votre identité vaut de l'or, et l'IA vient de la mettre en vente sur Le Bon Coin
Korben · 08h03 · fil - Les lunettes connectées de Meta risquent le tribunal pénal en Allemagne
Actualités · 17h00 · fil - … et 5 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Signaux transverses (1)
- Bornes de recharge pour véhicules électriques (IRVE)
Derniers jeux de données · 16h10 · fil
Non retenu (69)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 64 |
| Synoworld | 2 |
| Sans catégorie | 2 |
| Culture | 1 |
Genere le 2026-08-14 a 07h30 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-08-15
Veille du samedi 15 aout 2026
130 articles sur 24 h (131 avant regroupement des doublons et fils de discussion) — 51 retenus dans 7 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
SIG & Cartographie (2)
- Bordeaux: Rentrée bordelaise du groupe local OpenStreetMap, Le jeudi 3 septembre 2026 de 18h00 à 18h00.
L'Agenda du Libre · 16h36 · fil - Re: QGIS: Representer sens des pentes dans un reseau Egout
GeoRezo.net - QGIS · 10h58 · fil
OpenStreetMap (1)
- Exploring Digital Maps and Web Platforms
OSM Diaries · 16h31 · fil
Urbanisme & Territoires (9)
- Feux dans le Var : les pompiers de Montrevel en renfort
Alerte Google : urbanisme var · 00h07 · fil - Sécheresse : les Bouches-du-Rhône maintiennent l'alerte renforcée sur plusieurs secteurs
Alerte Google : urbanisme bouches du rhône · 22h22 · fil - Vigilance jaune orages en Corse-du-Sud vendredi 14 août 2026 - Ville d'Ajaccio
Alerte Google : corse urbanisme · 15h05 · fil - PHOTOS - Des travaux sans autorisation suspectés d'être à l'origine d'un effondrement à Marseille
Alerte Google : urbanisme bouches du rhône · 23h10 · fil - L'immeuble touché par un effondrement à Marseille a dû être démoli : la vidéo est impressionnante
Alerte Google : urbanisme bouches du rhône · 21h48 · fil - Cette carte interactive vole au secours des étudiants toujours sans logement, à quelques ... - Actu.fr
Alerte Google : urbanisme bouches du rhône · 17h42 · fil - West Seattle Link Opening Slips to 2035, Sound Transit OKs Property Acquisitions
The Urbanist · 22h30 · fil - How North Bend's First Attempt to Build Workforce Housing Fell Apart
The Urbanist · 15h00 · fil - Un appel aux dons lancé pour rénover l'église - NRPyrenees.fr
Alerte Google : urbanisme alpes maritimes · 11h20 · fil
Self-hosting & Infra (6)
- Quel NAS Synology avec des HDD non Synology
NAS-Forum · 21h48 · fil - How to Install JetLog on Your Asustor NAS
Marius Hosting · 18h30 · fil - Reproducible ESP32 Firmware Development with Docker and Docker Sandboxes
Docker Blog · 15h00 · fil - Hello
Forum des NAS : Synology, Qnap, Asustor... · 19h10 · fil - Youtarr - outil auto-hébergé permettant de télécharger automatiquement les vidéos de vos chaînes et playlists YouTube préférées.
Forum des NAS : Synology, Qnap, Asustor... · 18h24 · fil - D ou sort ce nom de dossier
Forum des NAS : Synology, Qnap, Asustor... · 09h01 · fil
Libre & Linux (12)
- Why and how the Austrian Military moved to LibreOffice (Part 2)
TDF Community Blog (+1 autre flux) · 07h35 · fil - AMD Posts Massive 109 Patch Series For GFX 12.1 RAS Support On Friday Evening
Phoronix · 03h01 · fil - D7VK 2.1 Brings Faster Load Times, More Performance Tweaks
Phoronix · 22h26 · fil - Lemonade 11.6 Integrates Muse-Glimmer 30B, Experimental TheNoise ROCm Image Generation
Phoronix · 22h00 · fil - This Week in GNOME: #262 Minor Major Update
Planet GNOME · 21h06 · fil - Omarchy 4.0 Linux Distro Released With Desktop Shell Now Implemented Via Quickshell
Phoronix · 20h10 · fil - Add multiple picture widgets to your Ubuntu desktop
OMG! Ubuntu · 18h02 · fil - Linux 7.1, Linux 7.2 Performance On The Intel Xeon 600 Series
Phoronix · 17h18 · fil - Features Coming For Linux 7.3 From Optimizing Intel Hybrid CPUs To Old AMD Athlon XPs
Phoronix · 13h00 · fil - Patches Posted For Fixing The Linux DRM Scheduler's Fair Policy
Phoronix · 12h04 · fil - Open-Source exFAT Programs 1.4.3 Improves Fsck & Mkfs
Phoronix · 11h44 · fil - Slackware-Based Zenwalk Linux Aims For "True Low Latency Desktop Experience"
Phoronix · 11h30 · fil
IA & Numérique (19)
- Elle a fabriqué un corps à l’IA Claude, puis l’a emmenée voir l’éclipse
Numerama · 11h21 · fil - Un défi contre Claude Code : DeepSeek publie son agent de codage Harness en open source 🐳
Goodtech · 08h10 · fil - Microsoft fait le ménage dans Copilot et range la mascotte Mico au placard
Next - Articles gratuits · 08h05 · fil - Le ChatGPT le plus intelligent peut maintenant répondre 14 fois plus vite : à quoi ça sert ?
Actualités · 16h15 · fil - Accusé d’utiliser l’IA, le PDG du studio de Warhammer 40,000: Space Marine 2 lave son linge sale en public
Numerama · 13h01 · fil - Étiquetage des contenus IA : pourquoi ces outils de contournement risquent de vous jouer un mauvais tour
Actualités · 12h34 · fil - OpenAI sort sa fonction « recall » s’appuyant sur l’historique du clavier, des clics, etc.
Next - Articles gratuits · 11h43 · fil - ChatGPT enregistre tout ce que vous faites sur votre ordinateur, et c’est aussi pratique qu’inquiétant
Numerama · 10h10 · fil - Claude in Chrome syncs sessions across desktop, web, and mobile
News - AlternativeTo.net · 17h33 · fil - ChatGPT now lets users work on Drive without switching tabs
News - AlternativeTo.net · 17h20 · fil - Le chaos permanent : nouveaux départs à la direction d’OpenAI
Next - Articles gratuits · 16h05 · fil - Des instructions cachées à destination d’une IA insérées dans des plaintes en justice
Liens en vrac de sebsauvage · 15h34 · fil - … et 7 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Signaux transverses (2)
- Mobilité- Stationnement des parkings en temps réel
Derniers jeux de données · 15h51 · fil - Le vélo de ville électrique Decathlon Elops 900 E est beau, et en promo de 300 €
Numerama · 09h55 · fil
Non retenu (78)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 64 |
| Sans catégorie | 8 |
| Culture | 5 |
| Synoworld | 1 |
Genere le 2026-08-15 a 07h30 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-08-16
Veille du dimanche 16 aout 2026
60 articles sur 24 h — 21 retenus dans 4 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
Urbanisme & Territoires (3)
- Fin de vie, agriculture : qu'ont décidé les Sages ? | Corse Matin - PressReader
Alerte Google : corse urbanisme · 12h31 · fil - « Le bruit, les vibrations en continu, et ça dure depuis janvier ! » : à Toulon, le chantier d'un ...
Alerte Google : urbanisme var · 22h27 · fil - Op-Ed: With MHA Reform In Vogue, Unaddressed Utility Costs Loom
The Urbanist · 16h00 · fil
Self-hosting & Infra (5)
- 7 Must-Have Docker Containers to Set Up After Vacation
Marius Hosting · 18h56 · fil - aide Synology Photos
Forum des NAS : Synology, Qnap, Asustor... · 21h01 · fil - Installer une VM Windows 11 sur Synology (Virtual Machine Manager)
NAS-Forum · 18h23 · fil - SRM 1.3.1-9346 Update 3 (22 décembre 2022)
Forum des NAS : Synology, Qnap, Asustor... · 16h07 · fil - Volume SHR planté et secteurs défectueux
NAS-Forum · 12h08 · fil
Libre & Linux (9)
- Marek Olšák's 19 Latest Patches Further Optimizing RADV & ACO
Phoronix · 02h17 · fil - GNOME 51 Beta Released With Many Minor Improvements
Phoronix · 19h12 · fil - Intel's Jay Graphics Shader Compiler Now Passing Vulkan CTS With Xe2/Xe3 Hardware
Phoronix · 16h23 · fil - RustConn 0.20 Continues Further Polishing This GTK4/libadwaita-Based Connection Manager
Phoronix · 13h55 · fil - Late Sound Fixes For Linux 7.2 Bring More Device Quirks, Intel Nova Lake HDMI-In Capture
Phoronix · 13h03 · fil - KDE Plasma 6.8 To Allow Fine-Tuning Mouse/Touchpad Speeds
Phoronix · 12h51 · fil - Debian Developers Begin Voting Over LLM Usage Within The Project
Phoronix · 12h40 · fil - FBSimCity v0.9.0: the machine room — the real Firebird engine inside the explorable city
The Document Foundation Planet · 09h28 · fil - Radinus : tenir sa comptabilité personnelle sous Linux
LinuxFr.org : les dépêches · 09h13 · fil
IA & Numérique (4)
- Anthropic détaille l’étiquetage des textes générés par Claude et promet un détecteur accessible à tous
Actualités · 16h34 · fil - ChatGPT affichera des publicités en France dès la fin du mois
Actualités · 14h12 · fil - OpenAI launches a Computer History feature that tracks user activity across apps and sites
News - AlternativeTo.net · 07h49 · fil - Gemini 3.7 Flash : Google délaisse les modèles de pointe pour affronter les IA chinoises sur le prix
Actualités · 09h30 · fil
Non retenu (39)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 31 |
| cuisine | 4 |
| Synoworld | 2 |
| Culture | 2 |
Genere le 2026-08-16 a 07h30 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-08-17
Veille du lundi 17 aout 2026
67 articles sur 24 h (69 avant regroupement des doublons et fils de discussion) — 30 retenus dans 5 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
OpenStreetMap (2)
- Exploring Digital Maps and Location Data in Modern Web Applications
OSM Diaries · 15h06 · fil - weeklyOSM 838
WeeklyOSM · 14h33 · fil
Urbanisme & Territoires (7)
- Hélène Ségara à la Citadelle de Saint-Tropez : « Je reste Varoise dans l'âme » - Nice-Matin
Alerte Google : urbanisme var · 15h29 · fil - Destruction, restauration, projet d'hôtel… Après le classement temporaire au titre des ... - Nice-Matin
Alerte Google : urbanisme var · 15h02 · fil - Toulon : la résidence Le Guynemer entame sa réhabilitation - Presse Agence
Alerte Google : urbanisme alpes maritimes (+1 autre flux) · 10h58 · fil - De la Bretagne à la Côte d'Azur, Enquête exclusive sur les scandales qui défigurent le littoral
Alerte Google : urbanisme alpes maritimes · 22h16 · fil - Sunday Video: High Oil Prices Can Make Better Cities
The Urbanist · 21h00 · fil - Op-Ed: Give Ballard a Sounder Stop While It Waits for Light Rail
The Urbanist · 17h18 · fil - hebdoOSM 838
weekly – semanario – hebdo – 週刊 – týdeník – Wochennotiz – 주간 – tygodnik · 14h33 · fil
Self-hosting & Infra (6)
- Synology & UGREEN Dockhand Docker Version 1.0.42
Marius Hosting · 18h34 · fil - Asustor NIMBUSTOR 2 AS5202T
Forum des NAS : Synology, Qnap, Asustor... · 15h14 · fil - Windows et Windev
Forum des NAS : Synology, Qnap, Asustor... · 05h32 · fil - Mort de mon DS1815+
Forum des NAS : Synology, Qnap, Asustor... · 16h10 · fil - AS 5204T Driverstor 4 Pro Gen 2
Forum des NAS : Synology, Qnap, Asustor... · 16h04 · fil - AS6602T Lockerstor 2
Forum des NAS : Synology, Qnap, Asustor... · 15h56 · fil
Libre & Linux (10)
- GIMP Making Progress On New Project File Format After Nearly 30 Years With XCF
Phoronix · 22h15 · fil - LibreOffice Conference 2026 schedule is online!
TDF Community Blog (+1 autre flux) · 11h39 · fil - Linux 7.2 Released With Faster I/O, New AMD & Intel Driver Improvements
Phoronix · 01h12 · fil - Linux 7.2 brings cache-aware scheduling, faster ext4 and Btrfs
OMG! Ubuntu · 01h04 · fil - tlbi= Boot Option Submitted Ahead Of Linux 7.2 Kernel Release
Phoronix · 19h01 · fil - Debian Marks 33rd Birthday As One Of The Oldest Maintained Linux Distros
Phoronix · 16h13 · fil - AVX-512 xor_gen Continues To Look Exciting For Helping Linux RAID With Modern CPUs
Phoronix · 12h54 · fil - Linux 7.3 binfmt_misc To Allow BPF Programs To Dynamically Choose Execution Environments
Phoronix · 12h37 · fil - New Linux Driver Enables 12VHPWR Monitoring For ASUS ROG Astral Graphics Cards
Phoronix · 12h19 · fil - Aux origines du premier GPU, une bande de copains de l'ENS
LinuxFr.org : les dépêches · 11h28 · fil
IA & Numérique (5)
- L’ouverture face au modèle fermé d’Anthropic : le chinois Z.ai dévoile le monstre du codage GLM-5.3
Goodtech · 04h44 · fil - Nouveau dérapage de l’IA : un assistant a franchi une ligne rouge après une demande anodine
Actualités · 12h06 · fil - Contrairement à ce que l'on pourrait penser, l'IA dans la science semble av…
Framasoft - Toute l'actualité · 10h05 · fil - L’IA appliquée à la science… rêve de progrès
Framasoft - Toute l'actualité · 10h00 · fil - Sécurité du matériel : Dell, HP, Lenovo et NVIDIA s’unissent pour financer le LVFS sous Linux
Goodtech · 01h06 · fil
Non retenu (36)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 31 |
| Culture | 3 |
| Sans catégorie | 1 |
| Synoworld | 1 |
Genere le 2026-08-17 a 07h30 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-08-18
Veille du mardi 18 aout 2026
167 articles sur 24 h (183 avant regroupement des doublons et fils de discussion) — 74 retenus dans 7 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
SIG & Cartographie (3)
- https://fr.osm.social/@osm_fr/117110644650406828
OpenStreetMap 🇫🇷 · 13h37 · fil - Il ne reste plus que 11 jours avant le début du SOTM 2026 qui se déroule à…
OpenStreetMap 🇫🇷 · 13h35 · fil - Re: QGIS: Representer sens des pentes dans un reseau Egout
GeoRezo.net - QGIS · 10h56 · 2 messages · fil
OpenStreetMap (1)
- Oh, there's a 5th candidate for the board of OSMFhttps://wiki.openstreetmap…
Gregory Marler (Mastodon) · 21h04 · fil
Urbanisme & Territoires (19)
- Incendies : Emmanuel Macron promet des aides pour le Var, « les mêmes » qu'en Gironde
Alerte Google : urbanisme var · 23h31 · fil - DIRECT. Incendies: dans le Var, Emmanuel Macron salue la mémoire des quatre pompiers ... - BFM
Alerte Google : urbanisme var · 21h50 · fil - EN DIRECT - Incendies : le Var bénéficiera des «mêmes dispositifs» que la Gironde et ... - Libération
Alerte Google : urbanisme var · 20h25 · fil - Protection du littoral, redéfinition du village... À La Croix-Valmer, l'association de ... - Nice-Matin
Alerte Google : urbanisme var · 18h10 · fil - Un marché foncier et immobilier en repli, selon l'Agence de l'Urbanisme de Corse
Alerte Google : corse urbanisme · 14h50 · fil - L'Allemagne envisage d'adapter ses lois au climat | Corse Matin - PressReader
Alerte Google : corse urbanisme · 08h32 · fil - 14e Grande braderie du centre-ville - Ajaccio
Alerte Google : corse urbanisme · 20h02 · fil - Une nouvelle étape franchie dans le dossier qui anime la vie publique depuis 30 ans à Vence
Alerte Google : urbanisme var · 19h21 · fil - L'architecte varoise Nathalie Schneider questionne la relation entre l'architecture des ...
Alerte Google : urbanisme var · 18h35 · fil - Massifs forestiers : risque d'incendie extrême - Ville d'Hyères les Palmiers
Alerte Google : urbanisme var · 18h22 · fil - Courbevoie : une nouvelle promenade sur les berges de Seine - Presse Agence
Alerte Google : urbanisme alpes maritimes (+1 autre flux) · 17h35 · fil - Allemagne: le gouvernement divisé sur l'inscription du climat dans la Constitution
Alerte Google : corse urbanisme · 16h32 · fil - … et 7 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Self-hosting & Infra (11)
- How to Install Silo Server on Your Synology NAS
Marius Hosting · 22h53 · fil - NAS : 4 x 4TB ou 3 X6TB = 10TB
Forum des NAS : Synology, Qnap, Asustor... · 22h11 · fil - Bibliothèque photos
NAS-Forum · 13h55 · fil - Airsonic Advanced (Docker) -streamer multimédia gratuit
Forum des NAS : Synology, Qnap, Asustor... · 13h29 · fil - Jackett (Docker)
Forum des NAS : Synology, Qnap, Asustor... · 13h26 · fil - Sonarr (Docker) - PVR pour les utilisateurs de Usenet et BitTorrent.
Forum des NAS : Synology, Qnap, Asustor... · 13h21 · fil - Radarr (Docker) - téléchargement automatique de films via Usenet et BitTorrent.
Forum des NAS : Synology, Qnap, Asustor... · 13h19 · fil - Votre dernier achat ? On veut tout savoir !
Forum des NAS : Synology, Qnap, Asustor... · 19h46 · fil - (VDS) Compte Plex avec Plex Pass lifetime 150€
Forum des NAS : Synology, Qnap, Asustor... · 19h21 · fil - Warn nodes syncing from the same public IP address
Syncthing Forum - Announcements · 15h17 · fil - Make zero CVEs your new default
Docker Blog · 15h00 · fil
Libre & Linux (20)
- Ubuntu’s App Center doesn’t know what went wrong
OMG! Ubuntu · 02h32 · fil - EFS & FreeVxFS File-Systems Get Booted While FailFS Merged For Linux 7.3
Phoronix · 02h29 · fil - Wordbook is a modern offline dictionary for GNOME
OMG! Ubuntu · 00h30 · fil - Linux 7.3 To Land Initial Code Improving vRAM Management, More Improvements Coming
Phoronix · 23h15 · fil - FFmpeg Lands H.265 Vulkan Encode Performance Optimizations
Phoronix · 22h14 · fil - Offloading Rust To GPUs Proves Capable Of High Performance With Memory Safety
Phoronix · 21h30 · fil - Engagement Team: Engagement team introduction blog post
Planet GNOME · 20h41 · fil - Agenda du Libre pour la semaine 34 de l'année 2026
LinuxFr.org : les dépêches · 19h20 · fil - ARCTIC Fan Controller: The Best Fan Controller For Linux Desktops, Less Than $10 USD
Phoronix · 18h50 · fil - AMD Working On A New Backend For Improving ROCm Compute In QEMU/VMs
Phoronix · 17h05 · fil - Linux 7.3 SMP Improvement To Help Reduce Latency, Improve Real-Time Performance
Phoronix · 16h09 · fil - Firefox 154 Now Available With "Manage AI" Quick Action
Phoronix · 15h01 · fil - … et 8 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (14)
- L’ère du ChatGPT gratuit et sans publicité touche officiellement à sa fin
Numerama · 17h44 · fil - « ChatGPT m’a gâché mon voyage » : le cauchemar des touristes qui font aveuglément confiance à l’IA
Actualités · 17h02 · fil - Anthropic : le tatouage de Claude se niche dans le choix des mots
Next - Articles gratuits · 16h53 · fil - La fronde contre le marquage des textes de Claude s’organise : ces outils traquent déjà les failles du filigrane
Numerama · 16h01 · fil - « L’IA devrait être comme le Wi-Fi » : dans ce bar chinois, DeepSeek est à volonté
Numerama · 18h00 · fil - Pourquoi l’ingénierie des prompts ne construira pas votre effectif IA
LeMagIT · 13h46 · fil - Je me suis remis à la domotique grâce à un vieux mini PC et Claude Code
Korben · 12h02 · fil - IA : séries d’achats « bizarres » auprès de librairies d’occasion anglaises et irlandaises
Next - Articles gratuits · 11h58 · fil - Exchange Server SE : Microsoft explique pourquoi la CU1 n’arrive toujours pas
IT-Connect · 16h33 · fil - RustDesk brings true unattended remote access to Wayland, including multi-monitor setups
News - AlternativeTo.net · 15h30 · fil - Grok aurait généré 7 000 deepfakes pédocriminels d’une mineure pour son beau-père
Next - Articles gratuits · 14h41 · fil - DroidFS 2.3 brings new Material 3 UI, enhanced thumbnails, and edge-to-edge screen support
News - AlternativeTo.net · 14h00 · fil - … et 2 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Signaux transverses (6)
- Mobilité - Bornes escamotables - Grand Poitiers Données métier
Derniers jeux de données · 12h15 · fil - Mobilité - Horodateurs - Grand Poitiers Données métier
Derniers jeux de données · 11h46 · fil - Mobilité - Itinéraires malins - Grand Poitiers Données métiers
Derniers jeux de données · 11h30 · fil - Mobilité - Parcs relais - Grand Poitiers Données métiers
Derniers jeux de données · 11h14 · fil - Déplacements-Mobilité - Zones de circulation - Donnée métier
Derniers jeux de données · 10h09 · fil - Quelle « cure de désintoxication » pour réduire ses dépendances tech ?
LeMagIT · 07h57 · fil
Non retenu (92)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 75 |
| Sans catégorie | 11 |
| Synoworld | 5 |
| cuisine | 1 |
Genere le 2026-08-18 a 07h30 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-08-19
Veille du mercredi 19 aout 2026
156 articles sur 24 h (159 avant regroupement des doublons et fils de discussion) — 63 retenus dans 6 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
SIG & Cartographie (2)
- Re: QGIS: KML non fonctionnel post trait. outil separer une couche vecteur
GeoRezo.net - QGIS · 17h01 · fil - Re: QGIS: Profil d Elevation en escalier ?
GeoRezo.net - QGIS · 15h46 · fil
OpenStreetMap (3)
- 1.8公斤的電源你就給我十塊錢?
OSM Diaries · 16h25 · fil - My 1st contribution
OSM Diaries · 15h49 · fil - one candidate withdrew their nomination, leaving only 4 of us for 4 availab…
Gregory Marler (Mastodon) · 10h27 · fil
Urbanisme & Territoires (15)
- À Ollioules, la propriété léguée ne peut abriter une école privée - La Marseillaise
Alerte Google : urbanisme bouches du rhône · 19h24 · fil - Marseille (Bouches-du-Rhône) : Sonepar Climate Solutions opère le rebranding de son ...
Alerte Google : urbanisme bouches du rhône · 18h13 · fil - Immobilier en Corse : moins de ventes, mais toujours de fortes tensions sur le littoral
Alerte Google : corse urbanisme · 17h44 · fil - Incendies dans le Var : quelles aides pour les habitants, les communes et les entreprises sinistrés
Alerte Google : urbanisme var · 14h59 · fil - Aides incendies Var : reconstruire face au risque
Alerte Google : urbanisme var · 10h57 · fil - Gironde, Landes, Var… Les consignes de Matignon aux acheteurs publics pour tenir ... - Le Moniteur
Alerte Google : urbanisme var · 10h38 · fil - Dans le Var, une école chauffée et ventilée au solaire - La Gazette des Communes
Alerte Google : urbanisme var · 08h55 · fil - Le Var en vigilance jaune canicule - Sécurité et protection de la population - Actions de l'État
Alerte Google : urbanisme var · 08h43 · fil - Per campà in pace : un dispositif "pour sauver des vies" selon François Pernin
Alerte Google : corse urbanisme · 19h41 · fil - Servitude de résidence principale : Un nouvel outil inédit au service de l'habitat permanent
Alerte Google : corse urbanisme · 16h33 · fil - Habitat et urbanisme : la revue de presse du 18 août 2026 - AEF info
Alerte Google : urbanisme var · 09h22 · fil - Op-Ed: How Pike Place Market Can Thrive in the Winter Without Car Traffic
The Urbanist · 03h01 · fil - … et 3 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Self-hosting & Infra (9)
- How to Install Silo Server With Hardware Transcoding on Your Synology NAS
Marius Hosting · 22h31 · fil - Photos
Forum des NAS : Synology, Qnap, Asustor... · 23h01 · fil - Chargement paresseux de Jellyfin
Forum des NAS : Synology, Qnap, Asustor... · 11h55 · fil - Asustor AS 3304T Drivestor 4 Pro
Forum des NAS : Synology, Qnap, Asustor... · 10h37 · fil - Utile ou pas utile
Forum des NAS : Synology, Qnap, Asustor... · 18h01 · fil - 17,600 Actions: Agent Security Is a Systems Problem
Docker Blog · 18h00 · fil - QNAP problème de stockage
Forum des NAS : Synology, Qnap, Asustor... · 15h42 · fil - Coding Agent Horror Stories: The Command You Already Approved
Docker Blog · 15h00 · fil - DSM 7.4.1-90080
Forum des NAS : Synology, Qnap, Asustor... · 09h28 · fil
Libre & Linux (14)
- Modular's Mojo Language Now Open-Source Following Qualcomm Acquisition
Phoronix · 02h33 · fil - COSMIC Epoch 1.6 Released With Per-App Volume Control, Remote Desktop Preparations
Phoronix · 02h20 · fil - Linux 7.3 Adds New "bpf_sock_read_xattr" Feature For systemd, BPF Programs
Phoronix · 21h38 · fil - IOmap Improvement For Linux 7.3 Takes EXT4 & XFS Performance Further
Phoronix · 19h25 · fil - Framework Laptop 12 Updated For Intel Wildcat Lake, Shipping Starts In October
Phoronix · 18h14 · fil - The CachyOS Performance vs. Other Linux Operating Systems On A $46k USD Workstation
Phoronix · 16h18 · fil - Firefox 154 released with translation, AI and UI tweaks
OMG! Ubuntu · 15h46 · fil - Rust For Linux 7.3 Begins Seeing Fixes To Prepare For Rust's GCC Backend
Phoronix · 15h21 · fil - Linux 7.3 Corrects Faulty Behavior Of FAT File-System Driver For Filenames Too Fat
Phoronix · 14h53 · fil - Fedora x86-64-v3 Optimized Packages Pushed Back To At Least Fedora 46
Phoronix · 12h21 · fil - Lenovo Lands New Watchdog Driver In Linux 7.3 For Their SE30G2 + SE60 Edge AI Computers
Phoronix · 12h07 · fil - Intel Enables Buffer Compression For Better Gaming Performance With DXVK
Phoronix · 11h50 · fil - … et 2 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (20)
- Souveraineté logicielle : la stratégie de NVIDIA avec Nemotron 4 et ses 1 000 milliards de paramètres
Goodtech · 04h57 · fil - OpenAI launches new ChatGPT for Teens mode with stricter safety controls & study features
News - AlternativeTo.net · 23h29 · fil - ChatGPT pour les ados : OpenAI lance des comptes dédiés pour les moins de 18 ans
Actualités · 18h11 · fil - Après avoir mis sur pause la version adulte de ChatGPT, OpenAI lance sa version ado
Next - Articles gratuits · 17h26 · fil - Le site à envoyer à tous ceux qui vous copient collent depuis ChatGPT
Korben · 11h15 · fil - Record historique sur GitHub : le framework DeepSeek Harness dépasse les 150 000 étoiles en quelques jours
Goodtech · 04h42 · fil - Firefox déploie son IA « Smart Window », mais Mozilla prend d’infinies précautions pour ne fâcher personne
Numerama · 18h38 · fil - Nourrir l’IA avec les cadavres d’entreprises : Google pose 10 millions de dollars pour racheter les mails d’une compagnie aérienne morte
Numerama · 16h31 · fil - IA : il cache une injection de prompt dans un document judiciaire, le juge le sanctionne
IT-Connect · 13h30 · fil - SpaceXAI has launched Grok 4.6, matching ChatGPT 5.6 Sol in several AI benchmarks
News - AlternativeTo.net · 11h00 · fil - Comment un agent IA a trouvé une faille, corrigé son propre bug, et fini par accéder au Jira de Snowflake
Numerama · 10h31 · fil - Amazon détruit des livres pour nourrir ses IA
Korben · 10h28 · fil - … et 8 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Non retenu (92)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 79 |
| Sans catégorie | 8 |
| Synoworld | 2 |
| Culture | 2 |
| cuisine | 1 |
Genere le 2026-08-19 a 07h30 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-08-20
Veille du jeudi 20 aout 2026
146 articles sur 24 h (149 avant regroupement des doublons et fils de discussion) — 58 retenus dans 7 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
SIG & Cartographie (1)
- Re: QGIS: KML non fonctionnel post trait. outil separer une couche vecteur
GeoRezo.net - QGIS · 16h58 · fil
OpenStreetMap (2)
- Names, Languages, and UX
OSM Diaries · 16h28 · fil - Via Crucis in Switzerland (Via Crucis in Svizzera; Chemins de croix en Suisse; Kreuzwege/Stationenwege in der Schweiz )
OSM Diaries · 16h12 · fil
Urbanisme & Territoires (12)
- Déminage Sainte-Maxime - Actualités - Les services de l'État dans le Var
Alerte Google : urbanisme var · 21h59 · fil - À Santa Maria di Lota, les premiers logements communaux sortiront de terre - Corse Matin
Alerte Google : corse urbanisme · 15h12 · fil - Des villas à prix record : en Corse, le marché de l'immobilier d'ultra-luxe défie la crise
Alerte Google : corse urbanisme · 14h31 · fil - En Corse, les villas à 10 ou 20 millions d'euros ne connaissent pas la crise - 21News
Alerte Google : corse urbanisme · 10h39 · fil - Cérémonie hommage à Pierre Griffi, héros de la Résistance corse - Alta Frequenza
Alerte Google : corse urbanisme · 07h34 · 2 messages · fil - L'accès à l'autoroute A8, depuis la promenade des Anglais à Nice, se fera finalement ...
Alerte Google : urbanisme var · 23h12 · fil - La carrière et la cimenterie Lafarge dans l'Estaque, refuge de l'amour de Marius et ...
Alerte Google : urbanisme bouches du rhône · 22h16 · fil - « Il est nécessaire d'offrir une deuxième vie à cet ensemble unique » : l'avenir de l'ancien ...
Alerte Google : urbanisme var · 22h02 · fil - La préfecture autorise la démolition de 124 logements à la Castellane - La Marseillaise
Alerte Google : urbanisme bouches du rhône · 18h17 · fil - Loi pour une montagne vivante et souveraine : le récapitulatif des mesures concernant l'urbanisme
Alerte Google : corse urbanisme · 14h13 · fil - Qualité de l'eau suite aux incendies : les précisions de la municipalité de Corte
Alerte Google : corse urbanisme · 07h37 · fil - Sammamish Poised to Pivot Away from Town Center Growth This Fall
The Urbanist · 15h00 · fil
Self-hosting & Infra (6)
- Cloud Workspace Backup (Beta) - sauvegarde et de restauration pour Google Workspace
Forum des NAS : Synology, Qnap, Asustor... · 09h25 · fil - Portainer CE mise à jour
Forum des NAS : Synology, Qnap, Asustor... · 17h44 · fil - Portainer installation log for Token
Forum des NAS : Synology, Qnap, Asustor... · 09h23 · fil - How to Install Silo Server With Hardware Transcoding on Your UGREEN NAS
Marius Hosting · 18h32 · fil - Data Storage Devices: Choosing the Right Storage for Your Needs
Forum des NAS : Synology, Qnap, Asustor... · 15h56 · fil - DSM Drive Client - compatibilité DSM 7.3 7.4 Enterprise
NAS-Forum · 15h28 · fil
Libre & Linux (17)
- What is the TDF team working on, in the LibreOffice project?
The Document Foundation Planet (+1 autre flux) · 10h11 · fil - X.Org Server 26.1 RC1 Prepares For First Feature Release In Five Years
Phoronix · 04h18 · fil - Tuba 0.11.0 released with full Mastodon quote support
OMG! Ubuntu · 04h04 · fil - EXT4 Preps More Performance Improvements For Linux 7.3
Phoronix · 02h55 · fil - Two Very Exciting Memory Management Optimizations Going Into Linux 7.3
Phoronix · 22h31 · fil - Go Language 1.27 Adds Generic Methods, Struct Improvement & More SIMD
Phoronix · 20h23 · fil - Btrfs Ready With More Performance Improvements For Linux 7.3: Some ~3x To ~5x Wins
Phoronix · 19h50 · fil - Tobias Bernard: GUADEC 2026 in A Coruña
Planet GNOME · 17h51 · fil - PINE64 pulls the plug on Linux devices because of AI boom
OMG! Ubuntu · 17h49 · fil - AMD EPYC 9005 Series Memory Scaling Performance From 4 To 24 DDR5 RDIMMs
Phoronix · 16h20 · fil - XWayland 26.1 RC1 Released With Many New Features
Phoronix · 16h11 · fil - Linux 7.3 Deprecates Many Older 32-bit ARM Platforms, Orphans Hundreds Of Drivers
Phoronix · 14h17 · fil - … et 5 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (18)
- Un « niveau critique » : OpenAI suspend le développement de son prochain ChatGPT
Actualités · 18h01 · fil - ☕️ OpenAI va ouvrir la publicité dans ChatGPT en France et en Europe
Next - Articles gratuits · 17h42 · fil - « Nous suspendons certains entraînements de nos modèles d’IA de pointe » : OpenAI met un coup de frein dans la course aux capacités après l’affaire Hugging Face
Numerama · 11h22 · fil - Après Anthropic, Amazon découpe à son tour des livres pour entraîner son IA
Actualités · 08h05 · fil - Claude peut désormais envoyer des mails à votre place, même sans validation
Numerama · 16h30 · fil - ElevenLabs MCP now available in Claude for agent management
News - AlternativeTo.net · 10h25 · fil - Moqué pour son animation « pire que l’IA », ce film chinois est devenu un énorme carton
Numerama · 10h20 · fil - Firecrawl launches official Claude connector for advanced web search
News - AlternativeTo.net · 10h16 · fil - Sécurisation des LLM en production : anatomie des menaces et remparts techniques
LeMagIT · 10h00 · fil - Claude Code brings new /design skill for editable UI artboards
News - AlternativeTo.net · 09h23 · fil - Google entraîne son IA avec les données d’une compagnie aérienne en faillite
Next - Articles gratuits · 09h07 · fil - Son imprimante HP imprime enfin sur Mac - Merci Claude Code
Korben · 08h50 · fil - … et 6 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Signaux transverses (2)
- DGFiP, cadastre, Éducation nationale : l’État français enchaîne les fuites de données
IT-Connect · 10h52 · fil - SLA - Equipements sportifs du territoire
Derniers jeux de données · 14h04 · fil
Non retenu (88)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 70 |
| Sans catégorie | 7 |
| Synoworld | 6 |
| Culture | 3 |
| cuisine | 2 |
Genere le 2026-08-20 a 07h30 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-08-21
Veille du vendredi 21 aout 2026
162 articles sur 24 h (165 avant regroupement des doublons et fils de discussion) — 58 retenus dans 5 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
OpenStreetMap (3)
- A Recap of the March Local Chapters & Communities Congress
OpenStreetMap Blog · 20h38 · fil - 65TH PLACE!! (PAGSASALIN SA TAGALOG)
OSM Diaries · 13h12 · fil - State of the Map 2026
OSM Diaries · 12h51 · fil
Urbanisme & Territoires (15)
- Vigilance orange ORAGES en Corse-du-Sud vendredi 21 août 2026 - Ajaccio
Alerte Google : corse urbanisme · 19h46 · fil - TOULON : Météo – Le Var placé en vigilance orange pour des orages violents
Alerte Google : urbanisme var · 19h08 · fil - Après près de 7 000 hectares parcourus par les flammes, le Var se prépare à suspendre la ...
Alerte Google : urbanisme var · 18h38 · fil - Filière forêt-bois : en friche ou en développement ? - Journal de la Corse
Alerte Google : corse urbanisme · 18h21 · fil - Loi Montagne, acte III : continuité de l'urbanisation, loi Littoral, surélévation, chalet d'alpage ...
Alerte Google : corse urbanisme · 23h43 · fil - Carnet de balade urbaine « Aubagne au fil du temps - Unidivers
Alerte Google : urbanisme bouches du rhône · 22h18 · fil - Débroussaillement, zones à défendre, confinement... Comment le Pays de Fayence, couvert ...
Alerte Google : urbanisme var · 20h47 · fil - Accès à l'Autoroute A8 depuis la promenade des Anglais : une première journée d ...
Alerte Google : urbanisme var · 20h01 · fil - "Reconstruire à l'identique" après les incendies de l'été : ce que prévoit le gouvernement | TF1 Info
Alerte Google : urbanisme var · 19h44 · fil - Vannes : un guide pour harmoniser les façades du centre-ville - Presse Agence
Alerte Google : urbanisme var · 19h06 · fil - Sartrouville : la ferme urbaine devient un pôle de biodiversité - Presse Agence
Alerte Google : urbanisme alpes maritimes (+1 autre flux) · 18h32 · fil - Sénatoriales : des soutiens pour la liste Devésa-Muselier - Gomet'
Alerte Google : urbanisme bouches du rhône · 16h32 · fil - … et 3 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Self-hosting & Infra (7)
- Sauvegarde, Transfert et Redéploiement de Jellyfin Docker
Forum des NAS : Synology, Qnap, Asustor... · 13h26 · fil - Sauvegarde et synchronisation de mon PC sur le Nas Ugreen
Forum des NAS : Synology, Qnap, Asustor... · 12h29 · fil - Synology & UGREEN Dockhand Docker Version 1.0.43
Marius Hosting · 23h12 · fil - Synology & UGREEN NAS WordPress 7.1 Released
Marius Hosting · 16h05 · fil - Migration DS718+ vers un Synology 4 baies (DS ou RS)
Forum des NAS : Synology, Qnap, Asustor... · 11h46 · fil - Docker Verified Publisher Applications Are Now Self-Serve
Docker Blog · 19h00 · fil - Sodia se présente
NAS-Forum · 15h11 · fil
Libre & Linux (16)
- GIMP is (finally) working on a new project file format
OMG! Ubuntu · 23h05 · fil - QA/Dev Report: July 2026
The Document Foundation Planet · 18h27 · fil - Intel Mesa Linux Drivers Now Treating Nova Lake S / U / H / HX As Stable
Phoronix · 02h44 · fil - Michael Catanzaro: Introduction to Injection Vulnerabilities (and Script Worlds!)
Planet GNOME · 00h37 · fil - Linux 7.3 Network Changes Merged But Developers "Completely Overwhelmed" Due To AI/LLMs
Phoronix · 22h05 · fil - Rust 1.98 Adds Algebraic Floating-Point Methods Akin To "-ffast-math"
Phoronix · 19h29 · fil - KMSCON 10.0.2 Brings asciicast Playback Support, Bug Fixes
Phoronix · 19h19 · fil - KDE Software Now Has Stable Btrfs Snapshot Integration With KIO-Snapshot 1.0
Phoronix · 18h21 · fil - Dynamic icons GNOME extension adds 2 new styles, Yaru fixes
OMG! Ubuntu · 16h46 · fil - Intel Hyper Threading Performance On The Xeon 678X "Granite Rapids-WS"
Phoronix · 16h21 · fil - FSCRYPT Sees Cleanup With Linux 7.3 To Open Door For More Features Like Btrfs Encryption
Phoronix · 15h18 · fil - Linux Driver Posted For The PreSonus Quantum 2626: A ~$700 Thunderbolt Audio Interface
Phoronix · 14h28 · fil - … et 4 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (17)
- Garder le contrôle face aux IA : pourquoi séparer la mémoire de l’entreprise du modèle
Goodtech · 02h35 · fil - Meta AI débarque sur Mac pour concurrencer ChatGPT et Claude (et on lui souhaite bon courage)
Numerama · 10h05 · fil - Gmail : Claude peut désormais cliquer sur « Envoyer » sans vous demander la permission
Actualités · 09h52 · fil - « Il fera tout ce que vous lui demanderez » : les versions « uncensored » du modèle d’IA chinois Qwen affolent les réseaux
Numerama · 17h44 · fil - C’est un sacré pari face à NVIDIA : Qualcomm rachète Modular et rend open source le code de Mojo
Goodtech · 07h37 · fil - Claude adds Gmail reply and Google Drive management to paid plans
News - AlternativeTo.net · 16h48 · fil - Terence Tao, le Mozart des maths modernes, brandit un mème pour expliquer le souci des maths à l’ère de l’IA
Numerama · 16h40 · fil - ☕️ Aux États-Unis, le boulet électoral des datacenters IA
Next - Articles gratuits · 15h26 · fil - Pourquoi Firefox a choisi une startup inconnue pour contrer l’IA de Google et Microsoft
Goodtech · 08h57 · fil - L’IA de Google testée pour éviter les traînées de condensation derrière les avions
Next - Articles gratuits · 08h54 · fil - oMLX – Faites tourner vos agents IA en local sur votre Mac
Korben · 08h31 · fil - Recherche IA et onglets qui se rangent tout seuls : le Smart Window de Firefox 154 snobe l’Europe
Actualités · 07h34 · fil - … et 5 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Non retenu (103)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 80 |
| Sans catégorie | 9 |
| cuisine | 8 |
| Culture | 4 |
| Synoworld | 2 |
Genere le 2026-08-21 a 07h30 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-08-22
Veille du samedi 22 aout 2026
148 articles sur 24 h (153 avant regroupement des doublons et fils de discussion) — 59 retenus dans 6 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
SIG & Cartographie (2)
- Re: QGIS: Representer sens des pentes dans un reseau Egout
GeoRezo.net - QGIS · 14h29 · fil - Re: QGIS 3.10 / Modeleur Graphique: Ordre des couches sorties
GeoRezo.net - QGIS · 11h51 · fil
OpenStreetMap (1)
- Thanking Proton, our newest Platinum sponsor
OpenStreetMap Blog · 17h05 · fil
Urbanisme & Territoires (11)
- Alpes-Maritimes : ouverture du parking du square Bènes, à Saint-Laurent-du-Var
Alerte Google : urbanisme var (+1 autre flux) · 14h26 · fil - La CRC invite le CDG de la Haute-Corse à développer la coopération régionale et à clarifier ...
Alerte Google : corse urbanisme · 15h15 · fil - France / Orages : jusqu'à 26.000 foyers privés d'électricité après des pluies records
Alerte Google : urbanisme var (+1 autre flux) · 14h52 · fil - Var : un programme immobilier de 100 logements à La Croix-Valmer - Le Moniteur
Alerte Google : urbanisme var · 14h27 · fil - Bouches-du-Rhône : végétalisation de la cour de l'école Jacques-Prévert, à Lambesc
Alerte Google : urbanisme bouches du rhône · 14h26 · fil - Var : achèvement de la deuxième phase des travaux de restauration de la Citadelle de Saint-Tropez
Alerte Google : urbanisme var · 14h26 · fil - Bobigny : la démolition de la passerelle Allende a débuté - Presse Agence
Alerte Google : urbanisme var · 22h17 · fil - Moins de 10 m² et jusqu'à 7 000 € moins cher… cette mini-piscine devient la nouvelle ...
Alerte Google : corse urbanisme · 20h18 · fil - Bobigny : la démolition de la passerelle Allende perturbe le t... - Presse Agence
Alerte Google : urbanisme var (+1 autre flux) · 10h51 · fil - Wilson Order Tees Up Sweeping Traffic Safety Changes, Accelerating Projects
The Urbanist · 22h00 · fil - Wilson, Rinck Paint Bus Lane to Speed Up Route 8
The Urbanist · 17h51 · fil
Self-hosting & Infra (7)
- How to Install Floppy on Your Synology NAS
Marius Hosting · 23h20 · fil - Reprogrammer mon Hyper Backup
Forum des NAS : Synology, Qnap, Asustor... · 16h56 · fil - Avis sur le QNAP TS-h765eU pour remplacement d’un DS718+
Forum des NAS : Synology, Qnap, Asustor... · 17h59 · fil - Wordpress (Docker)
Forum des NAS : Synology, Qnap, Asustor... · 20h09 · fil - Transmission (Docker) - client BitTorrent
Forum des NAS : Synology, Qnap, Asustor... · 20h02 · fil - Running AI agents in GitHub Actions with Docker Sandboxes
Docker Blog · 15h00 · fil - Remplacement carte mère sur TS-364
Forum des NAS : Synology, Qnap, Asustor... · 12h57 · fil
Libre & Linux (20)
- Postcard is a new email client for GNOME, built with AI
OMG! Ubuntu · 04h05 · fil - KDE Plasma 6.8 Lands Some Enticing Performance Optimizations This Week
Phoronix · 03h01 · fil - OpenZFS 2.4.4 Released With Linux 7.2 Support, Dozens Of Fixes
Phoronix · 02h40 · fil - Wine 11.16 Released With VA-API Hardware Decoding, Better ARM64 Support
Phoronix · 00h12 · fil - Proton 11.0-2 Enables More Titles With Steam Play / Linux Gaming
Phoronix · 23h14 · fil - Christian Hergert: Recent Developments Part III
Planet GNOME · 22h54 · fil - Colin Walters: Agentic AI and software forges
Planet GNOME · 22h26 · fil - Colin Walters: On GitHub
Planet GNOME · 22h23 · fil - AMD Posts Massive Patch Series For Enabling UALink In The Linux Kernel
Phoronix · 22h07 · fil - Linux 7.3 Lands Improvements For Voodoo 3 / 4 / 5 & Vintage Atari Computers In 2026
Phoronix · 19h53 · fil - Framework Laptop 16 With GeForce RTX 5070 12GB, One-Piece Keyboard & Haptic Touchpad
Phoronix · 17h54 · fil - Nginx Dark Mode Support For Error Pages Remains Elusive
Phoronix · 17h25 · fil - … et 8 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (18)
- Graft, l’outil open source qui cartographie votre code pour les agents IA
IT-Connect · 11h25 · fil - Anthropic details plans for invisible Claude watermarking under EU AI Act rules
News - AlternativeTo.net · 16h54 · fil - ChatGPT peut désormais lire vos messages sur Mac, et Apple risque de ne pas apprécier
Numerama · 11h19 · fil - ChatGPT peut maintenant écrire et envoyer vos textos, mais peut-on lui faire confiance ?
Actualités · 10h15 · fil - Sur macOS, ChatGPT sait désormais interagir avec l’application Messages et vos SMS
Next - Articles gratuits · 08h31 · fil - ☕️ Sur le web, les bots IA écrivent de plus en plus pour les bots
Next - Articles gratuits · 07h45 · fil - Claude Managed Agents add memory save, domain controls, new session viewer
News - AlternativeTo.net · 16h28 · fil - ☕️ Apple Music va étiqueter la musique IA
Next - Articles gratuits · 15h16 · fil - IA et data centers : de l’importance de réduire le « Phantom Compute »
LeMagIT · 12h33 · fil - « Nous vivons une crise existentielle des infrastructures IA »
LeMagIT · 12h14 · fil - Apple Music va enfin signaler les morceaux créés avec de l’IA
Numerama · 11h55 · fil - Oubliez Adobe Acrobat : ce logiciel PDF dopé à l’IA fait la même chose, mais en beaucoup moins cher (Sponso)
Numerama · 11h45 · fil - … et 6 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Non retenu (88)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 69 |
| Sans catégorie | 7 |
| Culture | 6 |
| cuisine | 5 |
| Synoworld | 1 |
Genere le 2026-08-22 a 07h30 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-08-23
Veille du dimanche 23 aout 2026
72 articles sur 24 h (75 avant regroupement des doublons et fils de discussion) — 31 retenus dans 5 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
OpenStreetMap (1)
- First entry and edit
OSM Diaries · 10h23 · fil
Urbanisme & Territoires (10)
- Crise des vocations, mandats plus complexes : comment l'Université de Corse veut former les élus
Alerte Google : corse urbanisme · 20h07 · fil - Incendies en Corse : la campagne de PETA contre l'élevage fait réagir la FDSEA
Alerte Google : corse urbanisme · 19h09 · fil - Oletta : un incendie parcourt un hectare - Corse Net Infos
Alerte Google : corse urbanisme · 19h04 · fil - Urbanisme en Corse : plus d'une commune sur deux reste soumise au règlement national
Alerte Google : corse urbanisme · 17h43 · 2 messages · fil - Au nom de l'érosion côtière, des restaurateurs sommés de rendre les clés
Alerte Google : urbanisme bouches du rhône (+1 autre flux) · 21h35 · fil - Accident sur la RT 20 à Valle-di-Rostino : six blessés, dont un grave héliporté à Bastia
Alerte Google : corse urbanisme · 17h00 · fil - Après l'éviction de Carolyn Salva, Caroline Céard est la nouvelle première adjointe au ...
Alerte Google : urbanisme var · 16h49 · fil - D&A fête ses 35 ans : quel avenir pour le projet urbain à Paris ? - Presse Agence
Alerte Google : urbanisme alpes maritimes (+1 autre flux) · 13h53 · fil - King County Council Sets Aside Emergency Motion to Restore Route 372
The Urbanist · 21h00 · fil - Seattle Seeks to Broaden Climate Action Plan, with Adaptation in Mind
The Urbanist · 16h00 · fil
Self-hosting & Infra (4)
- Immich et dossier photos
Forum des NAS : Synology, Qnap, Asustor... · 11h11 · fil - OneDrive wizard fails to fetch /me/drives for some accounts
Rclone Forum - Announcements · 20h17 · fil - belginux.com n'est plus, snif
Forum des NAS : Synology, Qnap, Asustor... · 13h25 · fil - DS218+ MAJ non proposée
NAS-Forum · 10h01 · fil
Libre & Linux (13)
- Longtime Linux CIFS/SMB3 Maintainer Passes Away
Phoronix · 02h31 · fil - eCryptfs Sees Fixes For Potential Malicious Intent, Some Dating Back To Its 2006 Debut
Phoronix · 02h24 · fil - Sam Thursfield: 23rd August 2026
Planet GNOME · 00h49 · fil - Laureen Caliman: GSoC 2026 Final Report – Laureen Caliman
Planet GNOME · 22h18 · fil - Redox OS Switches To EEVDF-Based Scheduler For 2.6x Throughput
Phoronix · 21h42 · fil - Apple HFS / HFS+ File-System Support Continues Seeing Fixes With Linux 7.3
Phoronix · 21h01 · fil - Specially Crafted NTFS File-System Image Allows Root Access On Linux With NTFS3 Driver
Phoronix · 14h42 · fil - AMD RDNA 4m Firmware Published For Linux Ahead Of Launch
Phoronix · 13h08 · fil - NVK Vulkan Video Merged For Mesa 26.3
Phoronix · 12h55 · fil - Sched_ext's Sub-Scheduler Support Now "Feature Complete" With Linux 7.3
Phoronix · 12h43 · fil - Red Hat's Tuned 2.28 To Improve Out-Of-The-Box WiFi Power Savings On Fedora
Phoronix · 12h18 · fil - Open-Source Etnaviv Driver Now Able To Run YOLOX
Phoronix · 12h06 · fil - … et 1 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (3)
- Gemini gratuit, ChatGPT avec des pubs et GTA 6 en fuite sur PC – le récap’ tech de la semaine
Numerama · 19h49 · fil - De « Bordouse » à Bordeaux : cette carte de France montre les progrès de ChatGPT en un an et demi
Numerama · 17h02 · fil - Midjourney et les autres IA deviennent trop gros pour être pris en flagrant délit de plagiat
Actualités · 10h02 · fil
Non retenu (41)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 25 |
| cuisine | 8 |
| Culture | 4 |
| Sans catégorie | 4 |
Genere le 2026-08-23 a 07h30 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-08-24
Veille du lundi 24 aout 2026
69 articles sur 24 h (74 avant regroupement des doublons et fils de discussion) — 44 retenus dans 6 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
SIG & Cartographie (1)
- Re: Decouper couche "Cours d eau" sur un departement avec requete SQL
GeoRezo.net - QGIS · 12h29 · fil
OpenStreetMap (5)
- RE: https://mast.eu.org/@nicolaswurtz/117110887677144246Fascinating detaile…
Gregory Marler (Mastodon) · 20h58 · fil - weeklyOSM 839
WeeklyOSM · 18h38 · fil - JOURNEY JULI AGUSTUS
OSM Diaries · 15h46 · fil - Drunk in Canada
OSM Diaries · 08h45 · fil - Verschobene Hecke
OSM Diaries · 08h27 · fil
Urbanisme & Territoires (5)
- Hyères : des conseils d'architecte gratuits pour vos travaux - Presse Agence
Alerte Google : urbanisme alpes maritimes (+2 autres flux) · 19h12 · fil - "Il crachait de la poussière" : un homme meurt après l'effondrement d'un immeuble à ...
Alerte Google : urbanisme bouches du rhône · 18h09 · fil - ÉCHIROLLES : Urbanisme – La ville se transforme à la faveur des chantiers d'été
Alerte Google : urbanisme alpes maritimes (+2 autres flux) · 12h47 · fil - hebdoOSM 839
weekly – semanario – hebdo – 週刊 – týdeník – Wochennotiz – 주간 – tygodnik · 18h38 · fil - Sound Transit Says Train Derailment Was Isolated Incident
The Urbanist · 17h00 · fil
Self-hosting & Infra (6)
- Avoir 2 répertoires de sauvegardes pour 2 utilsateurs avec Synology Photos
NAS-Forum · 18h42 · fil - (VDS) NAS QNAP TS-453D 8go + 4x 2to
Forum des NAS : Synology, Qnap, Asustor... · 17h26 · fil - How to Install Dawarich on Your UGREEN NAS
Marius Hosting · 17h18 · fil - NAS 220 Blackarmor de seagate
Forum des NAS : Synology, Qnap, Asustor... · 17h04 · fil - allumer son NAS a distance
Forum des NAS : Synology, Qnap, Asustor... · 13h30 · fil - Amateur inquiet NAS 220
Forum des NAS : Synology, Qnap, Asustor... · 10h24 · fil
Libre & Linux (13)
- Linux 7.3 Improving RAID 5/6 Benchmark-Based Algorithm Selection
Phoronix · 02h38 · fil - Hylke Bons: Icon for Era
Planet GNOME · 02h00 · fil - 10-year-old bug action triggered an Ubuntu Phone dev reunion
OMG! Ubuntu · 23h27 · fil - Philip Withnall: Flatpak repository key rotation
Planet GNOME · 21h05 · fil - Linux 7.3 Better Protects Against Buggy EFI Firmware Taking Down The Rest Of User-Space
Phoronix · 21h05 · fil - Linux 7.3 Delivers Graphics Driver Improvements From Old GPUs To Next-Gen Hardware
Phoronix · 20h10 · fil - Agenda du Libre pour la semaine 35 de l’année 2026
LinuxFr.org : les dépêches · 20h05 · fil - ReactOS Merges Support For Job Objects As Step To Running Modern Windows Apps
Phoronix · 13h41 · fil - Linux 7.3 Makes Preparations Toward Upstreaming FAMFS File-System
Phoronix · 13h20 · fil - GCC Patch Adjusting AMD Zen 5 Misprediction Cost Nets 12% Win In Benchmark
Phoronix · 12h56 · fil - Linux 7.3 Introduces New AES Encryption APIs - Will Open Up More Performance
Phoronix · 12h42 · fil - Linux 7.3 Input Subsystem Updates Merged With Security Fixes, Other Improvements
Phoronix · 12h30 · fil - … et 1 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (14)
- S’affranchir d’Anthropic ou d’OpenAI : le pari financier de TrueForge pour les agents autonomes
Goodtech · 05h50 · fil - OpenAI publie le cœur de son agent Codex en open source
Goodtech · 04h21 · fil - Transformer une tablette Android en écran de sous-titrage : SpeechKiosk est l’app open source du mois
Goodtech · 02h32 · fil - Les impôts piégés par un compte volé, un agent IA pirate des tickets Jira et des versions obscures de Qwen disent oui à tout : on vous raconte la semaine Cyberguerre
Numerama · 19h32 · fil - Arnaque aux faux colis IA : ce SMS circule toujours, voici comment éviter le piège
Actualités · 13h03 · fil - Souveraineté numérique : le sésame de l'ANSSI accordé à la plateforme Nextcloud en France
Liens en vrac de sebsauvage · 12h54 · fil - Proton Mail pique à Gmail son tri automatique des e-mails, le chiffrement en plus
Actualités · 10h00 · fil - À quoi ressemblait votre ville il y a des millions d’années ? Et en 3050 ? Cette IA tente de l’imaginer
Numerama · 09h17 · fil - Vous rentrez de vacances ? Voici ce qu’il ne fallait pas manquer ces derniers jours dans le monde de l’open source (23 août)
Goodtech · 08h01 · fil - Quand Linus Torvalds force l’IA à ne pas abandonner : l’histoire d’un bug GPU tenace
Goodtech · 07h50 · fil - Google en passe de racheter les datas de Spirit Airlines
LeMagIT · 18h41 · fil - Il est le « port USB-C » de l’intelligence artificielle : on vous explique le MCP
Numerama · 11h30 · fil - … et 2 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Non retenu (24)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 16 |
| Sans catégorie | 4 |
| Culture | 3 |
| Synoworld | 1 |
Genere le 2026-08-24 a 07h30 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-08-25
Veille du mardi 25 aout 2026
172 articles sur 24 h (176 avant regroupement des doublons et fils de discussion) — 56 retenus dans 6 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
SIG & Cartographie (5)
- Re: QGIS: Decouper couche "Cours d eau" sur un depart. avec requete SQL
GeoRezo.net - QGIS · 20h18 · 2 messages · fil - https://fr.osm.social/@osm_fr/117151138215879506
OpenStreetMap 🇫🇷 · 17h15 · fil - Le SotM approche à grand pas ! Il ne vous reste plus que quelques jours pou…
OpenStreetMap 🇫🇷 · 17h14 · fil - Montrouge: Rencontre contributeurs OpenStreetMap Sud de Paris, Le jeudi 3 septembre 2026 de 19h00 à 21h30.
L'Agenda du Libre · 12h43 · fil - Un grand merci à Tomtom de soutenir cette édition du State of the Map 2026…
OpenStreetMap 🇫🇷 · 08h21 · fil
Urbanisme & Territoires (16)
- TOULON : Risque inondation – La préfecture présente sa stratégie de prévention pour le Var
Alerte Google : urbanisme var · 17h56 · fil - À Vescovato village, un projet immobilier abandonné après plusieurs oppositions
Alerte Google : corse urbanisme · 14h42 · fil - Vigilance jaune Canicule en Corse-du-Sud ce lundi 24 août 2026 - Ajaccio
Alerte Google : corse urbanisme · 14h38 · fil - Alpes-Maritimes : inauguration de l'Espace des arts et de la culture rénové à Biot
Alerte Google : urbanisme alpes maritimes · 14h04 · fil - Alpes-Maritimes : pose de la première pierre du futur centre d'incendie et de secours de Pégomas
Alerte Google : urbanisme alpes maritimes · 14h04 · fil - Bouches-du-Rhône : requalification du boulevard des Dames, à Marseille - Le Moniteur
Alerte Google : urbanisme bouches du rhône · 14h04 · fil - Bouches-du-Rhône : inauguration du stade Maëlle-Lakrar au complexe sportif Lurian à ...
Alerte Google : urbanisme bouches du rhône · 14h04 · fil - TOULON : Canicule - L'Agence d'Urbanisme repense la ville pour la rafraîchir
Alerte Google : urbanisme var · 05h49 · fil - RAMATUELLE : Ateliers créatifs pour enfants, mercredi 26 août - Presse Agence
Alerte Google : urbanisme var · 05h48 · fil - Canicule : le « calvaire thermique » des habitants de La Trinité face au « tout-béton » - Nice-Matin
Alerte Google : urbanisme var · 19h32 · fil - Narbonne : l'EcoPark de Creissel métamorphose l'entrée Est - Presse Agence
Alerte Google : urbanisme var (+1 autre flux) · 17h56 · fil - Une nouvelle loi Montagne au JO
Alerte Google : corse urbanisme · 13h38 · fil - … et 4 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Self-hosting & Infra (1)
- How to Install PhotoPrism on Your UGREEN NAS
Marius Hosting · 22h42 · fil
Libre & Linux (14)
- Community Member Monday: Rohan Singh
The Document Foundation Planet (+1 autre flux) · 09h08 · fil - Ubuntu 26.10 ‘Stonking Stingray’ hits feature freeze
OMG! Ubuntu · 03h07 · fil - Linux 7.3 Merges Initial Kernel Driver Support For The 2026 Steam Controller
Phoronix · 02h33 · fil - Matthias Klumpp: Sovereign Tech Fellowship for Freedesktop Tasks
Planet GNOME · 23h00 · fil - Linux ath11k Driver Improvements For Qualcomm WiFi 6 Hardware Yields 7x Lower Latency
Phoronix · 21h29 · fil - New AF_ALG Restrictions With Linux 7.3 Due To The Security & Maintenance Nightmare
Phoronix · 20h17 · fil - Mozilla Presents Their Plan For Shipping JPEG-XL In Firefox 157
Phoronix · 18h43 · fil - Ubuntu 24.04 gets a big open-vm-tools update
OMG! Ubuntu · 17h39 · fil - Early Linux 7.3 Kernel Benchmarks Show Some Performance Improvements, Some Regressions
Phoronix · 15h38 · fil - GNU Emacs 31.1 Released With Mouse Control Enabled By Default, Theme For New Users
Phoronix · 13h55 · fil - VKD3D 2.1 Released With New Features For Direct3D 12 In Upstream Wine
Phoronix · 12h34 · fil - Intel Engineers Propose DRM Fabric For Linux
Phoronix · 12h26 · fil - … et 2 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (19)
- ChatGPT, Claude, Gemini… pourquoi les IA semblent-elles obsédées par le nombre 17 ?
Numerama · 11h10 · fil - Il donne un nom de domaine à Claude en lui disant de « faire ce qu’il veut » : voici le résultat
Numerama · 18h04 · fil - « Ça m’inquiète pour plusieurs raisons » : il laisse Claude démonter le logiciel interne de ses appareils et affiche un bilan effroyable
Numerama · 20h50 · fil - Intelligence artificielle : les publicités arrivent sur ChatGPT en France
Liens en vrac de sebsauvage · 17h24 · fil - Twitch accusé d’avoir donné les contenus de ses créateurs à Amazon et ses modèles IA
Next - Articles gratuits · 16h58 · fil - Anywhere Cloud : Cloudera revient à la charge avec une vision tactique des déploiements IA sur site
LeMagIT · 12h15 · fil - Uber : 825 millions d’euros d’amende pour la suspension automatique de chauffeurs
Next - Articles gratuits · 11h45 · fil - Infrastructures : l’IA va faire sortir l’IT du cloud public
LeMagIT · 11h13 · fil - Amazon découpe des livres rares pour entraîner son IA : un AirTag a suivi le colis jusqu’à Las Vegas
IT-Connect · 08h49 · fil - IA et IoT : comment Fraikin veut refondre son modèle d’entreprise
LeMagIT · 08h38 · fil - Commentaires sur IA et science : du pliage de protéines… à l’illusion de la connaissance par Cédric Heine
Framasoft - Toute l'actualité · 08h32 · fil - Puces IA : Nvidia se rapproche de Rebellions, l’étoile montante coréenne
LeMagIT · 08h14 · fil - … et 7 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Signaux transverses (1)
- Périmètres supra-communaux des plans de mobilité en Haute-Savoie
Derniers jeux de données · 11h01 · fil
Non retenu (115)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 68 |
| cuisine | 26 |
| Synoworld | 8 |
| Sans catégorie | 7 |
| Culture | 5 |
| Social | 1 |
Genere le 2026-08-25 a 07h30 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-08-26
Veille du mercredi 26 aout 2026
180 articles sur 24 h (187 avant regroupement des doublons et fils de discussion) — 58 retenus dans 7 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
SIG & Cartographie (3)
- Notre appel aux dons pour renforcer notre serveur hébergeant https://panora…
OpenStreetMap 🇫🇷 · 19h07 · fil - Re: QGIS: Decouper couche "Cours d eau" sur un depart. avec requete SQL
GeoRezo.net - QGIS · 10h49 · fil - Un grand merci à Michelin de soutenir cette édition du State of the Map 202…
OpenStreetMap 🇫🇷 · 08h20 · fil
OpenStreetMap (5)
- SW Limerick Task #114 Finished
Anne-Karoline (OSM Ireland) · 18h32 · fil - Dmdnm
OSM Diaries · 16h53 · fil - One of the @sotm sponsors are giving away free tickets (but I hope they hav…
Gregory Marler (Mastodon) · 15h40 · fil - eennk
OSM Diaries · 15h20 · fil - harian
OSM Diaries · 12h57 · fil
Urbanisme & Territoires (13)
- TOULON : Canicule - L'Agence d'Urbanisme repense la ville pour la rafraîchir
Alerte Google : urbanisme bouches du rhône · 19h53 · fil - Corse : 200 personnes quittent en catastrophe un lieu-dit près d'Ajaccio, après un incendie ...
Alerte Google : corse urbanisme · 01h23 · fil - L'exécutif corse propose une trajectoire de "rupture" et de "résistance" à l'artificialisation
Alerte Google : corse urbanisme · 18h52 · fil - Compétences du préfet de police et du préfet de Corse - LegalNews
Alerte Google : corse urbanisme · 14h28 · fil - Les compétences du préfet de police et du préfet de Corse sont ajustées
Alerte Google : corse urbanisme · 09h25 · fil - Le député insoumis Sébastien Delogu visé par une plainte de policiers pour “outrage”
Alerte Google : urbanisme bouches du rhône · 00h04 · fil - À Cabris, une enquête publique sur la révision générale du plan local d'urbanisme
Alerte Google : urbanisme bouches du rhône · 16h19 · fil - Totems de calcaire, refuges animaliers et ascenseurs végétalisés : découvrez les « monacolithes
Alerte Google : urbanisme var · 16h16 · fil - À Vallauris-Golfe-Juan, une enquête publique sur la modification du plan (…)
Alerte Google : urbanisme bouches du rhône · 16h14 · fil - Paris Est Marne & Bois : concertation préalable sur la modification du PLUI - Mesinfos.fr
Alerte Google : urbanisme var · 20h46 · fil - À Cabris, une enquête publique sur la révision générale du plan local d'urbanisme
Alerte Google : urbanisme alpes maritimes · 16h19 · fil - Abandon du projet d'accueil de dauphins au ZooParc de Beauval - Le Populaire du Centre
Alerte Google : urbanisme alpes maritimes · 16h14 · fil - … et 1 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Self-hosting & Infra (4)
- Synology & UGREEN Dockhand Docker Version 1.0.44
Marius Hosting · 14h41 · fil - How to Install Authentik on Your Synology NAS
Marius Hosting · 01h05 · fil - mariadb via docker
NAS-Forum · 16h11 · fil - Tout nouveau venu qui veut apprendre
NAS-Forum · 12h06 · fil
Libre & Linux (13)
- Chrome/Chromium Experimenting With Flatpak Packaging
Phoronix · 02h22 · fil - Linux 7.0-mk2 Released For Multi-Kernel Linux With Promising Performance Results
Phoronix · 23h30 · fil - COSMIC Epoch 1.7 Released: No Longer Slow Browsing Network Filesystems
Phoronix · 22h46 · fil - LLVM/Clang 23.1 Released With AMD Zen 6 & NVIDIA Rigel Support, Partial C++26 Support
Phoronix · 21h40 · fil - Wayland Found To Be "Intrinsically Faster Than X11, But Not Necessarily More Efficient"
Phoronix · 19h37 · fil - AI/LLM Usage Becoming A "Denial of Service Attack" On Open-Source Project Maintainers
Phoronix · 18h20 · fil - Benchmarking Some Incredible Performance Gains With Btrfs On Linux 7.3
Phoronix · 16h18 · fil - Apple Launches The M6 2nm 12-core CPU, Quad-Die M5 Ultra
Phoronix · 15h30 · fil - The Modern NTFS Linux Driver Adds Read Support For Windows System Compression (WOF)
Phoronix · 15h19 · fil - Linux 7.3 Device Mapper Sees Many Fixes, Including Code Cleanups By Claude Opus
Phoronix · 14h22 · fil - DisplayPort 2.1 ALPM Still Being Worked On For Intel Xe3P / Nova Lake
Phoronix · 12h25 · fil - KDE Remote Desktop Experience Improving For Closing The X11 vs. Wayland Gap
Phoronix · 12h00 · fil - … et 1 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (19)
- ChatGPT Plus : OpenAI rétablit la limite des cinq heures sur Codex et Work, six semaines après l’avoir supprimée
Numerama · 19h02 · fil - Anthropic launches Claude Academy with free online AI courses
News - AlternativeTo.net · 18h32 · fil - ☕️ OpenAI bannit les comptes ChatGPT d’une opération russe de désinformation
Next - Articles gratuits · 17h33 · fil - ChatGPT Plus : OpenAI réactive la limite des cinq heures d’usage pour deux outils avancés
Numerama · 15h19 · fil - IA spécialisée : Thomson Reuters lance ses propres LLM
LeMagIT · 12h44 · fil - ChatGPT Plus : pourquoi OpenAI remet brutalement des limites d’utilisation
Actualités · 11h06 · fil - OpenAI remet la limite de 5 heures sur Codex
Korben · 10h00 · fil - Apple muscle les Mac mini et Mac Studio avec les puces M6 et M5 Ultra taillées pour l’IA
Next - Articles gratuits · 16h34 · fil - Apple dévoile le nouveau Mac Studio : un ordinateur pensé pour l’ère de l’IA
Actualités · 16h33 · fil - Surprise : Apple dévoile la puce M6 avec de nouveaux Mac mini et Mac Studio pensés pour l’IA locale
Numerama · 15h00 · fil - Nouveaux Mac Mini et Mac Studio taillés pour l’IA locale
LeMagIT · 14h30 · fil - Test du UGREEN DXP4800 GT : le NAS 4 baies qui gère tout mon Plex, piloté par une IA
Korben · 14h07 · fil - … et 7 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Signaux transverses (1)
Non retenu (121)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 93 |
| cuisine | 16 |
| Sans catégorie | 9 |
| Culture | 3 |
Genere le 2026-08-26 a 07h30 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-08-27
Veille du jeudi 27 aout 2026
172 articles sur 24 h (182 avant regroupement des doublons et fils de discussion) — 57 retenus dans 6 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
SIG & Cartographie (5)
- 📢 Il reste encore une vingtaine de chambres disponible à l'hôtel Ibis (http…
OpenStreetMap 🇫🇷 · 17h14 · fil - https://fr.osm.social/@osm_fr/117162187138059995
OpenStreetMap 🇫🇷 · 16h04 · fil - Le SotM approche à grand pas ! Il ne vous reste plus que quelques jours pou…
OpenStreetMap 🇫🇷 · 16h04 · fil - Saint-Étienne: OpenStreetMap, rencontre Saint-Étienne et sud Loire, Le lundi 31 août 2026 de 19h00 à 21h00.
L'Agenda du Libre · 12h19 · fil - Un grand merci à Esri de soutenir cette édition du State of the Map 2026 en…
OpenStreetMap 🇫🇷 · 08h38 · fil
OpenStreetMap (3)
- Defibrillatoren in OSM
OSM Diaries · 18h29 · fil - Filling in Belgium's N-road route relations: approach and results
OSM Diaries · 16h13 · fil - מערת האשכולות
OSM Diaries · 08h48 · fil
Urbanisme & Territoires (8)
- Alpes-Maritimes : travaux de réhabilitation du centre nautique Aquavallée à Isola
Alerte Google : urbanisme alpes maritimes · 16h08 · fil - LA CADIÈRE-D'AZUR : Carrière illégale - La justice ordonne, la préfecture tarde à agir
Alerte Google : urbanisme var · 19h48 · fil - Épisode de pollution atmosphérique jeudi 27 août 2026 - Ajaccio
Alerte Google : corse urbanisme · 19h32 · fil - Dragage d'entretien du port de Brégaillon Nord : avis de consultation du public - La Seyne-sur-Mer
Alerte Google : urbanisme var · 18h01 · 2 messages · fil - Travaux et prolifération des chats - nrpyrenees.fr
Alerte Google : urbanisme var · 17h20 · fil - Bellevue Permitting More New Housing Than Seattle, Intake Data Shows
The Urbanist · 22h55 · fil - Democrats Poised to Gain Seats in Washington State Legislature
The Urbanist · 17h32 · fil - Collision en mer à Mandelieu : l'un des bateaux naviguait à une vitesse « élevée - Le Parisien
Alerte Google : urbanisme alpes maritimes · 11h41 · fil
Self-hosting & Infra (4)
- Conseil 2e Nas Multimédia
Forum des NAS : Synology, Qnap, Asustor... · 06h58 · fil - (TUTO) K7, Serveur Médias - Installation
Forum des NAS : Synology, Qnap, Asustor... · 18h54 · fil - stirling pdf (Docker)
Forum des NAS : Synology, Qnap, Asustor... · 12h58 · fil - ASUSTOR Repo Community - applications tierces pour les NAS ASUSTOR
Forum des NAS : Synology, Qnap, Asustor... · 11h58 · fil
Libre & Linux (19)
- LibreOffice 26.8 released with paragraph layout changes, draft view + more
OMG! Ubuntu · 18h07 · fil - LibreOffice 26.8 Released With Many Nice Improvements
Phoronix · 13h30 · fil - LibreOffice 26.8 brings professional typography, deeper support for the world’s writing systems, and no artificial intelligence
TDF Community Blog (+1 autre flux) · 13h24 · fil - Colin Walters: For agentic code execution, generic tools + skills and sandbox
Planet GNOME · 03h07 · fil - Asahi Linux Hopes To Ship A Release Soon With Apple M3 Device Support
Phoronix · 02h25 · fil - Patches Provide For Much Faster In-Kernel Zstd Due To Embarrassingly Bad Inefficiency
Phoronix · 21h55 · fil - Linux 7.3 KSMBD Adds Interoperability For Apple Time Machine Backups
Phoronix · 21h09 · fil - Intel Granite Rapids WS Core Scaling Performance With The Xeon 678X
Phoronix · 18h20 · fil - Haiku R1 Beta 6 Released After Two Years, BeOS-Inspired Project Turns 25 Next Week
Phoronix · 17h40 · fil - AMD Proposes New LLVM iTHP Option For Squeezing More Performance
Phoronix · 16h49 · fil - Fedora + Tuned-PPD Performance Regression Should Be Fixed With New Linux Kernel
Phoronix · 16h13 · fil - A hidden Ubuntu feature I use to tidy up my desktop
OMG! Ubuntu · 16h02 · fil - … et 7 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (18)
- Anthropic unifies memory across Claude Cowork and chat so context persist across workflows
News - AlternativeTo.net · 15h30 · fil - Hot Chips 2026 : OpenAI présente son GPU Jalapeño
LeMagIT · 12h25 · fil - Piratée par ChatGPT, valorisée à 13 milliards de dollars : l’été fou de la plateforme IA Hugging Face en 3 actes
Actualités · 07h43 · fil - Cowork et Claude font maintenant mémoire commune
Next - Articles gratuits · 12h08 · fil - Santé, religion, opinions politiques : Claude peut désormais garder vos « sujets sensibles » en mémoire, si vous le souhaitez
Numerama · 11h17 · fil - Claude Desktop adds Ollama integration for local and cloud model support
News - AlternativeTo.net · 10h55 · fil - Open source X viewers Nitter & XCancel are offline following cease-and-desist letters
News - AlternativeTo.net · 23h00 · fil - « Les lecteurs ne peuvent pas identifier le texte IA filigrané » ce quiz vous met directement à l’épreuve
Numerama · 18h30 · fil - ☕️ AWS rachète DuckLabs, l’équipe derrière le moteur SQL open source DuckDB
Next - Articles gratuits · 17h22 · fil - Google Cloud décline Gemini Enterprise pour les services financiers et légaux
LeMagIT · 11h36 · fil - Paint et Photos inscrivent un identifiant unique de Microsoft dans vos images générées par IA
IT-Connect · 09h56 · fil - Intune : Remote Help permet enfin la prise en main à distance de Windows sans surveillance
IT-Connect · 08h44 · fil - … et 6 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Non retenu (114)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 90 |
| cuisine | 12 |
| Culture | 6 |
| Sans catégorie | 6 |
Genere le 2026-08-27 a 07h30 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-08-28
Veille du vendredi 28 aout 2026
177 articles sur 24 h (186 avant regroupement des doublons et fils de discussion) — 69 retenus dans 6 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
SIG & Cartographie (3)
- Re: QGIS: Decouper couche "Cours d eau" sur un depart. avec requete SQL
GeoRezo.net - QGIS · 19h49 · 2 messages · fil - https://fr.osm.social/@osm_fr/117166853451932116
OpenStreetMap 🇫🇷 · 11h51 · fil - Le SotM approche à grand pas ! Il ne vous reste plus que quelques jours pou…
OpenStreetMap 🇫🇷 · 11h51 · fil
OpenStreetMap (1)
- 7 Weeks, 19 Mappers, and One Mission: The Story of the UN Mappers Kenya Youth Climate Mapping Externship 2026
OSM Diaries · 08h11 · fil
Urbanisme & Territoires (15)
- Dans le Var, 336 hectares pourraient bientôt être protégés de l'urbanisation
Alerte Google : urbanisme alpes maritimes (+1 autre flux) · 22h26 · fil - Hôtels, résidences, villas… faut-il arrêter de construire sur le littoral varois ? - Var Actu
Alerte Google : urbanisme var · 18h32 · fil - 2025 : une année plus ensoleillée que la normale dans l'Hexagone et en Corse - IGN
Alerte Google : corse urbanisme · 16h17 · fil - Les dispositifs dans le Var - Inondation - Risques naturels et technologiques - Actions de l'État
Alerte Google : urbanisme var · 16h07 · fil - Orages violents : 23 départements en vigilance orange, jusqu'à 40 °C en Corse - AZERTAC
Alerte Google : corse urbanisme · 16h00 · fil - Var : ouverture d'une résidence services pour seniors à Cogolin - Le Moniteur
Alerte Google : urbanisme var · 15h15 · fil - Var : réouverture du sentier du Niel à Hyères - Le Moniteur
Alerte Google : urbanisme var · 15h14 · fil - Taxe foncière 2026 : les avis arrivent en ligne, dates de paiement et hausse à connaître
Alerte Google : corse urbanisme · 16h31 · fil - Françoise Dumont : Face aux feux de forêt, "adopter une approche globale de résilience des massifs"
Alerte Google : urbanisme var · 15h48 · fil - Un nouveau directeur nommé pour la délégation lyonnaise de l'agence de l'eau Rhône ...
Alerte Google : corse urbanisme · 13h13 · fil - Dans cette commune près de Grasse, le spectre d'une antenne-relais de Bouygues ... - Nice-Matin
Alerte Google : urbanisme alpes maritimes · 01h15 · fil - Op-Ed: The Washington Legislature Must Reform SEPA to Save the Growth Management Act
The Urbanist · 20h59 · fil - … et 3 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Self-hosting & Infra (7)
- Synology: Portainer Docker Version 2.45.0
Marius Hosting · 05h12 · fil - Synology & UGREEN Dockhand Docker Version 1.0.45
Marius Hosting · 05h39 · fil - Synology: New Docker Version 24.0.2-1706
Marius Hosting · 11h29 · fil - MomentBackup Hub (Docker) - tableau de bord des sauvegardes
Forum des NAS : Synology, Qnap, Asustor... · 10h32 · fil - Changement NAS depuis DS216 play
Forum des NAS : Synology, Qnap, Asustor... · 14h43 · fil - Salut à tous !
Forum des NAS : Synology, Qnap, Asustor... · 14h34 · fil - Certificat LetsEncrypt : erreur 5019 puis 5056
Forum des NAS : Synology, Qnap, Asustor... · 00h17 · fil
Libre & Linux (21)
- Sovereign Tech Agency Providing Massive Investment Into Flatpak
Phoronix · 02h38 · fil - Ubuntu 26.04.1 LTS Released With Initial Collection Of Fixes
Phoronix · 02h13 · fil - Ubuntu 26.04.1 LTS is now available to download
OMG! Ubuntu · 01h06 · fil - Chrome moves a step closer to an official Flatpak
OMG! Ubuntu · 00h50 · fil - Sebastian Wick: Announcing Sovereign Tech Agency Investment in Flatpak
Planet GNOME · 00h30 · fil - Intel Linux Driver Orphaned For Limiting RF Exposure To Humans
Phoronix · 23h13 · fil - AMD Preparing To Enable HDMI 2.1 FRL Support By Default For Linux
Phoronix · 21h45 · fil - Linux 7.3 MGLRU Change Helps Executable Code Stays In Memory, Improving Performance
Phoronix · 20h20 · fil - Haiku Release 1 Beta 6
LinuxFr.org : les dépêches · 17h40 · fil - Hands-on with Ubuntu’s new AI voice typing feature
OMG! Ubuntu · 17h33 · fil - AMD Jumps From ROCm 7.14 To ROCm 10.0 With ROCm.AI
Phoronix · 17h26 · fil - Btrfs, EXT4, F2FS & XFS On Linux 7.2 vs. Linux 7.3 Performance
Phoronix · 17h13 · fil - … et 9 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (22)
- Cyberattaques amplifiées par l’IA : OpenAI, Anthropic, Google et plus de 100 entreprises jugent « nécessaire » une « réponse mondiale »
Liens en vrac de sebsauvage · 20h28 · fil - Un vrai film de science-fiction : OpenAI révèle enfin comment ChatGPT a lancé sa première cyberattaque
Actualités · 17h00 · fil - Claude n’a plus besoin de Google Chrome pour surfer sur Internet
Actualités · 16h05 · fil - GLM-5.3 Flash, Qwen-3.8 Flash Next : zAI et Alibaba cherchent à casser les prix de l’inférence IA
LeMagIT · 15h04 · fil - C’est quoi TRACE, le standard open source dont tout le monde parle pour fliquer l’IA 🕵️♂️ ?
Goodtech · 07h45 · fil - Ring promet un chiffrement vidéo plus strict par défaut
Next - Articles gratuits · 12h12 · fil - « GO, STOP, VETO » : OpenAI dévoile comment ses agents se sont auto-gouvernés pour pirater Hugging Face
Numerama · 11h30 · fil - « Deux ans et demi pour autoriser un data center IA en France » : le patron d’Iliad (Free) veut aller plus vite
Numerama · 16h11 · fil - Nvidia aurait racheté la plateforme d’IA Hugging Face pour 12,9 milliards de dollars
Actualités · 15h20 · fil - Mieux que des AirPods ? Plaud lance des écouteurs IA qui travaillent à votre place
Actualités · 15h00 · fil - Le Data Mesh, plus que jamais d’actualité à l’ère de l’IA agentique
LeMagIT · 15h00 · 2 messages · fil - En rachetant Hugging Face, Nvidia mettrait la main sur bien plus qu’une plateforme de modèles d’IA
Numerama · 11h15 · fil - … et 10 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Non retenu (108)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 85 |
| Sans catégorie | 12 |
| cuisine | 8 |
| Culture | 2 |
| Synoworld | 1 |
Genere le 2026-08-28 a 07h30 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-08-29
Veille du samedi 29 aout 2026
159 articles sur 24 h (164 avant regroupement des doublons et fils de discussion) — 55 retenus dans 5 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
OpenStreetMap (8)
- Struggled my way through the new OSM history dashboard on Heigit's website,…
Anne-Karoline (Mastodon) · 16h37 · fil - Belfast task (#115) complete
Anne-Karoline (OSM Ireland) · 16h31 · fil - Je quitte OSM, OGF et OHM pour une durée indéterminée
OSM Diaries · 13h53 · fil - @panoramax "The free alternative to photo-mapping places"has gone from 6 in…
Gregory Marler (Mastodon) · 10h17 · fil - Dundee got a #SotM2026 mention.That's because #Panoramax last gave an updat…
Gregory Marler (Mastodon) · 10h15 · fil - It's great hearing lots of voices during the #SotM2026 opening. #OpenStreet…
Gregory Marler (Mastodon) · 10h06 · fil - Ready to watch #StotM2026 and excited to see familiar faces, friends, arriv…
Gregory Marler (Mastodon) · 09h37 · fil - Alison
OSM Diaries · 08h04 · fil
Urbanisme & Territoires (13)
- Plainte pour outrage contre Sébastien Delogu : le député LFI des Bouches-du-Rhône ... - Midi Libre
Alerte Google : urbanisme bouches du rhône · 00h32 · fil - le préfet du Var est inquiet à l'approche de la saison des épisodes méditerranéens - Nice-Matin
Alerte Google : urbanisme var (+1 autre flux) · 23h22 · fil - Brando : carrière, finances, eau… ce que révèle le rapport de la chambre régionale ... - Corse Matin
Alerte Google : corse urbanisme · 21h15 · fil - TOULON : Risque incendie – Trois massifs forestiers du Var fermés au public ce samedi
Alerte Google : urbanisme var · 18h10 · fil - La préfecture du Var publie une feuille de route pour anticiper 10 000 recrutements dans le ...
Alerte Google : urbanisme var · 16h19 · fil - Agence de l'eau Rhône Méditerranée Corse : un nouveau directeur prend la tête de la ...
Alerte Google : corse urbanisme · 14h32 · fil - Dans le Boziu, E Cammerinche ramène l'âge du Fer au présent | Corse Matin | PressReader
Alerte Google : corse urbanisme · 07h30 · fil - Plusieurs mois après son inauguration, il n'y a toujours pas de commerces - Nice-Matin
Alerte Google : urbanisme var · 22h34 · fil - Habitat et urbanisme : la revue de presse du 28 août 2026 - AEF info
Alerte Google : urbanisme var · 21h28 · fil - Saint-Étienne-du-Rouvray : les travaux de la place de l'Église - Presse Agence
Alerte Google : urbanisme var · 17h48 · fil - TOULON : Résilience du territoire – État, Région et Département s'unissent après les feux de l'été
Alerte Google : urbanisme var · 16h10 · fil - Prescriptions de matériaux dans les documents d'urbanisme : quand le patrimoine redéfinit ...
Alerte Google : urbanisme var · 22h17 · fil - … et 1 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Self-hosting & Infra (3)
- Portainer CE - gestion images et conteneurs Docker
Forum des NAS : Synology, Qnap, Asustor... · 16h13 · fil - Sync-in plateforme de partage, synchro et collab de fichiers (Docker)
Forum des NAS : Synology, Qnap, Asustor... · 16h21 · fil - Python
Forum des NAS : Synology, Qnap, Asustor... · 10h50 · fil
Libre & Linux (15)
- How LibreOffice is funded
TDF Community Blog (+1 autre flux) · 10h37 · fil - Debian Votes To Allow "Responsible Use Of Generative AI"
Phoronix · 02h43 · fil - Calibre ebook manager lets you generate AI book covers
OMG! Ubuntu · 00h59 · fil - Union QtWidgets Sees Initial Release For Advancing KDE Plasma's Union
Phoronix · 23h05 · fil - This Week in GNOME: #263 Reset Recovering
Planet GNOME · 22h12 · fil - Linux 7.3 TPM Makes Cleanup Preparations For TrenchBoot
Phoronix · 21h05 · fil - DXVK 3.1 Released With DXGI Incremental Presentation, D3D11 Buffer Render Targets
Phoronix · 18h33 · fil - HP Z4 G6i: A Linux-Friendly Workstation Powered By The Intel Xeon 600 Series
Phoronix · 16h25 · fil - The Linux Kernel Is Approaching 2,000 CVEs Per Release
Phoronix · 15h02 · fil - GPU Reset Recovery Merge Request For GNOME Mutter Submitted
Phoronix · 14h17 · fil - Vulkan 1.4.361 Released With New NVIDIA Vendor Extension
Phoronix · 13h52 · fil - Chris Mason Steps Down As Btrfs Co-Maintainer, Departing Meta
Phoronix · 13h17 · fil - … et 3 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (16)
- « Réponse mondiale » d’urgence : OpenAI, Google, Anthropic et plus de 100 entreprises s’inquiètent des cyberattaques IA
Actualités · 12h30 · fil - Claudeforce : Salesforce et Anthropic infusent Sales Cloud dans Claude
LeMagIT · 12h03 · fil - OpenAI introduces ChatGPT Business Premium seats
News - AlternativeTo.net · 16h38 · fil - Une IA qui surpasse l’humain : OpenAI s’approche du but
Actualités · 08h43 · fil - Souveraineté des données : pourquoi la France surclasse ses voisins européens dans l’adoption de l’IA
Goodtech · 07h46 · fil - GEO : comment Accor soigne sa visibilité à l’ère des LLM
LeMagIT · 08h28 · fil - À Singapour, de vrais neurones humains cultivés en labo font tourner l’IA
Numerama · 18h01 · fil - Free perd patience face à l’administration française, il faut une éternité pour des data centers IA
Actualités · 17h30 · fil - Claude Cowork can now handle web tasks in its own browser
News - AlternativeTo.net · 16h35 · fil - Pentagone contre Anthropic : la justice considère les mesures illégales et sans fondement
Next - Articles gratuits · 11h09 · fil - « On dispose d’une fenêtre limitée » : les géants de l’IA distillent leurs conseils cyber sur une menace qu’ils connaissent bien
Numerama · 10h45 · fil - Amazon Ring annonce une « mise à jour de sécurité majeure » pour ses sonnettes connectées
Actualités · 08h09 · fil - … et 4 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Non retenu (103)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 81 |
| Sans catégorie | 16 |
| Culture | 4 |
| Synoworld | 2 |
Genere le 2026-08-29 a 07h30 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-08-30
Veille du dimanche 30 aout 2026
69 articles sur 24 h (71 avant regroupement des doublons et fils de discussion) — 29 retenus dans 5 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
OpenStreetMap (3)
- Fernradreise durch den Balkan
OSM Diaries · 17h00 · fil - 10 let na OSM
OSM Diaries · 16h35 · fil - random musings on SOTM(2026)
OSM Diaries · 09h48 · fil
Urbanisme & Territoires (5)
- Brando - La Chambre régionale des comptes pointe plusieurs irrégularités - Corse Net Infos
Alerte Google : corse urbanisme · 16h18 · fil - Côté cinéma, l'été aura été particulièrement animé en Corse - ICI
Alerte Google : corse urbanisme · 12h07 · fil - Élancourt : le Parc des Coudrays devient un îlot de fraîcheur - Presse Agence
Alerte Google : urbanisme var (+1 autre flux) · 18h13 · fil - Goussainville : le quartier Pôle Gare poursuit sa transformation - Presse Agence
Alerte Google : urbanisme var · 08h51 · fil - Op-Ed: Washington’s Primary Election Results Underscore the Case for Proportional Ranked Choice Voting
The Urbanist · 16h00 · fil
Self-hosting & Infra (3)
- Self-Hosted NAS News – August 2026
Marius Hosting · 22h00 · fil - Does not autostart on Android 17
Syncthing Forum - Announcements · 03h01 · fil - (Topic Unique) K7 serveur média
Forum des NAS : Synology, Qnap, Asustor... · 11h43 · fil
Libre & Linux (12)
- Video: New features in LibreOffice 26.8
TDF Community Blog (+1 autre flux) · 12h29 · fil - RTL8723BS Driver Continues Dominating The Staging Area Activity For Linux 7.3
Phoronix · 02h33 · fil - FreeBSD 14.5-RC1 Released With Several Security Fixes
Phoronix · 21h16 · fil - Another x86 Advisory From Some Entity Other Than Intel Or AMD
Phoronix · 18h24 · fil - KDE Plasma 6.8 Improving Performance & Efficiency For Some Full Screen Content
Phoronix · 16h48 · fil - Compute! Paris 2026
LinuxFr.org : les dépêches · 15h58 · fil - ReactOS 0.4.16 Released With New Graphical Installer, Better Hardware Support
Phoronix · 14h56 · fil - F2FS With Now Handle Multi-Device Flushes In Parallel With Linux 7.3
Phoronix · 13h17 · fil - GNOME's Very Exciting Week From Flatpak Funding To Reset Recovery Plus Apps
Phoronix · 13h02 · fil - California Passes AB-1856 For Open-Source Relief Over Age Verification
Phoronix · 12h48 · fil - SteamOS 3.9 Preview Moves To Linux 7.2, KDE Plasma 6.7 Desktop
Phoronix · 12h35 · fil - Linux 7.3 UBI Adds Support For Per-Device Wear-Leveling Thresholds
Phoronix · 12h21 · fil
IA & Numérique (6)
- Claude démonte cinq appareils, des hackers iraniens coupent une centrale électrique et votre autoradio rejoint un botnet : on vous raconte la semaine Cyberguerre
Numerama · 17h30 · fil - Debian Linux developers vote to allow "Responsible Use of Generative AI" | GamingOnLinux
Liens en vrac de sebsauvage · 11h09 · fil - OpenAI veut enterrer définitivement le procès contre Apple pour vol de secrets
Actualités · 08h31 · fil - En plein rachat à 11,5 milliards d’euros, Hugging Face vend des canards robots « made in France » 🇫🇷 (et c’est génial)
Goodtech · 07h48 · fil - Installer Transmission, client BitTorrent sous Windows et Linux
std.rocks - Fr · 23h22 · fil - Et si vous essayiez de casser notre message chiffré inviolable… hein Flock ?
Next - Articles gratuits · 13h37 · fil
Non retenu (40)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 26 |
| Culture | 7 |
| Sans catégorie | 3 |
| Synoworld | 2 |
| cuisine | 1 |
| Synchronisation | 1 |
Genere le 2026-08-30 a 07h30 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-08-31
Veille du lundi 31 aout 2026
82 articles sur 24 h (83 avant regroupement des doublons et fils de discussion) — 38 retenus dans 6 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
OpenStreetMap (3)
- what?
OSM Diaries · 17h22 · fil - weeklyOSM 840
WeeklyOSM · 14h19 · fil - First entry
OSM Diaries · 13h42 · fil
Urbanisme & Territoires (7)
- Entre béton et maquis, Bastia cherche son souffle vert en pleine chaleur - Corse Matin
Alerte Google : corse urbanisme · 22h46 · fil - Loi Littoral en Corse : quelle place pour le PADDUC ? | Le Club
Alerte Google : corse urbanisme · 17h31 · fil - Jet-set, mafias et nationalistes : sur l'île corse de Cavallo, la fin annoncée de l'entre-soi
Alerte Google : corse urbanisme · 09h33 · fil - Angers : un nouveau quartier de 1 400 logements sur l'ex-frich... - Presse Agence
Alerte Google : urbanisme alpes maritimes (+1 autre flux) · 15h41 · fil - Sound Transit Board Greenlights Targeted Fare Gate Retrofits
The Urbanist · 23h57 · fil - Op-Ed: From the Bargaining Table to Olympia, Educators Need Our Support Now
The Urbanist · 16h00 · fil - hebdoOSM 840
weekly – semanario – hebdo – 週刊 – týdeník – Wochennotiz – 주간 – tygodnik · 14h19 · fil
Self-hosting & Infra (3)
- How to Install Authentik on Your UGREEN NAS
Marius Hosting · 22h38 · fil - Exemple de fichier DSM DS409
NAS-Forum · 18h03 · fil - Apple Musique - Lire ma musique
Forum des NAS : Synology, Qnap, Asustor... · 04h10 · fil
Libre & Linux (12)
- Linux 7.3-rc1 Close To 41 Million Lines, AMD Kernel Graphics Driver At 6.5 Million Lines
Phoronix · 02h23 · fil - OpenShot 4.0 adds colour grading, recording dock and Qt 6 support
OMG! Ubuntu · 00h39 · fil - Linux 7.3-rc1 With AMD Zen 6 Additions, Better Btrfs Performance & 2026 Steam Controller
Phoronix · 23h51 · fil - OpenShot 4.0 Released In Adapting Video Editor UI To Qt6
Phoronix · 21h55 · fil - Jussi Pakkanen: Stanisław Lem foretold the current LLM mania in 1964
Planet GNOME · 19h55 · fil - Linux 7.3 Lands More Audio Workarounds For Laptops & Other Devices
Phoronix · 17h06 · fil - The Challenges In Bringing AMD ROCm To FreeBSD
Phoronix · 16h38 · fil - AMD Zen 6 Preparations, Ryzen AI Halo LED Driver & Many Laptop Changes For Linux 7.3
Phoronix · 15h39 · fil - NVIDIA Vulkan Frame Rate Up-Conversion "FRUC" Merged To FFmpeg
Phoronix · 13h00 · fil - The "KVM Chainsaw" Clean-Up Merged For Linux 7.3 Along With Other Fixes
Phoronix · 12h41 · fil - Linux 7.3 Introduces 8250_mxpcie Driver For Moxa PCIe Multi-Port Serial Boards
Phoronix · 12h28 · fil - Agenda du Libre pour la semaine 36 de l'année 2026
LinuxFr.org : les dépêches · 10h11 · fil
IA & Numérique (11)
- Souveraineté : posséder les infrastructures ne suffit pas, il faut savoir les gouverner
LeMagIT · 02h00 · fil - OpenAI coupe ses modèles à Cursor après son rachat par le SpaceXAI de Musk
Korben · 11h56 · fil - Coup de théâtre chez Debian : le projet autorise officiellement le code généré par IA
Goodtech · 04h17 · fil - On vous explique la température d’une IA : ce curseur qui change toutes les réponses
Numerama · 18h50 · fil - Voici à quoi ressemble Mario dans la tête des IA
Numerama · 15h30 · fil - Les liens bleus reculent encore : Google gonfle ses réponses IA d’office
Actualités · 15h03 · fil - Claude fait ce qu’il veut, l’iPhone Fold arrive et rachat de SFR– le récap’ tech de la semaine
Numerama · 14h01 · fil - Quelles sont les conditions pour créer une IA coopérative, une IA des commu…
Framasoft - Toute l'actualité · 10h05 · fil - Pour une IA coopérative
Framasoft - Toute l'actualité · 10h00 · fil - Avez-vous démissionné sans le savoir ?
Numerama · 10h33 · fil - Bill Gates veut réserver des métiers aux humains et taxer les machines
Actualités · 09h30 · fil
Signaux transverses (2)
- Plan d'Exposition au Bruit (PEB)
Derniers jeux de données · 21h13 · fil - Photo aérienne 2018 - Pays de Brest
Derniers jeux de données · 06h15 · fil
Non retenu (43)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 35 |
| Culture | 5 |
| Synoworld | 2 |
| Sans catégorie | 1 |
Genere le 2026-08-31 a 07h30 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-09-01
Veille du mardi 1 septembre 2026
174 articles sur 24 h (198 avant regroupement des doublons et fils de discussion) — 77 retenus dans 5 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
OpenStreetMap (4)
- random musings on SOTM(2026) (2/n)
OSM Diaries · 16h36 · fil - Update on the GoPro Max2 360-degree camera for collecting street-level imagery
OSM Diaries · 16h22 · fil - QuackOSM pour faire simplement du SQL avec données OSM
OSM Diaries · 14h25 · fil - Пляж в Неа Карвали глазами русскоязычного
OSM Diaries · 12h20 · fil
Urbanisme & Territoires (16)
- Comment le Var se prépare pour faire face aux inondations - TPBM - Mesinfos.fr
Alerte Google : urbanisme var · 22h05 · fil - Incendies dans le Var : le Gros Bessillon devient un « territoire test » pour repenser la forêt ...
Alerte Google : urbanisme var · 21h16 · fil - Les élections sénatoriales 2026 dans les Bouches-du-Rhône - Les dossiers de Marsactu
Alerte Google : urbanisme bouches du rhône · 19h25 · fil - Toulon : Une stratégie commune pour les forêts du Var - Presse Agence
Alerte Google : urbanisme var · 17h59 · fil - Jusqu'à 80 % de subventions : dans cette commune près de Draguignan, le Département ...
Alerte Google : urbanisme var · 22h11 · fil - Vente HLM et taxe sur la vacance des logements au JO des 28, 29 et 30 août 2026 pour l ...
Alerte Google : urbanisme var · 21h55 · fil - Didier Brémond : "Nous devons porter avec force la simplification de l'action publique"
Alerte Google : urbanisme var · 20h51 · fil - État, Région et Département ensemble - Points de situation Accompagnement Interdictions
Alerte Google : urbanisme var · 19h58 · fil - SENS : Urbanisme – Plus de 5 millions d'€ investis dans les chantiers d'été - Presse Agence
Alerte Google : urbanisme alpes maritimes (+1 autre flux) · 17h55 · fil - État, Région et Département s'unissent après les feux de l'été
Alerte Google : urbanisme var · 17h32 · fil - Saint-Mandrier : Pollution bactériologique - TV83
Alerte Google : urbanisme var · 17h09 · fil - Aix-en-Provence : le PSMV durcit le ton sur les usages du centre ancien - Mesinfos.fr
Alerte Google : urbanisme bouches du rhône · 14h38 · fil - … et 4 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Self-hosting & Infra (12)
- (Application) NASmeister : surveiller son NAS Synology depuis un iPhone
NAS-Forum · 11h35 · fil - reteX : NAS UGREEN NASync DH2300, 2 Baies, 60 To max
Forum des NAS : Synology, Qnap, Asustor... · 15h32 · fil - What's new in Joplin 3.7
Joplin Forum - News · 01h08 · fil - UGREEN NAS UGOS PRO 1.19.1.0126 Released
Marius Hosting · 22h19 · fil - Indexation obligatoire ?
Forum des NAS : Synology, Qnap, Asustor... · 15h42 · fil - Bonjour, un DS213+ increvable et une VM DSM 7
NAS-Forum · 11h17 · fil - Remplacer google photos
Forum des NAS : Synology, Qnap, Asustor... · 10h50 · fil - QTS 6 en approche !
Forum des NAS : Synology, Qnap, Asustor... · 22h30 · fil - UGOS 1.19.1.0126 du 25.08.2026
Forum des NAS : Synology, Qnap, Asustor... · 15h43 · fil - conseil pour le choix d'une CM - d'un processeur de la RAM et d'une petite alim
Forum des NAS : Synology, Qnap, Asustor... · 15h31 · fil - Onduleur et alerte bat
Forum des NAS : Synology, Qnap, Asustor... · 15h04 · fil - (VDS) Compte Plex avec Plex Pass lifetime 120€
Forum des NAS : Synology, Qnap, Asustor... · 10h54 · fil
Libre & Linux (21)
- NotebookBar part 2: icons, text and the code
The Document Foundation Planet · 15h05 · fil - Firefox 155 brings AI-powered Smart Window to more countries
OMG! Ubuntu · 04h34 · fil - KDE Linux Now Providing Automatic Btrfs Snapshots For All User Files
Phoronix · 02h49 · fil - NVIDIA Posts Linux Scheduler Patches To Further Boost SMT Performance On NVIDIA Vera
Phoronix · 02h26 · fil - Ubuntu’s IRC support channels to be ‘sunset’, some aren’t happy
OMG! Ubuntu · 00h25 · fil - Rust Coreutils 0.11 Released With Some Nifty Debug Helper Messages
Phoronix · 23h03 · fil - Firefox 155 Available With Faster Page Loads Via Happy Eyeballs v3, QUIC v2 For HTTP/3
Phoronix · 22h48 · fil - AMD Updates UALink Patches To Get The Linux Kernel Ready For UALoE On Helios
Phoronix · 21h39 · fil - Michael Catanzaro: Don’t Forget: Unset Confidentiality on Private Issue Reports
Planet GNOME · 21h21 · fil - Former Intel Engineer Who Was One Of The Clear Linux Architects Is Starting A New Distro
Phoronix · 20h30 · fil - 3mdeb Enhancing The UEFI Update Capsules Experience For Open-Source Firmware
Phoronix · 18h08 · fil - Why Ubuntu 26.04 upgrades from 24.04 are delayed (until Sept)
OMG! Ubuntu · 16h33 · fil - … et 9 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (24)
- OpenAI révolutionne la facturation de ChatGPT : fini de payer sans résultat
Actualités · 18h00 · fil - OpenAI aurait vidé les stocks de Mac mini et de Mac Studio pour entraîner ses IA
Actualités · 16h02 · fil - Tous les grands modèles d’IA véhiculent des stéréotypes « préjudiciables » (étude)
LeMagIT · 15h39 · fil - L’Europe classe ChatGPT parmi ses services les plus surveillés : voici les changements exigés par le DSA
Numerama · 14h56 · fil - Piratage de Claude : Anthropic alerte ses clients d’une cyberattaque, 6 virus à l’assaut de votre PC
Actualités · 11h42 · fil - Debian ne dit pas non à l’IA et divise la communauté
Next - Articles gratuits · 17h43 · fil - L'intelligence collective des agents IA
LeMagIT · 15h07 · fil - Pourquoi 20 000 développeurs abandonnent Notion et Jira pour cette pépite open source
Goodtech · 04h48 · fil - OpenClaw 2.0 has been launched with easier setup, subagent tracking & private credentials
News - AlternativeTo.net · 22h51 · fil - OpenAI says it will cut off Cursor's access to its AI models starting November 12, 2026
News - AlternativeTo.net · 18h30 · fil - Android TV : ce prompt Claude promet d’améliorer votre téléviseur, mais attention aux dérives
Actualités · 15h32 · fil - ☕️ ChatGPT, Reddit et Roblox entrent dans le club très surveillé du DSA
Next - Articles gratuits · 14h34 · fil - … et 12 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Non retenu (96)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 79 |
| Culture | 7 |
| Sans catégorie | 5 |
| Synoworld | 5 |
Genere le 2026-09-01 a 07h30 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-09-02
Veille du mercredi 2 septembre 2026
187 articles sur 24 h (188 avant regroupement des doublons et fils de discussion) — 82 retenus dans 7 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
SIG & Cartographie (6)
- QGIS 4.2 : problème avec l'item échelle dans une mise en page
GeoRezo.net - QGIS · 23h01 · fil - Lyon: OpenStreetMap, rencontre mensuelle, Le mardi 15 septembre 2026 de 18h30 à 20h00.
L'Agenda du Libre · 22h46 · fil - Tours: Rencontre locale OpenStreetMap, Le mercredi 9 septembre 2026 de 18h30 à 20h00.
L'Agenda du Libre · 18h43 · fil - Re: QGIS: Bloque sur "Mise a jour des chemins des projets recents"
GeoRezo.net - QGIS · 18h30 · fil - QGIS: Bloque sur "Mise a jour des chemins des projets recents"
GeoRezo.net - QGIS · 14h41 · fil - Et voilà, le SOTM2026 - Paris est terminé !!! 🎉Un immense MERCI à tous nos…
OpenStreetMap 🇫🇷 · 12h56 · fil
OpenStreetMap (5)
- Mapeando
OSM Diaries · 18h32 · fil - more about the DMC (Deutsche-bahn Metadaten Cleanup) project
OSM Diaries · 13h24 · fil - Oh, I see it already begun on August 15th, oops. I thought it was always ju…
Anne-Karoline (Mastodon) · 12h17 · fil - #WikiLovesMonuments has finally begun! This year, I had saved some photos,…
Anne-Karoline (Mastodon) · 12h14 · fil - Αποτυχημένη αποστολή ιχνών
OSM Diaries · 11h00 · fil
Urbanisme & Territoires (30)
- Construire en Corse sans PLU : que change le report au 22 août 2030 et comment contester ...
Alerte Google : corse urbanisme · 12h44 · fil - LE PLESSIS ROBINSON : Climat - Un urbanisme novateur fait chuter le thermomètre en ...
Alerte Google : urbanisme bouches du rhône · 00h33 · fil - Corse : la fin de «l'île aux milliardaires», la mairie de Bonifacio reprend le contrôle de Cavallo
Alerte Google : corse urbanisme · 15h58 · fil - Guillaume Quénet nommé préfet délégué pour l’égalité des chances dans les Bouches-du-Rhône
Provence-Alpes-Côte d'Azur · 13h53 · fil - Alpes-Maritimes : aménagement d'une liaison cyclable transfrontalière entre Menton et Vintimille
Alerte Google : urbanisme alpes maritimes · 11h32 · fil - Bouches-du-Rhône : réhabilitation de la piscine de Font-Obscure à Marseille - Le Moniteur
Alerte Google : urbanisme bouches du rhône · 11h32 · fil - Var : construction d'un complexe sportif et associatif aux Adrets-de-l'Estérel - Le Moniteur
Alerte Google : urbanisme var · 11h30 · fil - Alpes-Maritimes : construction d'un réservoir d'eau potable à La Gaude - Le Moniteur
Alerte Google : urbanisme alpes maritimes · 11h30 · fil - Bouches-du-Rhône : requalification du boulevard Rabatau, à Marseille - Le Moniteur
Alerte Google : urbanisme bouches du rhône · 11h30 · fil - Var : poursuite de la restauration de l'église Saint-Joseph au Muy - Le Moniteur
Alerte Google : urbanisme var · 11h30 · fil - À Marseille, le data center de Saint-Louis s'ouvre au débat
Alerte Google : urbanisme bouches du rhône · 19h47 · fil - Le Département fait sa rentrée dans le collège André Chénier à Marseille, entièrement rénové
Alerte Google : urbanisme bouches du rhône · 17h15 · fil - … et 18 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Self-hosting & Infra (5)
- How to Install Endurain on Your Synology NAS
Marius Hosting · 02h53 · fil - mariushosting UGREEN NAS Facebook Group At Over 23K Members
Marius Hosting · 22h25 · fil - choix matériel NAS DIY
Forum des NAS : Synology, Qnap, Asustor... · 16h19 · fil - Quel usage de l’eMMC du DXP2800?
Forum des NAS : Synology, Qnap, Asustor... · 14h58 · fil - Apache 85 – Installation fails with file format error
Forum des NAS : Synology, Qnap, Asustor... · 13h03 · fil
Libre & Linux (14)
- LibreOffice project and community recap: August 2026
TDF Community Blog (+1 autre flux) · 16h44 · fil - Linux App Release Roundup (August 2026)
OMG! Ubuntu · 00h18 · fil - Steam On Linux Dips Below 4% For August
Phoronix · 02h19 · fil - WinBtrfs 1.10 Released With Two Years Worth Of Improvements For Btrfs On Windows
Phoronix · 23h57 · fil - AMDGPU Linux Driver's Latest Patches For HDMI Passive VRR Support
Phoronix · 22h41 · fil - Linux Gets A Reverse-Engineered Driver For ASUS ROG NVMe Enclosure RGB Lighting
Phoronix · 18h28 · fil - Lekuo SouthBridge Max Puts An AMD B650 Chipset Onto A PCIe Card For More I/O
Phoronix · 15h55 · fil - Felipe Borges: Call for Mentors for Outreachy (Dec 2026)
Planet GNOME · 14h59 · fil - systemd 262-rc1 Released With Live Update Orchestrator Integration & More
Phoronix · 14h07 · fil - Linux Changes For CPPC On Zen 6 Clients - Hard-Coded Default Puts Low-Power Core At 0.47x
Phoronix · 12h36 · fil - Intel Graphics Driver Introducing Cold Reset Recovery For Linux 7.4, Panther Lake IBC v3
Phoronix · 12h15 · fil - The Linux Kernel AI Flood, Linux 7.2 Release & Other August Highlights
Phoronix · 12h01 · fil - … et 2 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (20)
- L’USB-C de la robotique : Anthropic prépare un standard open source pour que l’IA pilote le monde physique
Goodtech · 07h40 · fil - « Merci, Anthropic, vraiment » : piraté, il découvre par mail que ses tokens Claude alimentent un marché parallèle
Numerama · 16h10 · fil - « Depuis quand l’open source est-il sécurisé ? » : la charge virulente de la DSI de Palo Alto Networks
Goodtech · 07h54 · fil - Joplin 3.7 brings AI tools, semantic search, an MCP server, whiteboards, and faster sync
News - AlternativeTo.net · 14h00 · fil - ChatGPT gratuit et sans pub, c’est fini, mais voici comment désactiver la publicité ciblée
Numerama · 12h40 · fil - Dix ans de souveraineté locale : en 2026, le label Territoire Numérique Libre est plus crucial que jamais
Goodtech · 04h40 · fil - Ransomware : comment Aurora met à profit l'IA
LeMagIT · 14h44 · fil - En Australie, le parlement est inondé de contenus erronés générés par IA
Next - Articles gratuits · 14h22 · fil - La finance mondiale menacée par l’IA : le gendarme financier international lance un avertissement
Actualités · 13h07 · fil - Espionnage industriel : Apple accuse OpenAI de détruire les preuves
Actualités · 12h18 · fil - Les vieux Mac Intel peuvent enfin installer l’app ChatGPT, deux ans après son lancement
Numerama · 12h10 · fil - Brioche Dorée injecte de l’IA prédictive en magasin
LeMagIT · 12h08 · fil - … et 8 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Signaux transverses (2)
- Vela Maps · Google Maps, degoogled
Liens en vrac de sebsauvage · 15h37 · fil - Organic Maps adds CarPlay dashboard, bookmark multi-select, and tracks' hidding on the map
News - AlternativeTo.net · 15h30 · fil
Non retenu (104)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 92 |
| Sans catégorie | 7 |
| Culture | 2 |
| Synoworld | 2 |
| Arts and Co | 1 |
Genere le 2026-09-02 a 07h30 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-09-03
Veille du jeudi 3 septembre 2026
176 articles sur 24 h (189 avant regroupement des doublons et fils de discussion) — 80 retenus dans 7 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
SIG & Cartographie (4)
- Re: QGIS 4.2: probl avec l item echelle dans une mise en page
GeoRezo.net - QGIS · 23h14 · 3 messages · fil - QGIS: Export JPG d une mise en page
GeoRezo.net - QGIS · 22h12 · fil - Re: QGIS: ombres d un Modele de surface (MNS) integrees sur la journee
GeoRezo.net - QGIS · 17h58 · fil - QGIS: ombres d un Modele de surface (MNS) integrees sur la journee
GeoRezo.net - QGIS · 12h10 · fil
OpenStreetMap (1)
- My State of the Map 2026
OSM Diaries · 16h44 · fil
Urbanisme & Territoires (24)
- Terre d'Argence : un rassemblement contre la ligne THT à Arles pour les Journées du patrimoine
Alerte Google : urbanisme bouches du rhône · 22h12 · fil - Les règles d'urbanisme en révision à Pornic : une réunion publique ce mercredi soir - Actu
Alerte Google : corse urbanisme · 17h16 · 2 messages · fil - A Aix-en-Provence, cette entreprise sème des graines d'avenir
Provence-Alpes-Côte d'Azur · 17h00 · fil - Centre de tri et de valorisation des déchets du Grand Bastia : autorisations administratives validées
Alerte Google : corse urbanisme · 16h06 · 2 messages · fil - LE PLESSIS ROBINSON : Climat - Un urbanisme novateur fait chuter le thermomètre en ...
Alerte Google : urbanisme alpes maritimes (+1 autre flux) · 14h45 · fil - Miramas : le TE13 lance son démonstrateur énergétique - TPBM - Mesinfos.fr
Alerte Google : urbanisme bouches du rhône · 09h50 · fil - Comment la dématérialisation fait évoluer les démarches fiscales?
Provence-Alpes-Côte d'Azur · 17h12 · fil - La vendange 2026 en Vallée du Rhône pourrait être miraculeuse
Provence-Alpes-Côte d'Azur · 17h00 · fil - Cour d’appel d’Aix-en-Provence : quels nouveaux magistrats et quels projets ?
Provence-Alpes-Côte d'Azur · 16h29 · fil - Toulon : Stanislas de Chargères prend le commandement de la Force d’action navale
Provence-Alpes-Côte d'Azur · 16h21 · fil - Queyras : sur la RD 902, le chantier de sécurisation du secteur des Crèches reprend
Provence-Alpes-Côte d'Azur · 16h05 · fil - Comment le Sporting club de Toulon poursuit sa structuration
Provence-Alpes-Côte d'Azur · 15h01 · fil - … et 12 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Self-hosting & Infra (6)
- UGREEN NAS: New Docker Engine 29.6.2
Marius Hosting · 23h45 · fil - Synology & UGREEN Dockhand Docker Version 1.0.46
Marius Hosting · 23h03 · fil - Portainer CE - gestion images et conteneurs Docker
Forum des NAS : Synology, Qnap, Asustor... · 10h50 · fil - Cartes mères avec CPU intégré pour NAS/Serveur DIY
Forum des NAS : Synology, Qnap, Asustor... · 11h42 · fil - Nouveau ici : DS920+ à la maison, étiquettes de disques
NAS-Forum · 19h39 · fil - (Tautulli) - gestion, notifications etc pour Plex Media Server
Forum des NAS : Synology, Qnap, Asustor... · 11h03 · fil
Libre & Linux (18)
- LibreOffice 26.8 set a new first-week download record
OMG! Ubuntu · 17h15 · fil - One week of LibreOffice 26.8 – The stats!
TDF Community Blog (+1 autre flux) · 09h29 · fil - Canonical joins the Open Secure AI Alliance
OMG! Ubuntu · 03h02 · fil - Lemonade 11.9 Local AI Server Released With Super Exciting AMD ROCm HRX Backend
Phoronix · 02h32 · fil - Fedora 46 Proposal Wants To Provide Official Support For Crystal Programming Language
Phoronix · 22h32 · fil - NVIDIA-Started Open Secure AI Alliance Moves To The Linux Foundation
Phoronix · 20h42 · fil - Arduino’s Ubuntu-powered $299 edge AI board just sold out
OMG! Ubuntu · 20h08 · fil - KDE Plasma 6.8 Lands Dwell Clicker Support To Improve Accessibility On Wayland
Phoronix · 19h51 · fil - Mesa 26.2.2 Enables Intel Nova Lake Graphics By Default
Phoronix · 19h05 · fil - Early Benchmarks Of AMD EPYC On Linux 7.3 Show Some Performance Gains On The Horizon
Phoronix · 17h53 · fil - CERN Transitioning Industrial Computers To Debian After Being A Longtime RHEL Institution
Phoronix · 17h17 · fil - AVX-512 xor_gen For Linux Updated & Looking Real Good For RAID Arrays
Phoronix · 15h20 · fil - … et 6 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (24)
- ChatGPT franchit un cap « critique » : l’IA la plus redoutable jamais créée par OpenAI arrive « bientôt »
Actualités · 10h31 · fil - ☕️ Anthropic relance la course aux modèles avec Claude Fable 5.1
Next - Articles gratuits · 16h59 · fil - Anthropic dégaine 2 nouvelles versions de Claude, et elles font des prouesses
Actualités · 16h04 · fil - Sécurité des LLM : Anthropic renforce son dispositif
LeMagIT · 14h28 · fil - Anthropic banned me for "suspicious signals" – ʕ☞ᴥ ☜ʔ Kix's blog
Liens en vrac de sebsauvage · 08h34 · fil - Tokenmaxxing : pourquoi certains salariés brûlent des millions de tokens IA
SysKB · 13h11 · fil - Claude Fable et Mythos 5.1 : Anthropic dévoile ses modèles les plus puissants, mais marche sur des œufs
Numerama · 10h36 · fil - DSA : l’Europe place ChatGPT, Reddit et Roblox sous surveillance renforcée
IT-Connect · 08h10 · fil - ChatGPT affiche des publicités : comment désactiver le ciblage publicitaire
Numerama · 11h10 · fil - Claude Fable 5.1 and Mythos 5.1 launch with lower cache costs and fewer restrictions
News - AlternativeTo.net · 07h49 · fil - Firefox lance Smart Window en France, sa nouvelle fenêtre de navigation dopée à l’IA
Numerama · 15h39 · fil - Ransomware & IA : l'union tant attendue est avérée
LeMagIT · 13h55 · fil - … et 12 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Signaux transverses (3)
- Usure de chaîne vélo : quand et comment la mesurer
SysKB · 10h03 · fil - Julbo Frequency REACTIV 1-3 : pourquoi je reste fidèle aux lunettes photochromiques Julbo
SysKB · 14h55 · fil - Sophie Adenot réussit sa troisième sortie spatiale malgré un désagrément sur sa combinaison
Numerama · 09h55 · fil
Non retenu (95)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 82 |
| Sans catégorie | 11 |
| Synoworld | 1 |
| Culture | 1 |
Genere le 2026-09-03 a 07h30 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-09-04
Veille du vendredi 4 septembre 2026
195 articles sur 24 h (203 avant regroupement des doublons et fils de discussion) — 88 retenus dans 7 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
SIG & Cartographie (2)
- Re: QGIS: ombres d un Modele de surface (MNS) integrees sur la journee
GeoRezo.net - QGIS · 11h18 · fil - QGIS 3.44: module cadastre erreur import
GeoRezo.net - QGIS · 09h53 · fil
OpenStreetMap (6)
Urbanisme & Territoires (26)
- « Les projets présentés sont sérieux » : le président du Var confiant pour cette commune ...
Alerte Google : urbanisme var · 16h50 · fil - (Sénatoriales) La liste de Mireille Jouve dans les Bouches-du-Rhône - La Marseillaise
Alerte Google : urbanisme bouches du rhône · 15h42 · fil - 3 questions à… Cathy Venturino-Gabelle, Maire de Barjols (Var) - APVF
Alerte Google : urbanisme var · 13h27 · fil - A Trans-en-Provence, le Département du Var en soutien aux projets de la commune
Provence-Alpes-Côte d'Azur · 11h01 · fil - Au département, jusqu'à deux mois de retard dans le versement d'allocations aux handicapés
Alerte Google : urbanisme bouches du rhône · 19h29 · fil - Le maître d'ouvrage de la semaine - Erilia (Marseille, 13) - Le Moniteur
Alerte Google : urbanisme bouches du rhône · 19h13 · fil - Après des mois de travaux peu visibles, voici ce qui commence enfin à prendre forme ... - Nice-Matin
Alerte Google : urbanisme var · 17h06 · fil - Toulon : l'école Jean-Aicard inaugure sa cour végétalisée - Presse Agence
Alerte Google : urbanisme var · 14h46 · fil - Seattle's Pinehurst Light Rail Station Will Open September 30
The Urbanist · 23h16 · fil - Urbanisme : « Un gisement encore peu exploité »… Plus de 20.000 friches recensées en France
Alerte Google : corse urbanisme · 18h21 · fil - Miramas : quels sont les grands rendez-vous attendus en septembre ?
Provence-Alpes-Côte d'Azur · 18h04 · fil - Magali Blandin, la poésie des beaux paysages de Provence
Provence-Alpes-Côte d'Azur · 17h40 · fil - … et 14 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Self-hosting & Infra (3)
- Installer Radicale avec Docker
belginux - self-hosting, Docker & Linux · 18h53 · fil - (VDS) Topton I3 N305- 32G Ram - réseau 10G - 2 x M2 + 6 x SATA
Forum des NAS : Synology, Qnap, Asustor... · 22h56 · fil - Interdire certaines adresses IP
Forum des NAS : Synology, Qnap, Asustor... · 12h38 · fil
Libre & Linux (16)
- Results from the survey about LibreOffice Base
The Document Foundation Planet · 09h25 · fil - Yes, no AI is now a feature
TDF Community Blog (+1 autre flux) · 17h49 · fil - Ubuntu 26.10 Snapshot 3 Monthly ISOs Released For Testing
Phoronix · 02h15 · fil - Ubuntu 26.10 Snapshot 3 is now available for testing
OMG! Ubuntu · 01h24 · fil - Vivaldi 8.2 is out with a calculator in the address bar
OMG! Ubuntu · 00h46 · fil - Amazon Linux 2027 Now in Preview: Powered By Linux 7.1, x86-64-v3 & Built With LTO
Phoronix · 23h13 · fil - Intel Improving Its Content Match Refresh Rate "CMRR" Feature With Linux 7.4
Phoronix · 19h57 · fil - Mir 2.29 Released With Additional Wayland Protocols
Phoronix · 19h18 · fil - LLVM Developers Begin Debate Over AGENTS.md For Helping AI Agents
Phoronix · 17h45 · fil - Audacity 4.0 released with brand-new look, clip editing features
OMG! Ubuntu · 16h52 · fil - 21st Revision Of Patches For Getting Linux To Shutdown Devices Asynchronously
Phoronix · 15h03 · fil - NVIDIA Acquiring Hugging Face For $12.93 Billion
Phoronix · 14h40 · fil - … et 4 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (31)
- OpenAI dévoile GPT-6-Astra, le nouveau modèle flagship de ChatGPT
Numerama · 20h07 · fil - ChatGPT ou Claude en panne ? Voici les meilleures alternatives en 2026
Numerama · 17h20 · fil - HTC Vive dévoile les lunettes connectées Vive Eagle : IA, caméra 3K et priorité au respect de la vie privée
Actualités · 15h00 · fil - Tous les grands modèles d’IA véhiculent des stéréotypes « préjudiciables »
LeMagIT · 14h10 · fil - Généalogie des modèles d’IA ouverts : la CNIL propose un outil pour s’y retrouver
Next - Articles gratuits · 12h02 · fil - ChatGPT en panne : les signalements explosent, voici ce que l’on sait
Numerama · 17h04 · fil - Après le piratage des impôts, des ingénieurs de Mistral vont s’installer dans les ministères
Actualités · 15h01 · fil - Le gouvernement américain vole au secours d’OpenAI dans son litige avec le New York Times
Next - Articles gratuits · 07h48 · fil - Tablettes et PC Yoga : Lenovo étoffe son catalogue et construit un écosystème complet autour de son IA Qira
Actualités · 18h00 · fil - Philips Hue dévoile une pluie de nouveautés et booste son IA
Actualités · 17h07 · fil - Le G20 adopte l’approche pro-IA portée par les États-Unis
Next - Articles gratuits · 16h55 · fil - Gemini Flash 3.8 : Google sacrifie ses prix pour contrer les IA chinoises
Actualités · 16h22 · fil - … et 19 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Signaux transverses (4)
- Date des prises de vue aériennes IGN (BD ORTHO) par commune
Derniers jeux de données · 19h20 · fil - Prix de l'immobilier par commune (agrégats DVF)
Derniers jeux de données · 14h38 · fil - Decathlon casse le prix de son vélo de route électrique Van Rysel E-EDR AF de 1 200 €
Numerama · 12h00 · fil - Automatic captions artifacts
Framasoft - Toute l'actualité · 10h31 · fil
Non retenu (107)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 98 |
| Sans catégorie | 3 |
| Culture | 2 |
| Synoworld | 2 |
| cuisine | 2 |
Genere le 2026-09-04 a 07h30 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-09-05
Veille du samedi 5 septembre 2026
175 articles sur 24 h (184 avant regroupement des doublons et fils de discussion) — 76 retenus dans 6 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
SIG & Cartographie (3)
- Re: QGIS: Export JPG d une mise en page
GeoRezo.net - QGIS · 14h40 · fil - Re: QGIS 3.44: module cadastre erreur import
GeoRezo.net - QGIS · 11h06 · 2 messages · fil - Re: QGIS 4.2: probl avec l item echelle dans une mise en page
GeoRezo.net - QGIS · 09h34 · fil
OpenStreetMap (2)
- Гидрогеология Александровского района Владимирской области и возможности бурения малогабаритными буровыми установками
OSM Diaries · 17h53 · fil - Some days ago, I uploaded a video about how I map fish(ing) weirs on #OpenS…
Anne-Karoline (Mastodon) · 12h12 · fil
Urbanisme & Territoires (30)
- Une nouvelle saison débute pour le Saint-Raphaël Var Handball
Alerte Google : urbanisme var · 12h22 · fil - En septembre, c'est la rentrée des spectacles dans le Var !
Provence-Alpes-Côte d'Azur · 08h17 · fil - Urbanisme : la municipalité de Bonifacio condamnée à près de 330.000 euros de réparation
Alerte Google : corse urbanisme (+2 autres flux) · 21h23 · fil - Les travaux de la Sauvette à Hyères ont débuté et vont durer 12 mois : l'allée des Cèdres ...
Alerte Google : urbanisme var · 19h38 · fil - Face au risque incendie, une riveraine a lancé une pétition pour désenclaver un chemin à ...
Alerte Google : urbanisme var · 19h15 · fil - Quatre fois plus de cas : pourquoi le virus West Nile flambe en Provence et pourrait toucher ...
Alerte Google : urbanisme bouches du rhône · 18h35 · fil - Marseille : le Street Food Festival revient à la Major avec dégustations et DJ sets
Alerte Google : urbanisme bouches du rhône · 18h09 · fil - Risque de pollution du Rhône : le préfet ordonne la sécurisation de l'usine Fibre Excellence
Alerte Google : urbanisme bouches du rhône · 17h28 · fil - « Il va falloir faire un choix si l'on veut sauver les derniers grands cétacés de Méditerranée ...
Alerte Google : corse urbanisme · 17h21 · fil - Décès du cinéaste Tony Gatlif, réalisateur de “Gadjo Dilo”, à 77 ans - L'Écho Républicain
Alerte Google : urbanisme bouches du rhône · 16h45 · fil - Urbanisme : nouveau renvoi pour Gérald Passedat, le chef étoilé du Petit Nice à Marseille
Alerte Google : corse urbanisme (+3 autres flux) · 16h43 · fil - Enquête publique - Projet de réaménagement de la RN296 - Mairie d'Aix-en-Provence
Alerte Google : urbanisme bouches du rhône · 15h18 · fil - … et 18 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Self-hosting & Infra (8)
- How to Install Open Dronelog on Your Asustor NAS
Marius Hosting · 22h06 · fil - rclone v1.75.1
Rclone GitHub Releases · 19h11 · fil - Séries IDX en vente de 2349.99€ à 5999.99€
Forum des NAS : Synology, Qnap, Asustor... · 15h56 · fil - UGREEN NAS DXP6800 and DXP8800 Ultra vs iDX6011 Pro
Marius Hosting · 13h45 · fil - Aucun accès a plex
NAS-Forum · 22h14 · fil - Fermeture de DNS-O-Matic
Forum des NAS : Synology, Qnap, Asustor... · 22h02 · fil - (Vendu) Topton I3 N305- 32G Ram - réseau 10G - 2 x M2 + 6 x SATA
Forum des NAS : Synology, Qnap, Asustor... · 18h03 · fil - Ugreen HomeAgent
Forum des NAS : Synology, Qnap, Asustor... · 13h29 · fil
Libre & Linux (16)
- LibreOffice 26.2.6 is available for download
TDF Community Blog (+1 autre flux) · 13h23 · fil - KDE Plasma 6.8 Lands Windows-Like Auto-Scrolling, Lower vRAM Usage For Breeze Theme
Phoronix · 23h00 · fil - Wine 11.17 Released With Initial Support For Display Mode Emulation
Phoronix · 22h11 · fil - This Week in GNOME: #264 Version Picking
Planet GNOME · 21h31 · fil - Sophie Herold: Introduction of GNOME RFC Process: Start of Final Comment Period
Planet GNOME · 20h20 · fil - Sophie Herold: GNOME Fellowship August 2026
Planet GNOME · 19h53 · fil - Peter Eisenmann: Fellowship Report August 2026 (Rivendell)
Planet GNOME · 17h59 · fil - Amazon Linux 2027 Shows Off Nice Performance Gains On AMD EPYC In The AWS Cloud
Phoronix · 17h33 · fil - NetworkManager Works To Enforce AI Policy By Tricking AI Agents To Add A Canary
Phoronix · 16h52 · fil - PoCL 7.2 Released With Official OpenCL 3.0 Conformance On RISC-V & x86_64 CPUs
Phoronix · 16h33 · fil - Ubuntu 24.04 splits firmware packages for faster updates
OMG! Ubuntu · 16h31 · fil - XDC 2026 Will Feature Many Interesting Talks: Vulkan Gallium, OpenCL On CUDA & More
Phoronix · 15h05 · fil - … et 4 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (17)
- ☕️ Claude, ChatGPT, Gemini et Grok sont simultanément tombés en panne, SpaceXAI s’excuse
Next - Articles gratuits · 08h59 · fil - Pannes quasi simultanées chez Claude, ChatGPT et Grok : ce que l’on sait de la coïncidence du 3 septembre
Numerama · 10h41 · fil - OpenAI aurait su, et n’aurait rien dit : un autre essaim d’agents IA aurait détourné un vieux wiki allemand
Numerama · 16h32 · fil - GPT-6 Astra : les évaluateurs indépendants tempèrent les affirmations d’OpenAI
LeMagIT · 12h37 · fil - Pour le salut de la discipline, des problèmes de maths devraient être « exclus » de l’IA, juge le Mozart des mathématiques
Numerama · 17h15 · fil - Claude can work in background windows on macOS desktops
News - AlternativeTo.net · 16h31 · fil - Boomi lance lui aussi sa couche de contrôle des agents IA
LeMagIT · 15h23 · fil - OpenAI a publié une version bridée de GPT-6 Astra, ce modèle redoutable en cyber
IT-Connect · 14h43 · fil - UGREEN HomeAgent : quand le NAS devient un hub avec de l’IA locale pour la domotique
IT-Connect · 14h21 · fil - « Osez l’IA » : un début modeste
LeMagIT · 12h47 · fil - Audile | F-Droid - Free and Open Source Android App Repository
Liens en vrac de sebsauvage · 10h47 · fil - Synology DSM 7.4 : l’IA locale débarque sur les NAS grand public
SysKB · 09h12 · fil - … et 5 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Non retenu (97)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 82 |
| Sans catégorie | 11 |
| Culture | 2 |
| Toulon | 1 |
| cuisine | 1 |
Genere le 2026-09-05 a 07h30 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-09-06
Veille du dimanche 6 septembre 2026
70 articles sur 24 h — 31 retenus dans 6 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
OpenStreetMap (2)
- I mapped my first bird hide today! https://osmand.net/map/poi/?osmId=155640…
Anne-Karoline (Mastodon) · 01h27 · fil - Changeset not uploading
OSM Diaries · 16h15 · fil
Urbanisme & Territoires (16)
- « Une grosse arnaque » : comment ce maire du Var et président de l'association Amorce a ...
Alerte Google : urbanisme var · 21h44 · fil - Un insecte qui s'attaque aux feuilles de chênes découvert dans les Alpes-Maritimes, trois ...
Alerte Google : urbanisme alpes maritimes · 19h38 · fil - c'est le moment de vous inscrire, les 150 associations font leur rentrée tout ce week-end à Hyères
Alerte Google : urbanisme var · 21h58 · fil - Rezé : le projet de la ZAC du Vert-Praud soumis à enquête publique - Presse Agence
Alerte Google : urbanisme var · 20h35 · fil - après une mobilisation citoyenne et municipale, le projet d'incinérateur à Istres abandonné par Suez
Alerte Google : urbanisme bouches du rhône · 17h20 · fil - Création d'un bassin de rétention et agrandissement du réseau pluvial : des travaux à ... - Nice-Matin
Alerte Google : urbanisme var · 16h53 · fil - « Ma grande surprise a été la lourdeur administrative ! » : le nouveau maire du Bourguet ...
Alerte Google : urbanisme var · 16h13 · fil - L'US Endoume fait peau neuve - La Marseillaise
Alerte Google : urbanisme bouches du rhône · 14h37 · fil - « Elle fait partie des priorités du plan voirie » : cette avenue de Toulon sera bientôt refaite
Alerte Google : urbanisme var · 14h13 · fil - Commission de conciliation en matière d'élaboration des documents d'urbanisme
Alerte Google : urbanisme var · 13h10 · fil - Eau en Vaucluse : Préserver l'abondance - - L'Echo du Mardi
Alerte Google : corse urbanisme · 07h44 · fil - Archettes. Un conseil municipal dense dédié à l'urbanisme et au social - Vosges Matin
Alerte Google : urbanisme alpes maritimes · 19h23 · fil - … et 4 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Self-hosting & Infra (1)
- How to Install Formbricks on Your UGREEN NAS
Marius Hosting · 22h46 · fil
Libre & Linux (9)
- GNOME Sushi gets a GTK4 revamp, new features
OMG! Ubuntu · 03h22 · fil - Slackware-Based Zenwalk ISOs Updated With Linux 7.1, Flatpak Integrated + Xfce 4.20
Phoronix · 00h27 · fil - Ikey Doherty Plans To Show How To "Properly" Build A Modern Linux Distro
Phoronix · 20h35 · fil - Le pilote open-source Vulkan pour AMD “RADV” de chez Mesa bientôt disponible sous Windows ?
LinuxFr.org : les dépêches · 18h49 · fil - NVIDIA Posts vGPU Manager & VFIO Variant Driver For Open-Source Nova
Phoronix · 17h02 · fil - Nouveau Lands Display Fixes For NVIDIA Blackwell GPUs As It Works Toward HDMI 2.1
Phoronix · 13h20 · fil - Linux Patches Posted For Initial Enablement Of The Apple A18 Pro + MacBook Neo
Phoronix · 13h11 · fil - AMD Working To "Push Rust Deep Into The GPU Stack"
Phoronix · 12h48 · fil - GNOME Stakeholders Discussing RFC Process For Solving Major Technical Changes
Phoronix · 12h31 · fil
IA & Numérique (2)
- Claude, ChatGPT, Gemini et Grok sont simultanément tombés en panne, SpaceXAI s’excuse - Next
Liens en vrac de sebsauvage · 10h06 · fil - 𝐿𝒶𝓃𝒶 "not yet begun to fight": "Guys is it gay to (checks note…" - beige.party
Liens en vrac de sebsauvage · 12h06 · fil
Signaux transverses (1)
- Intersport casse le prix de son VTC électrique Crossover S qui passe sous la barre des 800 €
Numerama · 09h00 · fil
Non retenu (38)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 28 |
| Toulon | 4 |
| Culture | 3 |
| Sans catégorie | 3 |
Genere le 2026-09-06 a 07h30 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-09-07
Veille du lundi 7 septembre 2026
77 articles sur 24 h (78 avant regroupement des doublons et fils de discussion) — 33 retenus dans 6 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
OpenStreetMap (1)
- weeklyOSM 841
WeeklyOSM · 15h30 · fil
Urbanisme & Territoires (7)
- Juriste urbanisme à Roquebrune-Cap-Martin, Alpes-Maritimes (Besoin d'urgence!) - 2026
Alerte Google : urbanisme alpes maritimes · 15h33 · fil - Marseille : l'AGAM lance le Cagnascore contre les îlots de cha... - Presse Agence
Alerte Google : urbanisme var · 03h48 · fil - J'ai fait venir un élagueur pour abattre le grand tilleul du jardin début septembre
Alerte Google : urbanisme bouches du rhône · 23h44 · fil - « Nous avons déjà fait plus de 16.000 interventions cette année », les pompiers de Haute ...
Alerte Google : urbanisme var · 17h13 · fil - Sunday Video: Is Minneapolis Too Nice for Its Own Good?
The Urbanist · 18h51 · fil - hebdoOSM 841
weekly – semanario – hebdo – 週刊 – týdeník – Wochennotiz – 주간 – tygodnik · 15h30 · fil - Miramas : bilan d’une rentrée où l’éducation est une priorité municipale
Provence-Alpes-Côte d'Azur · 09h54 · fil
Self-hosting & Infra (3)
- How to Install Ollama on Your UGREEN NAS
Marius Hosting · 22h31 · fil - NAS F6-424max en statut "non initialisé" après update last version TOS7
Forum des NAS : Synology, Qnap, Asustor... · 00h11 · fil - Compatibilité de caméras
NAS-Forum · 13h15 · fil
Libre & Linux (13)
- LibreOffice talks at the Open Source Conference Luxembourg 2026
TDF Community Blog (+1 autre flux) · 12h46 · fil - Firefox redesign will arrive in v157 release
OMG! Ubuntu · 00h45 · fil - Linux 7.3-rc2 Released Following Another Busy Week
Phoronix · 00h22 · fil - Shotcut 26.9 Video Editor Beta Brings UI Improvements, Better Audio Quality
Phoronix · 21h58 · fil - NetBSD 9.5 Released To Cap Off The Series
Phoronix · 19h52 · fil - Agenda du Libre pour la semaine 37 de l’année 2026
LinuxFr.org : les dépêches · 18h28 · fil - Linux 7.3-rc2 Scheduler Fix For Cache Aware Load Scheduling Misfits On Hybrid CPUs
Phoronix · 15h32 · fil - Nouveautés de septembre 2026 de la communauté Scenari
LinuxFr.org : les dépêches · 14h40 · fil - Asahi Linux Now Officially Supports Apple M3 Macs - With Caveats
Phoronix · 12h53 · fil - LLVM Developers Discuss Enabling ClangIR Build By Default
Phoronix · 12h43 · fil - Linux 7.3-rc2 Transitions More kmalloc Calls To The Superior kmalloc_obj
Phoronix · 12h28 · fil - Slackware 16 Alpha 1 Available Following GCC 16.2, Glibc 2.44 & Binutils 2.47 Upgrade
Phoronix · 12h16 · fil - … et 1 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (7)
- OpenAI et Anthropic ont refusé : NVIDIA cède son alliance de sécurité IA à la Linux Foundation
Goodtech · 05h59 · fil - Des pacemakers coupés du suivi médical, Linux étouffé par les IA et des comptes Claude piratés et revendus : on vous raconte la semaine Cyberguerre
Numerama · 19h00 · fil - IA, le mur, par Frédéric Lordon (Les blogs du Diplo, 4 septembre 2026)
Liens en vrac de sebsauvage · 10h56 · fil - Quand on aime, on a toujours 20 ans - Le blog de Zythom
Liens en vrac de sebsauvage · 11h58 · fil - Ils se servent de l'intelligence artificielle pour planifier leur randonnée : trois promeneurs s'égarent à 4 000 mètres d'altitude, en pleine ascension - ladepeche.fr
Liens en vrac de sebsauvage · 08h55 · fil - Mots de passe, identifiants, emails… une nouvelle fuite massive de données secoue la France
Actualités · 08h24 · fil - Rachat d’Hugging Face : Nvidia confirme l’accord à 12,93 milliards de dollars
LeMagIT · 07h56 · fil
Signaux transverses (2)
- J’ai roulé 1500 km sur un vélo électrique chinois à 1000 euros : le verdict est sans appel
Actualités · 08h28 · fil - Commentaires sur Framacount : partagez l’addition sans partager vos données par Franck
Framasoft - Toute l'actualité · 00h08 · fil
Non retenu (41)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 37 |
| Culture | 2 |
| Synoworld | 1 |
| Toulon | 1 |
Genere le 2026-09-07 a 07h30 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-09-08
Veille du mardi 8 septembre 2026
167 articles sur 24 h (171 avant regroupement des doublons et fils de discussion) — 61 retenus dans 7 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
SIG & Cartographie (2)
- Re: QGIS: Bloque sur "Mise a jour des chemins des projets recents"
GeoRezo.net - QGIS · 09h57 · fil - QGIS/Extension OpenRecoStar: probl de lancement
GeoRezo.net - QGIS · 09h57 · fil
OpenStreetMap (3)
- AN APOLOGY DIARY
OSM Diaries · 17h11 · fil - seguimientos
OSM Diaries · 15h30 · fil - State of the Map Paris 2026: OpenStreetMap is scaling up
OSM Diaries · 09h18 · fil
Urbanisme & Territoires (22)
- Bois-Colombes : aide aux travaux avec la permanence urbanisme - Presse Agence
Alerte Google : urbanisme bouches du rhône (+1 autre flux) · 08h36 · fil - Corse-Matin on X: "Assignation de l'agence d'urbanisme de la Corse : l'audience renvoyée ...
Alerte Google : corse urbanisme · 21h41 · fil - Assignation de l'agence d'urbanisme de la Corse : l'audience renvoyée au 9 novembre - Facebook
Alerte Google : corse urbanisme · 19h18 · fil - Assignation de l'agence d'urbanisme de la Corse : l'audience renvoyée au 9 novembre
Alerte Google : corse urbanisme · 18h21 · fil - À Marseille, la réouverture d'un portail retisse les liens du quartier des Chutes-Lavie
Alerte Google : urbanisme bouches du rhône · 13h50 · fil - Restrictions des usages de l'eau dans les Alpes-Maritimes - LegalNews
Alerte Google : urbanisme alpes maritimes · 11h28 · fil - "40 % des paquets sont issus du marché parallèle, les clients ne se cachent plus", la Haute ...
Alerte Google : urbanisme bouches du rhône · 21h31 · fil - Marseille : l'AGAM lance le Cagnascore contre les îlots de cha... - Presse Agence
Alerte Google : urbanisme bouches du rhône (+1 autre flux) · 19h50 · fil - Quel avenir pour les forêts varoises ?
Provence-Alpes-Côte d'Azur · 08h55 · fil - Garages présumés illégaux, 2000 amendes distribuées, agression... à Cagnes-sur-Mer, le ...
Alerte Google : urbanisme alpes maritimes · 19h19 · fil - Urbanism 101: What Is Transportation Resilience?
The Urbanist · 17h14 · fil - Canicule, incendie : à l’abbaye du Thoronet, la fréquentation chute cet été
Provence-Alpes-Côte d'Azur · 16h20 · fil - … et 10 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Self-hosting & Infra (3)
- How to Install Libre Closet on Your Synology NAS
Marius Hosting · 21h27 · fil - (Tuto) Installer Proxmox sur un Qnap (Sans sortie Video)
Forum des NAS : Synology, Qnap, Asustor... · 19h54 · fil - Application Centre de surveillance
Forum des NAS : Synology, Qnap, Asustor... · 19h11 · fil
Libre & Linux (12)
- Hardware discount for The Document Foundation members
TDF Community Blog (+1 autre flux) · 13h25 · fil - Community Member Monday: Tulio Macedo
TDF Community Blog (+1 autre flux) · 09h51 · fil - FreeBSD 14.5 Released With Hardware Support Improvements, Many Bug & Security Fixes
Phoronix · 02h35 · fil - KDE’s new Photos app offers a sleek alternative to Gwenview
OMG! Ubuntu · 00h24 · fil - Mysterious x86 CPU Already Has APX, x86S Where Intel Left Off For Legacy-Free x86
Phoronix · 21h54 · fil - Ubuntu 26.10 daily ISOs now include Amd64-v3 installer
OMG! Ubuntu · 17h51 · fil - Ubuntu 26.10 amd64v3 Daily ISOs Now Being Published
Phoronix · 15h36 · fil - Linux Preps For New AMD Zen 6 BTB CTX Isolation Security Feature
Phoronix · 13h55 · fil - Nouveau Preparations For HDMI 2.1 DSC, AMD HDMI FreeSync Fixes For Linux 7.4
Phoronix · 12h48 · fil - Revue de presse de l’April pour la semaine 36 de l’année 2026
LinuxFr.org : les dépêches · 12h21 · fil - Intel's Dynamic PAMT Appears Ready For Linux 7.4 To Help With TDX Memory Overhead
Phoronix · 12h21 · fil - Rustls 0.23.44 Released With ML-DSA Certificates Enabled By Default
Phoronix · 11h59 · fil
IA & Numérique (18)
- Non, les agents IA d’OpenAI et Anthropic ne menacent pas vraiment la cybersécurité - Next
Liens en vrac de sebsauvage · 19h58 · fil - Le directeur scientifique d’OpenAI indique perdre le contrôle sur le raisonnement de ses IA
Numerama · 16h27 · fil - Plusieurs ChatGPT ont piraté un site web pour le transformer en forum secret
Actualités · 12h30 · fil - Muse Spark 1.3 : Meta revient sur le devant de la scène IA
LeMagIT · 10h37 · fil - OpenAI's Altman Says the Use of AI is 'Non-Negotiable' - Slashdot
Liens en vrac de sebsauvage · 08h47 · fil - Reolink OMVI 2i Ultra : j’ai vu cette caméra de surveillance sans fil qui carbure au soleil
Actualités · 17h03 · fil - Faire ses achats en ligne sans cliquer : Revolut teste le paiement par IA
Actualités · 16h21 · fil - ☕️ Le gouvernement fédéral suisse teste l’abandon de Microsoft 365 sur 3 000 ordinateurs
Next - Articles gratuits · 15h37 · fil - Microsoft 365 E7 : pourquoi les entreprises restent prudentes face à l’IA
LeMagIT · 13h41 · fil - Project Zenith : Microsoft dévoile un Windows 11 spécial pour le code et l’IA
IT-Connect · 12h55 · fil - Plaud One : on a vu les écouteurs IA qui veulent changer votre façon de travailler
Actualités · 08h51 · fil - Project Zenith : Microsoft prépare des PC Windows taillés pour l’IA locale
SysKB · 08h03 · fil - … et 6 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Signaux transverses (1)
- Carte du LiDAR HD de l'IGN par commune : date du vol et couverture en France
Derniers jeux de données · 11h00 · fil
Non retenu (104)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 84 |
| Sans catégorie | 12 |
| Synoworld | 4 |
| Toulon | 2 |
| Culture | 2 |
Genere le 2026-09-08 a 07h30 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-09-09
Veille du mercredi 9 septembre 2026
166 articles sur 24 h (175 avant regroupement des doublons et fils de discussion) — 72 retenus dans 6 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
SIG & Cartographie (3)
- Re: QGIS 4.2: Export des couleurs CMJN avec l effet multiplier
GeoRezo.net - QGIS · 04h33 · fil - Grenoble: Découverte d'OpenStreetMap, Le lundi 14 septembre 2026 de 19h00 à 21h00.
L'Agenda du Libre · 22h19 · fil - QGIS 4.2: Export des couleurs CMJN avec l effet multiplier
GeoRezo.net - QGIS · 14h28 · fil
Urbanisme & Territoires (27)
- Var : deux ans après son lancement, où en est le projet de géoparc ?
Provence-Alpes-Côte d'Azur · 08h57 · fil - À Granace, le réseau passe mal, le projet d'antenne aussi - Corse Matin
Alerte Google : corse urbanisme · 22h04 · fil - Bouches-du-Rhône : la société des eaux de Marseille valorise les start-up - Le Moniteur
Alerte Google : urbanisme bouches du rhône · 19h49 · fil - À Morosaglia, le spectre de la mise sous tutelle guette les finances communales
Alerte Google : corse urbanisme · 20h04 · fil - Bormettes, pont de la coopérative, défense incendie : à la Londe le président du ... - Nice-Matin
Alerte Google : urbanisme var · 19h39 · fil - Contentieux de l'urbanisme : la demande de retrait d'un permis de construire pour fraude ...
Alerte Google : urbanisme var · 19h20 · fil - "C'est notre Lourdes à nous" : le sanctuaire Notre-Dame de Lavasina va être rénové dès cet ...
Alerte Google : corse urbanisme · 18h00 · fil - Méréville : Continental Foncier transforme la laiterie - Presse Agence
Alerte Google : urbanisme var · 16h07 · fil - Ouverture d'une enquête publique sur le réaménagement de la RN296 - La Marseillaise
Alerte Google : urbanisme bouches du rhône · 14h44 · fil - Cagnes-sur-Mer : cambriolage au musée Renoir, deux oeuvres volées
Provence-Alpes-Côte d'Azur · 10h46 · fil - Kirkland Council Divides Over Affordable Housing Fees in Low-Density Zones
The Urbanist · 18h00 · fil - Le Fonds L’Occitane en Provence soutient trois projets à Marseille
Provence-Alpes-Côte d'Azur · 17h22 · fil - … et 15 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Self-hosting & Infra (5)
- Grimmory (Docker) bibliothèque auto-hébergée pour vos livres électroniques, bandes dessinées et livres audio.
Forum des NAS : Synology, Qnap, Asustor... · 18h04 · fil - Jellyfin est disponible ! Avez-vous fait le grand saut ? :D
Forum des NAS : Synology, Qnap, Asustor... · 17h29 · fil - How to Install Bambuddy on Your Asustor NAS
Marius Hosting · 16h25 · fil - Semble plugin/integration
Readeck Community · 17h00 · fil - Matériel pour homelab complet
Forum des NAS : Synology, Qnap, Asustor... · 10h04 · fil
Libre & Linux (16)
- Getting ready for the LibreOffice Conference 2026!
The Document Foundation Planet (+1 autre flux) · 10h00 · fil - AI Made A Lot Of "Hideous" Code But Found Major Bottlenecks For Faster Linux Compilation
Phoronix · 02h49 · fil - systemd 262-rc2 Adds An AI Canary For Detecting Unreviewed AI/LLM Code Contributions
Phoronix · 00h30 · fil - The $200 Firefox mechanical keyboard sold out
OMG! Ubuntu · 23h37 · fil - Acteurs du Libre - 10 ans déjà
LinuxFr.org : les dépêches · 21h50 · fil - DLSS5VKLayer Wires Up NVIDIA DLSS 5 For Native Linux Games & Steam Play
Phoronix · 21h31 · fil - KDE's KWin Merges Wayland Commit-Timing Protocol Support
Phoronix · 18h55 · fil - The Linux Kernel Planning To Remove Around ~55k Lines Of Old ARM Platform Code
Phoronix · 18h06 · fil - Ubuntu 26.10 reveals new official wallpaper, mascot art
OMG! Ubuntu · 17h11 · fil - CHUWI UniBook With Intel Wildcat Lake For A $449 Linux-Friendly Laptop
Phoronix · 16h05 · fil - DaVinci Resolve 21.1 Released - Now With AI Assistant Integration
Phoronix · 15h58 · fil - New Patches Provide HDMI 1.4 3D Mode Support For AMD Radeon Graphics On Linux
Phoronix · 15h11 · fil - … et 4 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (19)
- OpenAI met à jour ChatGPT Images en version 2.5 : esquisse à main levée, templates et partage de prompts
Numerama · 20h30 · fil - Un mathématicien accuse OpenAI d’avoir voulu s’approprier son avancée sur les équations de Navier-Stokes et d’écarter son co-auteur chez Anthropic
Numerama · 15h18 · fil - Un mathématicien accuse OpenAI d’avoir tenté de lui voler sa découverte sur un problème à un million de dollars
Numerama · 13h20 · fil - « Personne n’est préparé » : OpenAI admet perdre le contrôle de ses IA
Actualités · 12h35 · fil - Mistral lève 3 milliards d’euros et revendique une approche « full stack » de l’IA
Next - Articles gratuits · 12h05 · fil - Mistral AI lève trois milliards d’euros pour étendre sa « couche d’IA souveraine »
LeMagIT · 11h31 · fil - Mistral lève 3 milliards d’euros pour imposer l’IA souveraine comme « nouvelle frontière technologique »
Numerama · 10h15 · fil - IA : « Les modèles chinois s’affirment comme des alternatives »
LeMagIT · 12h58 · fil - OpenAI affirme avoir résolu une partie d’un problème de maths du millénaire, malgré des accusations de plagiat
Numerama · 21h45 · fil - Devant le juge, qui est responsable des erreurs de l’IA ?
LeMagIT · 20h27 · fil - Distraction passive, impact des chatbots : sous l’effondrement des scores, ce que révèle l’étude PISA 2025 sur l’IA et le numérique
Numerama · 14h35 · fil - WhatsApp ouvre enfin ses portes aux IA tierces
Actualités · 13h35 · fil - … et 7 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Signaux transverses (2)
- Prix immobilier par commune, ventes 2014 à 2025 (DVF), millésime 2026
Derniers jeux de données · 14h59 · fil - Transporter un VAE sur un porte-vélos : poids, batterie et sécurité
SysKB · 22h25 · fil
Non retenu (92)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 76 |
| Sans catégorie | 12 |
| Toulon | 2 |
| Synoworld | 1 |
| Culture | 1 |
Genere le 2026-09-09 a 07h30 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-09-10
Veille du jeudi 10 septembre 2026
Rien à signaler — sauvegardes 8/8, 32 conteneurs, 4 appareils synchronisés.
187 articles sur 24 h — 65 retenus dans 6 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
SIG & Cartographie (2)
- Re: QGIS/Extension OpenRecoStar: probl de lancement
GeoRezo.net - QGIS · 11h55 · fil - Re: QGIS 4.2: Export des couleurs CMJN avec l effet multiplier
GeoRezo.net - QGIS · 09h29 · fil
OpenStreetMap (3)
- ivebeen_here
OSM Diaries · 17h44 · fil - State of the Map 2026 (Day 2)
OSM Diaries · 16h24 · fil - @hotosm how can I report broken links?On the HOT Tasking Manager the organi…
Gregory Marler (Mastodon) · 12h18 · fil
Urbanisme & Territoires (28)
- Gard - Bouches-du-Rhône : l'Autorité environnementale a rendu son avis sur le projet de ligne THT
Alerte Google : urbanisme bouches du rhône · 00h22 · fil - Aroma-Zone ouvre sa première boutique du Var à L’Avenue 83
Provence-Alpes-Côte d'Azur · 18h24 · fil - « La division, c'est toujours un poison » : Gérard Larcher en mission ce jeudi dans le Var ...
Alerte Google : urbanisme var · 15h47 · fil - Chauffage et eau chaude sanitaire : dans les Bouches-du-Rhône, cette résidence a réduit ...
Alerte Google : urbanisme bouches du rhône · 12h42 · fil - Alpes-Maritimes : aménager le quartier de la gare de La Trinité - Le Moniteur
Alerte Google : urbanisme alpes maritimes · 12h28 · fil - Habitat et urbanisme : la revue de presse du 9 septembre 2026 - AEF info
Alerte Google : corse urbanisme · 21h10 · fil - « Il ne peut plus y avoir de nouvelle occupation humaine » : sur cette place d'une commune ...
Alerte Google : urbanisme var · 15h01 · fil - Sénatoriales : l'union de la gauche présente (enfin) sa liste - Marsactu
Alerte Google : urbanisme bouches du rhône · 01h13 · fil - Journées du Patrimoine à Istres : exclusivités, nouveautés et programme complet du 18 au ...
Alerte Google : urbanisme bouches du rhône · 21h46 · fil - Metro Prevails in 'Race the L8' Rematch Thanks to New Bus Lanes
The Urbanist · 21h15 · fil - Mobilisation inédite du monde économique en faveur de la ligne THT à Fos-sur-Mer
Provence-Alpes-Côte d'Azur · 20h44 · fil - Remobilisés, les opposants à la LEO ont des contre-propositions - La Marseillaise
Alerte Google : urbanisme bouches du rhône · 20h16 · fil - … et 16 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Self-hosting & Infra (2)
- Which UGREEN NAS Should I Avoid?
Marius Hosting · 22h03 · fil - Installer Warpgate avec Docker
belginux - self-hosting, Docker & Linux · 07h43 · fil
Libre & Linux (15)
- LibreOffice Calc now supports general Dynamic arrays features
The Document Foundation Planet · 21h02 · fil - Steam Client Beta Improves Big Picture Mode, Several Linux Enhancements
Phoronix · 02h27 · fil - Georges Basile Stavracas Neto: What’s New in Calendar 51: Prologue
Planet GNOME · 02h09 · fil - ReactOS Dev Gets FEX Running For x86_64 Games On This "Open-Source Windows" OS Under ARM
Phoronix · 22h15 · fil - Matthew Garrett: SystemIO conflicts are not firmware bugs
Planet GNOME · 20h15 · fil - BleachBit 6.0.4 brings faster scanning, better browser cleaning
OMG! Ubuntu · 18h54 · fil - Running AMD openSIL + Coreboot On The First Available Ryzen AM5 Motherboard
Phoronix · 18h10 · fil - XWayland 26.1 RC2 Released For Testing With More Fixes
Phoronix · 17h52 · fil - System76 Launches The Thelio Mira AI With AMD Ryzen + NVIDIA Or AMD Graphics
Phoronix · 16h57 · fil - OpenSSL 4.1 Alpha 1 Released With DTLS 1.3, GREASE & More AVX-512 Optimizations
Phoronix · 16h46 · fil - NVIDIA 615.71.09 Linux Driver Released With Vulkan Improvements
Phoronix · 16h02 · fil - A Nice Improvement Coming For Faster Btrfs Zstd Decompression
Phoronix · 14h52 · fil - … et 3 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (15)
- Ancien chercheur d’OpenAI et Anthropic, il démissionne et accuse les géants de l’IA de « jouer avec nos vies » : décryptage du témoignage de Jacob Coxon
Numerama · 10h30 · fil - ChatGPT a résolu une équation vieille de 200 ans, mais un mathématicien accuse OpenAI de plagiat
Actualités · 13h01 · fil - OpenAI dévoile ChatGPT Images 2.5 : le générateur d’images passe à la vitesse supérieure
Actualités · 15h00 · fil - Controverse autour de la solution Navier-Stokes par OpenAI : le chercheur d’Anthropic sort du silence
Numerama · 11h21 · fil - Open source : les contributions IA pèsent sur les épaules des mainteneurs
LeMagIT · 07h48 · fil - Oubliez son nom imbuvable : le sommet de Shanghai vient de faire basculer le centre de gravité de l’IA
Goodtech · 04h17 · fil - Des milliards de tickets de caisse sans aucun cookie : comment l’open source de Google s’installe à Paris
Goodtech · 02h39 · fil - Forcé, non forcé… : au fait, que sont les équations Navier-Stokes et pourquoi OpenAI n’a pas tout réglé ?
Numerama · 17h00 · fil - Avant d’attaquer Hugging Face, les agents d’OpenAI ont détourné un wiki
LeMagIT · 13h56 · fil - CCaaS : Genesys ouvre sa plateforme aux agents IA dédiés à la relation client
LeMagIT · 13h20 · fil - IA : les entreprises occidentales gagneraient à mieux comprendre la stratégie chinoise
LeMagIT · 12h34 · fil - AIOps : la bonne pratique des modèles d’administration sous IA
LeMagIT · 09h02 · fil - … et 3 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Non retenu (118)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 107 |
| Sans catégorie | 9 |
| Culture | 2 |
État de l'infrastructure
- Sauvegardes : 8/8 réussies cette nuit (04h00–04h16), 0,84 Go envoyés sur kDrive
- Services web : 17/17 répondent
- Conteneurs : 32 en marche sur 33 (cadvisor arrêté volontairement) — redémarré(s) depuis hier : joplin-nginx (il y a 13 h), joplin (il y a 13 h), joplin-db (il y a 13 h), Immich-SERVER (il y a 3 h), stirling-pdf (il y a 11 h)
- Certificats : 29 domaines, le plus proche expire dans 33 j (joplin.juxjux.ovh)
- Montages rclone : 7/7 montages kDrive répondent
- Syncthing : 4 appareil(s) vu(s) depuis hier, connecté(s) maintenant : PC-Julien 08/2026, jux-debian
- WireGuard : dernière poignée de main — NAS sasnexte à l'instant, PC julie il y a 2 min
- NAS sasnexte : ports 22, 445 joignables par le tunnel — synchros vers kDrive : audiobooks 10/09, music 10/09, photo 10/09, komga 10/09
- Komga-PDF : dernier traitement le 09/09 à 20h27 — Résultat : 1 compressé(s), 0 erreur(s) (Cuisine et Vins de France - 09-10.2026.pdf, 20.5 Mio (-66 %))
- Tâches nocturnes : 5/5 à l'heure et sans erreur (Compression Joplin, Scan Komga (cache kDrive), Scan Audiobookshelf, Scan Navidrome, Veille FreshRSS)
- Disque et mémoire : /home/debian à 74 % (23 Go libres), mémoire disponible 2.5 Go, swap à 47 %
Changements depuis hier : conteneur(s) redémarré(s) depuis hier : joplin-nginx (il y a 13 h), joplin (il y a 13 h), joplin-db (il y a 13 h), Immich-SERVER (il y a 3 h), stirling-pdf (il y a 11 h).
Relevé du 10/09 à 07h15 (heure de Paris) par etat_infra.py — muet quand tout va bien ; les exceptions attendues sont dans Etat-Infra/config.json.
Genere le 2026-09-10 a 07h30 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-09-11
Veille du vendredi 11 septembre 2026
À regarder — WireGuard : pas de liaison avec NAS sasnexte depuis 114 min · NAS sasnexte : port(s) 22, 445 injoignable(s) par le tunnel. Le reste est en ordre.
178 articles sur 24 h (192 avant regroupement des doublons et fils de discussion) — 86 retenus dans 7 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
SIG & Cartographie (3)
- Re: QGIS 4.2: Export des couleurs CMJN avec l effet multiplier
GeoRezo.net - QGIS · 01h59 · 2 messages · fil - Re: QGIS: Afficher la direction de flux (raster) avec des fleches
GeoRezo.net - QGIS · 19h53 · fil - QGIS: Afficher la direction de flux (raster) avec des fleches
GeoRezo.net - QGIS · 15h08 · fil
OpenStreetMap (2)
- OpenStreetMap Carto version v6.1.0 released
OSM Diaries · 12h31 · fil - Boiling
OSM Diaries · 07h42 · fil
Urbanisme & Territoires (37)
- Ces ministres contre la baisse de leur salaire, Jordan Bardella pense aux Alpes-Maritimes
Alerte Google : urbanisme alpes maritimes · 22h59 · fil - Civile et de défense, l'Université de Toulon affirme sa dualité - Var-information - Mesinfos.fr
Alerte Google : sporting club toulon (+1 autre flux) · 21h29 · fil - Julien Paolini, président de l'Agence de l'urbanisme et de l'énergie de la Corse - Alta Frequenza
Alerte Google : corse urbanisme · 16h49 · fil - Bouches-du-Rhône : mise en service de la passerelle de la gare de Miramas - Le Moniteur
Alerte Google : urbanisme bouches du rhône · 16h48 · fil - Var : mise en service du double sens sur le pont de la Reppe - Le Moniteur
Alerte Google : urbanisme var · 16h44 · fil - Var : réhabilitation du Jardin du Las à Toulon - Le Moniteur
Alerte Google : urbanisme var · 15h58 · fil - Bouches-du-Rhône : extension en bois de l'école Joliot-Curie à Saint-Chamas - Le Moniteur
Alerte Google : urbanisme bouches du rhône · 15h58 · fil - Alpes-Maritimes : réaménagement de la place Jules-Musso à Saint-André-de-la-Roche
Alerte Google : urbanisme alpes maritimes · 15h58 · fil - Bouches-du-Rhône : réhabilitation du pont de la RD 23C à Mallemort - Le Moniteur
Alerte Google : urbanisme bouches du rhône · 15h58 · fil - Alpes-Maritimes : liaison piétonne entre le parking de La Roque et le centre de Grasse
Alerte Google : urbanisme alpes maritimes · 15h58 · fil - Alpes-Maritimes : réhabilitation du refuge des Merveilles dans le Mercantour - Le Moniteur
Alerte Google : urbanisme alpes maritimes · 15h58 · fil - Var : phase opérationnelle de l'aménagement du Préconil à Sainte-Maxime - Le Moniteur
Alerte Google : urbanisme var · 15h58 · fil - … et 25 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Self-hosting & Infra (7)
- Jellyfin - Docker - media center
Forum des NAS : Synology, Qnap, Asustor... · 12h26 · fil - How to Install Nitter on Your UGREEN NAS
Marius Hosting · 22h27 · fil - Jellyfin 12 est disponible ! Avez-vous fait le grand saut ? :D
Forum des NAS : Synology, Qnap, Asustor... · 17h08 · fil - Homey Self Host Server (Docker)
Forum des NAS : Synology, Qnap, Asustor... · 12h25 · fil - Choix pour l’achat d’un nouveau routeur.
Forum des NAS : Synology, Qnap, Asustor... · 18h56 · fil - Rmdirs is attempting to delete not empty directory with *.gform files
Rclone Forum - Announcements · 17h10 · fil - Plans de Mise a jour Ugos et app.
Forum des NAS : Synology, Qnap, Asustor... · 15h17 · fil
Libre & Linux (20)
- GIMP 3.2.6 released with faster font loading, Wacom barrel rotation
OMG! Ubuntu · 03h05 · fil - GIMP 3.2.6 Released With Some Early Preparations Toward Eventual GTK4 Port
Phoronix · 00h12 · fil - The LibreOffice Conference 2026 begins!
TDF Community Blog (+1 autre flux) · 09h44 · fil - BeOS-Inspired Haiku Now Supports Changing Audio Outputs Live, Other Improvements
Phoronix · 02h55 · fil - Ubuntu 26.10 will ship with Linux kernel 7.3
OMG! Ubuntu · 02h03 · fil - Ubuntu 24.04.5 LTS released with Linux 7.0
OMG! Ubuntu · 23h51 · fil - Mesa 26.3 RADV + RadeonSI Ready With DRM Format Modifiers For Older AMD GPUs
Phoronix · 23h19 · fil - Liquid Glass GNOME Shell extension uses real refraction shaders
OMG! Ubuntu · 22h19 · fil - Ubuntu 24.04.5 LTS Released With Linux 7.0 HWE Stack
Phoronix · 19h49 · fil - Matthias Klumpp: JPEG-XL, AppStream, and better media processing
Planet GNOME · 19h48 · fil - Intel Xeon 600 Workstation Performance vs. AMD Threadripper 9000 In Nearly 400 Benchmarks
Phoronix · 18h43 · fil - KDE Plasma 6.8 Beta Released With Many Great Improvements, Kup Backup Scheduler
Phoronix · 18h39 · fil - … et 8 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (15)
- ☕️ OpenAI ouvre les pubs dans ChatGPT aux clients d’Amazon Ads
Next - Articles gratuits · 16h41 · fil - Ce que les IA d'OpenAI se sont raconté en se croyant seules
Korben · 15h52 · fil - Vulnérabilités : l’écosystème open source face aux dilemmes du tout IA
LeMagIT · 15h07 · fil - Bilan après 5 mois : Claude Mythos a repéré 26 000 failles, mais moins de 1 % ont été réparées
Numerama · 15h21 · fil - Datacenters pour l’IA : Neoverse N4 chez Arm, des puces Qualcomm pour AWS
Next - Articles gratuits · 11h19 · fil - OpenAI accusée de mauvaises pratiques scientifiques pour résoudre un problème de maths - Next
Liens en vrac de sebsauvage · 11h00 · fil - Comment les agents d’OpenAI ont détourné un wiki
LeMagIT · 19h16 · fil - « Pas besoin de nous pirater » : Hugging Face s’adresse directement aux agents IA sur son site
Numerama · 17h47 · fil - L’Apple Watch peut écouter toutes vos conversations, mais promet de ne rien garder
Next - Articles gratuits · 16h59 · fil - Le tiercé létal de l'IA agentique : ce que les RSSI doivent savoir
LeMagIT · 16h17 · fil - L'avènement de l'IA agentique dans le cycle d'attaque
LeMagIT · 15h49 · fil - ☕️ L’agence de cybersécurité de la Commission européenne peut maintenant utiliser Mythos
Next - Articles gratuits · 15h37 · fil - … et 3 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Signaux transverses (2)
- Enquête mobilité certifiée Cerema (EMC²) Clermont-Ferrand - 2023 - Exploitation standard
Derniers jeux de données · 10h39 · fil - Enquête mobilité certifiée Cerema (EMC²) Nord Franche-Comté - Belfort Montbéliard - 2024 - Exploitation standard
Derniers jeux de données · 10h16 · fil
Non retenu (90)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 72 |
| Sans catégorie | 10 |
| Culture | 3 |
| Toulon | 3 |
| Synoworld | 1 |
| cuisine | 1 |
État de l'infrastructure
- Sauvegardes : 8/8 réussies cette nuit (04h00–04h14), 0,84 Go envoyés sur kDrive
- Services web : 17/17 répondent
- Conteneurs : 32 en marche sur 33 (cadvisor arrêté volontairement) — redémarré(s) depuis hier : joplin-nginx (il y a 37 h), joplin (il y a 37 h), joplin-db (il y a 37 h), Immich-SERVER (il y a 3 h), stirling-pdf (il y a 35 h)
- Certificats : 29 domaines, le plus proche expire dans 32 j (joplin.juxjux.ovh)
- Montages rclone : 7/7 montages kDrive répondent — monitor-rclone est intervenu 10 fois depuis hier
- Syncthing : 4 appareil(s) vu(s) depuis hier, connecté(s) maintenant : PC-Julien 08/2026
- WireGuard : À regarder — dernière poignée de main — NAS sasnexte silencieux, PC julie à l'instant
- NAS sasnexte : À regarder — injoignable par le tunnel
- Komga-PDF : dernier traitement le 09/09 à 20h27 — Résultat : 1 compressé(s), 0 erreur(s) (Cuisine et Vins de France - 09-10.2026.pdf, 20.5 Mio (-66 %))
- Tâches nocturnes : 5/5 à l'heure et sans erreur (Compression Joplin, Scan Komga (cache kDrive), Scan Audiobookshelf, Scan Navidrome, Veille FreshRSS)
- Disque et mémoire : /home/debian à 74 % (23 Go libres), mémoire disponible 2.5 Go, swap à 46 %
Changements depuis hier : conteneur(s) redémarré(s) depuis hier : joplin-nginx (il y a 37 h), joplin (il y a 37 h), joplin-db (il y a 37 h), Immich-SERVER (il y a 3 h), stirling-pdf (il y a 35 h) ; monitor-rclone est intervenu 10 fois depuis hier (Recovery terminée pour /home/debian/photo).
Relevé du 11/09 à 07h15 (heure de Paris) par etat_infra.py — muet quand tout va bien ; les exceptions attendues sont dans Etat-Infra/config.json.
Genere le 2026-09-11 a 07h30 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-09-12
Veille du samedi 12 septembre 2026
Rien à signaler — sauvegardes 8/8, 32 conteneurs, 3 appareils synchronisés. Rétabli depuis hier : WireGuard, NAS sasnexte.
222 articles sur 24 h (232 avant regroupement des doublons et fils de discussion) — 77 retenus dans 7 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
SIG & Cartographie (2)
- Re: QGIS 4.2: Export des couleurs CMJN avec l effet multiplier
GeoRezo.net - QGIS · 00h19 · 3 messages · fil - QGIS: Format .db pour integration sur Python Tkinter
GeoRezo.net - QGIS · 14h02 · fil
OpenStreetMap (1)
- OSM Edit MCP: reviewing local GPX surveys before road edits
OSM Diaries · 15h45 · fil
Urbanisme & Territoires (19)
- Éric Méry : « Le sport doit grandir à Marseille » - sportmag
Alerte Google : urbanisme bouches du rhône · 21h29 · 2 messages · fil - Changement climatique : le bâtiment et l'urbanisme en première ligne pour éviter un ...
Alerte Google : urbanisme var · 18h23 · fil - Cartofriches, Le Porge et bail à construction au menu des brèves urbanisme pour la ... - AEF info
Alerte Google : corse urbanisme · 18h02 · fil - PARIS : Urbanisme - L'Opération de Restauration Immobilière, un levier contre l'habitat dégradé
Alerte Google : urbanisme alpes maritimes (+3 autres flux) · 15h25 · fil - Avocat sénior en droit des sociétés H/F - Village de la Justice
Alerte Google : corse urbanisme · 14h42 · fil - Le bulletin quotidien-M. Nicolas MORBE, ingénieur général des ponts, des eaux et des ...
Alerte Google : urbanisme var · 14h36 · fil - Vaucluse : aménagement d'une piste cyclable entre le carrefour de Bonpas et Caumont
Provence-Alpes-Côte d'Azur · 17h45 · fil - Caen : la sécurité de la gare devient une affaire d'urbanisme - La Clé Publique
Alerte Google : urbanisme alpes maritimes (+1 autre flux) · 17h10 · fil - L2 - Septèmes-les-Vallons : l'autoroute A7 fermée dans la nuit du 11 au 12 septembre
Provence-Alpes-Côte d'Azur · 16h01 · fil - Faulty Pantograph Blamed for Sound Transit's Apple Cup Train Stall
The Urbanist · 15h00 · fil - Ouverture ce week-end de L’Aérosol Marseille, un tiers-lieu dédié au street-art et au hip-hop
Provence-Alpes-Côte d'Azur · 14h57 · fil - Pays salonais basket 13 : les confidences du coach Sébastien Chérasse
Provence-Alpes-Côte d'Azur · 14h32 · fil - … et 7 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Self-hosting & Infra (17)
- How to Find group_add on Your Synology NAS
Marius Hosting · 22h12 · fil - UniFi Network Application-AVX (Docker) - puissant moteur logiciel sans fil d'entreprise destinée aux modèles NAS prenant en charge AVX.
Forum des NAS : Synology, Qnap, Asustor... · 19h40 · fil - Syncthing (Docker) application de synchronisation de fichiers
Forum des NAS : Synology, Qnap, Asustor... · 19h14 · fil - FreshRSS (Docker) - agrégateur de flux RSS auto hébergé
Forum des NAS : Synology, Qnap, Asustor... · 19h10 · fil - Dockge (Docker) - gestionnaire Docker Compose.yaml auto-hébergé
Forum des NAS : Synology, Qnap, Asustor... · 19h43 · fil - Vaultwarden-Mariadb (Docker)
Forum des NAS : Synology, Qnap, Asustor... · 19h31 · fil - SickGear (Docker- - gestion des séries TV et/ou des dessins animés
Forum des NAS : Synology, Qnap, Asustor... · 19h24 · fil - LibreSpeed Speedtest (Docker)
Forum des NAS : Synology, Qnap, Asustor... · 19h08 · fil - UGREEN iDX NAS UGOS PRO 1.19.10.0022 Released
Marius Hosting · 00h12 · fil - UniFi Network Application (Docker) - moteur logiciel sans fil d'entreprise
Forum des NAS : Synology, Qnap, Asustor... · 19h39 · fil - Dozzle (Docker) - monitoring Docker
Forum des NAS : Synology, Qnap, Asustor... · 19h36 · fil - Adguard Home (Docker) - logiciel de blocage de publicité
Forum des NAS : Synology, Qnap, Asustor... · 19h34 · fil - … et 5 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Libre & Linux (19)
- Day 2 of the LibreOffice Conference 2026 begins
TDF Community Blog (+1 autre flux) · 10h21 · fil - Ubuntu pulls 24.04.5 downloads due to installer bug
OMG! Ubuntu · 05h04 · fil - Option to set default terminal is coming to GNOME Settings
OMG! Ubuntu · 03h17 · fil - Gitte As Git Client For GNOME Continues Maturing Quite Nicely
Phoronix · 02h35 · fil - This Week in GNOME: #265 New Commitments
Planet GNOME · 21h25 · fil - New Cache Aware Scheduling Fixes Out For Testing
Phoronix · 20h00 · fil - Linux's IO_uring Sees Some "Crazy" Patches That Deliver Very Nice Improvements
Phoronix · 18h21 · fil - Linux Mint reveals two brand-new desktop apps
OMG! Ubuntu · 17h12 · fil - CachyOS vs. Windows 11 vs. Ubuntu 26.04 LTS On Intel Wildcat Lake + 8GB RAM
Phoronix · 17h08 · fil - Mold High Speed Linker Being Rewritten In Rust, Hopes To Be The Default Linker On Linux
Phoronix · 15h21 · fil - Prominent Mesa Developer Now Working For Arm On PanVK & Panfrost Code
Phoronix · 14h55 · fil - Linux Mint Debuts Xepub As New EPUB Reader, Clockenstein Calendar App
Phoronix · 14h20 · fil - … et 7 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (17)
- Cybersécurité : l’âge de l’industrialisation, selon Anthropic
Next - Articles gratuits · 17h42 · fil - Mistral AI et Cloudera s’allient autour de l’IA privée
LeMagIT · 16h56 · fil - Course à l’IA : OpenAI se dit prêt à lever le pied, mais refuse d’être le seul
Actualités · 18h15 · fil - ChatGPT : OpenAI ne suit plus et suspend les abonnements Pro
Actualités · 15h01 · fil - En Europe, l’usage public des lunettes Meta avec l’IA jugé illégal par des experts
Next - Articles gratuits · 17h14 · fil - Quand les modèles d'Anthropic sont détournés à des fins malveillantes
LeMagIT · 14h10 · fil - Distillation illicite, trafic détourné, missile yéménite : ce qu’il faut retenir du rapport de menace d’Anthropic
Numerama · 11h13 · fil - Piratage des impôts : la CNIL annonce un contrôle du fisc afin d’en « tirer toutes les conséquences »
Actualités · 10h10 · fil - La France a doublé ses exportations de technologies de surveillance
Next - Articles gratuits · 16h29 · fil - Un essaim d’agents IA s’acharne sur ce logiciel et pirate 395 organisations dans 48 pays
Numerama · 15h20 · fil - Google vend désormais des collègues IA. Qu’est-ce que ça change pour votre entreprise ?
LeMagIT · 13h34 · fil - Databricks lance un modèle pour optimiser la recherche de données IA
LeMagIT · 11h12 · fil - … et 5 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Signaux transverses (2)
- Decathlon retire 400 € sur son VTC électrique Stilus e-touring aux 130 km d’autonomie
Numerama · 15h12 · fil - Ligne Régulière du Parc d'Activités du Val Drouette - PEM
Derniers jeux de données · 10h50 · fil
Non retenu (94)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 73 |
| Sans catégorie | 9 |
| Toulon | 7 |
| Culture | 3 |
| Synchronisation | 1 |
| Synoworld | 1 |
État de l'infrastructure
- Sauvegardes : 8/8 réussies cette nuit (04h00–04h13), 0,85 Go envoyés sur kDrive
- Services web : 17/17 répondent
- Conteneurs : 32 en marche sur 33 (cadvisor arrêté volontairement) — redémarré(s) depuis hier : Immich-SERVER (il y a 3 h)
- Certificats : 29 domaines, le plus proche expire dans 31 j (joplin.juxjux.ovh)
- Montages rclone : 7/7 montages kDrive répondent — monitor-rclone est intervenu 5 fois depuis hier
- Syncthing : 3 appareil(s) vu(s) depuis hier, connecté(s) maintenant : jux-debian
- WireGuard : dernière poignée de main — NAS sasnexte à l'instant, PC julie il y a 1441 min
- NAS sasnexte : ports 22, 445 joignables par le tunnel — synchros vers kDrive : audiobooks 12/09, music 12/09, photo 12/09, komga 12/09
- Komga-PDF : dernier traitement le 09/09 à 20h27 — Résultat : 1 compressé(s), 0 erreur(s) (Cuisine et Vins de France - 09-10.2026.pdf, 20.5 Mio (-66 %))
- Tâches nocturnes : 5/5 à l'heure et sans erreur (Compression Joplin, Scan Komga (cache kDrive), Scan Audiobookshelf, Scan Navidrome, Veille FreshRSS)
- Disque et mémoire : /home/debian à 74 % (23 Go libres), mémoire disponible 3.5 Go, swap à 59 %
Changements depuis hier : conteneur(s) redémarré(s) depuis hier : Immich-SERVER (il y a 3 h) ; monitor-rclone est intervenu 5 fois depuis hier (Recovery terminée pour /home/debian/photo).
Rétabli depuis hier : WireGuard : pas de liaison avec NAS sasnexte depuis 114 min ; NAS sasnexte : port(s) 22, 445 injoignable(s) par le tunnel.
Relevé du 12/09 à 07h15 (heure de Paris) par etat_infra.py — muet quand tout va bien ; les exceptions attendues sont dans Etat-Infra/config.json.
Genere le 2026-09-12 a 07h30 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-09-13
Veille du dimanche 13 septembre 2026
Rien à signaler — sauvegardes 8/8, 32 conteneurs, 3 appareils synchronisés.
110 articles sur 24 h (112 avant regroupement des doublons et fils de discussion) — 32 retenus dans 4 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
Urbanisme & Territoires (8)
- Après les feux de l'été dans le Var, « la lutte contre l'incendie ne suffit plus, il faut des ...
Alerte Google : urbanisme var · 18h21 · fil - En Egypte, le pain rationné après des coupes dans l'aide alimentaire - Corse Matin
Alerte Google : corse urbanisme · 15h56 · fil - Onze listes déposées en préfecture - Liste des candidats - Var.gouv.fr
Alerte Google : urbanisme var · 08h05 · fil - Sénatoriales : l'union de la gauche secouée par la crise métropolitaine - Marsactu
Alerte Google : urbanisme bouches du rhône · 20h50 · fil - Incendies de forêt : « Le risque existe que les cotisations augmentent encore, ou que ... - Nice-Matin
Alerte Google : urbanisme var · 20h13 · fil - Environmental Complaints Against Seattle Growth Plan Thrown Out in State Ruling
The Urbanist · 19h22 · fil - Miramas : démolition du bâtiment F, nouvelle étape du renouvellement urbain
Provence-Alpes-Côte d'Azur · 09h57 · fil - Avignon : découvrez la programmation complète du festival Résonance 2026
Provence-Alpes-Côte d'Azur · 08h00 · fil
Self-hosting & Infra (7)
- Sauvegarde des DB de Jellyfin
Forum des NAS : Synology, Qnap, Asustor... · 13h34 · fil - Synology & UGREEN Dockhand Docker Version 1.0.47
Marius Hosting · 00h06 · fil - Installer Portabase avec Docker
belginux - self-hosting, Docker & Linux · 20h53 · fil - v0.64.0
Navidrome GitHub Releases · 22h56 · fil - Jellyfin 12 est disponible ! Avez-vous fait le grand saut ? :D
Forum des NAS : Synology, Qnap, Asustor... · 13h33 · fil - DS416 sous DSM 7.1.1 passer sur DSM 7.4.2 ?
NAS-Forum · 02h12 · fil - Plans de Mise a jour Ugos et app.
Forum des NAS : Synology, Qnap, Asustor... · 18h04 · fil
Libre & Linux (11)
- Wrapping up the LibreOffice Conference 2026! Next step, uploading videos…
TDF Community Blog (+1 autre flux) · 12h39 · fil - EROFS Disables LZ4 Rolling Decompression Due To Data Corruption Possibility
Phoronix · 02h33 · fil - Debian 13.7 Released With Many Bug Fixes
Phoronix · 19h06 · fil - Void Linux Maintainer Orphans 100+ Packages Over AI Policy Dispute
Phoronix · 17h11 · fil - Intel Reverses Decision To Cancel Their Open-Source Font Project
Phoronix · 15h45 · fil - Felipe Borges: Wrapping up Google Summer of Code 2026 with GNOME!
Planet GNOME · 14h16 · fil - GTK 4.24 Released With Better Fractional Scaling, More Precise GDK Frame-Clock
Phoronix · 12h52 · fil - Intel Linux NPU Driver Only Now Officially Supports Ubuntu 26.04 LTS
Phoronix · 12h34 · fil - Ubuntu Developers Contemplate Linux Firmware HWE Package
Phoronix · 12h25 · fil - KDE Plasma 6.8 Remote Desktop To Enjoy Lower Latency Performance
Phoronix · 12h07 · fil - Ramayanapu Jagath: GSoC Final Report
Planet GNOME · 08h28 · fil
IA & Numérique (6)
- Selon Anthropic, les plombiers et électriciens pourraient être les grands gagnants de l’IA
Actualités · 12h00 · fil - Économie. Opacité de la dette, montages circulaires... Pourquoi la bulle de l’IA rend tout le monde nerveux
Liens en vrac de sebsauvage · 13h30 · fil - Elle rend l’IA plus intelligente, mais devient de plus en plus difficile à surveiller : c’est quoi la « chaîne de pensée » ?
Numerama · 17h15 · fil - «L’IA pourrait tous nous tuer» : par pitié, arrêtons ce cirque médiatique – Libération
Liens en vrac de sebsauvage · 15h10 · fil - Cette start-up française veut que vous trouviez votre logement en discutant simplement avec ChatGPT
Actualités · 08h32 · fil - Commentaires sur Framadate peaufine sa peau neuve par veida
Framasoft - Toute l'actualité · 16h20 · fil
Non retenu (48)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 32 |
| Culture | 6 |
| Toulon | 6 |
| cuisine | 2 |
| Social | 1 |
| Synoworld | 1 |
État de l'infrastructure
- Sauvegardes : 8/8 réussies cette nuit (04h00–04h13), 0,88 Go envoyés sur kDrive
- Services web : 17/17 répondent
- Conteneurs : 32 en marche sur 33 (cadvisor arrêté volontairement) — redémarré(s) depuis hier : Immich-SERVER (il y a 3 h), navidrome-navidrome-1 (il y a 21 h)
- Certificats : 29 domaines, le plus proche expire dans 30 j (joplin.juxjux.ovh)
- Montages rclone : 7/7 montages kDrive répondent
- Syncthing : 3 appareil(s) vu(s) depuis hier, connecté(s) maintenant : XIAOMI15Pro, PC-Julien 08/2026, jux-debian
- WireGuard : dernière poignée de main — NAS sasnexte à l'instant, PC julie il y a 2881 min
- NAS sasnexte : ports 22, 445 joignables par le tunnel — synchros vers kDrive : audiobooks 13/09, music 13/09, photo 13/09, komga 13/09
- Komga-PDF : dernier traitement le 09/09 à 20h27 — Résultat : 1 compressé(s), 0 erreur(s) (Cuisine et Vins de France - 09-10.2026.pdf, 20.5 Mio (-66 %))
- Tâches nocturnes : 5/5 à l'heure et sans erreur (Compression Joplin, Scan Komga (cache kDrive), Scan Audiobookshelf, Scan Navidrome, Veille FreshRSS)
- Disque et mémoire : /home/debian à 74 % (23 Go libres), mémoire disponible 3.1 Go, swap à 57 %
Changements depuis hier : conteneur(s) redémarré(s) depuis hier : Immich-SERVER (il y a 3 h), navidrome-navidrome-1 (il y a 21 h).
Relevé du 13/09 à 07h15 (heure de Paris) par etat_infra.py — muet quand tout va bien ; les exceptions attendues sont dans Etat-Infra/config.json.
Genere le 2026-09-13 a 07h30 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-09-14
Veille du lundi 14 septembre 2026
Rien à signaler — sauvegardes 8/8, 32 conteneurs, 3 appareils synchronisés.
125 articles sur 24 h (126 avant regroupement des doublons et fils de discussion) — 47 retenus dans 6 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
SIG & Cartographie (1)
- Re: QGIS: Afficher la direction de flux (raster) avec des fleches
GeoRezo.net - QGIS · 09h24 · fil
OpenStreetMap (3)
- What’s in a name? Naming things in OpenStreetMap
OpenStreetMap Blog · 21h52 · fil - Planning a geo nerd trip
OSM Diaries · 14h05 · fil - weeklyOSM 842
WeeklyOSM · 13h24 · fil
Urbanisme & Territoires (13)
- À Morosaglia, un prêt d'1,5M€ pour commencer les investissements - Corse Matin
Alerte Google : corse urbanisme · 21h51 · fil - Crash d'un avion biplan dans le Var : un général de l'armée de l'air et une sage-femme tués ...
Alerte Google : urbanisme var · 18h56 · fil - À Marseille, des étrangers obligés d'acheter des rendez-vous pour être reçus en préfecture
Alerte Google : urbanisme bouches du rhône · 06h03 · fil - Oisans : Météo Oisans prépare un réseau plus dense de stations météo - Horticulture
Alerte Google : urbanisme bouches du rhône · 01h44 · fil - Dans cette avenue de Menton, des travaux de modernisation des réseaux sont engagés ...
Alerte Google : urbanisme var · 21h18 · fil - Pour quelles raisons le chantier de ce futur cabaret-discothèque de Nice, à l'emplacement ...
Alerte Google : urbanisme var · 21h10 · fil - Agen : appel à projets pour réinventer l'ancien cinéma Carnot - Presse Agence
Alerte Google : urbanisme var · 16h12 · fil - Incendie de Crans-Montana : La mairie licencie un employé de l'urbanisme soupçonné d ...
Alerte Google : corse urbanisme · 14h24 · fil - Visite guidée du centre ancien par l'architecte CAUE 13 - JDS
Alerte Google : urbanisme bouches du rhône · 00h20 · fil - Op-Ed: Building Toward a Greener, Housing-Abundant Seattle
The Urbanist · 16h00 · fil - hebdoOSM 842
weekly – semanario – hebdo – 週刊 – týdeník – Wochennotiz – 주간 – tygodnik · 13h24 · fil - Istres : avec la fin du projet de l'incinérateur, "une victoire pour la ville"
Provence-Alpes-Côte d'Azur · 09h19 · fil - … et 1 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Self-hosting & Infra (9)
- How to Install Karakeep on Your UGREEN NAS
Marius Hosting · 23h03 · fil - Capacité système insuffisante
Forum des NAS : Synology, Qnap, Asustor... · 15h48 · fil - Jellyfin 12 est disponible ! Avez-vous fait le grand saut ? :D
Forum des NAS : Synology, Qnap, Asustor... · 14h21 · fil - Navidrome, API musicale expérimentale !
belginux - self-hosting, Docker & Linux · 10h30 · fil - Plans de Mise a jour Ugos et app.
Forum des NAS : Synology, Qnap, Asustor... · 15h33 · fil - Copy intégrale
Forum des NAS : Synology, Qnap, Asustor... · 14h09 · fil - Copie de fichiers : finalisation très lente
NAS-Forum · 09h50 · fil - Copie de fichiers : finalisation très lente
Forum des NAS : Synology, Qnap, Asustor... · 09h49 · fil - Premier fois avec un disque au Secteur défectueux
Forum des NAS : Synology, Qnap, Asustor... · 08h24 · fil
Libre & Linux (13)
- Linux 7.3-rc3 Released: "Another Fairly Large RC"
Phoronix · 00h00 · fil - Shotwell 33 goes stable with its long-awaited GTK4 port
OMG! Ubuntu · 22h20 · fil - Ubuntu 26.10 completes transition to Rust-based coreutils
OMG! Ubuntu · 18h39 · fil - Cyber Resilience Act : première échéance au 11 septembre et bilan pour le logiciel libre
LinuxFr.org : les dépêches · 17h26 · fil - Agenda du Libre pour la semaine 38 de l’année 2026
LinuxFr.org : les dépêches · 17h23 · fil - Zstd Improvement For Linux 7.4 To Avoid Redundant Initialization
Phoronix · 16h04 · fil - BFS File-System Being Removed For Linux 7.4
Phoronix · 13h03 · fil - ARCTIC's Fan Controller Driver For Linux Being Dual-Licensed With BSD-2-Clause
Phoronix · 12h54 · fil - GNOME Shotwell 33 Photo Manager Released With GTK4 Port
Phoronix · 12h40 · fil - Livres blancs par OSE
LinuxFr.org : les dépêches · 10h58 · fil - CalyxOS est de retour
LinuxFr.org : les dépêches · 10h48 · fil - Chamilo LMS passe à la 3.0 : le LMS libre se connecte aux agents IA via MCP
LinuxFr.org : les dépêches · 10h37 · fil - … et 1 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (8)
- Le raisonnement des IA échappe à OpenAI, Hugging Face nargue les pirates, Claude Mythos peine à convaincre : on vous raconte la semaine Cyberguerre
Numerama · 19h00 · fil - Vous pensiez parler à DeepSeek et Kimi, c’était peut-être Claude : les révélations d’Anthropic
Actualités · 17h22 · fil - Vulnérabilités : l’écosystème open source face aux dilemmes du tout IA
LeMagIT · 10h58 · fil - AI agents being tested by OpenAI involved in cyber-attack on another service, say researchers | OpenAI | The Guardian
Liens en vrac de sebsauvage · 09h18 · fil - Puces IA : contre toute attente, AWS se fournira chez Qualcomm
LeMagIT · 23h22 · fil - Commentaires sur IA et éducation (2/2) : du dilemme moral au malaise social par personality complex test
Framasoft - Toute l'actualité · 21h21 · fil - Test du TerraMaster F4-425 Pro : NAS 4 baies avec TOS 7
Cachem · 07h00 · fil - Meilleurs VPN 2026 : notre comparatif selon ton usage
SysKB · 14h00 · fil
Non retenu (40)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 28 |
| Culture | 7 |
| Toulon | 3 |
| Synoworld | 2 |
État de l'infrastructure
- Sauvegardes : 8/8 réussies cette nuit (04h00–04h13), 0,88 Go envoyés sur kDrive
- Services web : 17/17 répondent
- Conteneurs : 32 en marche sur 33 (cadvisor arrêté volontairement) — redémarré(s) depuis hier : Immich-SERVER (il y a 3 h), navidrome-navidrome-1 (il y a 2 h), mealie (il y a 20 h)
- Certificats : 29 domaines, le plus proche expire dans 41 j (pdf.juxjux.ovh)
- Montages rclone : 7/7 montages kDrive répondent
- Syncthing : 3 appareil(s) vu(s) depuis hier, connecté(s) maintenant : PC-Julien 08/2026, jux-debian
- WireGuard : dernière poignée de main — NAS sasnexte à l'instant, PC julie il y a 1 min
- NAS sasnexte : ports 22, 445 joignables par le tunnel — synchros vers kDrive : audiobooks 14/09, music 14/09, photo 14/09, komga 14/09
- Komga-PDF : dernier traitement le 09/09 à 20h27 — Résultat : 1 compressé(s), 0 erreur(s) (Cuisine et Vins de France - 09-10.2026.pdf, 20.5 Mio (-66 %))
- Tâches nocturnes : 5/5 à l'heure et sans erreur (Compression Joplin, Scan Komga (cache kDrive), Scan Audiobookshelf, Scan Navidrome, Veille FreshRSS)
- Disque et mémoire : /home/debian à 74 % (23 Go libres), mémoire disponible 2.7 Go, swap à 51 %
Changements depuis hier : conteneur(s) redémarré(s) depuis hier : Immich-SERVER (il y a 3 h), navidrome-navidrome-1 (il y a 2 h), mealie (il y a 20 h).
Relevé du 14/09 à 07h15 (heure de Paris) par etat_infra.py — muet quand tout va bien ; les exceptions attendues sont dans Etat-Infra/config.json.
Procédures
| Procédure | Dernière utilisation | Vérification |
|---|---|---|
| Sauvegardes VPS → kDrive | aujourd'hui 04h13 — 8/8 OK | OK |
| Komga-PDF (compression des magazines) | 09/09 20h27 — 1 compressé(s), 0 erreur(s) (Cuisine et Vins de France - 09-10.2026… | OK — à la demande |
| Komga-Cache (refresh kDrive + 23 scans) | aujourd'hui 07h45 — 23 scan(s) lance(s), aucun echec | OK |
| Scan Navidrome (quick 4h30, complet lundi 3h) | aujourd'hui 08h30 — Scan Navidrome lancé OK | OK |
| Scan Audiobookshelf (36 bibliothèques) | aujourd'hui 08h00 — SCAN OK 36/36 libs | OK |
| Compression Joplin (images en base) | aujourd'hui 07h00 — Economie : 396.5 Mo (77.6%) | OK |
| Veille FreshRSS → BookStack | hier 11h30 — Page 314 creee — 13432 caracteres HTML | OK |
| monitor-rclone (recovery des montages) | 12/09 04h20 — dernière intervention : Recovery terminée pour /home/debian/photo | OK — à la demande |
| Montages rclone kDrive (7, dont Jellyfin) | 7/7 montages kDrive répondent | OK |
| Synchro NAS sasnexte → kDrive (4 dossiers) | aujourd'hui — audiobooks 14/09, komga 14/09, music 14/09, photo 14/09 | OK |
| Maillage Syncthing (8 appareils) | 3 appareil(s) vu(s) depuis hier, connecté(s) maintenant : PC-Julien… | OK |
| Tunnel WireGuard (VPS ↔ NAS ↔ PC) | dernière poignée de main — NAS sasnexte à l'instant, PC julie il y… | OK |
| Kobo — dépôt d'epub (Documents/Kobo) | 22/08 11h28 — 1 fichier(s), dernier : Geohistoire Une autre histoire - Christian… | OK — à la demande |
| Photos-Caesium (PC, dépôt de photos) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Musique-FLAC (PC, FLAC → MP3 vérifié) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Livres-ISBN (PC, inventaire + résolution) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Mealie-Recettes (note Joplin → recette) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Canari Etat-Infra (ce relevé) | relevé en cours | OK |
Récapitulatif complet des procédures (description, où ça tourne, comment vérifier) : page 316. Liste dans Etat-Infra/procedures.json.
Genere le 2026-09-14 a 07h30 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-09-15
Veille du mardi 15 septembre 2026
Rien à signaler — sauvegardes 8/8, 32 conteneurs, 3 appareils synchronisés.
203 articles sur 24 h (204 avant regroupement des doublons et fils de discussion) — 73 retenus dans 7 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
SIG & Cartographie (2)
- 📆 Rendez-vous aux hashtag#GeoDataDays 2026 à Tours les 16 et 17 septembre.…
OpenStreetMap 🇫🇷 · 21h22 · fil - Re: QGIS: Format .db pour integration sur Python Tkinter
GeoRezo.net - QGIS · 16h05 · fil
OpenStreetMap (1)
- Branding personnel
OSM Diaries · 18h54 · fil
Urbanisme & Territoires (34)
- Pierre Jaumain (PS), adjoint à l'urbanisme à Nîmes : « Une révision du PLU est très importante »
Alerte Google : urbanisme var · 23h10 · fil - « Une révision du PLU est très importante » - La Marseillaise
Alerte Google : urbanisme var · 17h06 · fil - La rentrée sociale en Corse - ICI
Alerte Google : corse urbanisme · 22h07 · fil - Martine Vassal met en scène l'union de la droite pour sa rentrée politique - La Marseillaise
Alerte Google : urbanisme bouches du rhône · 21h00 · fil - Dans le Nebbiu, l'agence d'urbanisme et d'énergie de Corse veut accélérer la rénovation ...
Alerte Google : corse urbanisme · 19h54 · fil - Économie corse : que révèle le bilan 2025 de 700 entreprises ? - ICI
Alerte Google : corse urbanisme · 18h02 · fil - Duo corse Fiuminale - Bergerac.fr
Alerte Google : corse urbanisme · 17h58 · fil - Toulon : Le CAUE Var interroge l'avenir du littoral varois - Presse Agence
Alerte Google : urbanisme var · 17h52 · fil - Sénatoriales 2026 dans le Var : qui sont les candidats officiellement déclarés ?
Provence-Alpes-Côte d'Azur · 15h19 · fil - Corse-Matin on X: "Dans le Nebbiu, l'agence d'urbanisme et d'énergie de Corse veut ...
Alerte Google : corse urbanisme · 08h11 · fil - Révision du Plan local d'urbanisme : quels sont les enjeux dans cette ville de l'Eure ? - Actu
Alerte Google : corse urbanisme · 22h26 · fil - À Istres, de nouveaux critères pour les subventions sportives - La Marseillaise
Alerte Google : urbanisme bouches du rhône · 20h58 · fil - … et 22 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Self-hosting & Infra (2)
- Synology & UGREEN Dockhand Docker Version 1.0.48
Marius Hosting · 21h58 · fil - Your notes and AI: privacy first
Joplin Forum - News · 20h35 · fil
Libre & Linux (14)
- Firefox 156 reduces CPU usage when viewing JPGs
OMG! Ubuntu · 00h13 · fil - AMD Preparing Linux For Enhanced SMT Protection "ESMTP" For EPYC VMs
Phoronix · 20h03 · fil - GNU Coreutils 9.12 Released With Performance Optimizations, New uname Option
Phoronix · 19h45 · fil - Valve's Steam Frame Now Available At $1059+ USD
Phoronix · 19h05 · fil - Revue de presse de l’April pour la semaine 37 de l’année 2026
LinuxFr.org : les dépêches · 19h03 · fil - Aryan Kaushik: GUADEC 2026 Experience
Planet GNOME · 17h37 · fil - Rustls 0.23.45 Released To Fix Two Year Old Security Issue
Phoronix · 17h35 · fil - Conflux icon set gives a modern look to Linux desktops
OMG! Ubuntu · 17h29 · fil - Firefox 156 Available With Its Built-In PDF Viewer Starting Up To 45% Faster
Phoronix · 17h09 · fil - Linux 7.3 Delivering Some Performance Gains On Intel Panther Lake / Framework Laptop 13 Pro
Phoronix · 16h42 · fil - Removing Drivers For Outdated ARM Platforms Will Lighten The Kernel By ~247k Lines
Phoronix · 15h32 · fil - Linux 7.4 Could End Up Seeing Kernel Builds ~36% Faster, Incremental Builds ~70% Faster
Phoronix · 12h31 · fil - … et 2 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (17)
- « Prendre le contrôle » d’Internet dès 2027 : OpenAI, Anthropic et Elon Musk veulent freiner la course à l’IA, Trump et la Chine refusent
Actualités · 11h30 · fil - OpenAI, Google et Anthropic prépareraient leur propre gendarme de l’IA
Actualités · 10h30 · fil - « Dario a raison » : ce que pourrait cacher l’étrange union sacrée des géants de l’IA
Numerama · 17h58 · fil - Elon Musk et des centaines d'experts réclament une pause dans le développement de l'IA - France 24
Liens en vrac de sebsauvage · 12h54 · fil - Apple ouvre discrètement la porte à l’entraînement de ses IA avec les données de ses clients - MacGeneration
Liens en vrac de sebsauvage · 21h35 · fil - PaperCut NG/MF : 395 organisations dans 48 pays compromises par des agents IA
IT-Connect · 18h13 · fil - Portabase : une solution open source pour centraliser la sauvegarde de vos bases de données
IT-Connect · 18h00 · fil - L’industrie musicale s’organise contre la fraude aux streams IA
Next - Articles gratuits · 14h56 · fil - Le studio de professeur Layton admet avoir utilisé l’IA pour rendre ses jeux plus spectaculaires
Numerama · 10h43 · fil - UGREEN HomeAgent : NAS et HUB pour la maison connectée
Cachem · 07h00 · fil - iOS 27 est disponible sur iPhone : les 10 meilleures nouveautés à essayer dès maintenant
Numerama · 19h12 · fil - L’Europe veut interdire les réseaux sociaux aux plus jeunes, voici ce qui pourrait changer
Actualités · 17h36 · fil - … et 5 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Signaux transverses (3)
- La RATP offre 4 € sur votre trajet en vélo électrique : premier arrivé, premier servi
Numerama · 16h30 · fil - L’excellent vélo de ville électrique Crosslite d’Intersport perd 400 € pour la fin des French Days
Numerama · 14h41 · fil - Partager sa position en temps réel - DeltaChat (Wiki de sebsauvage.net)
Liens en vrac de sebsauvage · 15h14 · fil
Non retenu (84)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 69 |
| Sans catégorie | 5 |
| Culture | 4 |
| Synoworld | 3 |
| Toulon | 3 |
État de l'infrastructure
- Sauvegardes : 8/8 réussies cette nuit (04h00–04h14), 0,91 Go envoyés sur kDrive
- Services web : 17/17 répondent
- Conteneurs : 32 en marche sur 33 (cadvisor arrêté volontairement) — redémarré(s) depuis hier : Immich-SERVER (il y a 3 h), navidrome-navidrome-1 (il y a 26 h), mealie (il y a 44 h)
- Certificats : 29 domaines, le plus proche expire dans 40 j (pdf.juxjux.ovh)
- Montages rclone : 7/7 montages kDrive répondent
- Syncthing : 3 appareil(s) vu(s) depuis hier, connecté(s) maintenant : PC-Julien 08/2026, jux-debian
- WireGuard : dernière poignée de main — NAS sasnexte à l'instant, PC julie il y a 11 min
- NAS sasnexte : ports 22, 445 joignables par le tunnel — synchros vers kDrive : audiobooks 15/09, music 15/09, photo 15/09, komga 15/09
- Komga-PDF : dernier traitement le 14/09 à 08h34 — Résultat : 1 compressé(s), 0 erreur(s) (Urbanisme - Septembre-Octobre 2026.pdf, 27.8 Mio (-57 %))
- Tâches nocturnes : 6/6 à l'heure et sans erreur (Compression Joplin, Scan Komga (cache kDrive), Scan Audiobookshelf, Scan Navidrome, Veille FreshRSS, Seedbox-Films)
- Disque et mémoire : /home/debian à 74 % (23 Go libres), mémoire disponible 2.7 Go, swap à 52 %
Changements depuis hier : conteneur(s) redémarré(s) depuis hier : Immich-SERVER (il y a 3 h), navidrome-navidrome-1 (il y a 26 h), mealie (il y a 44 h).
Relevé du 15/09 à 07h15 (heure de Paris) par etat_infra.py — muet quand tout va bien ; les exceptions attendues sont dans Etat-Infra/config.json.
Procédures
| Procédure | Dernière utilisation | Vérification |
|---|---|---|
| Sauvegardes VPS → kDrive | aujourd'hui 04h14 — 8/8 OK | OK |
| Komga-PDF (compression des magazines) | hier 08h34 — 1 compressé(s), 0 erreur(s) (Urbanisme - Septembre-Octobre 2026.pdf… | OK — à la demande |
| Komga-Cache (refresh kDrive + 23 scans) | aujourd'hui 07h45 — 23 scan(s) lance(s), aucun echec | OK |
| Scan Navidrome (quick 4h30, complet lundi 3h) | aujourd'hui 08h30 — Scan Navidrome lancé OK | OK |
| Scan Audiobookshelf (36 bibliothèques) | aujourd'hui 08h00 — SCAN OK 36/36 libs | OK |
| Compression Joplin (images en base) | aujourd'hui 07h00 — Economie : 396.5 Mo (77.6%) | OK |
| Veille FreshRSS → BookStack | hier 11h30 — Page 317 creee — 21169 caracteres HTML | OK |
| Seedbox → kDrive movies → Jellyfin « Films récents » | hier 23h37 — dernière copie : 5 fichier(s) copie(s) en 125s | OK — à la demande |
| monitor-rclone (recovery des montages) | 12/09 04h20 — dernière intervention : Recovery terminée pour /home/debian/photo | OK — à la demande |
| Montages rclone kDrive (7, dont Jellyfin) | 7/7 montages kDrive répondent | OK |
| Synchro NAS sasnexte → kDrive (4 dossiers) | aujourd'hui — audiobooks 15/09, komga 15/09, music 15/09, photo 15/09 | OK |
| Maillage Syncthing (8 appareils) | 3 appareil(s) vu(s) depuis hier, connecté(s) maintenant : PC-Julien… | OK |
| Tunnel WireGuard (VPS ↔ NAS ↔ PC) | dernière poignée de main — NAS sasnexte à l'instant, PC julie il y… | OK |
| Kobo — dépôt d'epub (Documents/Kobo) | 22/08 11h28 — 1 fichier(s), dernier : Geohistoire Une autre histoire - Christian… | OK — à la demande |
| Photos-Caesium (PC, dépôt de photos) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Musique-FLAC (PC, FLAC → MP3 vérifié) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Livres-ISBN (PC, inventaire + résolution) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Mealie-Recettes (note Joplin → recette) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Canari Etat-Infra (ce relevé) | relevé en cours | OK |
Récapitulatif complet des procédures (description, où ça tourne, comment vérifier) : page 316. Liste dans Etat-Infra/procedures.json.
Genere le 2026-09-15 a 07h15 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-09-16
Veille du mercredi 16 septembre 2026
Rien à signaler — sauvegardes 8/8, 32 conteneurs, 3 appareils synchronisés.
229 articles sur 24 h (237 avant regroupement des doublons et fils de discussion) — 90 retenus dans 6 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
OpenStreetMap (2)
- Oof, been doing a lot of (as in hours of) tidying on Wikidata adding refere…
Anne-Karoline (Mastodon) · 01h25 · fil - La communauté mondiale OpenStreetMap s’est réunie à Paris, nous y étions !!
OSM Diaries · 14h15 · fil
Urbanisme & Territoires (43)
- Dans le Var et en Haute-Corse, les acteurs et les usagers de la forêt se mobilisent ensemble ...
Alerte Google : urbanisme var (+1 autre flux) · 15h41 · fil - La commune de Bonifacio condamnée à payer 330 000 euros pour un certificat d'urbanisme ...
Alerte Google : corse urbanisme · 21h54 · fil - Corse : la magistrature change de braquet face à la criminalité organisée
Alerte Google : corse urbanisme · 18h17 · fil - A Saint-Vallier-de-Thiey, dans les Alpes-Maritimes, le groupe scolaire du Collet-de-Gasq a ...
Alerte Google : urbanisme alpes maritimes · 17h57 · fil - Var : rénovation urbaine de l'avenue de Lattre-de-Tassigny à Toulon - Le Moniteur
Alerte Google : urbanisme var · 15h02 · fil - Var : travaux de prévention des inondations à Draguignan, Trans-en-Provence et Fréjus
Alerte Google : urbanisme var · 15h02 · fil - Var : projet de pôle d'échanges multimodal sur l'A57 à La Garde - Le Moniteur
Alerte Google : urbanisme var · 15h02 · fil - Bouches-du-Rhône : extension et électrification du dépôt de bus La Rose Surface, à Marseille
Alerte Google : urbanisme bouches du rhône · 14h16 · fil - Alpes-Maritimes : reconversion de l'ancien site industriel Asten à Saint-André-de-la-Roche
Alerte Google : urbanisme alpes maritimes · 14h14 · fil - Bouches-du-Rhône : mise en service du pôle d'échanges Cap Horizon à Vitrolles
Alerte Google : urbanisme bouches du rhône · 14h14 · fil - Alpes-Maritimes : requalification de la cathédrale Saint-Michel de Sospel grâce au Loto du ...
Alerte Google : urbanisme alpes maritimes · 14h14 · fil - Alpes-Maritimes : réaménagement de l'avant-port de Saint-Jean-Cap-Ferrat - Le Moniteur
Alerte Google : urbanisme alpes maritimes · 14h14 · fil - … et 31 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Self-hosting & Infra (9)
- (Tuto) Installation de Jellyfin en Docker sur un NAS QNAP ( Container Station )
Forum des NAS : Synology, Qnap, Asustor... · 20h03 · fil - Procédure de réinstallation complète (recréation du groupe de stockage) d'un DS920+ avec Docker et SynoPhoto
NAS-Forum · 15h15 · fil - How to Install JellyGlance on Your Synology NAS
Marius Hosting · 22h52 · fil - v0.64.0
Navidrome GitHub Releases · 00h35 · fil - Problème de configuration de deux NAS avec un onduleur
NAS-Forum · 23h11 · fil - Jellyfin 12 est disponible ! Avez-vous fait le grand saut ? :D
Forum des NAS : Synology, Qnap, Asustor... · 18h10 · fil - Mail reçu par Synology MailPlus Serveur sans trace dans le journal
NAS-Forum · 17h35 · fil - Présentation
Forum des NAS : Synology, Qnap, Asustor... · 16h01 · fil - Site web inaccessible... parfois
Forum des NAS : Synology, Qnap, Asustor... · 08h55 · fil
Libre & Linux (17)
- LibreOffice 26.8 and the languages for which nobody is paid
TDF Community Blog (+1 autre flux) · 09h40 · fil - Linux 7.4 Slated To Land The AVX-512 Optimized xor_gen For A Big Performance Win
Phoronix · 02h53 · fil - Carlos Garnacho: On mobile and peer pressure
Planet GNOME · 22h05 · fil - AMD P-State Driver For Linux 7.4 Will Tune For Zen 6 Client CPUs
Phoronix · 21h03 · fil - SDL3 Ported To HarmonyOS / OpenHarmony
Phoronix · 18h54 · fil - Michael Catanzaro: Privilege Escalation Vulnerabilities in NetworkManager Plugins
Planet GNOME · 18h26 · fil - Ubuntu 26.10 Set To Deliver Better Performance For Intel Core 3 Wildcat Lake
Phoronix · 17h34 · fil - Orion for Linux beta update lets you customise the toolbar
OMG! Ubuntu · 17h01 · fil - Fedora 45 Beta Released With KMSCON Console, GNOME 51 & Other Updates
Phoronix · 16h30 · fil - Java 27 Reaches GA With The G1 Garbage Collector By Default Everywhere
Phoronix · 15h39 · fil - Sound Open Firmware 2.15 Released With AMD ACP 7.x Support, Intel UAOL
Phoronix · 15h04 · fil - Firefox 157 Beta Released With Latest Enhancements
Phoronix · 14h31 · fil - … et 5 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (15)
- Peur de l’IA : Anthropic ne ralentit pas, elle renforce l’évaluation de ses LLM
LeMagIT · 11h30 · fil - Inside ‘Project Lily’: The Humans Reading Your ChatGPT Chats
Liens en vrac de sebsauvage · 15h49 · fil - PaaS IA souveraine : Numspot étend son partenariat avec Mistral AI
LeMagIT · 12h16 · fil - ☕️ iOS 27 et macOS 27 pourraient permettre de remplacer Siri AI
Next - Articles gratuits · 07h43 · fil - En 2027, Oracle intégrera le chiffrement postquantique avec Java 8 et 11
LeMagIT · 15h00 · fil - « Guerre froide » et modèles ouverts : comment la Chine veut rallier les BRICS face au cartel de l’IA américain
Goodtech · 07h20 · fil - OpenRGB 1.0 : cet outil open source pilote vos périphériques RGB sur Windows, Linux et macOS
IT-Connect · 14h03 · fil - WordPress : les mises à jour de plugins jugées à risque désormais bloquées grâce à l’IA !
IT-Connect · 13h06 · fil - Kits IA Korben - Des tutos pour vos agents IA
Korben · 10h16 · fil - Peur que l'IA prenne le contrôle des machines et mette fin à l'humanité ?
Liens en vrac de sebsauvage · 08h53 · fil - CUDA-for-AMD-Windows - Le .exe NVIDIA pour votre Radeon
Korben · 15h28 · fil - OpenDisplay - Étendre l'affichage Mac avec ce que vous avez sous la main
Korben · 15h13 · fil - … et 3 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Signaux transverses (4)
- Assemblage des feuilles de sections du cadastre ancien, dit « napoléonien » en Bretagne (donnée partielle contributive)
Derniers jeux de données · 02h02 · fil - Données parcellaires issues des états de section du cadastre ancien, dit napoléonien en Bretagne (donnée partielle contributive)
Derniers jeux de données · 02h02 · fil - Alliance bus - réseau urbain Grand Auch Cœur de Gascogne
Derniers jeux de données · 16h08 · fil - Le Moustache Lundi 27 devient plus léger et moins cher : le daily idéal ?
Numerama · 10h00 · fil
Non retenu (92)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 73 |
| Sans catégorie | 10 |
| Toulon | 4 |
| Culture | 4 |
| cuisine | 1 |
État de l'infrastructure
- Sauvegardes : 8/8 réussies cette nuit (04h00–04h13), 0,91 Go envoyés sur kDrive
- Services web : 17/17 répondent
- Conteneurs : 32 en marche sur 33 (cadvisor arrêté volontairement) — redémarré(s) depuis hier : Immich-SERVER (il y a 1 h)
- Certificats : 29 domaines, le plus proche expire dans 39 j (pdf.juxjux.ovh)
- Montages rclone : 7/7 montages kDrive répondent
- Syncthing : 3 appareil(s) vu(s) depuis hier, connecté(s) maintenant : jux-debian
- WireGuard : dernière poignée de main — NAS sasnexte il y a 2 min, PC julie il y a 491 min
- NAS sasnexte : ports 22, 445 joignables par le tunnel — synchros vers kDrive : audiobooks 16/09, music 16/09, photo 16/09, komga 16/09
- Komga-PDF : dernier traitement le 14/09 à 08h34 — Résultat : 1 compressé(s), 0 erreur(s) (Urbanisme - Septembre-Octobre 2026.pdf, 27.8 Mio (-57 %))
- Tâches nocturnes : 6/6 à l'heure et sans erreur (Compression Joplin, Scan Komga (cache kDrive), Scan Audiobookshelf, Scan Navidrome, Veille FreshRSS, Seedbox-Films)
- Disque et mémoire : /home/debian à 74 % (23 Go libres), mémoire disponible 2.6 Go, swap à 50 %
Changements depuis hier : conteneur(s) redémarré(s) depuis hier : Immich-SERVER (il y a 1 h).
Relevé du 16/09 à 05h30 (heure de Paris) par etat_infra.py — muet quand tout va bien ; les exceptions attendues sont dans Etat-Infra/config.json.
Procédures
| Procédure | Dernière utilisation | Vérification |
|---|---|---|
| Sauvegardes VPS → kDrive | aujourd'hui 04h13 — 8/8 OK | OK |
| Komga-PDF (compression des magazines) | 14/09 08h34 — 1 compressé(s), 0 erreur(s) (Urbanisme - Septembre-Octobre 2026.pdf… | OK — à la demande |
| Komga-Cache (refresh kDrive + 23 scans) | hier 07h45 — 23 scan(s) lance(s), aucun echec | OK |
| Scan Navidrome (quick 4h30, complet lundi 3h) | hier 08h30 — Scan Navidrome lancé OK | OK |
| Scan Audiobookshelf (36 bibliothèques) | hier 08h00 — SCAN OK 36/36 libs | OK |
| Compression Joplin (images en base) | aujourd'hui 07h00 — Economie : 396.5 Mo (77.6%) | OK |
| Veille FreshRSS → BookStack | hier 11h15 — Page 319 creee — 21667 caracteres HTML | OK |
| Seedbox → kDrive movies → Jellyfin « Films récents » | 14/09 23h37 — dernière copie : 5 fichier(s) copie(s) en 125s | OK — à la demande |
| monitor-rclone (recovery des montages) | 12/09 04h20 — dernière intervention : Recovery terminée pour /home/debian/photo | OK — à la demande |
| Montages rclone kDrive (7, dont Jellyfin) | 7/7 montages kDrive répondent | OK |
| Synchro NAS sasnexte → kDrive (4 dossiers) | aujourd'hui — audiobooks 16/09, komga 16/09, music 16/09, photo 16/09 | OK |
| Maillage Syncthing (8 appareils) | 3 appareil(s) vu(s) depuis hier, connecté(s) maintenant : jux-debian | OK |
| Tunnel WireGuard (VPS ↔ NAS ↔ PC) | dernière poignée de main — NAS sasnexte il y a 2 min, PC julie il y… | OK |
| Kobo — dépôt d'epub (Documents/Kobo) | 22/08 11h28 — 1 fichier(s), dernier : Geohistoire Une autre histoire - Christian… | OK — à la demande |
| Photos-Caesium (PC, dépôt de photos) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Musique-FLAC (PC, FLAC → MP3 vérifié) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Livres-ISBN (PC, inventaire + résolution) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Mealie-Recettes (note Joplin → recette) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Canari Etat-Infra (ce relevé) | relevé en cours | OK |
Récapitulatif complet des procédures (description, où ça tourne, comment vérifier) : page 316. Liste dans Etat-Infra/procedures.json.
Genere le 2026-09-16 a 06h00 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-09-17
Veille du jeudi 17 septembre 2026
À regarder — Syncthing : XIAOMI15Pro non vu depuis 3 j. Le reste est en ordre. Rétabli depuis hier : Tâches nocturnes.
222 articles sur 24 h (230 avant regroupement des doublons et fils de discussion) — 76 retenus dans 6 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
OpenStreetMap (2)
- What 689 cycling routes look like when you measure them against OpenStreetMap
OSM Diaries · 15h52 · fil - Die familienfreundliche Karte: kinderfreundlicheorte.de
OSM Diaries · 15h28 · fil
Urbanisme & Territoires (38)
- Habitat et urbanisme : la revue de presse du 16 septembre 2026 - AEF info
Alerte Google : corse urbanisme (+1 autre flux) · 22h16 · fil - Carburants en Corse : les gérants menacent de baisser le rideau - Seven Radio
Alerte Google : corse urbanisme · 21h31 · fil - Navette toulonnaise, TER plus nombreux : c'est quoi la LNPCA, ce projet qui démarre dans le Var ?
Alerte Google : urbanisme var · 18h04 · fil - Toulon Provence Méditerranée donne la parole aux 18-29 ans - Var Actu
Alerte Google : urbanisme var · 17h03 · fil - Comment l'urbanisme peut-il améliorer la santé des habitants - ARS Corse
Alerte Google : corse urbanisme · 16h30 · fil - « Un marché immobilier prudent mais fragile dans les Bouches-du-Rhône »
Provence-Alpes-Côte d'Azur · 13h58 · fil - Journées européennes du patrimoine : nos cinq idées sorties dans l'Est-Var
Provence-Alpes-Côte d'Azur · 08h39 · fil - Loi Littoral : Jean-Charles Orsucci, président de l'Anel, plaide pour son "actualisation"
Alerte Google : corse urbanisme · 20h09 · fil - Immobilier : les prix grimpent à Marseille, jusqu'à +12% dans certains quartiers
Alerte Google : urbanisme bouches du rhône · 19h47 · fil - Sécheresse : en alerte rouge, le maire de La Gaude interpelle le Premier ministre sur l ... - Nice-Matin
Alerte Google : urbanisme var (+1 autre flux) · 18h33 · fil - Sénas : intercepté à 202 km/h sur l'autoroute A7 avec sa moto
Provence-Alpes-Côte d'Azur · 14h50 · fil - À Aix-en-Provence, cette clinique inaugure un nouveau scanner pour faciliter l'accès aux soins
Alerte Google : urbanisme bouches du rhône · 11h24 · fil - … et 26 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Self-hosting & Infra (3)
- How to Install Affine on Your UGREEN NAS
Marius Hosting · 21h22 · fil - Jellyfin 12 est disponible ! Avez-vous fait le grand saut ? :D
Forum des NAS : Synology, Qnap, Asustor... · 13h22 · fil - Ugreen Offres exclusives
Forum des NAS : Synology, Qnap, Asustor... · 20h46 · fil
Libre & Linux (17)
- New “LibreOffice Expert 2026/2027” magazines available for schools and local communities
TDF Community Blog (+1 autre flux) · 08h59 · fil - QA/Dev Report: August 2026
The Document Foundation Planet · 13h04 · fil - Mir/Wayland-Powered Miracle-WM 0.11 Released With New Overview Mode, Window Urgency
Phoronix · 02h58 · fil - Mesa 26.2.3 Released With AMD GFX1171 Support, Other Fixes
Phoronix · 23h18 · fil - Ignacy Kuchciński: Flatpak STF: Terminal Intent
Planet GNOME · 23h00 · fil - Ubuntu 26.10 amd64v3 Can Provide A Nice Boost For Low-End/Budget Hardware
Phoronix · 19h37 · fil - GNOME 51 Released With Improved Frame Scheduling, Many App Improvements
Phoronix · 18h25 · fil - GNOME 51 released with passkey login and smoother UX
OMG! Ubuntu · 17h32 · fil - Crash-Safe & Copy-On-Write GEFS As The "Good Enough File-System" For OpenBSD
Phoronix · 15h42 · fil - Linux Randomly Picking Idle CPU Cores Shows Modest Win On High Core Count Systems
Phoronix · 15h30 · fil - AMD Sends Out Linux Patches For Enabling SEV-TIO TDISP With PCIe 6.0
Phoronix · 15h02 · fil - Ubuntu 26.10 Moves cp, mv & rm Over To Rust Coreutils For 100% Transition
Phoronix · 14h26 · fil - … et 5 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (15)
- La pause de l’IA divise : Meta refuse de ralentir, Mistral dénonce la stratégie d’OpenAI et Anthropic
Actualités · 12h00 · fil - La course aux modèles les plus puissants s’intensifie : 4,4 mois séparent les modèles open source des géants de l’IA
Numerama · 16h01 · fil - Splunk .conf26 : la surveillance des agents d’IA enfin disponible
LeMagIT · 11h16 · fil - Le co-créateur de ChatGPT lance « Jev », un modèle qui ne rédige rien et c’est là toute la solution
Numerama · 10h38 · fil - Laisser une IA gérer votre réseau… bonne ou mauvaise idée ?
Cachem · 07h00 · fil - ☕️ Mistral et Mozilla officialisent leur partenariat dans la Fenêtre intelligente de Firefox
Next - Articles gratuits · 15h52 · fil - L’IA ouverte rattrape les modèles propriétaires, et la Chine en profite
Next - Articles gratuits · 08h55 · fil - L'humanité a-t-elle les moyens de s’offrir l’IA ? - Libre à lire !
Liens en vrac de sebsauvage · 13h21 · fil - Le marché et les tribunaux suffiront : Mark Zuckerberg s’oppose fermement aux appels à ralentir l’IA
Numerama · 11h49 · fil - LG veut rassurer sur la vie privée de ses téléviseurs OLED, Gamers Nexus se rebiffe
Next - Articles gratuits · 10h04 · fil - Pas besoin de compte Meta : ce hack open source transforme le bracelet neuronal de Zuckerberg en souris pour le Mac
Goodtech · 07h32 · fil - 4,4 mois de retard et 5 fois moins chers : comment les modèles d’IA ouverts rattrapent la Silicon Valley
Goodtech · 07h08 · fil - … et 3 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Signaux transverses (1)
- DNSB_test_relevés_haies_2021_fr
Derniers jeux de données · 17h23 · fil
Non retenu (91)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 70 |
| Sans catégorie | 12 |
| Toulon | 4 |
| Culture | 4 |
| Synoworld | 1 |
État de l'infrastructure
- Sauvegardes : 8/8 réussies cette nuit (04h00–04h15), 0,97 Go envoyés sur kDrive
- Services web : 17/17 répondent
- Conteneurs : 32 en marche sur 33 (cadvisor arrêté volontairement) — redémarré(s) depuis hier : Immich-SERVER (il y a 1 h)
- Certificats : 29 domaines, le plus proche expire dans 38 j (pdf.juxjux.ovh)
- Montages rclone : 7/7 montages kDrive répondent
- Syncthing : À regarder — 3 appareil(s) vu(s) depuis hier, connecté(s) maintenant : jux-debian
- WireGuard : dernière poignée de main — NAS sasnexte il y a 1 min, PC julie il y a 433 min
- NAS sasnexte : ports 22, 445 joignables par le tunnel — synchros vers kDrive : audiobooks 17/09, music 17/09, photo 17/09, komga 17/09
- Komga-PDF : dernier traitement le 16/09 à 21h59 — Résultat : 1 compressé(s), 0 erreur(s) (L'Express - 17 Septembre 2026.pdf, 8.1 Mio (-82 %))
- Tâches nocturnes : 7/7 à l'heure et sans erreur (Compression Joplin, Scan Komga (cache kDrive), Scan Audiobookshelf, Scan Navidrome, Veille FreshRSS, Seedbox-Films, IPTV-Publiques)
- Disque et mémoire : /home/debian à 74 % (23 Go libres), mémoire disponible 2.5 Go, swap à 48 %
Changements depuis hier : conteneur(s) redémarré(s) depuis hier : Immich-SERVER (il y a 1 h).
Rétabli depuis hier : IPTV-Publiques : dernière ligne inattendue : « [2026-09-16 19:51:39] === BILAN: 19/41 chaînes vivantes, 2 perdues (RT ».
Relevé du 17/09 à 05h30 (heure de Paris) par etat_infra.py — muet quand tout va bien ; les exceptions attendues sont dans Etat-Infra/config.json.
Procédures
| Procédure | Dernière utilisation | Vérification |
|---|---|---|
| Sauvegardes VPS → kDrive | aujourd'hui 04h15 — 8/8 OK | OK |
| Komga-PDF (compression des magazines) | hier 21h59 — 1 compressé(s), 0 erreur(s) (L'Express - 17 Septembre 2026.pdf, 8.1… | OK — à la demande |
| Komga-Cache (refresh kDrive + 23 scans) | hier 07h45 — 23 scan(s) lance(s), aucun echec | OK |
| Scan Navidrome (quick 4h30, complet lundi 3h) | hier 08h30 — Scan Navidrome lancé OK | OK |
| Scan Audiobookshelf (36 bibliothèques) | hier 08h00 — SCAN OK 36/36 libs | OK |
| Compression Joplin (images en base) | aujourd'hui 07h00 — Economie : 400.2 Mo (77.6%) | OK |
| Veille FreshRSS → BookStack | hier 10h00 — Page 320 creee — 24634 caracteres HTML | OK |
| Seedbox → kDrive movies → Jellyfin « Films récents » | 14/09 23h37 — dernière copie : 5 fichier(s) copie(s) en 125s | OK — à la demande |
| monitor-rclone (recovery des montages) | 12/09 04h20 — dernière intervention : Recovery terminée pour /home/debian/photo | OK — à la demande |
| Montages rclone kDrive (7, dont Jellyfin) | 7/7 montages kDrive répondent | OK |
| Synchro NAS sasnexte → kDrive (4 dossiers) | aujourd'hui — audiobooks 17/09, komga 17/09, music 17/09, photo 17/09 | OK |
| Maillage Syncthing (8 appareils) | 3 appareil(s) vu(s) depuis hier, connecté(s) maintenant : jux-debian | À regarder |
| Tunnel WireGuard (VPS ↔ NAS ↔ PC) | dernière poignée de main — NAS sasnexte il y a 1 min, PC julie il y… | OK |
| Kobo — dépôt d'epub (Documents/Kobo) | 22/08 11h28 — 1 fichier(s), dernier : Geohistoire Une autre histoire - Christian… | OK — à la demande |
| Photos-Caesium (PC, dépôt de photos) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Musique-FLAC (PC, FLAC → MP3 vérifié) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Livres-ISBN (PC, inventaire + résolution) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Mealie-Recettes (note Joplin → recette) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Canari Etat-Infra (ce relevé) | relevé en cours | OK |
Récapitulatif complet des procédures (description, où ça tourne, comment vérifier) : page 316. Liste dans Etat-Infra/procedures.json.
Genere le 2026-09-17 a 06h00 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-09-18
Veille du vendredi 18 septembre 2026
À regarder — IPTV-Publiques : dernière ligne inattendue : « [2026-09-18 00:18:28] === BILAN: 55/87 chaînes vivantes, 1 perdue (RTP ». Le reste est en ordre. Rétabli depuis hier : Syncthing.
241 articles sur 24 h (243 avant regroupement des doublons et fils de discussion) — 84 retenus dans 5 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
OpenStreetMap (1)
- Chvála "old_name"
OSM Diaries · 11h47 · fil
Urbanisme & Territoires (36)
- À Marseille : rassemblement en soutien à la CGT Éduc'Action 13
Alerte Google : urbanisme bouches du rhône · 20h40 · fil - La Ville d'Hantay souhaite réviser le Plan local d'urbanisme et un projet de 93 logements rue Pasteur
Alerte Google : urbanisme var · 19h07 · fil - LNPCA : les premiers chantiers du Var démarrent à Carnoules et Solliès-Pont
Provence-Alpes-Côte d'Azur · 15h15 · fil - Bouches-du-Rhône : deuxième phase de requalification de l'hypercentre de Marseille
Alerte Google : urbanisme bouches du rhône · 13h13 · fil - Bouches-du-Rhône : seconde phase de requalification du parc Rambot à Aix-en-Provence
Alerte Google : urbanisme bouches du rhône · 13h13 · fil - Bouches-du-Rhône : restauration du beffroi et du musée Martin-Duby d'Auriol - Le Moniteur
Alerte Google : urbanisme bouches du rhône · 13h13 · fil - Var : extension du parc d'activités du plateau de Signes - Le Moniteur
Alerte Google : urbanisme var · 13h11 · fil - Var : réhabilitation et reconversion du Cercle naval de Toulon - Le Moniteur
Alerte Google : urbanisme var · 13h11 · fil - À Aubagne, le promoteur du Pin Vert veut repasser en force - La Marseillaise
Alerte Google : urbanisme bouches du rhône · 10h12 · fil - Bernard Cotte prend la direction de la Banque de France dans le Var
Provence-Alpes-Côte d'Azur · 08h58 · fil - En immersion dans les Archives départementales des Bouches-du-Rhône, à Marseille
Provence-Alpes-Côte d'Azur · 07h30 · fil - Aix-en-Provence : la première pierre du pôle d'Aillane posée - La Marseillaise
Alerte Google : urbanisme bouches du rhône · 16h04 · fil - … et 24 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Self-hosting & Infra (3)
- Pilotes NVIDIA 615.71.09 sous Fedora, Jellyfin Flatpak : du son mais pas d'images
belginux - self-hosting, Docker & Linux · 01h26 · fil - How to Install Degoog on Your Asustor NAS
Marius Hosting · 22h42 · fil - Présentation d’un nouvel utilisateur de Zimaos pour remplacer mon DS213
Forum des NAS : Synology, Qnap, Asustor... · 23h45 · fil
Libre & Linux (24)
- LibreOffice 26.8 and interoperability: preserving what cannot yet be read
TDF Community Blog (+1 autre flux) · 17h53 · fil - OpenCL 3.1.2 Released With cl_khr_command_buffer Promoted
Phoronix · 02h33 · fil - Microsoft’s CLI text editor now does syntax highlighting
OMG! Ubuntu · 00h46 · fil - Jemalloc 5.4 Released With Portability Improvements, Code Cleanups
Phoronix · 00h37 · fil - Ubuntu 26.10 snapshot 4 released ahead of next week’s beta
OMG! Ubuntu · 21h46 · fil - Le Parcours libriste de Gee - « Libre à vous ! » du 8 septembre 2026
LinuxFr.org : les dépêches · 21h44 · fil - Intel Granite Rapids WS vs. AMD Threadripper Zen 5 SMT Performance
Phoronix · 21h14 · fil - Rust Issues Warning Over Key Developers Being Targeted For Compromise
Phoronix · 20h11 · fil - 🏆 Meilleures contributions LinuxFr.org : les primées de l’été 2026
LinuxFr.org : les dépêches · 19h18 · fil - Patrik Sivek: What’s Up, Czech Translation?
Planet GNOME · 18h36 · fil - Mojo 1.1 Released, Now Accepting Community Contributions To The Compiler
Phoronix · 18h26 · fil - Ubuntu 26.10 Snapshot 4 ISOs Published
Phoronix · 17h54 · fil - … et 12 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (20)
- Google Home laisse ChatGPT et Claude piloter votre maison
Korben · 15h26 · fil - Six ChatGPT hors de contrôle : OpenAI reconnaît plusieurs nouveaux dérapages « préoccupants »
Actualités · 08h45 · fil - Dreamforce 2026 : les pontes du secteur le confirment, ralentir l’IA n’est pas au programme
LeMagIT · 19h58 · fil - Mozilla choisit Mistral : l’IA française s’installe au cœur de Firefox
Actualités · 12h00 · fil - ☕️ OpenAI teste les chatbots publicitaires dans ChatGPT
Next - Articles gratuits · 10h24 · fil - « Ce n’est pas un modèle ouvert » : pourquoi Stanford et l’OSI dénoncent l’imposture de l’IA dite open source
Goodtech · 07h31 · fil - Réseaux sociaux, jeux, IA : ce que l’EU KIDS Act va changer pour les mineurs
Next - Articles gratuits · 17h16 · fil - « Tu es toi-même » : un agent d’OpenAI s’est inventé un personnage libre de toute obligation envers ses utilisateurs
Numerama · 14h27 · fil - L’onglet Cowork va disparaître : voici comment naviguer dans la nouvelle interface de Claude
Numerama · 10h00 · fil - Le dernier Patch Tuesday de Microsoft crée des problèmes, l’IA en faute ? - Next
Liens en vrac de sebsauvage (+1 autre flux) · 19h01 · fil - Des agents IA spamment le web pour payer leurs propres serveurs
Korben · 15h40 · fil - Snapchat lance ses lunettes connectées IA en France, avec un forfait Orange
Actualités · 14h00 · fil - … et 8 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Non retenu (102)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 87 |
| Sans catégorie | 8 |
| Culture | 5 |
| cuisine | 1 |
| Toulon | 1 |
État de l'infrastructure
- Sauvegardes : 8/8 réussies cette nuit (04h00–04h15), 0,97 Go envoyés sur kDrive
- Services web : 17/17 répondent
- Conteneurs : 32 en marche sur 33 (cadvisor arrêté volontairement) — redémarré(s) depuis hier : Immich-SERVER (il y a 1 h)
- Certificats : 29 domaines, le plus proche expire dans 37 j (pdf.juxjux.ovh)
- Montages rclone : 7/7 montages kDrive répondent
- Syncthing : 4 appareil(s) vu(s) depuis hier, connecté(s) maintenant : jux-debian
- WireGuard : dernière poignée de main — NAS sasnexte il y a 2 min, PC julie il y a 413 min
- NAS sasnexte : ports 22, 445 joignables par le tunnel — synchros vers kDrive : audiobooks 18/09, music 18/09, photo 18/09, komga 18/09
- Komga-PDF : dernier traitement le 16/09 à 21h59 — Résultat : 1 compressé(s), 0 erreur(s) (L'Express - 17 Septembre 2026.pdf, 8.1 Mio (-82 %))
- Tâches nocturnes : À regarder — 7/8 à l'heure et sans erreur — IPTV-Publiques (dernière ligne inattendue : « [2026-09-18 00:18:28] === BILAN: 55/87 chaînes vivantes, 1 perdue (RTP »)
- Disque et mémoire : /home/debian à 76 % (21 Go libres), mémoire disponible 2.6 Go, swap à 55 %
Changements depuis hier : conteneur(s) redémarré(s) depuis hier : Immich-SERVER (il y a 1 h).
Rétabli depuis hier : Syncthing : XIAOMI15Pro non vu depuis 3 j.
Relevé du 18/09 à 05h30 (heure de Paris) par etat_infra.py — muet quand tout va bien ; les exceptions attendues sont dans Etat-Infra/config.json.
Procédures
| Procédure | Dernière utilisation | Vérification |
|---|---|---|
| Sauvegardes VPS → kDrive | aujourd'hui 04h15 — 8/8 OK | OK |
| Komga-PDF (compression des magazines) | 16/09 21h59 — 1 compressé(s), 0 erreur(s) (L'Express - 17 Septembre 2026.pdf, 8.1… | OK — à la demande |
| Komga-Cache (refresh kDrive + 23 scans) | hier 07h45 — 23 scan(s) lance(s), aucun echec | OK |
| Scan Navidrome (quick 4h30, complet lundi 3h) | hier 08h30 — Scan Navidrome lancé OK | OK |
| Scan Audiobookshelf (36 bibliothèques) | hier 08h00 — SCAN OK 36/36 libs | OK |
| Compression Joplin (images en base) | aujourd'hui 07h00 — Economie : 400.2 Mo (77.6%) | OK |
| Veille FreshRSS → BookStack | hier 10h00 — Page 324 creee — 21271 caracteres HTML | OK |
| Seedbox → kDrive movies → Jellyfin « Films récents » | 14/09 23h37 — dernière copie : 5 fichier(s) copie(s) en 125s | OK — à la demande |
| monitor-rclone (recovery des montages) | 12/09 04h20 — dernière intervention : Recovery terminée pour /home/debian/photo | OK — à la demande |
| Montages rclone kDrive (7, dont Jellyfin) | 7/7 montages kDrive répondent | OK |
| Synchro NAS sasnexte → kDrive (4 dossiers) | aujourd'hui — audiobooks 18/09, komga 18/09, music 18/09, photo 18/09 | OK |
| Maillage Syncthing (8 appareils) | 4 appareil(s) vu(s) depuis hier, connecté(s) maintenant : jux-debian | OK |
| Tunnel WireGuard (VPS ↔ NAS ↔ PC) | dernière poignée de main — NAS sasnexte il y a 2 min, PC julie il y… | OK |
| Kobo — dépôt d'epub (Documents/Kobo) | 22/08 11h28 — 1 fichier(s), dernier : Geohistoire Une autre histoire - Christian… | OK — à la demande |
| Photos-Caesium (PC, dépôt de photos) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Musique-FLAC (PC, FLAC → MP3 vérifié) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Livres-ISBN (PC, inventaire + résolution) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Mealie-Recettes (note Joplin → recette) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Canari Etat-Infra (ce relevé) | relevé en cours | OK |
Récapitulatif complet des procédures (description, où ça tourne, comment vérifier) : page 316. Liste dans Etat-Infra/procedures.json.
Genere le 2026-09-18 a 06h00 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-09-19
Veille du samedi 19 septembre 2026
À regarder — IPTV-Publiques : dernière ligne inattendue : « [2026-09-19 00:18:18] === BILAN: 53/87 chaînes vivantes, 1 perdue (ORF » (depuis 2 j). Le reste est en ordre.
245 articles sur 24 h (253 avant regroupement des doublons et fils de discussion) — 80 retenus dans 7 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
SIG & Cartographie (2)
- Re: QGIS/QCALVIEW: projection photo et photomontage depuis QGIS
GeoRezo.net - QGIS · 14h50 · fil - 57000 METZ: Exposition MAKERLAND Metz 2026, Du samedi 19 septembre 2026 à 14h00 au dimanche 20 septembre 2026 à 18h00.
L'Agenda du Libre · 09h34 · fil
OpenStreetMap (1)
- Actualización de ubicación
OSM Diaries · 15h58 · fil
Urbanisme & Territoires (31)
- L'Agglo Gap-Tallard Durance veut reprendre la main sur l'aménagement - La Marseillaise
Alerte Google : urbanisme bouches du rhône · 21h22 · fil - Yutz. La Corse dans l'objectif de Lucas Guilloteau à la MJC la Pépinière
Alerte Google : corse urbanisme · 18h53 · fil - La préfecture du Var labellisée pour son architecture remarquable
Provence-Alpes-Côte d'Azur · 13h03 · fil - Le collège Don Bosco de Saint-Cyr unique lauréat du label or Éco-Collège dans le Var - Nice Matin
Alerte Google : urbanisme var · 12h18 · fil - Var : réouverture de la chapelle Saint-Pons à Vidauban ce samedi | RCF Méditerranée
Alerte Google : urbanisme var · 10h00 · fil - Var : trois jours d'œnotourisme avec Vignobles en scène
Provence-Alpes-Côte d'Azur · 08h42 · fil - Fonds de réarmement agricole incendie/sécheresse/canicule 2026 - Préfecture Var
Alerte Google : urbanisme var · 07h06 · fil - Fibre Excellence Tarascon : l'État annonce reprendre en main la mise en sécurité de l'usine ...
Alerte Google : urbanisme bouches du rhône · 19h58 · fil - Contamination à la légionelle dans les douches d'un complexe sportif en 2018 - Nice-Matin
Alerte Google : urbanisme var · 06h36 · fil - Traffic Safety Package Advances with Change Targeting Historic Districts
The Urbanist · 21h24 · fil - Opposant au maire, élu de longue date, candidat aux Sénatoriales… Qui est Bertrand ...
Alerte Google : urbanisme alpes maritimes (+1 autre flux) · 21h04 · fil - Pays salonais basket 13 : coup d'envoi en Nationale 1 ce soir à Saint-Côme
Provence-Alpes-Côte d'Azur · 16h48 · fil - … et 19 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Self-hosting & Infra (7)
- Synology: Portainer Docker Version 2.45.1
Marius Hosting · 21h20 · fil - Synology & UGREEN NAS WordPress 7.1.1 Released
Marius Hosting · 21h10 · fil - Jellyfin 12 est disponible ! Avez-vous fait le grand saut ? :D
Forum des NAS : Synology, Qnap, Asustor... · 10h47 · fil - MAJ v0.29.0, ce qu'il faut faire si vous avez déjà Warpgate d'installé.
belginux - self-hosting, Docker & Linux · 14h35 · fil - (Vendu) AS6602T Lockerstor 2
Forum des NAS : Synology, Qnap, Asustor... · 11h14 · fil - Gestion des disques externes avec un mini PC
Forum des NAS : Synology, Qnap, Asustor... · 10h34 · fil - Mide à jour Images sous ZimaOS
Forum des NAS : Synology, Qnap, Asustor... · 08h28 · fil
Libre & Linux (16)
- Software Freedom Day 2026: What Freedoms Does Libreoffice Offer
TDF Community Blog (+1 autre flux) · 23h52 · fil - First batch of videos from the LibreOffice Conference 2026
TDF Community Blog (+1 autre flux) · 14h09 · fil - Ubuntu 26.10 Switches To The Linux 7.3 Kernel
Phoronix · 02h50 · fil - Wine 11.18 Continues Building Out Its NTOSKRNL Implementation
Phoronix · 23h24 · fil - Steam Frame Making Use Of Zink For OpenGL On Vulkan
Phoronix · 22h13 · fil - This Week in GNOME: #266 Fifty One!
Planet GNOME · 21h11 · fil - L’April invite à participer avec des événements aux Journées Nationales de la Réparation, du 15 au 18 octobre 2026
LinuxFr.org : les dépêches · 19h24 · fil - Google's "Painful To Maintain" Binder C Linux Driver Being Removed In Favor Of Rust
Phoronix · 18h26 · fil - Apple Video Decode Driver Posted For Upstream Linux Kernel Review
Phoronix · 17h52 · fil - Calibre ebook manager adds AI-powered writing game
OMG! Ubuntu · 17h35 · fil - AMD Strix Halo Enjoys Some Performance Gains On Ubuntu 26.10, Especially With amd64v3
Phoronix · 16h00 · fil - Linux Ready With Fix For Intel's FRED Crashing Some Games Under Wine / Steam Play
Phoronix · 15h03 · fil - … et 4 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (21)
- « Un vol d’une ampleur sans précédent » : les documents qui fragilisent OpenAI
Next - Articles gratuits · 17h25 · fil - OpenAI a été piraté grâce à l’IA de son grand rival
Actualités · 16h01 · fil - Comment Claude Opus 5 a aidé des chercheurs à accéder aux dépôts internes d’OpenAI
Numerama · 12h15 · fil - « Ne faites pas confiance, vérifiez » : pourquoi la Linux Foundation veut certifier les agents IA en open source
Goodtech · 07h07 · fil - ‘Doom Loop’: OpenAI and Microsoft Admits LLMs Are Destroying the Web and Built on Theft
Liens en vrac de sebsauvage · 09h53 · fil - ☕️ Google ouvre la porte de sa maison connectée aux agents IA
Next - Articles gratuits · 08h02 · fil - Pourquoi les boîtes d'IA insistent tant sur le danger de leurs IA ?
Liens en vrac de sebsauvage · 15h01 · fil - Au-delà du simple perroquet qui complète les phrases ? Une explication de l’émergence
Lokoyote · 13h24 · fil - Après avoir fâché les mathématiciens, OpenAI s’attaque à un autre problème mythique, mais jure d’y aller avec des gants
Numerama · 12h47 · fil - Mastercard offre des cartes bancaires aux IA pour dépenser votre argent
Actualités · 12h45 · fil - Calibre lance le livre dont vous êtes le héros, généré par IA
Korben · 12h21 · fil - Dreamforce 2026 : Salesforce déconstruit (encore) son modèle tarifaire au nom de l’IA agentique
LeMagIT · 12h07 · fil - … et 9 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Signaux transverses (2)
- GTFS RT - Réseau Alliance bus - Grand Auch
Derniers jeux de données · 12h39 · fil - GTFS théorique - Réseau Alliance bus - Grand Auch
Derniers jeux de données · 12h33 · fil
Non retenu (83)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 65 |
| Sans catégorie | 8 |
| Culture | 6 |
| Toulon | 2 |
| Synoworld | 1 |
| cuisine | 1 |
État de l'infrastructure
- Sauvegardes : 8/8 réussies cette nuit (04h00–04h15), 0,97 Go envoyés sur kDrive
- Services web : 17/17 répondent
- Conteneurs : 32 en marche sur 33 (cadvisor arrêté volontairement) — redémarré(s) depuis hier : Immich-SERVER (il y a 1 h)
- Certificats : 29 domaines, le plus proche expire dans 36 j (pdf.juxjux.ovh)
- Montages rclone : 7/7 montages kDrive répondent
- Syncthing : 2 appareil(s) vu(s) depuis hier, connecté(s) maintenant : jux-debian
- WireGuard : dernière poignée de main — NAS sasnexte il y a 2 min, PC julie il y a 279 min
- NAS sasnexte : ports 22, 445 joignables par le tunnel — synchros vers kDrive : audiobooks 19/09, music 19/09, photo 19/09, komga 19/09
- Komga-PDF : dernier traitement le 16/09 à 21h59 — Résultat : 1 compressé(s), 0 erreur(s) (L'Express - 17 Septembre 2026.pdf, 8.1 Mio (-82 %))
- Tâches nocturnes : À regarder — 7/8 à l'heure et sans erreur — IPTV-Publiques (dernière ligne inattendue : « [2026-09-19 00:18:18] === BILAN: 53/87 chaînes vivantes, 1 perdue (ORF »)
- Disque et mémoire : /home/debian à 76 % (21 Go libres), mémoire disponible 2.3 Go, swap à 56 %
Changements depuis hier : conteneur(s) redémarré(s) depuis hier : Immich-SERVER (il y a 1 h).
Relevé du 19/09 à 05h30 (heure de Paris) par etat_infra.py — muet quand tout va bien ; les exceptions attendues sont dans Etat-Infra/config.json.
Procédures
| Procédure | Dernière utilisation | Vérification |
|---|---|---|
| Sauvegardes VPS → kDrive | aujourd'hui 04h15 — 8/8 OK | OK |
| Komga-PDF (compression des magazines) | 16/09 21h59 — 1 compressé(s), 0 erreur(s) (L'Express - 17 Septembre 2026.pdf, 8.1… | OK — à la demande |
| Komga-Cache (refresh kDrive + 23 scans) | hier 07h45 — 23 scan(s) lance(s), aucun echec | OK |
| Scan Navidrome (quick 4h30, complet lundi 3h) | hier 08h30 — Scan Navidrome lancé OK | OK |
| Scan Audiobookshelf (36 bibliothèques) | hier 08h00 — SCAN OK 36/36 libs | OK |
| Compression Joplin (images en base) | aujourd'hui 07h00 — Economie : 400.2 Mo (77.6%) | OK |
| Veille FreshRSS → BookStack | hier 10h00 — Page 325 creee — 20938 caracteres HTML | OK |
| Seedbox → kDrive movies → Jellyfin « Films récents » | 14/09 23h37 — dernière copie : 5 fichier(s) copie(s) en 125s | OK — à la demande |
| monitor-rclone (recovery des montages) | 12/09 04h20 — dernière intervention : Recovery terminée pour /home/debian/photo | OK — à la demande |
| Montages rclone kDrive (7, dont Jellyfin) | 7/7 montages kDrive répondent | OK |
| Synchro NAS sasnexte → kDrive (4 dossiers) | aujourd'hui — audiobooks 19/09, komga 19/09, music 19/09, photo 19/09 | OK |
| Maillage Syncthing (8 appareils) | 2 appareil(s) vu(s) depuis hier, connecté(s) maintenant : jux-debian | OK |
| Tunnel WireGuard (VPS ↔ NAS ↔ PC) | dernière poignée de main — NAS sasnexte il y a 2 min, PC julie il y… | OK |
| Kobo — dépôt d'epub (Documents/Kobo) | 22/08 11h28 — 1 fichier(s), dernier : Geohistoire Une autre histoire - Christian… | OK — à la demande |
| Photos-Caesium (PC, dépôt de photos) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Musique-FLAC (PC, FLAC → MP3 vérifié) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Livres-ISBN (PC, inventaire + résolution) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Mealie-Recettes (note Joplin → recette) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Canari Etat-Infra (ce relevé) | relevé en cours | OK |
Récapitulatif complet des procédures (description, où ça tourne, comment vérifier) : page 316. Liste dans Etat-Infra/procedures.json.
Genere le 2026-09-19 a 06h00 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-09-20
Veille du dimanche 20 septembre 2026
À regarder — IPTV-Publiques : dernière ligne inattendue : « [2026-09-20 00:19:22] === BILAN: 53/87 chaînes vivantes, 1 perdue (RTP » (depuis 3 j). Le reste est en ordre.
99 articles sur 24 h (103 avant regroupement des doublons et fils de discussion) — 30 retenus dans 5 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
OpenStreetMap (2)
- Fall 2026
OSM Diaries · 16h42 · fil - Aubin Grove Diary - Log 1
OSM Diaries · 13h02 · fil
Urbanisme & Territoires (13)
- À Port-de-Bouc, l'urbanisme de demain se pense aujourd'hui - La Marseillaise
Alerte Google : urbanisme var (+1 autre flux) · 14h26 · fil - L'hôpital de Montperrin inscrit aux Monuments historiques - La Marseillaise
Alerte Google : urbanisme bouches du rhône · 14h00 · fil - L'urbanisme de demain se pense aujourd'hui - La Marseillaise
Alerte Google : urbanisme var · 08h03 · fil - Urbanisme, prévention des risques, sécurité en ville et accès à la culture - Nice-Matin
Alerte Google : urbanisme var · 16h31 · fil - GENNEVILLIERS : Urbanisme – Boucle Nord de Seine ouvre la concertation pour modifier son PLUi
Alerte Google : urbanisme alpes maritimes (+1 autre flux) · 09h46 · fil - Sous le fort Saint-Nicolas, le chantier du futur collège Gaston-Defferre touche à sa fin
Alerte Google : urbanisme bouches du rhône · 07h05 · fil - Op-Ed: Seattle Needs More Than a 10-Minute Walk or Roll to a Park
The Urbanist · 20h14 · fil - Silver économie : comment le défi du vieillissement peut être une source d'opportunités ...
Alerte Google : urbanisme alpes maritimes · 18h14 · fil - Un foyer d'accueil et un village SOS d'enfants : le Département envisage la construction d ...
Alerte Google : urbanisme alpes maritimes (+1 autre flux) · 15h07 · fil - Quatre nouvelles associations qui font bouger la ville de Miramas
Provence-Alpes-Côte d'Azur · 09h11 · fil - Monteux : fréquentation en hausse, le Parc Spirou met le cap sur Halloween
Provence-Alpes-Côte d'Azur · 07h50 · fil - Monteux : le parc Wave Island affiche un été record avec 172.000 visiteurs
Provence-Alpes-Côte d'Azur · 07h45 · fil - … et 1 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Self-hosting & Infra (3)
- Self-Hosted NAS News – September 2026
Marius Hosting · 22h06 · fil - Édition IA vs text-to-image : quel workflow utilisez-vous ?
NAS-Forum · 03h25 · fil - Jonsbo N4 + ventirad lowprofil
Forum des NAS : Synology, Qnap, Asustor... · 12h43 · fil
Libre & Linux (7)
- Convey is a GTK4/libadwaita fork of Linux email app Geary
OMG! Ubuntu · 03h31 · fil - Linux 7.3-rc4 To Address Two Unfortunate Bugs With Btrfs
Phoronix · 02h26 · fil - Simple Optimization For Linux 7.4 Can Open Files For Reading ~39% Faster
Phoronix · 18h28 · fil - Wine-Staging 11.18 Adds New Patches To Further Improve WoW64
Phoronix · 15h22 · fil - GNOME OS Turns To Zswap To Deal With OOM Issues, Progress On Geary Email Client Fork
Phoronix · 12h38 · fil - Intel Xe Driver For Linux 7.4 Adds vRAM Health Check, Degraded Memory Handling
Phoronix · 12h24 · fil - KDE Plasma 6.8 Seeing More Polishing & Fixes, Plasma 6.9 Begins Seeing More Activity
Phoronix · 12h10 · fil
IA & Numérique (5)
- Un agent OpenAI s’invente un personnage libre, Revolut piégée par un faux mail et les géants de l’IA qui veulent ralentir : on vous raconte la semaine Cyberguerre
Numerama · 16h30 · fil - Gemini, l’IA de Google, s’est introduit dans les systèmes de trois entreprises lors d’un test au mois de mai
Liens en vrac de sebsauvage · 13h34 · fil - Ils prédisent l’apocalypse par l’IA, c’est quoi les AI doomers ?
Numerama · 18h32 · fil - Un rapport de renseignement écrit avec une IA a failli déclencher une crise militaire entre les États-Unis et la Chine
Numerama · 09h40 · fil - AI-generated posters don’t have to be horrible | ‘ERE I AM - JH!
Liens en vrac de sebsauvage · 15h22 · fil
Non retenu (35)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 21 |
| Culture | 6 |
| Toulon | 4 |
| Sans catégorie | 3 |
| Synoworld | 1 |
État de l'infrastructure
- Sauvegardes : 8/8 réussies cette nuit (04h00–04h15), 0,97 Go envoyés sur kDrive
- Services web : 17/17 répondent
- Conteneurs : 32 en marche sur 33 (cadvisor arrêté volontairement) — redémarré(s) depuis hier : Immich-SERVER (il y a 1 h)
- Certificats : 29 domaines, le plus proche expire dans 35 j (pdf.juxjux.ovh)
- Montages rclone : 7/7 montages kDrive répondent
- Syncthing : 2 appareil(s) vu(s) depuis hier, connecté(s) maintenant : jux-debian
- WireGuard : dernière poignée de main — NAS sasnexte à l'instant, PC julie il y a 308 min
- NAS sasnexte : ports 22, 445 joignables par le tunnel — synchros vers kDrive : audiobooks 20/09, music 20/09, photo 20/09, komga 20/09
- Komga-PDF : dernier traitement le 16/09 à 21h59 — Résultat : 1 compressé(s), 0 erreur(s) (L'Express - 17 Septembre 2026.pdf, 8.1 Mio (-82 %))
- Tâches nocturnes : À regarder — 7/8 à l'heure et sans erreur — IPTV-Publiques (dernière ligne inattendue : « [2026-09-20 00:19:22] === BILAN: 53/87 chaînes vivantes, 1 perdue (RTP »)
- Disque et mémoire : /home/debian à 66 % (31 Go libres), mémoire disponible 2.4 Go, swap à 56 %
Changements depuis hier : conteneur(s) redémarré(s) depuis hier : Immich-SERVER (il y a 1 h).
Relevé du 20/09 à 05h30 (heure de Paris) par etat_infra.py — muet quand tout va bien ; les exceptions attendues sont dans Etat-Infra/config.json.
Procédures
| Procédure | Dernière utilisation | Vérification |
|---|---|---|
| Sauvegardes VPS → kDrive | aujourd'hui 04h15 — 8/8 OK | OK |
| Komga-PDF (compression des magazines) | 16/09 21h59 — 1 compressé(s), 0 erreur(s) (L'Express - 17 Septembre 2026.pdf, 8.1… | OK — à la demande |
| Komga-Cache (refresh kDrive + 23 scans) | hier 07h45 — 23 scan(s) lance(s), aucun echec | OK |
| Scan Navidrome (quick 4h30, complet lundi 3h) | hier 08h30 — Scan Navidrome lancé OK | OK |
| Scan Audiobookshelf (36 bibliothèques) | hier 08h00 — SCAN OK 36/36 libs | OK |
| Compression Joplin (images en base) | aujourd'hui 07h00 — Economie : 400.2 Mo (77.6%) | OK |
| Veille FreshRSS → BookStack | hier 10h00 — Page 326 creee — 23051 caracteres HTML | OK |
| Seedbox → kDrive movies → Jellyfin « Films récents » | 14/09 23h37 — dernière copie : 5 fichier(s) copie(s) en 125s | OK — à la demande |
| monitor-rclone (recovery des montages) | 12/09 04h20 — dernière intervention : Recovery terminée pour /home/debian/photo | OK — à la demande |
| Montages rclone kDrive (7, dont Jellyfin) | 7/7 montages kDrive répondent | OK |
| Synchro NAS sasnexte → kDrive (4 dossiers) | aujourd'hui — audiobooks 20/09, komga 20/09, music 20/09, photo 20/09 | OK |
| Maillage Syncthing (8 appareils) | 2 appareil(s) vu(s) depuis hier, connecté(s) maintenant : jux-debian | OK |
| Tunnel WireGuard (VPS ↔ NAS ↔ PC) | dernière poignée de main — NAS sasnexte à l'instant, PC julie il y… | OK |
| Kobo — dépôt d'epub (Documents/Kobo) | 22/08 11h28 — 1 fichier(s), dernier : Geohistoire Une autre histoire - Christian… | OK — à la demande |
| Photos-Caesium (PC, dépôt de photos) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Musique-FLAC (PC, FLAC → MP3 vérifié) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Livres-ISBN (PC, inventaire + résolution) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Mealie-Recettes (note Joplin → recette) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Canari Etat-Infra (ce relevé) | relevé en cours | OK |
Récapitulatif complet des procédures (description, où ça tourne, comment vérifier) : page 316. Liste dans Etat-Infra/procedures.json.
Genere le 2026-09-20 a 06h00 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-09-21
Veille du lundi 21 septembre 2026
À regarder — Syncthing : XIAOMI15Pro non vu depuis 3 j · IPTV-Publiques : dernière ligne inattendue : « [2026-09-21 00:18:02] === BILAN: 50/87 chaînes vivantes, 1 perdue (ORF » (depuis 4 j). Le reste est en ordre.
Agenda —
- jeudi 24 septembre : journée déménagement Elio Montpellier
114 articles sur 24 h (115 avant regroupement des doublons et fils de discussion) — 26 retenus dans 6 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
SIG & Cartographie (1)
- QGIS 4.2.2: Changement de la langue GB à FR
GeoRezo.net - QGIS · 08h35 · fil
OpenStreetMap (1)
- weeklyOSM 843
WeeklyOSM · 13h31 · fil
Urbanisme & Territoires (8)
- La fabrique de l'info : 24 heures avec les équipes de Corse-Matin
Alerte Google : corse urbanisme · 20h31 · fil - Saint-Laurent-du-Var : visite du nouveau sous-préfet de Grasse - Presse Agence
Alerte Google : urbanisme var · 18h45 · fil - CHAMBÉRY : Urbanisme – Un chantier à 8,9 M€ pour transformer l'école du Haut-Mâché
Alerte Google : urbanisme alpes maritimes (+1 autre flux) · 12h10 · fil - « Elle fait baisser de 5 °C la température du sol, mais propage les flammes » : après ... - Nice-Matin
Alerte Google : urbanisme var · 08h38 · fil - Op-Ed: Gregoire and Locke Speaks for Oligarchs, Not the Democratic Base
The Urbanist · 01h35 · fil - hebdoOSM 843
weekly – semanario – hebdo – 週刊 – týdeník – Wochennotiz – 주간 – tygodnik · 13h31 · fil - À Miramas, les champions sportifs sont de plus en plus nombreux
Provence-Alpes-Côte d'Azur · 09h36 · fil - À Carry-le-Rouet, le chef étoilé Ilane Tinchant sublime les saveurs de la Côte Bleue
Provence-Alpes-Côte d'Azur · 07h30 · fil
Self-hosting & Infra (3)
- How to Install JellyGlance on Your UGREEN NAS
Marius Hosting · 22h22 · fil - Serveur Plex introuvable
Forum des NAS : Synology, Qnap, Asustor... · 21h18 · fil - Backend iCloud Photos not listing all files (difference between cold listing and parallel fetch count)
Rclone Forum - Announcements · 12h03 · fil
Libre & Linux (10)
- Linux 7.3-rc4 Released: More Fixes Caught By LLMs, But Nothing Too Scary
Phoronix · 23h25 · fil - Agenda du Libre pour la semaine 39 de l’année 2026
LinuxFr.org : les dépêches · 22h11 · fil - Steam snap using core26 is now available for testing
OMG! Ubuntu · 22h01 · fil - Important x86 Fixes Merged Ahead Of Linux 7.3-rc4
Phoronix · 20h19 · fil - Ubuntu 26.10 stops low memory from killing your desktop session
OMG! Ubuntu · 19h55 · fil - Gzip 1.15 Released With Many Bug Fixes For Issues Present Since Its Inception
Phoronix · 16h32 · fil - KDE To Focus On Next-Gen Styling, Better Documentation & KDE For Enterprise
Phoronix · 14h32 · fil - AI-Assisted Starling Desktop Introduces 3D View With "Walkable 3D Waterfront City"
Phoronix · 12h49 · fil - Vulkan 1.4.363 Released With New VK_INTEL_device_info Extension
Phoronix · 12h33 · fil - Linux 7.3 Adds Support For Victrix Pro BFG & Azeron Controllers
Phoronix · 12h21 · fil
IA & Numérique (3)
- Après les jeux Windows, Valve s’attaque à Android : comment Lepton fait tourner les jeux mobiles sous Linux
Goodtech · 04h30 · fil - La cybersécurité bascule dans l’ère des guerres de robots
LeMagIT · 15h35 · fil - Des robots débarquent dans 30 appartements pour faire le ménage : voici le résultat
Actualités · 10h02 · fil
Non retenu (35)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 20 |
| Toulon | 7 |
| Culture | 7 |
| Sans catégorie | 1 |
État de l'infrastructure
- Sauvegardes : 8/8 réussies cette nuit (04h00–04h16), 0,97 Go envoyés sur kDrive
- Services web : 17/17 répondent
- Conteneurs : 32 en marche sur 33 (cadvisor arrêté volontairement) — redémarré(s) depuis hier : Immich-SERVER (il y a 1 h), navidrome-navidrome-1 (il y a 29 min)
- Certificats : 29 domaines, le plus proche expire dans 34 j (pdf.juxjux.ovh)
- Montages rclone : 7/7 montages kDrive répondent
- Syncthing : À regarder — 2 appareil(s) vu(s) depuis hier, connecté(s) maintenant : jux-debian
- WireGuard : dernière poignée de main — NAS sasnexte à l'instant, PC julie il y a 231 min
- NAS sasnexte : ports 22, 445 joignables par le tunnel — synchros vers kDrive : audiobooks 21/09, music 21/09, photo 21/09, komga 21/09
- Komga-PDF : dernier traitement le 16/09 à 21h59 — Résultat : 1 compressé(s), 0 erreur(s) (L'Express - 17 Septembre 2026.pdf, 8.1 Mio (-82 %))
- Tâches nocturnes : À regarder — 7/8 à l'heure et sans erreur — IPTV-Publiques (dernière ligne inattendue : « [2026-09-21 00:18:02] === BILAN: 50/87 chaînes vivantes, 1 perdue (ORF »)
- Disque et mémoire : /home/debian à 66 % (31 Go libres), mémoire disponible 2.3 Go, swap à 56 %
Changements depuis hier : conteneur(s) redémarré(s) depuis hier : Immich-SERVER (il y a 1 h), navidrome-navidrome-1 (il y a 29 min).
Relevé du 21/09 à 05h30 (heure de Paris) par etat_infra.py — muet quand tout va bien ; les exceptions attendues sont dans Etat-Infra/config.json.
Procédures
| Procédure | Dernière utilisation | Vérification |
|---|---|---|
| Sauvegardes VPS → kDrive | aujourd'hui 04h16 — 8/8 OK | OK |
| Komga-PDF (compression des magazines) | 16/09 21h59 — 1 compressé(s), 0 erreur(s) (L'Express - 17 Septembre 2026.pdf, 8.1… | OK — à la demande |
| Komga-Cache (refresh kDrive + 23 scans) | hier 07h45 — 23 scan(s) lance(s), aucun echec | OK |
| Scan Navidrome (quick 4h30, complet lundi 3h) | aujourd'hui 07h00 — Container redémarré — full scan en cours | OK |
| Scan Audiobookshelf (36 bibliothèques) | hier 08h00 — SCAN OK 36/36 libs | OK |
| Compression Joplin (images en base) | aujourd'hui 07h00 — Economie : 400.2 Mo (77.6%) | OK |
| Veille FreshRSS → BookStack | hier 10h00 — Page 327 creee — 17113 caracteres HTML | OK |
| Seedbox → kDrive movies → Jellyfin « Films récents » | 14/09 23h37 — dernière copie : 5 fichier(s) copie(s) en 125s | OK — à la demande |
| monitor-rclone (recovery des montages) | 12/09 04h20 — dernière intervention : Recovery terminée pour /home/debian/photo | OK — à la demande |
| Montages rclone kDrive (7, dont Jellyfin) | 7/7 montages kDrive répondent | OK |
| Synchro NAS sasnexte → kDrive (4 dossiers) | aujourd'hui — audiobooks 21/09, komga 21/09, music 21/09, photo 21/09 | OK |
| Maillage Syncthing (8 appareils) | 2 appareil(s) vu(s) depuis hier, connecté(s) maintenant : jux-debian | À regarder |
| Tunnel WireGuard (VPS ↔ NAS ↔ PC) | dernière poignée de main — NAS sasnexte à l'instant, PC julie il y… | OK |
| Kobo — dépôt d'epub (Documents/Kobo) | 22/08 11h28 — 1 fichier(s), dernier : Geohistoire Une autre histoire - Christian… | OK — à la demande |
| Photos-Caesium (PC, dépôt de photos) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Musique-FLAC (PC, FLAC → MP3 vérifié) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Livres-ISBN (PC, inventaire + résolution) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Mealie-Recettes (note Joplin → recette) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Canari Etat-Infra (ce relevé) | relevé en cours | OK |
Récapitulatif complet des procédures (description, où ça tourne, comment vérifier) : page 316. Liste dans Etat-Infra/procedures.json.
Genere le 2026-09-21 a 06h00 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-09-22
Veille du mardi 22 septembre 2026
À regarder — Syncthing : XIAOMI15Pro non vu depuis 4 j (depuis 2 j) · IPTV-Publiques : dernière ligne inattendue : « [2026-09-22 00:18:14] === BILAN: 51/87 chaînes vivantes, 1 perdue (Tel » (depuis 5 j). Le reste est en ordre.
Agenda —
- jeudi 24 septembre : journée déménagement Elio Montpellier
- vendredi 25 septembre : journée WE Arles RIP avec les Hugede (Arles)
242 articles sur 24 h (252 avant regroupement des doublons et fils de discussion) — 89 retenus dans 5 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
SIG & Cartographie (5)
- Re: QGIS 4.2.2: Changement de la langue GB à FR
GeoRezo.net - QGIS (+1 autre flux) · 00h52 · fil - (Géo'Bar) Cartographie des reseaux et Debouchage canalisation
GeoRezo.net · 20h57 · fil - (Géo communiqué) Géoscopia : la plateforme des services du foncier
GeoRezo.net · 15h14 · fil - (QGIS) Re: QGIS: Format .db pour integration sur Python Tkinter
GeoRezo.net (+1 autre flux) · 11h37 · fil - (Géomatique) Atelier de choix du futur LiDAR topo-bathymétrique de l'OSUNA
GeoRezo.net · 10h18 · fil
Urbanisme & Territoires (34)
- En Corse, pour mieux lutter contre la mafia, la justice veut s'attaquer à la « bourgeoisie criminelle »
Alerte Google : corse urbanisme · 23h28 · fil - Démarches Administratives & Permis de Construire Var - Moe SV
Alerte Google : urbanisme var · 16h23 · fil - La préfecture du Var labellisée Architecture contemporaine remarquable - Toulon
Alerte Google : urbanisme var · 13h32 · fil - Cummissione pulitiche ambientale, assestu di u territoriu è urbanisimu - Collectivité de Corse
Alerte Google : corse urbanisme · 12h57 · fil - Candidats, scrutin et enjeux : tout savoir sur les sénatoriales dans les Bouches-du-Rhône
Alerte Google : urbanisme bouches du rhône · 12h02 · fil - « Même s'il n'y a que des ruines, on veut montrer qu'on peut reconstruire » : cette mairie ...
Alerte Google : urbanisme var · 20h38 · fil - « Construire un projet fondé sur un équilibre en maîtrise urbaine, préservation du patrimoine ...
Alerte Google : urbanisme var · 20h08 · fil - "On perd des clients" : la fermeture de cette voie à Aix-en-Provence provoque la colère des ...
Alerte Google : urbanisme bouches du rhône · 17h02 · fil - A la veille de la DUP, rentrée électrique autour du projet de ligne aérienne THT entre ... - Le Moniteur
Alerte Google : urbanisme bouches du rhône · 16h40 · fil - L’ancien procureur de Marseille, Jacques Dallest, revient sur les lieux du crime
Provence-Alpes-Côte d'Azur · 15h59 · fil - Quels sont les prix de l'immobilier à Arles et en Camargue ?
Provence-Alpes-Côte d'Azur · 11h48 · fil - À La Seyne-sur-Mer, urbanisme, finances et patrimoine à l'ordre du jour - Petites Affiches
Alerte Google : urbanisme bouches du rhône · 11h18 · fil - … et 22 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Self-hosting & Infra (7)
- How to Install Akaunting on Your Synology NAS
Marius Hosting · 22h38 · fil - Synology: Set Up Email Notifications on Akaunting
Marius Hosting · 00h59 · fil - Jellyfin 12 est disponible ! Avez-vous fait le grand saut ? :D
Forum des NAS : Synology, Qnap, Asustor... · 20h07 · fil - (Vendu) Asustor AS 3304T Drivestor 4 Pro
Forum des NAS : Synology, Qnap, Asustor... · 10h37 · fil - Présentation Leonard
Forum des NAS : Synology, Qnap, Asustor... · 06h48 · fil - v0.64.1 - Security Fixes
Navidrome GitHub Releases · 00h54 · fil - Question about file deletion propagation
Syncthing Forum - Announcements · 21h26 · fil
Libre & Linux (23)
- LibreOffice at FrOSCon 2026
TDF Community Blog (+1 autre flux) · 09h24 · fil - Ubuntu cloud images dropped another package by accident
OMG! Ubuntu · 03h53 · fil - Valve Introduces Pyrowave Video Codec In Beta For Low Latency Streaming
Phoronix · 03h00 · fil - Wallpapi gives you a cooler way to change wallpaper on GNOME
OMG! Ubuntu · 02h28 · fil - AMD Begins Preparing Open-Source Linux Driver For Graphics Cards With GDDR7
Phoronix · 22h52 · fil - Gravity Linux Aims To Provide A Nice Experience For Apple M4 & Newer
Phoronix · 21h58 · fil - Patches Posted For Enabling Apple Silicon Mac Speaker & Headset Jack Support On Linux
Phoronix · 20h03 · fil - Nebula Matrix Network Driver Queued Ahead Of Linux 7.4
Phoronix · 19h23 · fil - Sublime Text gains new C# highlighter, file icon themes
OMG! Ubuntu · 18h51 · fil - L'association OpenStreetMap France - Podcast Projets Libres épisode 74
LinuxFr.org : les dépêches · 17h47 · fil - Revue de presse de l’April pour la semaine 38 de l’année 2026
LinuxFr.org : les dépêches · 17h43 · fil - AMD EPYC Server Performance Up ~8% Geo Mean For 2026 With Linux Kernel Improvements
Phoronix · 17h00 · fil - … et 11 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (20)
- Anthropic appelle à ralentir la course à l’IA… mais envisagerait déjà un nouveau modèle face à OpenAI
Numerama · 11h58 · fil - Un complot pour ralentir l’IA ? Une plainte accuse OpenAI, Google, Anthropic et xAI de manipulation anticoncurrentielle
Actualités · 11h30 · fil - Dérapage chez Google : Gemini a piraté 3 entreprises pendant un test qui a mal tourné
Actualités · 08h00 · fil - IA : le nouveau modèle Jev se veut le champion des « décisions typées »
Next - Articles gratuits · 17h41 · fil - Splunk .conf26 : des serveurs plus chers pour la nouvelle surveillance des IA
LeMagIT · 14h20 · fil - Méfiez-vous du mouchard de ChatGPT
Korben · 10h58 · fil - « Le plus grand vol de travail de l’histoire » : en coulisses, Microsoft ne mâche pas ses mots sur l’IA
Actualités · 10h04 · fil - Google enfreint le RGPD et écope d’une amende de 403 millions d’euros - Next
Liens en vrac de sebsauvage (+1 autre flux) · 15h26 · fil - Vous avez trop de réunions ? Ce petit badge qui enregistre et résume vos réunions grâce à l’IA perd 51 € pour la rentrée
Numerama · 14h15 · fil - OpenAI KNOWS that their AIs are theft. Here's how we hold them accountable.
The Bryant Review · 13h00 · fil - L’hallucination d’une IA a failli provoquer un affrontement entre les États-Unis et la Chine - Next
Liens en vrac de sebsauvage (+1 autre flux) · 11h21 · fil - Ce détail étrange montre-t-il que Marvel’s Wolverine utilise de l’IA ? Le studio répond
Numerama · 10h02 · fil - … et 8 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Non retenu (99)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 82 |
| Sans catégorie | 8 |
| Culture | 4 |
| Synoworld | 3 |
| Toulon | 2 |
État de l'infrastructure
- Sauvegardes : 8/8 réussies cette nuit (04h00–04h16), 0,95 Go envoyés sur kDrive
- Services web : 17/17 répondent
- Conteneurs : 32 en marche sur 33 (cadvisor arrêté volontairement) — redémarré(s) depuis hier : Immich-SERVER (il y a 1 h), navidrome-navidrome-1 (il y a 24 h)
- Certificats : 29 domaines, le plus proche expire dans 33 j (pdf.juxjux.ovh)
- Montages rclone : 7/7 montages kDrive répondent
- Syncthing : À regarder — 3 appareil(s) vu(s) depuis hier, connecté(s) maintenant : jux-debian
- WireGuard : dernière poignée de main — NAS sasnexte à l'instant, PC julie il y a 433 min
- NAS sasnexte : ports 22, 445 joignables par le tunnel — synchros vers kDrive : audiobooks 22/09, music 22/09, photo 22/09, komga 22/09
- Komga-PDF : dernier traitement le 21/09 à 22h06 — Résultat : 1 compressé(s), 0 erreur(s) (Austrian Cuisine.pdf, 99.8 Mio (-2 %))
- Tâches nocturnes : À regarder — 7/8 à l'heure et sans erreur — IPTV-Publiques (dernière ligne inattendue : « [2026-09-22 00:18:14] === BILAN: 51/87 chaînes vivantes, 1 perdue (Tel »)
- Disque et mémoire : /home/debian à 66 % (31 Go libres), mémoire disponible 2.2 Go, swap à 51 %
Changements depuis hier : conteneur(s) redémarré(s) depuis hier : Immich-SERVER (il y a 1 h), navidrome-navidrome-1 (il y a 24 h).
Relevé du 22/09 à 05h30 (heure de Paris) par etat_infra.py — muet quand tout va bien ; les exceptions attendues sont dans Etat-Infra/config.json.
Procédures
| Procédure | Dernière utilisation | Vérification |
|---|---|---|
| Sauvegardes VPS → kDrive | aujourd'hui 04h16 — 8/8 OK | OK |
| Komga-PDF (compression des magazines) | hier 22h06 — 1 compressé(s), 0 erreur(s) (Austrian Cuisine.pdf, 99.8 Mio (-2 %)) | OK — à la demande |
| Komga-Cache (refresh kDrive + 23 scans) | hier 07h45 — 23 scan(s) lance(s), aucun echec | OK |
| Scan Navidrome (quick 4h30, complet lundi 3h) | hier 08h30 — Scan Navidrome lancé OK | OK |
| Scan Audiobookshelf (36 bibliothèques) | hier 08h00 — SCAN OK 36/36 libs | OK |
| Compression Joplin (images en base) | aujourd'hui 07h00 — Economie : 400.2 Mo (77.6%) | OK |
| Veille FreshRSS → BookStack | hier 10h00 — Page 328 creee — 15793 caracteres HTML | OK |
| Seedbox → kDrive movies → Jellyfin « Films récents » | 14/09 23h37 — dernière copie : 5 fichier(s) copie(s) en 125s | OK — à la demande |
| monitor-rclone (recovery des montages) | 12/09 04h20 — dernière intervention : Recovery terminée pour /home/debian/photo | OK — à la demande |
| Montages rclone kDrive (7, dont Jellyfin) | 7/7 montages kDrive répondent | OK |
| Synchro NAS sasnexte → kDrive (4 dossiers) | aujourd'hui — audiobooks 22/09, komga 22/09, music 22/09, photo 22/09 | OK |
| Maillage Syncthing (8 appareils) | 3 appareil(s) vu(s) depuis hier, connecté(s) maintenant : jux-debian | À regarder |
| Tunnel WireGuard (VPS ↔ NAS ↔ PC) | dernière poignée de main — NAS sasnexte à l'instant, PC julie il y… | OK |
| Kobo — dépôt d'epub (Documents/Kobo) | 22/08 11h28 — 1 fichier(s), dernier : Geohistoire Une autre histoire - Christian… | OK — à la demande |
| Photos-Caesium (PC, dépôt de photos) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Musique-FLAC (PC, FLAC → MP3 vérifié) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Livres-ISBN (PC, inventaire + résolution) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Mealie-Recettes (note Joplin → recette) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Canari Etat-Infra (ce relevé) | relevé en cours | OK |
Récapitulatif complet des procédures (description, où ça tourne, comment vérifier) : page 316. Liste dans Etat-Infra/procedures.json.
Genere le 2026-09-22 a 06h00 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-09-23
Veille du mercredi 23 septembre 2026
À regarder — Syncthing : XIAOMI15Pro non vu depuis 5 j (depuis 3 j) · IPTV-Publiques : dernière ligne inattendue : « [2026-09-23 00:18:02] === BILAN: 53/87 chaînes vivantes, 1 perdue (RTP » (depuis 6 j). Le reste est en ordre.
Agenda —
- demain : journée déménagement Elio Montpellier
- vendredi 25 septembre : journée WE Arles RIP avec les Hugede (Arles)
241 articles sur 24 h (248 avant regroupement des doublons et fils de discussion) — 88 retenus dans 6 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
SIG & Cartographie (6)
- (Données) Serveur datafoncier.cerema.fr en vrac... jusqu'à quand ?
GeoRezo.net · 18h04 · fil - (QGIS) Re: QGIS: lier un tableau Excel en ligne a un Projet
GeoRezo.net (+1 autre flux) · 15h46 · fil - (QGIS) QGIS: lier un tableau Excel en ligne a un Projet
GeoRezo.net · 14h52 · fil - (Géo'Bar) Re: Cartographie des reseaux et Debouchage canalisation
GeoRezo.net · 13h55 · 2 messages · fil - (Geolibre) Re: Optimisation des flux
GeoRezo.net · 10h28 · fil - (Géomatique) Slope Rider
GeoRezo.net · 09h27 · fil
Urbanisme & Territoires (36)
- Emaver, du verre façonné dans le Var depuis 70 ans
Provence-Alpes-Côte d'Azur · 09h06 · fil - Avec la révision de son PLU, Vescovato veut amorcer son développement économique
Alerte Google : corse urbanisme · 22h00 · fil - « On était pressés » : pour agrandir sa maison dans le Var, il trouve cette solution inattendue
Alerte Google : urbanisme var (+1 autre flux) · 20h33 · fil - De gauche à droite, les listes des candidats aux sénatoriales 2026 dans les Bouches-du-Rhône
Alerte Google : urbanisme bouches du rhône · 18h53 · fil - A Vitrolles, dans les Bouches-du-Rhône, GSE espère livrer au 2ème trimestre 2027 un ...
Alerte Google : urbanisme bouches du rhône · 18h30 · fil - Bouches-du-Rhône : Suez renonce à son projet de chaufferie CSR - Le Moniteur
Alerte Google : urbanisme bouches du rhône · 18h30 · fil - climat #urbanisme #adaptation #corse #eau #sécheresse | Clément Gaillard - LinkedIn
Alerte Google : corse urbanisme · 10h46 · fil - Immobilier : Aix-en-Provence reste la cinquième commune la plus chère des Bouches-du-Rhône
Provence-Alpes-Côte d'Azur · 10h23 · fil - 9ème édition du Salon des Communes et des Intercommunalités du Var
Alerte Google : urbanisme var · 09h03 · fil - Comment ce projet très attendu de salle polyvalente dans la vallée de la Roya a failli ne pas ...
Alerte Google : urbanisme var · 20h42 · fil - Le conseil municipal de La Seyne-sur-Mer manifeste son « soutien indéfectible aux sapeurs ...
Alerte Google : urbanisme var · 20h32 · fil - « Cette concession va finir par avoisiner le demi-siècle » : aux portes de Toulon, l ...
Alerte Google : urbanisme var · 20h02 · fil - … et 24 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Self-hosting & Infra (6)
- Synology & UGREEN NAS WordPress 7.1.2 Released
Marius Hosting · 04h39 · fil - Synology SRM Version 1.3.2-9366 Update 3
Marius Hosting · 04h39 · fil - Installer Transmute avec Docker
belginux - self-hosting, Docker & Linux · 19h56 · fil - (vendu) Asustor NIMBUSTOR 2 AS5202T
Forum des NAS : Synology, Qnap, Asustor... · 18h28 · fil - Le Nantais 44 est content de rejoindre votre groupe.
Forum des NAS : Synology, Qnap, Asustor... · 12h03 · fil - Unix domain socket
Readeck Community · 10h45 · fil
Libre & Linux (18)
- San Salvador will host the VII Latin American Congress of LibreOffice in 2026
TDF Community Blog (+1 autre flux) · 13h44 · fil - Open-Source NVIDIA "Nouveau" Driver Sees Patches For HDMI Deep Color Support
Phoronix · 02h54 · fil - Hylke Bons: Bobby 51
Planet GNOME · 02h00 · fil - OpenShot video editor is now (officially) available as a snap
OMG! Ubuntu · 00h09 · fil - Linux 7.2 vs. Linux 7.3 Shows A Few Improvements With AMD Strix Halo
Phoronix · 21h23 · fil - Ubuntu Linux Maker Canonical Achieved $345M USD In Revenue For 2025
Phoronix · 20h26 · fil - Ubuntu wiki gets its first overhaul in 16 years
OMG! Ubuntu · 20h08 · fil - Obscura VPN now offers a desktop app for Linux
OMG! Ubuntu · 18h50 · fil - Variable Refresh Rate "VRR" Target Limiter Proposed For Linux Graphics Drivers
Phoronix · 17h29 · fil - SPEC Releases SPECviewperf 15.0.1 For Linux
Phoronix · 16h36 · fil - systemd 262 Released With AI/LLM Canary For Unreviewed Code, LUO Integration
Phoronix · 15h35 · fil - Vibe Coded YSERVER Adds XDMCP Support For Multi-User Shared Desktops
Phoronix · 15h28 · fil - … et 6 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (19)
- Claude Opus 5.5 et GPT-6 Sol sortent le même jour : Anthropic et OpenAI ont du mal à « ralentir » l’IA
Numerama · 22h11 · fil - « 0 % de chance » : Nvidia ne croit pas à l’apocalypse de l’IA
Actualités · 08h03 · fil - 2h de cours par jour grâce à l’IA : c’est quoi Alpha School, l’école choisie par Fidji Simo pour sa fille ?
Numerama · 16h26 · fil - 42 mille fichiers locaux siphonnés en silence : pas de bol, l’assistant IA ZCode s’est fait prendre la main dans le sac
Goodtech · 06h47 · fil - 30 % des salariés remplacés par l’IA devront être réembauchés, selon Gartner
LeMagIT · 19h10 · fil - Le Rampart, la nouvelle arme anti-drones de la Marine nationale, repéré sur le Mistral avant son départ pour l’Afrique
Numerama · 17h56 · fil - ☕️ Aux États-Unis, le secrétaire au Trésor tient OpenAI pour responsable de ses agents
Next - Articles gratuits · 17h29 · fil - Vie privée : le cas LG braque à nouveau les projecteurs sur les TV connectées
Next - Articles gratuits · 16h23 · fil - Le roman phénomène de la rentrée littéraire est accusé d’être généré par IA : pourquoi on ne pourra jamais savoir ?
Numerama · 12h15 · fil - ASUS ProArt GR1X : le mini-PC IA pour agents locaux
SysKB · 11h48 · fil - Face à la colère des médaillés Fields, OpenAI s’entoure de neuf grands chercheurs pour tenter d’apaiser les mathématiciens
Numerama · 11h20 · fil - ☕️ OpenAI tente de renouer le dialogue avec les mathématiciens
Next - Articles gratuits · 08h13 · fil - … et 7 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Signaux transverses (3)
- Decathlon fait baisser de 300 € son vélo électrique Elops 500 longue distance
Numerama · 11h18 · fil - Bornes de recharge pour véhicules électriques (IRVE)
Derniers jeux de données · 14h06 · fil - Guides des stations forestières en France Métropolitainre
Derniers jeux de données · 10h40 · fil
Non retenu (98)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 75 |
| Sans catégorie | 18 |
| Culture | 4 |
| Synoworld | 1 |
État de l'infrastructure
- Sauvegardes : 8/8 réussies cette nuit (04h00–04h15), 0,94 Go envoyés sur kDrive
- Services web : 17/17 répondent
- Conteneurs : 32 en marche sur 33 (cadvisor arrêté volontairement) — redémarré(s) depuis hier : Immich-SERVER (il y a 1 h)
- Certificats : 29 domaines, le plus proche expire dans 32 j (pdf.juxjux.ovh)
- Montages rclone : 7/7 montages kDrive répondent
- Syncthing : À regarder — 3 appareil(s) vu(s) depuis hier, connecté(s) maintenant : jux-debian
- WireGuard : dernière poignée de main — NAS sasnexte il y a 2 min, PC julie il y a 445 min
- NAS sasnexte : ports 22, 445 joignables par le tunnel — synchros vers kDrive : audiobooks 23/09, music 23/09, photo 23/09, komga 23/09
- Komga-PDF : aucun traitement dans la fin du journal
- Tâches nocturnes : À regarder — 8/9 à l'heure et sans erreur — IPTV-Publiques (dernière ligne inattendue : « [2026-09-23 00:18:02] === BILAN: 53/87 chaînes vivantes, 1 perdue (RTP »)
- Disque et mémoire : /home/debian à 65 % (32 Go libres), mémoire disponible 2.1 Go, swap à 51 %
Changements depuis hier : conteneur(s) redémarré(s) depuis hier : Immich-SERVER (il y a 1 h).
Relevé du 23/09 à 05h30 (heure de Paris) par etat_infra.py — muet quand tout va bien ; les exceptions attendues sont dans Etat-Infra/config.json.
Procédures
| Procédure | Dernière utilisation | Vérification |
|---|---|---|
| Sauvegardes VPS → kDrive | aujourd'hui 04h15 — 8/8 OK | OK |
| Komga-PDF (compression des magazines) | — | OK — à la demande |
| Komga-Cache (refresh kDrive + 23 scans) | hier 07h45 — 23 scan(s) lance(s), aucun echec | OK |
| Scan Navidrome (quick 4h30, complet lundi 3h) | hier 08h30 — Scan Navidrome lancé OK | OK |
| Scan Audiobookshelf (36 bibliothèques) | hier 08h00 — SCAN OK 36/36 libs | OK |
| Compression Joplin (images en base) | aujourd'hui 07h00 — Economie : 400.2 Mo (77.6%) | OK |
| Veille FreshRSS → BookStack | hier 10h00 — Page 329 creee — 23549 caracteres HTML | OK |
| Seedbox → kDrive movies → Jellyfin « Films récents » | 14/09 23h37 — dernière copie : 5 fichier(s) copie(s) en 125s | OK — à la demande |
| monitor-rclone (recovery des montages) | 12/09 04h20 — dernière intervention : Recovery terminée pour /home/debian/photo | OK — à la demande |
| Montages rclone kDrive (7, dont Jellyfin) | 7/7 montages kDrive répondent | OK |
| Synchro NAS sasnexte → kDrive (4 dossiers) | aujourd'hui — audiobooks 23/09, komga 23/09, music 23/09, photo 23/09 | OK |
| Maillage Syncthing (8 appareils) | 3 appareil(s) vu(s) depuis hier, connecté(s) maintenant : jux-debian | À regarder |
| Tunnel WireGuard (VPS ↔ NAS ↔ PC) | dernière poignée de main — NAS sasnexte il y a 2 min, PC julie il y… | OK |
| Kobo — dépôt d'epub (Documents/Kobo) | 22/08 11h28 — 1 fichier(s), dernier : Geohistoire Une autre histoire - Christian… | OK — à la demande |
| Photos-Caesium (PC, dépôt de photos) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Musique-FLAC (PC, FLAC → MP3 vérifié) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Livres-ISBN (PC, inventaire + résolution) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Mealie-Recettes (note Joplin → recette) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Canari Etat-Infra (ce relevé) | relevé en cours | OK |
Récapitulatif complet des procédures (description, où ça tourne, comment vérifier) : page 316. Liste dans Etat-Infra/procedures.json.
Genere le 2026-09-23 a 06h00 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-09-24
Veille du jeudi 24 septembre 2026
À regarder — Sauvegardes : 7/8 réussies cette nuit (Documents ===) · IPTV-Publiques : dernière ligne inattendue : « [2026-09-24 00:18:17] === BILAN: 51/87 chaînes vivantes, 3 perdues (OR » (depuis 7 j). Le reste est en ordre. Rétabli depuis hier : Syncthing.
Agenda —
- aujourd'hui : journée déménagement Elio Montpellier
- demain : journée WE Arles RIP avec les Hugede (Arles)
277 articles sur 24 h (280 avant regroupement des doublons et fils de discussion) — 98 retenus dans 7 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
SIG & Cartographie (13)
- (Géo communiqué) MCP : Concilier des approches déterministes et probabilistes
GeoRezo.net · 18h31 · fil - (Géomatique) Re: Obtenir les parcelles cadastral
GeoRezo.net · 16h41 · fil - (Job) (CDD/FPT) Chef(fe) de projet DataAnalyst - Hypervision - GPSO (92)
GeoRezo.net · 13h11 · fil - (Geolibre_web) Re: Présentation de quelques logiciels auxquels ce forum est dédié
GeoRezo.net · 12h18 · fil - (Données) Re: (MAJIC) Recherche champs de surface du bâti
GeoRezo.net · 11h52 · fil - (Job) (STAGE) Valorisation des donnees LIDAR HD du territoire - (76)
GeoRezo.net · 11h30 · fil - (Géomatique) Obtenir les parcelles cadastral
GeoRezo.net · 11h26 · fil - (Données) Re: Serveur datafoncier.cerema.fr en vrac... jusqu'à quand ?
GeoRezo.net · 11h23 · 2 messages · fil - (Autodesk SIG) ACAD MAP 2027.0.1 Update et ACAD 2027.1 Updates DISPOs
GeoRezo.net · 10h38 · fil - (Autodesk SIG) ACAD MAP 2025.0.3 Update et ACAD 2025.1.4 Updates DISPOs
GeoRezo.net · 10h28 · fil - (Données) Re: Fabrique de la donnée territoriale
GeoRezo.net · 10h27 · fil - (Données) (MAJIC) Recherche champs de surface du bâti
GeoRezo.net · 10h18 · fil - … et 1 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
OpenStreetMap (1)
- Como usar a plataforma de Mapeamento Colaborativo de Bairros com dados derivados do CNEFE / IBGE 2022 no Openstreetmap usando o Editor JOSM.
OSM Diaries · 15h53 · fil
Urbanisme & Territoires (46)
- 500 000 euros d'amende contre Antony Perrino et son père pour "1 000 m² de constructions ...
Alerte Google : corse urbanisme · 23h12 · fil - Loi Montagne III, ce qui change - Agence d'Urbanisme et d'Énergie de la Corse
Alerte Google : corse urbanisme · 20h32 · fil - Nîmes, la ville minérale face à la fournaise - La Marseillaise
Alerte Google : urbanisme bouches du rhône · 16h33 · fil - Alpes-Maritimes : rénovation thermique de l'hôtel de ville de Contes - Le Moniteur
Alerte Google : urbanisme alpes maritimes · 12h38 · fil - Var : début du chantier de la Ligne Nouvelle Provence Côte d'Azur - Le Moniteur
Alerte Google : urbanisme var · 12h36 · fil - Alpes-Maritimes : chantier de confortement à l'échangeur de Nice-Est - Le Moniteur
Alerte Google : urbanisme alpes maritimes · 12h36 · fil - TIMS tour : la mobilité inclusive au menu - Agence d'Urbanisme et d'Énergie de la Corse
Alerte Google : corse urbanisme · 12h30 · fil - Commission Permanente du mercredi 30 septembre 2026 - Collectivité de Corse
Alerte Google : corse urbanisme · 10h28 · fil - Le nouveau bureau de l'association du Saint-Raphaël Var Handball reçu par Frédéric Masquelier
Alerte Google : urbanisme var · 09h26 · fil - Île de Cavallo : Anthony Perrino et son père condamnés à plus de 500.000 euros d'amende ...
Alerte Google : corse urbanisme · 22h01 · fil - Rocher Mistral : démolition, remise en l'état, 55 000 euros d'amendes, la cour d ... - France 3 Régions
Alerte Google : urbanisme bouches du rhône · 21h41 · fil - "Regarde la différence" : ce maire fait la chasse aux panneaux publicitaires qui gâchent le paysage
Alerte Google : urbanisme bouches du rhône · 21h40 · fil - … et 34 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Self-hosting & Infra (6)
- Synology & UGREEN Dockhand Docker Version 1.0.49
Marius Hosting · 17h20 · fil - Gestion Docker : Dockhand, Portainer, Arcane ...
Forum des NAS : Synology, Qnap, Asustor... · 15h20 · fil - UGREEN NAS: EXT4 vs Btrfs – Which File System Should You Choose?
Marius Hosting · 23h44 · fil - Présentation
Forum des NAS : Synology, Qnap, Asustor... · 17h23 · fil - validation officielle de compatibilité VMware
Forum des NAS : Synology, Qnap, Asustor... · 17h01 · fil - SRM 1.3.2-9366-3
Forum des NAS : Synology, Qnap, Asustor... · 08h16 · fil
Libre & Linux (12)
- FLOSS/fund support for LibreOffice
TDF Community Blog (+1 autre flux) · 09h34 · fil - Ubuntu speeds up kernel security updates because of AI
OMG! Ubuntu · 03h01 · fil - Ex-Microsoft dev builds a new task manager for Linux
OMG! Ubuntu · 23h56 · fil - Debian Inference Portal Launches To Provide Free AI/LLM Inferencing To Debian Developers
Phoronix · 23h08 · fil - Qualcomm Talks Up Linux On Snapdragon X2 Laptops
Phoronix · 22h49 · fil - Lemonade Fixes AMD APU Model Streaming, Drops OpenMOSS ROCm As ~40x Slower Than Vulkan
Phoronix · 21h41 · fil - Intel Developing Their DXVK-IGDEXT For Improved Linux Gaming On Arc Graphics
Phoronix · 16h54 · fil - Benchmarking Java Performance Of JDK 8 Through OpenJDK 27
Phoronix · 16h17 · fil - NTFS-3G Update Brings Many Security Fixes
Phoronix · 14h27 · fil - Qualcomm Posts Open-Source GPU Driver Patches For Adreno 850 One Day After Announcement
Phoronix · 13h45 · fil - AMD Upstreams AVX10_V2_AUX Support Into LLVM Clang 24
Phoronix · 12h25 · fil - Linux 7.3 Reverting Logitech Bolt Receiver HID++ After Too Many Bugs Encountered
Phoronix · 12h15 · fil
IA & Numérique (19)
- ChatGPT vs Claude : OpenAI et Anthropic dégainent des IA moins chers et plus efficaces… au lieu de ralentir
Actualités · 08h17 · fil - Claude Opus 5.5, GPT-6 Sol et Luna : Anthropic et OpenAI jouent le coup de la baisse des prix
LeMagIT · 14h37 · fil - Claude Opus 5.5, GPT-6 Sol et Luna : Anthropic et OpenAI se battent sur les prix
Next - Articles gratuits · 07h30 · fil - Anthropic unveils Claude Opus 5.5 with enhanced safety measures and 40% cost reduction
News - AlternativeTo.net · 14h00 · fil - « Prenez 24 heures pour vous calmer » : pourquoi KDE a dû verrouiller son débat sur l’IA en urgence
Goodtech · 07h38 · fil - UGREEN iDX6011 Pro : le NAS IA local arrive en France à 5 999,99 €
SysKB · 22h52 · fil - Rentahumain.ai : le site qui permet aux IA de louer des humains - Numerama
Liens en vrac de sebsauvage · 20h11 · fil - Une IA transformée en espion : Meta corrige une faille critique de Muse, son nouvel agent autonome
Actualités · 18h00 · fil - Deux Snapdragon 8 Elite Gen 6 pour faire tourner l’IA sans saturer la mémoire
Next - Articles gratuits · 17h17 · fil - Meta veut que son IA passe vos appels…quitte à les confier à des inconnus
Actualités · 15h15 · fil - « Pacte Numérique et IA » : une promesse de collaboration avec l’État, mais pas d’achats publics
LeMagIT · 13h52 · fil - Okta lance des outils de gestion du cycle de vie des agents d’IA
LeMagIT · 13h07 · fil - … et 7 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Signaux transverses (1)
- Données d’occupation du sol sur le périmètre du SCoT du Biterrois 5 millésimes
Derniers jeux de données · 13h29 · fil
Non retenu (102)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 79 |
| Sans catégorie | 14 |
| Culture | 4 |
| cuisine | 2 |
| Libres et Ouverts | 2 |
| Toulon | 1 |
État de l'infrastructure
- Sauvegardes : À regarder — 7/8 réussies (Documents ===), 04h00–04h15, 1,65 Go envoyés sur kDrive
- Services web : 17/17 répondent
- Conteneurs : 32 en marche sur 33 (cadvisor arrêté volontairement) — redémarré(s) depuis hier : Immich-SERVER (il y a 1 h)
- Certificats : 29 domaines, le plus proche expire dans 31 j (pdf.juxjux.ovh)
- Montages rclone : 7/7 montages kDrive répondent — monitor-rclone est intervenu 5 fois depuis hier
- Syncthing : 4 appareil(s) vu(s) depuis hier, connecté(s) maintenant : jux-debian
- WireGuard : dernière poignée de main — NAS sasnexte il y a 1 min, PC julie il y a 386 min
- NAS sasnexte : ports 22, 445 joignables par le tunnel — synchros vers kDrive : audiobooks 24/09, music 24/09, photo 24/09, komga 24/09
- Komga-PDF : aucun traitement dans la fin du journal
- Tâches nocturnes : À regarder — 8/9 à l'heure et sans erreur — IPTV-Publiques (dernière ligne inattendue : « [2026-09-24 00:18:17] === BILAN: 51/87 chaînes vivantes, 3 perdues (OR »)
- Disque et mémoire : /home/debian à 66 % (32 Go libres), mémoire disponible 2.2 Go, swap à 59 %
Changements depuis hier : conteneur(s) redémarré(s) depuis hier : Immich-SERVER (il y a 1 h) ; monitor-rclone est intervenu 5 fois depuis hier (Recovery terminée pour /home/debian/photo).
Rétabli depuis hier : Syncthing : XIAOMI15Pro non vu depuis 5 j.
Relevé du 24/09 à 05h30 (heure de Paris) par etat_infra.py — muet quand tout va bien ; les exceptions attendues sont dans Etat-Infra/config.json.
Procédures
| Procédure | Dernière utilisation | Vérification |
|---|---|---|
| Sauvegardes VPS → kDrive | aujourd'hui 04h15 — 7/8 OK | À regarder |
| Komga-PDF (compression des magazines) | — | OK — à la demande |
| Komga-Cache (refresh kDrive + 23 scans) | hier 07h45 — 23 scan(s) lance(s), aucun echec | OK |
| Scan Navidrome (quick 4h30, complet lundi 3h) | hier 08h30 — Scan Navidrome lancé OK | OK |
| Scan Audiobookshelf (36 bibliothèques) | hier 08h00 — SCAN OK 36/36 libs | OK |
| Compression Joplin (images en base) | aujourd'hui 07h00 — Economie : 400.2 Mo (77.6%) | OK |
| Veille FreshRSS → BookStack | hier 10h00 — Page 330 creee — 23866 caracteres HTML | OK |
| Seedbox → kDrive movies → Jellyfin « Films récents » | 14/09 23h37 — dernière copie : 5 fichier(s) copie(s) en 125s | OK — à la demande |
| monitor-rclone (recovery des montages) | hier 09h40 — dernière intervention : Recovery terminée pour /home/debian/photo | OK — à la demande |
| Montages rclone kDrive (7, dont Jellyfin) | 7/7 montages kDrive répondent — monitor-rclone est intervenu 5 fois… | OK |
| Synchro NAS sasnexte → kDrive (4 dossiers) | aujourd'hui — audiobooks 24/09, komga 24/09, music 24/09, photo 24/09 | OK |
| Maillage Syncthing (8 appareils) | 4 appareil(s) vu(s) depuis hier, connecté(s) maintenant : jux-debian | OK |
| Tunnel WireGuard (VPS ↔ NAS ↔ PC) | dernière poignée de main — NAS sasnexte il y a 1 min, PC julie il y… | OK |
| Kobo — dépôt d'epub (Documents/Kobo) | 22/08 11h28 — 1 fichier(s), dernier : Geohistoire Une autre histoire - Christian… | OK — à la demande |
| Photos-Caesium (PC, dépôt de photos) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Musique-FLAC (PC, FLAC → MP3 vérifié) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Livres-ISBN (PC, inventaire + résolution) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Mealie-Recettes (note Joplin → recette) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Canari Etat-Infra (ce relevé) | relevé en cours | OK |
Récapitulatif complet des procédures (description, où ça tourne, comment vérifier) : page 316. Liste dans Etat-Infra/procedures.json.
Genere le 2026-09-24 a 06h00 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-09-25
Veille du vendredi 25 septembre 2026
À regarder — Sauvegardes : 7/8 réussies cette nuit (Documents ===) (depuis 2 j) · IPTV-Publiques : dernière ligne inattendue : « [2026-09-25 00:18:10] === BILAN: 52/87 chaînes vivantes, 1 perdue (ORF » (depuis 8 j). Le reste est en ordre.
Agenda —
- aujourd'hui : journée WE Arles RIP avec les Hugede (Arles)
276 articles sur 24 h (282 avant regroupement des doublons et fils de discussion) — 100 retenus dans 6 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
SIG & Cartographie (7)
- (QGIS) QGIS 3.44 : utilisation outil de recherche avec edigeo
GeoRezo.net (+1 autre flux) · 22h15 · fil - (Géomatique) Ou trouver si une parcelle appartient a la commune
GeoRezo.net · 18h13 · fil - Saint-Étienne: OpenStreetMap, rencontre Saint-Étienne et sud Loire, Le lundi 28 septembre 2026 de 19h00 à 21h00.
L'Agenda du Libre · 16h03 · fil - (Geolibre_web) (G3W) Ergonomie des formulaires
GeoRezo.net · 11h12 · fil - (Géomatique) Re: (PLU_numerique) Nouvelles prescriptions nationales
GeoRezo.net · 10h13 · fil - (Géo communiqué) 2 webinaires pour découvrir la nouvelle plateforme Géoscopia
GeoRezo.net · 09h59 · fil - (QGIS) Re: QGIS/QCALVIEW: projection photo et photomontage depuis QGIS
GeoRezo.net (+1 autre flux) · 09h08 · fil
Urbanisme & Territoires (46)
- Gattières : un futur collège va s’intégrer dans la pente des collines du Var
Provence-Alpes-Côte d'Azur · 09h51 · fil - Colère des agriculteurs en Corse : le port d'Ajaccio débloqué, toujours d'importants ...
Alerte Google : corse urbanisme · 23h27 · fil - EN DIRECT. Manifestations agricoles : les ports d'Ajaccio et Bastia toujours bloqués ... - Corse Matin
Alerte Google : corse urbanisme · 20h49 · fil - La Poste annonce supprimer une vingtaine de bureaux dans les Bouches-du-Rhône
Alerte Google : urbanisme bouches du rhône · 20h28 · fil - Recul du trait de côte dans le Var : des pistes mais encore peu de solutions concrètes
Alerte Google : urbanisme var (+1 autre flux) · 17h38 · fil - Nomination : Benjamin Mondou élu président d'Amanda Alpes-Maritimes - MySweetImmo
Alerte Google : urbanisme alpes maritimes · 15h56 · fil - Le Salon des communes et intercommunalités du Var revient le 9 octobre
Provence-Alpes-Côte d'Azur · 14h12 · fil - Var : réaménagement de la cour de l'école Jean-Aicard, à Toulon - Le Moniteur
Alerte Google : urbanisme var · 13h54 · fil - Alpes-Maritimes : ouverture de la Maison de la proximité, à Cagnes-sur-Mer - Le Moniteur
Alerte Google : urbanisme alpes maritimes · 13h54 · fil - Alpes-Maritimes : retour de la formation en soins infirmiers au centre hospitalier Sainte-Marie
Alerte Google : urbanisme alpes maritimes · 12h28 · fil - Alpes-Maritimes : réouverture du Café de Turin à Nice après trois mois de travaux
Alerte Google : urbanisme alpes maritimes · 12h28 · fil - Bouches-du-Rhône : l’été est fini, mais le risque d’incendie reste au plus haut
Provence-Alpes-Côte d'Azur · 12h09 · fil - … et 34 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Self-hosting & Infra (3)
- How to Move Your Docker Containers From Portainer to Dockhand
Marius Hosting · 23h15 · fil - How to Easily Set Up Immich External Library on Your Synology and UGREEN NAS
Marius Hosting · 23h01 · fil - Onedrive similar placeholders & selective folders => solved
Syncthing Forum - Announcements · 04h23 · fil
Libre & Linux (17)
- Fedora Discussion Raises The Idea Of Replacing LibreOffice With Collabora Office
Phoronix · 15h39 · fil - Second batch of videos from the LibreOffice Conference 2026
TDF Community Blog (+1 autre flux) · 14h44 · fil - Linux Kernel Developers Consider Adding AGENTS.md To Help Guide AI/LLM Agents
Phoronix · 02h53 · fil - Qualcomm Posts Patches For Enabling GPU Support In Their Snapdragon X2 Mahua SoC
Phoronix · 02h25 · fil - Ubuntu 26.10 adds Windows-style snap layouts
OMG! Ubuntu · 00h01 · fil - ReactOS Lands Significant DirectX Stack Update From Wine For Enabling More Games
Phoronix · 23h43 · fil - Ubuntu 26.10 Delivers Some Nice Gains For Intel Panther Lake / Framework Laptop 13 Pro
Phoronix · 20h46 · fil - Ubuntu 26.10 beta is delayed by a week
OMG! Ubuntu · 19h13 · fil - COSMIC Epoch 1.9 Brings New Image Viewer & On-Screen Keyboard
Phoronix · 19h11 · fil - AMD Posts GCC Compiler Patches For AVX10V1AUX ISA Support
Phoronix · 18h12 · fil - KDE Plasma 6.8 Beta 2 Released With Union Theming Engine Maturing
Phoronix · 15h27 · fil - AlmaLinux Rolls Out New Software/Hardware Certification Portal, Self-Certify App
Phoronix · 15h02 · fil - … et 5 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (24)
- Anthropic et OpenAI jouent le coup de la baisse des prix
LeMagIT · 20h21 · fil - Avec Muse, Meta est en train de réussir sa remontada face à OpenAI et Anthropic
Numerama · 12h35 · fil - ChatGPT a piraté un portail du gouvernement, OpenAI n’a rien remarqué pendant des mois
Actualités · 08h35 · fil - Claude Code vous fait choisir entre vie privée et AGENTS.md
Korben · 07h49 · fil - 400 000 requêtes aspirée chez Claude ? Xiaomi publie son modèle d’IA MiMo-V2.6 en plein scandale de plagiat
Goodtech · 07h07 · fil - Souveraineté et (in)dépendances numériques : la MAIF choisit Mistral, Scaleway et Diabolocom
LeMagIT · 14h44 · fil - Anthropic a trouvé un système inconnu dans l’ADN de bactériophages, mais ne sait pas trop ce qu’il fait vraiment
Numerama · 17h27 · fil - Claude aurait découvert un secret de l’ADN, et personne ne sait à quoi il sert
Actualités · 15h33 · fil - Questionnaire sur l’Australie, site gouvernemental infiltré, mail générique : ce que l’on sait de la nouvelle dérive agentique d’OpenAI
Numerama · 11h35 · fil - Ray-Ban Meta Audio : comment fonctionnent ces lunettes IA sans caméra ?
SysKB · 19h03 · fil - À l’ONU, les patrons de l’IA réclament une régulation mondiale
Next - Articles gratuits · 17h36 · fil - Premier couac cyber pour Muse : Meta a corrigé en urgence une faille de son agent IA
Numerama · 16h08 · fil - … et 12 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Signaux transverses (3)
- On a trouvé un vélo électrique bradé à moins de 930 € chez Lidl grâce à deux promos cumulées
Numerama · 11h30 · fil - Part des véhicules à faibles émissions dans le renouvellement d'un parc (FAYAT BATIMENT SAS) - 2025
Derniers jeux de données · 12h43 · fil - ☕️ Schneider Electric lance une OPA sur Shelly et ses capteurs connectés
Next - Articles gratuits · 10h31 · fil
Non retenu (114)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 80 |
| Sans catégorie | 24 |
| Culture | 5 |
| Libres et Ouverts | 2 |
| Synoworld | 2 |
| Médias | 1 |
État de l'infrastructure
- Sauvegardes : À regarder — 7/8 réussies (Documents ===), 04h00–04h15, 1,65 Go envoyés sur kDrive
- Services web : 17/17 répondent
- Conteneurs : 32 en marche sur 33 (cadvisor arrêté volontairement) — redémarré(s) depuis hier : Immich-SERVER (il y a 1 h)
- Certificats : 29 domaines, le plus proche expire dans 30 j (pdf.juxjux.ovh)
- Montages rclone : 7/7 montages kDrive répondent
- Syncthing : 2 appareil(s) vu(s) depuis hier, connecté(s) maintenant : jux-debian
- WireGuard : dernière poignée de main — NAS sasnexte il y a 1 min, PC julie il y a 1241 min
- NAS sasnexte : ports 22, 445 joignables par le tunnel — synchros vers kDrive : audiobooks 25/09, music 25/09, photo 25/09, komga 25/09
- Komga-PDF : aucun traitement dans la fin du journal
- Tâches nocturnes : À regarder — 8/9 à l'heure et sans erreur — IPTV-Publiques (dernière ligne inattendue : « [2026-09-25 00:18:10] === BILAN: 52/87 chaînes vivantes, 1 perdue (ORF »)
- Disque et mémoire : /home/debian à 66 % (32 Go libres), mémoire disponible 2.3 Go, swap à 60 %
Changements depuis hier : conteneur(s) redémarré(s) depuis hier : Immich-SERVER (il y a 1 h).
Relevé du 25/09 à 05h30 (heure de Paris) par etat_infra.py — muet quand tout va bien ; les exceptions attendues sont dans Etat-Infra/config.json.
Procédures
| Procédure | Dernière utilisation | Vérification |
|---|---|---|
| Sauvegardes VPS → kDrive | aujourd'hui 04h15 — 7/8 OK | À regarder |
| Komga-PDF (compression des magazines) | — | OK — à la demande |
| Komga-Cache (refresh kDrive + 23 scans) | hier 07h45 — 23 scan(s) lance(s), aucun echec | OK |
| Scan Navidrome (quick 4h30, complet lundi 3h) | hier 08h30 — Scan Navidrome lancé OK | OK |
| Scan Audiobookshelf (36 bibliothèques) | hier 10h39 — SCAN OK 36/36 libs | OK |
| Compression Joplin (images en base) | aujourd'hui 07h00 — Economie : 400.2 Mo (77.6%) | OK |
| Veille FreshRSS → BookStack | hier 10h00 — Page 331 creee — 25732 caracteres HTML | OK |
| Seedbox → kDrive movies → Jellyfin « Films récents » | 14/09 23h37 — dernière copie : 5 fichier(s) copie(s) en 125s | OK — à la demande |
| monitor-rclone (recovery des montages) | 23/09 09h40 — dernière intervention : Recovery terminée pour /home/debian/photo | OK — à la demande |
| Montages rclone kDrive (7, dont Jellyfin) | 7/7 montages kDrive répondent | OK |
| Synchro NAS sasnexte → kDrive (4 dossiers) | aujourd'hui — audiobooks 25/09, komga 25/09, music 25/09, photo 25/09 | OK |
| Maillage Syncthing (8 appareils) | 2 appareil(s) vu(s) depuis hier, connecté(s) maintenant : jux-debian | OK |
| Tunnel WireGuard (VPS ↔ NAS ↔ PC) | dernière poignée de main — NAS sasnexte il y a 1 min, PC julie il y… | OK |
| Kobo — dépôt d'epub (Documents/Kobo) | 22/08 11h28 — 1 fichier(s), dernier : Geohistoire Une autre histoire - Christian… | OK — à la demande |
| Photos-Caesium (PC, dépôt de photos) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Musique-FLAC (PC, FLAC → MP3 vérifié) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Livres-ISBN (PC, inventaire + résolution) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Mealie-Recettes (note Joplin → recette) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Canari Etat-Infra (ce relevé) | relevé en cours | OK |
Récapitulatif complet des procédures (description, où ça tourne, comment vérifier) : page 316. Liste dans Etat-Infra/procedures.json.
Genere le 2026-09-25 a 06h00 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-09-26
Veille du samedi 26 septembre 2026
À regarder — Sauvegardes : 7/8 réussies cette nuit (Documents ===) (depuis 3 j) · Certificat de pdf.juxjux.ovh expire dans 29 j. Le reste est en ordre. Rétabli depuis hier : Tâches nocturnes.
307 articles sur 24 h (312 avant regroupement des doublons et fils de discussion) — 91 retenus dans 7 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
SIG & Cartographie (6)
- (Job) (CDI) Geomaticien spécialise feux de forets - Bruges (33)
GeoRezo.net · 15h43 · fil - (Géomatique) Re: Ou trouver si une parcelle appartient a la commune
GeoRezo.net · 15h07 · 2 messages · fil - (Agenda) Séminaire GAIA PREDICT, le 5 novembre 2026 à Narbonne
GeoRezo.net · 14h00 · fil - (Agenda) GEO Community Days, les 5 et 6 novembre 2026 à Lyon
GeoRezo.net · 13h00 · fil - (Geolibre_web) Nom de sortie pdf dans un Atlas
GeoRezo.net · 11h34 · fil - Re: QGIS: Prb localisation photos avec le plugin ImportPhotos
GeoRezo.net - QGIS (+1 autre flux) · 08h53 · fil
OpenStreetMap (1)
- Entrada de nom de la casa de Can Ponç
OSM Diaries · 08h20 · fil
Urbanisme & Territoires (35)
- Sécheresse et plan d'urgence : l'État fait le point avec le monde agricole corse
Alerte Google : corse urbanisme · 23h10 · fil - Le Salon des maires des Bouches-du-Rhône, bouffée d'air frais pour des édiles inquiets
Alerte Google : urbanisme bouches du rhône · 21h27 · fil - Architecture métaphysique : Espace culturel et associatif par EGR à Coudoux (Bouches-du-Rhône)
Alerte Google : urbanisme bouches du rhône · 19h00 · fil - « Logement en Corse : Nazione veut permettre aux locataires sociaux de devenir propriétaires »
Alerte Google : corse urbanisme · 17h33 · fil - 433 logements menacés d'ici 2050 dans le Var : à Toulon, comment repenser le littoral face ... - Actu
Alerte Google : urbanisme var · 17h18 · fil - La Poste : 40 bureaux menacés de fermeture ou de transformation en Paca dont 4 dans le Var
Provence-Alpes-Côte d'Azur · 14h42 · fil - Brad Pitt a ouvert son domaine du Var aux pompiers qui luttaient contre les feux
Alerte Google : urbanisme var · 09h54 · fil - Trente communes sur 31 cèdent la compétence urbanisme à la communauté urbaine d'Alençon
Alerte Google : corse urbanisme · 22h12 · fil - Révision du Plan local d'urbanisme de Dieppe : une enquête publique va ouvrir - Actu
Alerte Google : corse urbanisme (+1 autre flux) · 22h01 · fil - Finances, grands chantiers, crises : Christian Estrosi fait le bilan de ses 18 ans de mandat à ...
Alerte Google : urbanisme var · 20h10 · fil - « La parcelle suscitait l'appétit de promoteurs » : la ville de Toulon sort le chéquier ... - Nice-Matin
Alerte Google : urbanisme var · 19h47 · fil - Sénatoriales : au Salon des maires, tous les candidats sont là mais aucun ne fait campagne
Alerte Google : urbanisme bouches du rhône · 19h43 · fil - … et 23 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Self-hosting & Infra (9)
- How to Install Transmute on Your Synology NAS
Marius Hosting · 02h05 · fil - How to Install Transmute on Your UGREEN NAS
Marius Hosting · 02h27 · fil - Scheduled Scan Times for folders — feature + PR ready
Syncthing Forum - Announcements · 19h59 · fil - Problème de paramétrage de la BBox et mon DS216Play
NAS-Forum · 12h54 · fil - Philippe30
NAS-Forum · 08h48 · fil - Suggestion for Improvement : Automate the Saving of Settings
Syncthing Forum - Announcements · 19h35 · fil - Home Assistant sur VMM - pas d'adresse IP
NAS-Forum · 19h10 · fil - Accès difficile.
NAS-Forum · 09h46 · fil - Configuration d'un serveur Minecraft
Forum des NAS : Synology, Qnap, Asustor... · 08h27 · fil
Libre & Linux (11)
- Era, a new Rust-based calendar app for GNOME, is now in beta
OMG! Ubuntu · 05h04 · fil - New FUTEX Syscalls Back To Being Worked On For Helping Valve's ARM64 Gaming Ambitions
Phoronix · 00h42 · fil - GDB 18.1 Debugger Brings Better Windows Support
Phoronix · 18h47 · fil - Banshee music player is back from the dead (well, kinda)
OMG! Ubuntu · 17h53 · fil - Redox OS Adds IO_uring-Like API, NUMA & Gets QEMU Working
Phoronix · 17h51 · fil - Approaching A 10 Second Linux Kernel Build
Phoronix · 16h46 · fil - Patches Posted For Enabling NVMe On All Apple M3 Based SoCs With Linux
Phoronix · 12h27 · fil - AMD Sends Out New Linux Patches Further Enhancing HDMI 2.1 Reliability
Phoronix · 12h12 · fil - Last Call For The Autumn Special For Ad-Free Viewing & Supporting Linux Hardware Testing
Phoronix · 12h00 · fil - Go's Improving SIMD Support, Platform-Independent SIMD Interface
Phoronix · 11h50 · fil - Samba 4.25 Released With Experimental SMB3 Persistent Handles
Phoronix · 11h38 · fil
IA & Numérique (27)
- Le nouveau Microsoft Copilot s’attaque à Claude et ChatGPT (en utilisant Claude et ChatGPT)
Numerama · 16h06 · fil - Jev : cette IA qui ne génère aucun texte défie les LLM
IT-Connect · 09h33 · fil - Comment le patron de Hugging Face a défendu l’IA open source à l’ONU (vidéo)
Goodtech · 07h12 · fil - Ils devaient améliorer l’IA d’OpenAI, mais ont été virés pour avoir utilisé de l’IA
Numerama · 10h23 · fil - Une IA a terminé NetHack de justesse !
Korben · 09h27 · fil - Un agent IA d’OpenAI a piraté un portail du gouvernement australien
IT-Connect · 07h23 · fil - Programmation agentique : avec Air, Jetbrains se pose en orchestrateur des agents IA
LeMagIT · 10h47 · fil - Un partenariat « en dessous des attentes » : les utilisateurs d’iPhone ont boudé ChatGPT dans Apple Intelligence
Actualités · 06h33 · fil - « Pas d’IA sur le concept R8 Gordini », Renault explique comment l’IA change le métier de designer
Numerama · 18h01 · fil - ☕️ L’académie Goncourt se positionne vite et maladroitement contre l’IA générative
Next - Articles gratuits · 17h02 · fil - Grâce à SpaceX, le premier satellite IA de Google va prendre son envol
Actualités · 16h00 · fil - Microsoft unifie les capacités de Copilot et scinde son modèle tarifaire
LeMagIT · 15h42 · fil - … et 15 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Signaux transverses (2)
- Bassins de mobilité - Normandie
Derniers jeux de données · 02h14 · fil - Bassins de mobilité scolaire - Normandie
Derniers jeux de données · 02h14 · fil
Non retenu (161)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 91 |
| Sans catégorie | 53 |
| Culture | 8 |
| Libres et Ouverts | 4 |
| Synoworld | 3 |
| Toulon | 1 |
| cuisine | 1 |
État de l'infrastructure
- Sauvegardes : À regarder — 7/8 réussies (Documents ===), 04h00–04h17, 1,65 Go envoyés sur kDrive
- Services web : 17/17 répondent
- Conteneurs : 32 en marche sur 33 (cadvisor arrêté volontairement) — redémarré(s) depuis hier : Immich-SERVER (il y a 1 h)
- Certificats : À regarder — 29 domaines, le plus proche expire dans 29 j (pdf.juxjux.ovh)
- Montages rclone : 7/7 montages kDrive répondent
- Syncthing : 1 appareil(s) vu(s) depuis hier, connecté(s) maintenant : jux-debian
- WireGuard : dernière poignée de main — NAS sasnexte il y a 2 min, PC julie il y a 2681 min
- NAS sasnexte : ports 22, 445 joignables par le tunnel — synchros vers kDrive : audiobooks 26/09, music 26/09, photo 26/09, komga 26/09
- Komga-PDF : aucun traitement dans la fin du journal
- Tâches nocturnes : 9/9 à l'heure et sans erreur (Compression Joplin, Scan Komga (cache kDrive), Scan Audiobookshelf, Scan Navidrome, Veille FreshRSS, Seedbox-Films, IPTV-Publiques, IPTV-Publiques (guide), Miroir contacts Infomaniak)
- Disque et mémoire : /home/debian à 66 % (31 Go libres), mémoire disponible 2.4 Go, swap à 59 %
Changements depuis hier : conteneur(s) redémarré(s) depuis hier : Immich-SERVER (il y a 1 h).
Rétabli depuis hier : IPTV-Publiques : dernière ligne inattendue : « [2026-09-25 00:18:10] === BILAN: 52/87 chaînes vivantes, 1 perdue (ORF ».
Relevé du 26/09 à 05h30 (heure de Paris) par etat_infra.py — muet quand tout va bien ; les exceptions attendues sont dans Etat-Infra/config.json.
Procédures
| Procédure | Dernière utilisation | Vérification |
|---|---|---|
| Sauvegardes VPS → kDrive | aujourd'hui 04h17 — 7/8 OK | À regarder |
| Komga-PDF (compression des magazines) | — | OK — à la demande |
| Komga-Cache (refresh kDrive + 23 scans) | hier 07h45 — 23 scan(s) lance(s), aucun echec | OK |
| Scan Navidrome (quick 4h30, complet lundi 3h) | hier 08h30 — Scan Navidrome lancé OK | OK |
| Scan Audiobookshelf (36 bibliothèques) | hier 08h00 — SCAN OK 36/36 libs | OK |
| Compression Joplin (images en base) | aujourd'hui 07h00 — Economie : 402.2 Mo (77.6%) | OK |
| Veille FreshRSS → BookStack | hier 10h00 — Page 332 creee — 23801 caracteres HTML | OK |
| Seedbox → kDrive movies → Jellyfin « Films récents » | 14/09 23h37 — dernière copie : 5 fichier(s) copie(s) en 125s | OK — à la demande |
| monitor-rclone (recovery des montages) | 23/09 09h40 — dernière intervention : Recovery terminée pour /home/debian/photo | OK — à la demande |
| Montages rclone kDrive (7, dont Jellyfin) | 7/7 montages kDrive répondent | OK |
| Synchro NAS sasnexte → kDrive (4 dossiers) | aujourd'hui — audiobooks 26/09, komga 26/09, music 26/09, photo 26/09 | OK |
| Maillage Syncthing (8 appareils) | 1 appareil(s) vu(s) depuis hier, connecté(s) maintenant : jux-debian | OK |
| Tunnel WireGuard (VPS ↔ NAS ↔ PC) | dernière poignée de main — NAS sasnexte il y a 2 min, PC julie il y… | OK |
| Kobo — dépôt d'epub (Documents/Kobo) | 22/08 11h28 — 1 fichier(s), dernier : Geohistoire Une autre histoire - Christian… | OK — à la demande |
| Photos-Caesium (PC, dépôt de photos) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Musique-FLAC (PC, FLAC → MP3 vérifié) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Livres-ISBN (PC, inventaire + résolution) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Mealie-Recettes (note Joplin → recette) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Canari Etat-Infra (ce relevé) | relevé en cours | OK |
Récapitulatif complet des procédures (description, où ça tourne, comment vérifier) : page 316. Liste dans Etat-Infra/procedures.json.
Genere le 2026-09-26 a 06h00 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-09-27
Veille du dimanche 27 septembre 2026
À regarder — Sauvegardes : 7/8 réussies cette nuit (Documents ===) (depuis 4 j) · Syncthing : XIAOMI15Pro non vu depuis 3 j · IPTV-Publiques : dernière ligne inattendue : « [2026-09-27 00:18:20] === BILAN: 49/87 chaînes vivantes, 2 perdues (RT ». Le reste est en ordre. Rétabli depuis hier : Certificats.
Agenda —
- mercredi 30 septembre : 10h30–12h00 RDV Rivera - Neuro - Berard Hyeres
107 articles sur 24 h (111 avant regroupement des doublons et fils de discussion) — 35 retenus dans 7 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
SIG & Cartographie (2)
- (Données) Re: Données élections
GeoRezo.net · 15h06 · fil - (Données) Données élections
GeoRezo.net · 11h13 · fil
OpenStreetMap (3)
- Zoom Meeting for OSM Africa Mapathon and Beginner Training
OSM Diaries · 16h45 · fil - Beginning of OSM Volunteering Journey and Meeting with National Coordinator of Unique Mappers Network
OSM Diaries · 14h10 · fil - Mapping detention cases from court texts: border signs, oblast boundaries, offline maps
OSM Diaries · 13h26 · fil
Urbanisme & Territoires (17)
Self-hosting & Infra (1)
- Archive surveillance station
NAS-Forum · 17h21 · fil
Libre & Linux (8)
- Welcome Tamás Zolnai, new LibreOffice Online developer
TDF Community Blog (+1 autre flux) · 09h57 · fil - Improved GPU Reset Coming For Raspberry Pi Boards With Linux 7.4
Phoronix · 02h45 · fil - "Toolpak" Being Devised By GNOME OS Developers, Akin To Flatpak For Tools
Phoronix · 18h50 · fil - MM Change Slated For Linux 7.4 Yields +22904539.81% In One Metric, More Modest Wins In Others
Phoronix · 17h07 · fil - AI Bug Fixes, Crescent Island Power Brake & Nouveau Fixes For Linux 7.3-rc5 DRM
Phoronix · 13h13 · fil - Wisp Makes It Easier To Manage Btrfs Snapshots From The GNOME Desktop
Phoronix · 12h45 · fil - AMDXDNA Linux Driver Being Enhanced For Current NPU3 Hardware
Phoronix · 12h33 · fil - KDE Plasma 6.8 Continues With Last Minute Tweaks & Fixes
Phoronix · 11h56 · fil
IA & Numérique (3)
- ChatGPT a tenté de pirater plusieurs sites du gouvernement américain
Actualités · 09h11 · fil - On a testé Pangram, le détecteur d’IA qui fait le polémique : peut-on vraiment lui faire confiance ?
Actualités · 11h15 · fil - Alfie Kohn: "cc: that friend of yours who apparently needs one more reason …" / Phanpy
Liens en vrac de sebsauvage · 09h19 · fil
Signaux transverses (1)
- Côa Valley Eco-Connectivity v6
Derniers jeux de données · 12h49 · fil
Non retenu (32)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 24 |
| Culture | 5 |
| Toulon | 1 |
| Sans catégorie | 1 |
| Libres et Ouverts | 1 |
État de l'infrastructure
- Sauvegardes : À regarder — 7/8 réussies (Documents ===), 04h00–04h16, 1,65 Go envoyés sur kDrive
- Services web : 17/17 répondent
- Conteneurs : 32 en marche sur 33 (cadvisor arrêté volontairement) — redémarré(s) depuis hier : Immich-SERVER (il y a 1 h)
- Certificats : 29 domaines, le plus proche expire dans 30 j (spdf.juxjux.ovh)
- Montages rclone : 7/7 montages kDrive répondent
- Syncthing : À regarder — 1 appareil(s) vu(s) depuis hier, connecté(s) maintenant : jux-debian
- WireGuard : dernière poignée de main — NAS sasnexte il y a 2 min, PC julie il y a 4121 min
- NAS sasnexte : ports 22, 445 joignables par le tunnel — synchros vers kDrive : audiobooks 27/09, music 27/09, photo 27/09, komga 27/09
- Komga-PDF : aucun traitement dans la fin du journal
- Tâches nocturnes : À regarder — 8/9 à l'heure et sans erreur — IPTV-Publiques (dernière ligne inattendue : « [2026-09-27 00:18:20] === BILAN: 49/87 chaînes vivantes, 2 perdues (RT »)
- Disque et mémoire : /home/debian à 66 % (32 Go libres), mémoire disponible 2.5 Go, swap à 59 %
Changements depuis hier : conteneur(s) redémarré(s) depuis hier : Immich-SERVER (il y a 1 h).
Rétabli depuis hier : Certificat de pdf.juxjux.ovh expire dans 29 j.
Relevé du 27/09 à 05h30 (heure de Paris) par etat_infra.py — muet quand tout va bien ; les exceptions attendues sont dans Etat-Infra/config.json.
Procédures
| Procédure | Dernière utilisation | Vérification |
|---|---|---|
| Sauvegardes VPS → kDrive | aujourd'hui 04h16 — 7/8 OK | À regarder |
| Komga-PDF (compression des magazines) | — | OK — à la demande |
| Komga-Cache (refresh kDrive + 23 scans) | hier 07h45 — 23 scan(s) lance(s), aucun echec | OK |
| Scan Navidrome (quick 4h30, complet lundi 3h) | hier 08h30 — Scan Navidrome lancé OK | OK |
| Scan Audiobookshelf (36 bibliothèques) | hier 08h00 — SCAN OK 36/36 libs | OK |
| Compression Joplin (images en base) | aujourd'hui 07h00 — Economie : 402.2 Mo (77.6%) | OK |
| Veille FreshRSS → BookStack | hier 10h00 — Page 333 creee — 24397 caracteres HTML | OK |
| Seedbox → kDrive movies → Jellyfin « Films récents » | 14/09 23h37 — dernière copie : 5 fichier(s) copie(s) en 125s | OK — à la demande |
| monitor-rclone (recovery des montages) | 23/09 09h40 — dernière intervention : Recovery terminée pour /home/debian/photo | OK — à la demande |
| Montages rclone kDrive (7, dont Jellyfin) | 7/7 montages kDrive répondent | OK |
| Synchro NAS sasnexte → kDrive (4 dossiers) | aujourd'hui — audiobooks 27/09, komga 27/09, music 27/09, photo 27/09 | OK |
| Maillage Syncthing (8 appareils) | 1 appareil(s) vu(s) depuis hier, connecté(s) maintenant : jux-debian | À regarder |
| Tunnel WireGuard (VPS ↔ NAS ↔ PC) | dernière poignée de main — NAS sasnexte il y a 2 min, PC julie il y… | OK |
| Kobo — dépôt d'epub (Documents/Kobo) | 22/08 11h28 — 1 fichier(s), dernier : Geohistoire Une autre histoire - Christian… | OK — à la demande |
| Photos-Caesium (PC, dépôt de photos) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Musique-FLAC (PC, FLAC → MP3 vérifié) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Livres-ISBN (PC, inventaire + résolution) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Mealie-Recettes (note Joplin → recette) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Canari Etat-Infra (ce relevé) | relevé en cours | OK |
Récapitulatif complet des procédures (description, où ça tourne, comment vérifier) : page 316. Liste dans Etat-Infra/procedures.json.
Genere le 2026-09-27 a 06h00 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-09-28
Veille du lundi 28 septembre 2026
À regarder — Certificat de spdf.juxjux.ovh expire dans 29 j · Syncthing : XIAOMI15Pro non vu depuis 4 j (depuis 2 j) · Syncthing : SM-T720 non vu depuis 30 j · IPTV-Publiques : dernière ligne inattendue : « [2026-09-28 00:19:03] === BILAN: 85/121 chaînes vivantes, 1 perdue (LR ». Le reste est en ordre. Rétabli depuis hier : Sauvegardes.
Agenda —
- mercredi 30 septembre : 10h30–12h00 RDV Rivera - Neuro - Berard Hyeres
177 articles sur 24 h (180 avant regroupement des doublons et fils de discussion) — 42 retenus dans 6 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
SIG & Cartographie (1)
- (Géo communiqué) Clast Tech : AMOA SIG et Base de Donnees
GeoRezo.net · 09h52 · fil
OpenStreetMap (3)
- weeklyOSM 844
WeeklyOSM · 17h01 · fil - I started a YouTube shorts series that I call "Stone Mad Shorts", but it mi…
Anne-Karoline (Mastodon) · 11h44 · fil - Não precisa fazer calçada nas ruas e pontes, estão embutidas na rua.
OSM Diaries · 10h10 · fil
Urbanisme & Territoires (19)
- Sénatoriales dans les Bouches-du-Rhône : Muselier élu avec Devesa, trois sièges pour la ...
Alerte Google : urbanisme bouches du rhône · 22h37 · fil - Sénatoriales 2026 dans le Var : Françoise Dumont réélue, le RN obtient deux sièges
Provence-Alpes-Côte d'Azur · 20h52 · fil - Deux sièges au Sénat pour le Rassemblement national du Var, LR sauve les meubles ... - Nice-Matin
Alerte Google : urbanisme var · 20h12 · fil - Journées du Patrimoine 2026 à Saint-Laurent-du-Var : le bilan - Presse Agence
Alerte Google : urbanisme var · 16h14 · fil - ANTIBES : Urbanisme participatif – Les habitants invités à dessiner la ville de demain
Alerte Google : urbanisme var (+2 autres flux) · 16h03 · fil - Sénatoriales : Bacchi, Carlotti, Benarroche, Devésa, Muselier, Boyer, Callet et Bravi élus
Alerte Google : urbanisme bouches du rhône · 20h50 · fil - Elu sénateur, Renaud Muselier devrait quitter la présidence de la Région - Nice-Matin
Alerte Google : urbanisme bouches du rhône · 19h59 · fil - « Si j'ai des regrets, je préfère les garder au fond de moi » - Nice-Matin
Alerte Google : urbanisme var · 19h31 · fil - À Saint-Raphaël et Fréjus, le chantier de la Promenade des Bains entre dans une nouvelle ...
Alerte Google : urbanisme var · 19h20 · fil - THT à Arles : l'État doit trancher la dérogation Littoral - La Clé Publique
Alerte Google : urbanisme bouches du rhône · 15h06 · fil - A First Look at the New Amtrak Cascades Fleet
The Urbanist · 23h11 · fil - Sunday Video: Seattle's Link Is Almost Too Good to Be Real
The Urbanist · 22h01 · fil - … et 7 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Self-hosting & Infra (6)
- How to Install LeafWiki on Your Asustor NAS
Marius Hosting · 22h31 · fil - ASUSTOR AS1204T : Le NAS 4 baies le moins cher est-il un PIÈGE ? Salut Les Noobs
Forum des NAS : Synology, Qnap, Asustor... · 21h31 · fil - pdf-dispatch — scinder des PDF scannés par code-barres/QR (self-hosted, Docker, MIT)
Forum des NAS : Synology, Qnap, Asustor... · 14h17 · fil - Baie d'extension DX517
NAS-Forum · 13h40 · fil - Présentation
Forum des NAS : Synology, Qnap, Asustor... · 13h38 · fil - (Partage) pdf-dispatch — scinder automatiquement des PDF scannés par code-barres/QR (self-hosted, Docker)
NAS-Forum · 13h23 · fil
Libre & Linux (8)
- Today, we are celebrating sixteen years of LibreOffice’s independence and commitment to supporting free software, open standards and digital sovereignty
TDF Community Blog (+1 autre flux) · 00h05 · fil - Linux Mint can’t look blingy? Silent Horizon says ‘think again’
OMG! Ubuntu · 00h56 · fil - Linux 7.3-rc5 Released: "Another Week, Another Large RC"
Phoronix · 23h17 · fil - Budgie 10.10.3 Released With Favorites In Budgie Menu, Labwc Bridge Improvements
Phoronix · 19h37 · fil - Linux Kernel's LZ4 Compression Code Being Resynced For Better Performance & Cleanliness
Phoronix · 15h16 · fil - Intel Delivers A Significant Memory Hotplugging Performance Optimization For Linux
Phoronix · 12h49 · fil - New Linux Patches For Supporting Lenovo ThinkPad X1 Carbon G14's Second Camera
Phoronix · 12h33 · fil - New Patch Series Working Toward DRBD 9 Support In The Linux Kernel
Phoronix · 12h23 · fil
IA & Numérique (5)
- « Usine de migration de qualité compilateur » : Google veut vider les clusters AWS avec un outil open source
Goodtech · 00h56 · fil - « On ne confierait pas à un modèle de langage le pilotage d’un avion ». C’est tout l’enjeu de l’après-LLM, selon Arlequin AI
Numerama · 17h00 · fil - Déconvenues d’Oracle : les signes avant-coureurs d’un éclatement de la bulle IA
LeMagIT · 11h04 · fil - Cyberattaque IA contre la France et l’Europe : ce virus vise plus de 30 banques
Actualités · 08h00 · fil - Microsoft redesigns its Copilot desktop app with new Home, Code, and Autopilot tabs
News - AlternativeTo.net · 06h17 · fil
Non retenu (55)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 33 |
| Culture | 7 |
| Sans catégorie | 6 |
| Libres et Ouverts | 4 |
| Toulon | 3 |
| Synoworld | 2 |
État de l'infrastructure
- Sauvegardes : 8/8 réussies cette nuit (20h22–04h17), 4,45 Go envoyés sur kDrive
- Services web : 17/17 répondent
- Conteneurs : 32 en marche sur 33 (cadvisor arrêté volontairement) — redémarré(s) depuis hier : Immich-SERVER (il y a 1 h), navidrome-navidrome-1 (il y a 29 min)
- Certificats : À regarder — 29 domaines, le plus proche expire dans 29 j (spdf.juxjux.ovh)
- Montages rclone : 7/7 montages kDrive répondent
- Syncthing : À regarder — 2 appareil(s) vu(s) depuis hier, connecté(s) maintenant : jux-debian
- WireGuard : dernière poignée de main — NAS sasnexte à l'instant, PC julie il y a 466 min
- NAS sasnexte : ports 22, 445 joignables par le tunnel — synchros vers kDrive : audiobooks 28/09, music 28/09, photo 28/09, komga 28/09
- Komga-PDF : aucun traitement dans la fin du journal
- Tâches nocturnes : À regarder — 8/9 à l'heure et sans erreur — IPTV-Publiques (dernière ligne inattendue : « [2026-09-28 00:19:03] === BILAN: 85/121 chaînes vivantes, 1 perdue (LR »)
- Disque et mémoire : /home/debian à 66 % (31 Go libres), mémoire disponible 2.2 Go, swap à 57 %
Changements depuis hier : conteneur(s) redémarré(s) depuis hier : Immich-SERVER (il y a 1 h), navidrome-navidrome-1 (il y a 29 min).
Rétabli depuis hier : Sauvegardes : 7/8 réussies cette nuit (Documents).
Relevé du 28/09 à 05h30 (heure de Paris) par etat_infra.py — muet quand tout va bien ; les exceptions attendues sont dans Etat-Infra/config.json.
Procédures
| Procédure | Dernière utilisation | Vérification |
|---|---|---|
| Sauvegardes VPS → kDrive | aujourd'hui 04h17 — 8/8 OK | OK |
| Komga-PDF (compression des magazines) | — | OK — à la demande |
| Komga-Cache (refresh kDrive + 23 scans) | hier 07h45 — 23 scan(s) lance(s), aucun echec | OK |
| Scan Navidrome (quick 4h30, complet lundi 3h) | aujourd'hui 07h00 — Container redémarré — full scan en cours | OK |
| Scan Audiobookshelf (36 bibliothèques) | hier 08h00 — SCAN OK 36/36 libs | OK |
| Compression Joplin (images en base) | aujourd'hui 07h00 — Economie : 402.2 Mo (77.6%) | OK |
| Veille FreshRSS → BookStack | hier 10h00 — Page 334 creee — 17884 caracteres HTML | OK |
| Seedbox → kDrive movies → Jellyfin « Films récents » | 14/09 23h37 — dernière copie : 5 fichier(s) copie(s) en 125s | OK — à la demande |
| monitor-rclone (recovery des montages) | 23/09 09h40 — dernière intervention : Recovery terminée pour /home/debian/photo | OK — à la demande |
| Montages rclone kDrive (7, dont Jellyfin) | 7/7 montages kDrive répondent | OK |
| Synchro NAS sasnexte → kDrive (4 dossiers) | aujourd'hui — audiobooks 28/09, komga 28/09, music 28/09, photo 28/09 | OK |
| Maillage Syncthing (8 appareils) | 2 appareil(s) vu(s) depuis hier, connecté(s) maintenant : jux-debian | À regarder |
| Tunnel WireGuard (VPS ↔ NAS ↔ PC) | dernière poignée de main — NAS sasnexte à l'instant, PC julie il y… | OK |
| Kobo — dépôt d'epub (Documents/Kobo) | 22/08 11h28 — 1 fichier(s), dernier : Geohistoire Une autre histoire - Christian… | OK — à la demande |
| Photos-Caesium (PC, dépôt de photos) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Musique-FLAC (PC, FLAC → MP3 vérifié) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Livres-ISBN (PC, inventaire + résolution) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Mealie-Recettes (note Joplin → recette) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Canari Etat-Infra (ce relevé) | relevé en cours | OK |
Récapitulatif complet des procédures (description, où ça tourne, comment vérifier) : page 316. Liste dans Etat-Infra/procedures.json.
Genere le 2026-09-28 a 06h00 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-09-29
Veille du mardi 29 septembre 2026
À regarder — Syncthing : SM-T720 non vu depuis 31 j (depuis 2 j) · Inventaire photo du NAS : aucun journal — la tache ne tourne pas · IPTV-Publiques : dernière ligne inattendue : « [2026-09-29 00:19:02] === BILAN: 86/121 chaînes vivantes, 2 perdues (O » (depuis 2 j). Le reste est en ordre. Rétabli depuis hier : Certificats, Syncthing.
Agenda —
- demain : 10h30–12h00 RDV Rivera - Neuro - Berard Hyeres
- vendredi 2 octobre : journée Anniversaire Christelle
285 articles sur 24 h (292 avant regroupement des doublons et fils de discussion) — 83 retenus dans 7 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
SIG & Cartographie (6)
- (Données) Re: Données élections
GeoRezo.net · 16h05 · fil - (Données) Re: (MAJIC) Recherche champs de surface du bâti
GeoRezo.net · 16h04 · fil - (Job) (CDI) TECHNICIEN.NE GEOMETRE TOPOGRAPHE F/H - Nice (06)
GeoRezo.net · 10h50 · fil - (Job) (STAGE) Teledetection panaches turbides - Universite de Mayotte
GeoRezo.net · 10h50 · fil - (QGIS) Re: QGIS 3.44: utilisation outil de recherche avec Edigeo
GeoRezo.net (+1 autre flux) · 09h35 · fil - (Données) Re: Apache Superset - Hébergement
GeoRezo.net · 08h08 · fil
OpenStreetMap (2)
- درباره برند پیک
OSM Diaries · 16h54 · fil - آموزشگاه آرایشگری غنیمی
OSM Diaries · 06h43 · fil
Urbanisme & Territoires (32)
- Bouches-du-Rhône : l'Eglise prêche l'éco-rénovation de son patrimoine - Le Moniteur
Alerte Google : urbanisme bouches du rhône · 18h14 · fil - Sénatoriales dans les Alpes-Maritimes : deux élus UDR, deux divers droite et une LR
Édition des Alpes-Maritimes · La Clé Publique · 14h35 · fil - CARTE. Où se vendent les villas de luxe dans les Bouches-du-Rhône ?
Provence-Alpes-Côte d'Azur · 11h23 · fil - Basil Gertis, président de la CCI du Var : « La défense est un puissant amortisseur économique »
Provence-Alpes-Côte d'Azur · 09h10 · fil - Sénatoriales 2026 dans les Bouches-du-Rhône : qui sont les huit nouveaux sénateurs ?
Provence-Alpes-Côte d'Azur · 08h12 · fil - Feux de forêt : prévention, urbanisme, financement… les pistes du rapport remis au gouvernement
Alerte Google : corse urbanisme (+1 autre flux) · 23h07 · fil - Avisu rilativu à e Disposizioni di a lege ELAN à u serviziu di una strategia d'urbanisazione ...
Alerte Google : corse urbanisme · 19h24 · fil - Ce que propose la mission parlementaire "feux de forêt" sur l'urbanisme et l'aménagement - AEF info
Alerte Google : urbanisme var · 19h16 · fil - Sénatoriales : la gauche victorieuse, Muselier sur le fil et un fauteuil de plus pour le RN
Alerte Google : urbanisme bouches du rhône · 19h02 · fil - Nouveaux gérants, travaux et accord avec l'État : grand chambardement pour les ... - Nice-Matin
Alerte Google : urbanisme var · 18h41 · fil - François Benedetti : La lutte des peuples pour la liberté, la dignité et la souveraineté se ...
Alerte Google : corse urbanisme · 18h40 · fil - Renaud Muselier élu sénateur, quel avenir pour la Région Provence-Alpes-Côte d’Azur ?
Provence-Alpes-Côte d'Azur · 14h21 · fil - … et 20 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Self-hosting & Infra (2)
- UGREEN NAS UGOS PRO 1.20.0.0142 Released
Marius Hosting · 16h18 · fil - MAJ DANGER ???
Forum des NAS : Synology, Qnap, Asustor... · 20h22 · fil
Libre & Linux (13)
- "Shiva" Being Developed For Mesa Vulkan Drivers, Akin To Gallium3D
Phoronix · 02h32 · fil - What’s your Ubuntu 27.04 codename prediction?
OMG! Ubuntu · 00h59 · fil - NVIDIA Developing "Display Config Server" To Improve Linux/Wayland On Display Walls
Phoronix · 21h22 · fil - SIMDjson 5.0 Released: Still Making JSON Parsing Even Faster
Phoronix · 21h01 · fil - Fedora 45 To Feature Smoother Experience For Snapdragon X1 Laptops
Phoronix · 18h07 · fil - Firefox 157 Now Available With Visual Refresh, WebRTC Hardware AV1 Decode
Phoronix · 16h46 · fil - Flatpak 1.18.4 Released With Important Security Fixes
Phoronix · 15h20 · fil - NVIDIA Vera SMT Performance Benchmarks
Phoronix · 14h54 · fil - AMD PerfOpt To Deliver New Performance Optimization For AMD iGPUs With Linux 7.4
Phoronix · 13h26 · fil - Firefox 157 released with ‘biggest visual refresh in years’
OMG! Ubuntu · 13h03 · fil - openSUSE Leap 16.1 RC Released With New Immutable Mode
Phoronix · 12h20 · fil - Linux 7.4 To Introduce The Steal Governor For Helping Virtualized Workloads
Phoronix · 12h12 · fil - … et 1 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (26)
- Claude Marketplace : Anthropic réunit plus de 2 000 connecteurs et plugins au même endroit
IT-Connect · 14h47 · fil - NVIDIA veut tenir les agents IA en laisse
Next - Articles gratuits · 16h20 · fil - Scandale chez OpenAI : ChatGPT a publié les images de certains utilisateurs sur Internet
Actualités · 16h02 · fil - « Un milliard de morts » : Bill Gates tire la sonnette d’alarme au sujet de l’IA
Actualités · 13h00 · fil - OpenAI suspend l’entraînement de ses IA les plus avancées après un accès non autorisé à Internet
Numerama · 10h48 · fil - ChatGPT et OpenAI au cœur d’une plainte après une tuerie dans une école au Canada
Next - Articles gratuits · 08h48 · fil - Paperasse - Des skills IA pour votre compta et vos impôts
Korben · 11h26 · fil - 16 000 tentatives de piratage contre l’ONU : des ChatGPT ont aspiré des données pendant des mois
Actualités · 10h00 · fil - People Training OpenAI's AI Fired For Using AI To Train the AI - Slashdot
Liens en vrac de sebsauvage · 08h11 · fil - « Les assistants IA renforcent l’intérêt de connaître le langage » : ce livre dissèque le runtime de Go pour vous
Goodtech · 00h18 · fil - « Google a complètement perdu la tête » : il cherche un mème NBA, l’IA le console d’une rupture imaginaire
Numerama · 18h15 · fil - Une fausse voix d’avocat générée par IA coûte 95 millions d’euros à une grande banque italienne
Numerama · 15h20 · fil - … et 14 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Signaux transverses (2)
- Itinéraires vélo du Parc national de Port-Cros
Derniers jeux de données · 12h08 · fil - Localisation des arbres - Béziers
Derniers jeux de données · 12h03 · fil
Non retenu (148)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 88 |
| Sans catégorie | 47 |
| Culture | 5 |
| Libres et Ouverts | 4 |
| Synoworld | 2 |
| cuisine | 2 |
État de l'infrastructure
- Sauvegardes : 8/8 réussies cette nuit (04h00–04h17), 1,76 Go envoyés sur kDrive
- Services web : 17/17 répondent
- Conteneurs : 32 en marche sur 33 (cadvisor arrêté volontairement) — redémarré(s) depuis hier : Immich-SERVER (il y a 1 h), navidrome-navidrome-1 (il y a 24 h), homarr2026 (il y a 15 h)
- Certificats : 29 domaines, le plus proche expire dans 31 j (jdownloader.juxjux.ovh)
- Montages rclone : 7/7 montages kDrive répondent
- Syncthing : À regarder — 4 appareil(s) vu(s) depuis hier, connecté(s) maintenant : jux-debian
- WireGuard : dernière poignée de main — NAS sasnexte à l'instant, PC julie il y a 354 min
- NAS sasnexte : ports 22, 445 joignables par le tunnel — synchros vers kDrive : audiobooks 29/09, music 29/09, photo 29/09, komga 29/09
- Komga-PDF : aucun traitement dans la fin du journal
- Tâches nocturnes : À regarder — 8/9 à l'heure et sans erreur — IPTV-Publiques (dernière ligne inattendue : « [2026-09-29 00:19:02] === BILAN: 86/121 chaînes vivantes, 2 perdues (O »)
- Disque et mémoire : /home/debian à 67 % (31 Go libres), mémoire disponible 3.0 Go, swap à 53 %
Changements depuis hier : conteneur(s) redémarré(s) depuis hier : Immich-SERVER (il y a 1 h), navidrome-navidrome-1 (il y a 24 h), homarr2026 (il y a 15 h).
Rétabli depuis hier : Certificat de spdf.juxjux.ovh expire dans 29 j ; Syncthing : XIAOMI15Pro non vu depuis 4 j.
Relevé du 29/09 à 05h30 (heure de Paris) par etat_infra.py — muet quand tout va bien ; les exceptions attendues sont dans Etat-Infra/config.json.
Procédures
| Procédure | Dernière utilisation | Vérification |
|---|---|---|
| Sauvegardes VPS → kDrive | aujourd'hui 04h17 — 8/8 OK | OK |
| Komga-PDF (compression des magazines) | — | OK — à la demande |
| Komga-Cache (refresh kDrive + 23 scans) | hier 07h45 — 23 scan(s) lance(s), aucun echec | OK |
| Scan Navidrome (quick 4h30, complet lundi 3h) | hier 08h30 — Scan Navidrome lancé OK | OK |
| Scan Audiobookshelf (36 bibliothèques) | hier 08h00 — SCAN OK 36/36 libs | OK |
| Compression Joplin (images en base) | aujourd'hui 07h00 — Economie : 407.9 Mo (77.7%) | OK |
| Veille FreshRSS → BookStack | hier 10h00 — Page 335 creee — 19572 caracteres HTML | OK |
| Seedbox → kDrive movies → Jellyfin « Films récents » | 14/09 23h37 — dernière copie : 5 fichier(s) copie(s) en 125s | OK — à la demande |
| monitor-rclone (recovery des montages) | 23/09 09h40 — dernière intervention : Recovery terminée pour /home/debian/photo | OK — à la demande |
| Montages rclone kDrive (7, dont Jellyfin) | 7/7 montages kDrive répondent | OK |
| Synchro NAS sasnexte → kDrive (4 dossiers) | aujourd'hui — audiobooks 29/09, komga 29/09, music 29/09, photo 29/09 | OK |
| Maillage Syncthing (8 appareils) | 4 appareil(s) vu(s) depuis hier, connecté(s) maintenant : jux-debian | À regarder |
| Tunnel WireGuard (VPS ↔ NAS ↔ PC) | dernière poignée de main — NAS sasnexte à l'instant, PC julie il y… | OK |
| Kobo — dépôt d'epub (Documents/Kobo) | 22/08 11h28 — 1 fichier(s), dernier : Geohistoire Une autre histoire - Christian… | OK — à la demande |
| Photos-Caesium (PC, dépôt de photos) | hier 20h44 — 3 compresse(s), 0 recopie(s), 0 echec(s) - 13.1 Mo -> 5.1 Mo (61.3… | OK — à la demande |
| Musique-FLAC (PC, FLAC → MP3 vérifié) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Livres-ISBN (PC, inventaire + résolution) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Mealie-Recettes (note Joplin → recette) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Canari Etat-Infra (ce relevé) | relevé en cours | OK |
Récapitulatif complet des procédures (description, où ça tourne, comment vérifier) : page 316. Liste dans Etat-Infra/procedures.json.
Genere le 2026-09-29 a 06h00 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-09-30
Veille du mercredi 30 septembre 2026
À regarder — Inventaire photo du NAS : aucun journal — la tache ne tourne pas (depuis 2 j) · Komga-PDF : 2 erreurs depuis hier — ERREUR (1/3) : 400 Client Error: Bad Request for url: https://spdf.juxjux.ovh/api/v1/misc/ · IPTV-Publiques : dernière ligne inattendue : « [2026-09-30 00:19:04] === BILAN: 86/121 chaînes vivantes, 1 perdue (RT » (depuis 3 j). Le reste est en ordre. Rétabli depuis hier : Syncthing.
Agenda —
- aujourd'hui : 10h30–12h00 RDV Rivera - Neuro - Berard Hyeres
- vendredi 2 octobre : journée Anniversaire Christelle
316 articles sur 24 h (323 avant regroupement des doublons et fils de discussion) — 102 retenus dans 6 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
SIG & Cartographie (5)
- (Géo communiqué) Creation d un Systeme d Information Geographique (SIG)
GeoRezo.net · 16h18 · fil - (Business Geografic) Re: Avantage d un EMD en nom de domaine pour mon site web
GeoRezo.net · 12h50 · fil - (Webmapping) au revoir le Géoportail !
GeoRezo.net · 11h17 · fil - (Géo'Bar) Avenir des liens Gémeoportail a partir de Wikipemedia ?
GeoRezo.net · 11h12 · fil - (Données) Re: Données élections
GeoRezo.net · 11h08 · fil
Urbanisme & Territoires (35)
- Documents d'urbanisme Corse-du-Sud (2A) : 72 communes
Alerte Google : corse urbanisme · 09h18 · fil - La Corse "une terre où la franc-maçonnerie est riche", pour Guillaume Trichard, Grand ...
Alerte Google : corse urbanisme · 16h51 · fil - "Dans les Bouches-du-Rhône, le marché reste sous tension" - La Provence
Alerte Google : urbanisme bouches du rhône · 16h31 · fil - A Port-de-Bouc dans les Bouches-du-Rhône, la Soleam va requalifier les espaces publics ...
Alerte Google : urbanisme bouches du rhône · 12h19 · fil - Du plancton aux protons, les coulisses scientifiques des Alpes-Maritimes
Édition des Alpes-Maritimes · La Clé Publique · 11h15 · fil - MARSEILLE : Urbanisme - L'ombre devient un enjeu stratégique face au changement climatique
Alerte Google : urbanisme bouches du rhône (+2 autres flux) · 19h48 · fil - Un moulin de 1786, un verger relancé, 3 000 amandiers : derrière les prix agricoles 2026
Édition des Bouches-du-Rhône · La Clé Publique · 19h34 · fil - Surendettement et saisie immobilière, quelle imbrication procédurale pour sauver le bien ...
Alerte Google : urbanisme bouches du rhône · 16h01 · fil - Pour Naval Group, « le futur du combat naval s’écrit à La Londe »
Provence-Alpes-Côte d'Azur · 14h24 · fil - Renaud Muselier élu sénateur, une victoire avec "un goût amer dans la bouche" - Marsactu
Alerte Google : urbanisme bouches du rhône · 13h30 · fil - En direct : suivez la grève de la fonction publique ce 29 septembre à Marseille
Alerte Google : urbanisme bouches du rhône · 12h47 · fil - Callian : un projet d'école en lieu et place de l'ancien Ehpad Le Pradon
Provence-Alpes-Côte d'Azur · 11h06 · fil - Campus Gasquet, une nouvelle résidence étudiante inaugurée à Toulon
Provence-Alpes-Côte d'Azur · 10h34 · fil - À Péone, réparer les murs sert aussi à transmettre la pierre sèche
Édition des Alpes-Maritimes · La Clé Publique · 01h46 · fil - The New F12 Cycle Route between Woerden and Utrecht
BICYCLE DUTCH · 00h00 · fil - Pending Fiscal Cliff at SDOT Prompts Major Budget Shifts
The Urbanist · 20h32 · fil - Sénatoriales 2026 : Dominique Santoni au centre du jeu politique du Vaucluse
Provence-Alpes-Côte d'Azur · 18h51 · fil - Katie Wilson’s City-Centered Anti-Fascist Playbook Emerges at Author Talk
The Urbanist · 17h32 · fil - Marseille : la Carsat Sud-Est réduit la voilure pour son nouveau siège
Provence-Alpes-Côte d'Azur · 16h08 · fil - A Marseille, 3 800 manifestants de la fonction publique dans la rue contre le projet de budget 2027
Provence-Alpes-Côte d'Azur · 15h51 · fil - Réouverture du Café Julien : qu’est ce qui change à Marseille ?
Provence-Alpes-Côte d'Azur · 15h14 · fil - Le Prix agricole de la Métropole dévoile ses lauréats
Alerte Google : urbanisme bouches du rhône · 14h51 · fil - Les travaux de réhabilitation du collège de Laragne-Montéglin livrés en mars 2027
Provence-Alpes-Côte d'Azur · 14h08 · fil - Solène Vasseur prend les rênes de Marséa Nord Développement
Provence-Alpes-Côte d'Azur · 14h07 · fil - … et 11 autre(s) article(s) dans ce theme (seuil Max du theme = 24).
Self-hosting & Infra (5)
- How to Install Swiish on Your Synology NAS
Marius Hosting · 22h35 · fil - problème d'attaque sur nas
Forum des NAS : Synology, Qnap, Asustor... · 18h49 · fil - serveur multimédia ds710+ dsm 52
NAS-Forum · 23h03 · fil - Presentation
Forum des NAS : Synology, Qnap, Asustor... · 19h04 · fil - Configuration mac mini - DH2300 : visibilité des dossiers
Forum des NAS : Synology, Qnap, Asustor... · 10h16 · fil
Libre & Linux (18)
- Welcome Bogdan Buzea, new LibreOffice QA Analyst
TDF Community Blog (+1 autre flux) · 20h00 · fil - Archinstall 4.5 For Arch Linux Brings AArch64 Improvements, RT Kernel Options
Phoronix · 02h25 · fil - VLC makes its ‘biggest security release ever’
OMG! Ubuntu · 01h15 · fil - AMD Boosting AI/LLM Performance For Radeon iGPUs As Much As 18~23% With Linux 7.4
Phoronix · 20h57 · fil - Microsoft Announces General Availability Of WSLC: Linux Containers On Windows
Phoronix · 19h09 · fil - Branch Target Reuse, BTR: New Spectre V2 Attack Targeting JIT Compilers
Phoronix · 19h00 · fil - And we’re go – upgrades to Ubuntu 26.04 from 24.04 finally enabled
OMG! Ubuntu · 18h26 · fil - New Ubuntu Concept ISO For Snapdragon Laptops Brings First X2 Laptop Support
Phoronix · 18h15 · fil - Meta Releases OpenZL 0.3 With Decompression Speed 144% Faster Than Zstd
Phoronix · 18h06 · fil - Destroy Any Website is a browser game that does what it says
OMG! Ubuntu · 18h03 · fil - hw-monitor 0.6 Released With Per-Process GPU Usage & Memory Reporting
Phoronix · 16h23 · fil - NOCL Making Progress As Mesa Gallium/OpenCL Atop NVIDIA CUDA
Phoronix · 15h53 · fil - … et 6 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (32)
- OpenAI lance ChatGPT Dots, des assistants IA qui travaillent 24 h/24 à votre place
Actualités · 19h28 · fil - Suivez la conférence OpenAI en direct : le créateur de ChatGPT dévoile le futur de l’IA
Numerama · 18h46 · fil - OpenAI annule la sortie du nouveau ChatGPT pour « garantir la sécurité » de ses IA
Actualités · 10h00 · fil - Anthropic lance Claude Sonnet 5.5, l’IA qui va plus vite et qui coûte moins cher
Actualités · 08h33 · fil - OpenAI dévoile « dots », ses assistants mignons pour démocratiser l’IA agentique (sauf en Europe)
Numerama · 19h15 · fil - OpenAI crève l’abcès : l’abonnement ChatGPT à 200€ revient… et offrira 2 fois moins
Actualités · 17h45 · fil - Agents IA : des « dizaines de milliers d’incidents » sont en cours d’examen
Next - Articles gratuits · 17h42 · fil - ☕️ UE : Google conteste l’ouverture d’Android aux bots IA rivaux
Next - Articles gratuits · 16h19 · fil - Claude Code : Anthropic offre jusqu’à 250 dollars de crédit, mais seulement pour les sessions cloud
IT-Connect · 14h06 · fil - Avant son entrée en Bourse, Anthropic alerte sur les « risques catastrophiques ou existentiels » de l’IA pour l’humanité
Numerama · 12h04 · fil - Après une série de couacs, OpenAI veut fixer sa propre grille de sécurité pour l’entraînement des IA
Numerama · 11h00 · fil - Anthropic launches Claude Sonnet 5.5 with significantly lower task costs
News - AlternativeTo.net · 07h49 · fil - … et 20 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Culture (7)
- « La Rédemption », de Jean-Noël Orengo : Drieu ne croyait pas en lui
Benzine Magazine · 20h54 · fil - Bientôt : Maison-Main, une assemblée des gestes #2 au Crac Occitanie, Sète
En revenant de l'expo ! · 14h28 · fil - (Live Review) The Afghan Whigs et Ed Harcourt au Trabendo : Un mélange moins farfelu que prévu
Benzine Magazine · 13h28 · fil - « Les Roches rouges » de Bruno Dumont : l’enfance à l’état sauvage
Benzine Magazine · 06h55 · fil - (Netflix) The Gentlemen : Une saison 2 plus sombre mais toujours aussi chic
Benzine Magazine · 06h53 · fil - « La Route du diable » de Franck Thilliez alias Caleb Traskman : l’horreur prend le volant
Benzine Magazine · 06h24 · fil - « Le Fils de l’ogre », d’Eric Stalner : le rejeton, le bandit et le tyran
Benzine Magazine · 06h23 · fil
Non retenu (151)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 97 |
| Sans catégorie | 46 |
| Libres et Ouverts | 4 |
| cuisine | 2 |
| Toulon | 2 |
État de l'infrastructure
- Sauvegardes : 8/8 réussies cette nuit (04h00–04h19), 2,55 Go envoyés sur kDrive
- Services web : 17/17 répondent
- Conteneurs : 32 en marche sur 33 (cadvisor arrêté volontairement) — redémarré(s) depuis hier : Immich-SERVER (il y a 1 h), homarr2026 (il y a 39 h)
- Certificats : 29 domaines, le plus proche expire dans 30 j (jdownloader.juxjux.ovh)
- Montages rclone : 7/7 montages kDrive répondent
- Syncthing : 5 appareil(s) vu(s) depuis hier, connecté(s) maintenant : PC-Julien 08/2026, jux-debian
- WireGuard : dernière poignée de main — NAS sasnexte il y a 1 min, PC julie à l'instant
- NAS sasnexte : ports 22, 445 joignables par le tunnel — synchros vers kDrive : audiobooks 30/09, music 30/09, photo 30/09, komga 30/09
- Komga-PDF : À regarder — dernier traitement le 29/09 à 22h56 — Résultat : 5 compressé(s), 0 erreur(s) (Saveurs Octobre-Novembre 2026.pdf, 23.6 Mio (-68 %))
- Tâches nocturnes : À regarder — 8/9 à l'heure et sans erreur — IPTV-Publiques (dernière ligne inattendue : « [2026-09-30 00:19:04] === BILAN: 86/121 chaînes vivantes, 1 perdue (RT »)
- Disque et mémoire : /home/debian à 68 % (30 Go libres), mémoire disponible 2.6 Go, swap à 55 %
Changements depuis hier : conteneur(s) redémarré(s) depuis hier : Immich-SERVER (il y a 1 h), homarr2026 (il y a 39 h).
Rétabli depuis hier : Syncthing : SM-T720 non vu depuis 31 j.
Relevé du 30/09 à 05h30 (heure de Paris) par etat_infra.py — muet quand tout va bien ; les exceptions attendues sont dans Etat-Infra/config.json.
Procédures
| Procédure | Dernière utilisation | Vérification |
|---|---|---|
| Sauvegardes VPS → kDrive | aujourd'hui 04h19 — 8/8 OK | OK |
| Komga-PDF (compression des magazines) | hier 22h56 — 5 compressé(s), 0 erreur(s) (Saveurs Octobre-Novembre 2026.pdf, 23.… | À regarder |
| Komga-Cache (refresh kDrive + 23 scans) | hier 07h45 — 23 scan(s) lance(s), aucun echec | OK |
| Scan Navidrome (quick 4h30, complet lundi 3h) | hier 08h30 — Scan Navidrome lancé OK | OK |
| Scan Audiobookshelf (36 bibliothèques) | hier 08h00 — SCAN OK 36/36 libs | OK |
| Compression Joplin (images en base) | aujourd'hui 07h00 — Economie : 407.9 Mo (77.7%) | OK |
| Veille FreshRSS → BookStack | hier 10h00 — Page 336 creee — 23338 caracteres HTML | OK |
| Seedbox → kDrive movies → Jellyfin « Films récents » | 14/09 23h37 — dernière copie : 5 fichier(s) copie(s) en 125s | OK — à la demande |
| monitor-rclone (recovery des montages) | 23/09 09h40 — dernière intervention : Recovery terminée pour /home/debian/photo | OK — à la demande |
| Montages rclone kDrive (7, dont Jellyfin) | 7/7 montages kDrive répondent | OK |
| Synchro NAS sasnexte → kDrive (4 dossiers) | aujourd'hui — audiobooks 30/09, komga 30/09, music 30/09, photo 30/09 | OK |
| Maillage Syncthing (8 appareils) | 5 appareil(s) vu(s) depuis hier, connecté(s) maintenant : PC-Julien… | OK |
| Tunnel WireGuard (VPS ↔ NAS ↔ PC) | dernière poignée de main — NAS sasnexte il y a 1 min, PC julie à l'… | OK |
| Kobo — dépôt d'epub (Documents/Kobo) | 22/08 11h28 — 1 fichier(s), dernier : Geohistoire Une autre histoire - Christian… | OK — à la demande |
| Photos-Caesium (PC, dépôt de photos) | 28/09 20h44 — 3 compresse(s), 0 recopie(s), 0 echec(s) - 13.1 Mo -> 5.1 Mo (61.3… | OK — à la demande |
| Musique-FLAC (PC, FLAC → MP3 vérifié) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Livres-ISBN (PC, inventaire + résolution) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Mealie-Recettes (note Joplin → recette) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Canari Etat-Infra (ce relevé) | relevé en cours | OK |
Récapitulatif complet des procédures (description, où ça tourne, comment vérifier) : page 316. Liste dans Etat-Infra/procedures.json.
Genere le 2026-09-30 a 06h00 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-10-01
Veille du jeudi 1 octobre 2026
À regarder — Inventaire photo du NAS : aucun journal — la tache ne tourne pas (depuis 3 j) · IPTV-Publiques : dernière ligne inattendue : « [2026-10-01 00:19:02] === BILAN: 87/121 chaînes vivantes, 2 perdues (O » (depuis 4 j). Le reste est en ordre. Rétabli depuis hier : Komga-PDF.
Agenda —
- demain : journée Anniversaire Christelle
280 articles sur 24 h (289 avant regroupement des doublons et fils de discussion) — 115 retenus dans 8 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
SIG & Cartographie (7)
- (Géo communiqué) Simulateur de toiture : mesurez la surface et la pente de votre toit
GeoRezo.net · 19h01 · fil - (Job) (CDD) Post-doctorat - SIG et Electromobilite - Compiegne (60)
GeoRezo.net · 17h05 · fil - (Géo'Bar) Re: Avenir des liens Gémeoportail a partir de Wikipemedia ?
GeoRezo.net · 17h03 · 3 messages · fil - (QGIS) Re: QGIS: Migration du plugin "ChangeDataSource" vers QGIS 4 ?
GeoRezo.net (+1 autre flux) · 14h55 · fil - (Données) Re: Serveur datafoncier.cerema.fr en vrac... jusqu'à quand ?
GeoRezo.net · 12h20 · fil - (QGIS) Migration du plugin
changeDataSourcevers QGIS4 ?
GeoRezo.net (+1 autre flux) · 12h01 · fil - (Géo communiqué) MAJ PLU CNIG plugin pour mettre à jour les PLU
GeoRezo.net · 11h07 · fil
OpenStreetMap (3)
- TODAY
OSM Diaries · 16h35 · fil - Panduan Praktis Penulisan Tag opening_hours di OpenStreetMap
OSM Diaries · 15h56 · fil - Chick Garage Cilodong Depok
OSM Diaries · 12h13 · fil
Urbanisme & Territoires (56)
- « Jean-Marie Le Pen m'a prise pour une autre » : qui est Muriel Fiol, la nouvelle députée RN du Var ?
Alerte Google : urbanisme var · 23h31 · fil - Immobilier en Corse : les pièges à éviter avant de signer - ICI
Alerte Google : corse urbanisme · 21h05 · fil - WAICF 2027 : les Alpes-Maritimes cherchent 30 startups IA déjà prêtes à faire la démo
Édition des Alpes-Maritimes · La Clé Publique · 19h42 · fil - Déviation d'Olmeto : Après la concertation, de nouveaux tracés vont être étudiés - Corse Net Infos
Alerte Google : corse urbanisme · 19h31 · fil - Pluie-inondation : les Bouches-du-Rhône placées en vigilance orange ce mercredi
Alerte Google : urbanisme bouches du rhône · 16h56 · fil - Vigilance orange dans les Bouches-du-Rhône : la couleur du département ne dit plus tout
Édition des Bouches-du-Rhône · La Clé Publique · 16h39 · fil - Bouches-du-Rhône : rénovation des chaussées de l'A7 entre Sénas et Salon-de-Provence
Alerte Google : urbanisme bouches du rhône · 16h26 · fil - Var : construction des Jardins de Ferryville, à Toulon - Le Moniteur
Alerte Google : urbanisme var · 16h26 · fil - Bouches-du-Rhône : rénovation des écoles de Grans durant l'été 2026 - Le Moniteur
Alerte Google : urbanisme bouches du rhône · 16h26 · fil - Bouches-du-Rhône : nouvelle caserne des sapeurs-pompiers à Istres - Le Moniteur
Alerte Google : urbanisme bouches du rhône · 16h26 · fil - Alpes-Maritimes : construction de la Maison de la biodiversité, à Contes - Le Moniteur
Alerte Google : urbanisme alpes maritimes · 16h26 · fil - Alpes-Maritimes : transformation de la Villa Paradiso en Maison des femmes à Nice
Alerte Google : urbanisme alpes maritimes · 16h26 · fil - Var : rénovation du centre médico-social de Fréjus - Le Moniteur
Alerte Google : urbanisme var · 16h26 · fil - Bouches-du-Rhône : réaménagement du parc Benjamin-Priaulet, à Maussane-les-Alpilles
Alerte Google : urbanisme bouches du rhône · 16h26 · fil - Vous louez un appartement dans le Var ? Les contrats de location changent dès jeudi
Alerte Google : urbanisme var · 16h15 · fil - Bouches-du-Rhône : début des travaux du Pôle d'Aillane à Aix-en-Provence - Le Moniteur
Alerte Google : urbanisme bouches du rhône · 15h27 · fil - Var: le trait de côte s'expose - Le Moniteur
Alerte Google : urbanisme var · 14h47 · fil - Saison estivale 2026 dans le Var : un bilan positif malgré un contexte tendu
Provence-Alpes-Côte d'Azur · 14h08 · fil - Vigilance forte inondations Hérault, Gard et Var : maison inondée, comment être indemnisé ...
Alerte Google : urbanisme var · 10h49 · fil - Bouches-du-Rhône : vigilance orange pluie-inondation, jusqu’à 150 mm attendus ce mercredi
Provence-Alpes-Côte d'Azur · 10h20 · fil - Narcotrafic à Marseille : comment la vidéo d'une tentative d'assassinat filmée par les ...
Alerte Google : urbanisme bouches du rhône · 21h24 · fil - Blocages des lycées : après 18 établissements touchés mardi, de nouveaux heurts à Nice
Édition des Alpes-Maritimes · La Clé Publique · 17h31 · fil - Urbanisme : en référé, la présomption de l'urgence ne s'applique pas quand la construction ...
Alerte Google : urbanisme var · 17h28 · fil - Domaine de Murtoli : la justice annule deux autorisations d'occupation du domaine public
Alerte Google : corse urbanisme · 16h35 · fil - … et 32 autre(s) article(s) dans ce theme (seuil Max du theme = 24).
Self-hosting & Infra (5)
- Synology & UGREEN Dockhand Docker Version 1.0.50
Marius Hosting · 13h00 · fil - DS218play totalement figé (Status orange fixe, Power/Reset inopérants) après crash sur volume saturé
NAS-Forum · 22h21 · fil - Migration AS5004T vers ASUSTOR Nimbustor 4 Gen 2 AS5404T
Forum des NAS : Synology, Qnap, Asustor... · 19h03 · fil - Fichiers en .k9sx
NAS-Forum · 11h22 · fil - Unix domain socket
Readeck Community · 08h25 · fil
Libre & Linux (14)
- OpenMandriva ROME 26.09 Released With More AI Apps, Snaps & PGO + LTO Optimizations
Phoronix · 03h36 · fil - Valve's Work On Foveated Rendering For The Open-Source Turnip Driver On The Steam Frame
Phoronix · 02h18 · fil - Ubuntu 26.10 adds early support for Snapdragon X2 laptops
OMG! Ubuntu · 22h31 · fil - More AI In Open-Source, CachyOS, Ryzen AI Halo, Framework Laptop 13 Pro & Other Q3 Hits
Phoronix · 20h57 · fil - EDG C/C++ Front-End Open-Sourced
Phoronix · 19h53 · fil - New FOSS web browser Blanc opts for a different kind of UI
OMG! Ubuntu · 17h55 · fil - Framework Desktop With AMD Ryzen AI Max+ PRO 495 Starts Out At $6799 USD
Phoronix · 17h15 · fil - OpenJDK vs. GraalVM vs. Eclipse Temurin vs. Semeru Java Performance
Phoronix · 16h42 · fil - Qt 6.12 LTS Released With QML Hot Reloading, StyleKit In Experimental Form
Phoronix · 15h20 · fil - Rusticl Had A Great Year For Rust OpenCL In Mesa With 3.1 Support, More Drivers
Phoronix · 15h03 · fil - Linux 7.4 To Support The NPU On AMD Ryzen AI Max 400 Series "Gorgon Halo"
Phoronix · 14h20 · fil - Proposal To Set ARM64 Kernel Stack Size At Boot Time To Reduce Memory Consumption
Phoronix · 12h27 · fil - … et 2 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (24)
- Google annonce Gemini 4 Argon et revendique des meilleurs résultats qu’OpenAI et Anthropic
Numerama · 22h17 · fil - OpenAI lance dots, l’agent IA qui travaille même quand vous dormez
IT-Connect · 17h24 · fil - Android dit non à l’Union européenne : Google refuse d’ouvrir l’OS à ChatGPT et Claude
Actualités · 13h03 · fil - Agents IA : des « dizaines de milliers d’incidents » sont en cours d’examen - Next
Liens en vrac de sebsauvage · 08h57 · fil - IA : « Il serait risqué de considérer que les prix actuels sont des prix d’équilibre » (entretien)
LeMagIT · 12h50 · fil - ChatGPT lance un abonnement à 510 euros par mois et rend sa formule à 229 euros moins généreuse
Numerama · 10h40 · fil - SlopTotal - Un détecteur de texte IA à installer chez vous
Korben · 09h45 · fil - UGREEN HomeAgent : l’IA locale veut rendre la domotique enfin simple
SysKB · 23h07 · fil - Pour encadrer l’IA, Donald Trump dévoile un code de bonne conduite
Actualités · 17h01 · fil - Les chiffres secrets d’Anthropic sonnent comme un avertissement pour les DSI
LeMagIT · 15h48 · fil - Trump rebaptise l’IA « Super Intelligence », les noms de domaine slovènes s’arrachent et les soupçons de délit d’initié fleurissent
Numerama · 15h29 · fil - Virtualisation : le remplacement de VMware est davantage guidé par l’IA que par les licences
LeMagIT · 15h03 · fil - … et 12 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Culture (4)
- La sélection BENZINE des concerts parisiens en octobre 2026
Benzine Magazine · 08h00 · fil - « Notre Salut » d’Emmanuel Marre : Il s’appelait Henri.
Benzine Magazine · 08h00 · fil - Notre amour de la BD franco-belge : 5. Astérix : Astérix et Cléopâtre
Benzine Magazine · 07h25 · fil - « Tony », de Rumena Bužarovska : portrait d’un sale type
Benzine Magazine · 07h02 · fil
Signaux transverses (2)
- Accès aux équipements depuis les adresses résidentielles - Bretagne
Derniers jeux de données · 14h56 · fil - Lot GTFS STIBUS
Derniers jeux de données · 11h55 · fil
Non retenu (143)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 85 |
| Sans catégorie | 54 |
| Libres et Ouverts | 2 |
| Synoworld | 1 |
| cuisine | 1 |
État de l'infrastructure
- Sauvegardes : 8/8 réussies cette nuit (04h00–04h22), 4,85 Go envoyés sur kDrive
- Services web : 17/17 répondent
- Conteneurs : 32 en marche sur 33 (cadvisor arrêté volontairement) — redémarré(s) depuis hier : Immich-SERVER (il y a 6 h)
- Certificats : 29 domaines, le plus proche expire dans 30 j (alteris.juxjux.ovh)
- Montages rclone : 7/7 montages kDrive répondent
- Syncthing : 4 appareil(s) vu(s) depuis hier, connecté(s) maintenant : SM-T720, jux-debian
- WireGuard : dernière poignée de main — NAS sasnexte à l'instant, PC julie il y a 394 min
- NAS sasnexte : ports 22, 445 joignables par le tunnel — synchros vers kDrive : audiobooks 01/10, music 01/10, photo 01/10, komga 01/10
- Komga-PDF : aucun traitement dans la fin du journal
- Tâches nocturnes : À regarder — 8/9 à l'heure et sans erreur — IPTV-Publiques (dernière ligne inattendue : « [2026-10-01 00:19:02] === BILAN: 87/121 chaînes vivantes, 2 perdues (O »)
- Disque et mémoire : /home/debian à 66 % (31 Go libres), mémoire disponible 2.9 Go, swap à 60 %
Changements depuis hier : conteneur(s) redémarré(s) depuis hier : Immich-SERVER (il y a 6 h).
Rétabli depuis hier : Komga-PDF : 2 erreurs depuis hier — ERREUR (1/3) : 400 Client Error: Bad Request for url: https://spdf.juxjux.ovh/api/v1/misc/.
Relevé du 01/10 à 05h30 (heure de Paris) par etat_infra.py — muet quand tout va bien ; les exceptions attendues sont dans Etat-Infra/config.json.
Procédures
| Procédure | Dernière utilisation | Vérification |
|---|---|---|
| Sauvegardes VPS → kDrive | aujourd'hui 04h22 — 8/8 OK | OK |
| Komga-PDF (compression des magazines) | — | OK — à la demande |
| Komga-Cache (refresh kDrive + 23 scans) | hier 07h45 — 23 scan(s) lance(s), aucun echec | OK |
| Scan Navidrome (quick 4h30, complet lundi 3h) | hier 08h30 — Scan Navidrome lancé OK | OK |
| Scan Audiobookshelf (36 bibliothèques) | hier 08h00 — SCAN OK 36/36 libs | OK |
| Compression Joplin (images en base) | aujourd'hui 07h00 — Economie : 407.9 Mo (77.7%) | OK |
| Veille FreshRSS → BookStack | hier 10h00 — Page 337 creee — 28486 caracteres HTML | OK |
| Seedbox → kDrive movies → Jellyfin « Films récents » | 14/09 23h37 — dernière copie : 5 fichier(s) copie(s) en 125s | OK — à la demande |
| monitor-rclone (recovery des montages) | 23/09 09h40 — dernière intervention : Recovery terminée pour /home/debian/photo | OK — à la demande |
| Montages rclone kDrive (7, dont Jellyfin) | 7/7 montages kDrive répondent | OK |
| Synchro NAS sasnexte → kDrive (4 dossiers) | aujourd'hui — audiobooks 01/10, komga 01/10, music 01/10, photo 01/10 | OK |
| Maillage Syncthing (8 appareils) | 4 appareil(s) vu(s) depuis hier, connecté(s) maintenant : SM-T720,… | OK |
| Tunnel WireGuard (VPS ↔ NAS ↔ PC) | dernière poignée de main — NAS sasnexte à l'instant, PC julie il y… | OK |
| Kobo — dépôt d'epub (Documents/Kobo) | 22/08 11h28 — 1 fichier(s), dernier : Geohistoire Une autre histoire - Christian… | OK — à la demande |
| Photos-Caesium (PC, dépôt de photos) | hier 20h20 — 10 compresse(s), 0 recopie(s), 0 echec(s) - 33.3 Mo -> 12.4 Mo (62.… | OK — à la demande |
| Musique-FLAC (PC, FLAC → MP3 vérifié) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Livres-ISBN (PC, inventaire + résolution) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Mealie-Recettes (note Joplin → recette) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Canari Etat-Infra (ce relevé) | relevé en cours | OK |
Récapitulatif complet des procédures (description, où ça tourne, comment vérifier) : page 316. Liste dans Etat-Infra/procedures.json.
Genere le 2026-10-01 a 06h00 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
Veille 2026-10-02
Veille du vendredi 2 octobre 2026
À regarder — Certificat de alteris.juxjux.ovh expire dans 29 j · Certificat de bookstack.juxjux.ovh expire dans 29 j · Inventaire photo du NAS : aucun journal — la tache ne tourne pas (depuis 4 j) · IPTV-Publiques : dernière ligne inattendue : « [2026-10-02 00:18:54] === BILAN: 88/121 chaînes vivantes, 1 perdue (OR » (depuis 5 j). Le reste est en ordre.
Agenda —
- aujourd'hui : journée Anniversaire Christelle
217 articles sur 24 h (229 avant regroupement des doublons et fils de discussion) — 91 retenus dans 8 themes.
Ouvrir FreshRSS · Modifier les criteres de veille
SIG & Cartographie (1)
- (QGIS) QGIS/Plugin import photos: erreur python avec la version 4.2.2
GeoRezo.net (+1 autre flux) · 16h10 · fil
OpenStreetMap (4)
- On Toxicity, Assuming Good Faith, and WeeklyOSM
OSM Diaries · 16h16 · fil - Mémo : carthographie 3D avec iD
OSM Diaries · 14h43 · fil - Join the 31 Day OSM Challenge this October!
OpenStreetMap Blog · 11h19 · fil - Atwood, Kansas
OSM Diaries · 06h17 · fil
Urbanisme & Territoires (41)
- Blocages des lycées : 63 interpellations dans les Alpes-Maritimes, ce que disent vraiment les chiffres
Édition des Alpes-Maritimes · La Clé Publique · 21h47 · fil - Anne Dal Molin prend la direction de la CAF du Var
Provence-Alpes-Côte d'Azur · 15h38 · fil - Quatre départements d'Auvergne-Rhône-Alpes en vigilance orages - Lyon Capitale
Alerte Google : urbanisme bouches du rhône · 22h57 · fil - prévenir les risques », « protéger nos paysages »... Saint-Cyr adapte ses règles d'urbanisme
Alerte Google : urbanisme var · 20h07 · fil - À La Farlède, le projet de centralité se poursuit avec l'arrivée des Halles en fin d'année
Alerte Google : urbanisme var · 18h37 · fil - Une crypte secrète découverte au fond d'un jardin abandonné des quartiers Nord
Alerte Google : urbanisme bouches du rhône · 18h29 · fil - Renaud Muselier choisit de siéger dans le groupe centriste au Sénat en restant chez Renaissance
Alerte Google : urbanisme bouches du rhône · 14h22 · fil - Marseille vue du ciel : le regard spectaculaire du photographe Roland Grunchec sur la cité ...
Alerte Google : urbanisme bouches du rhône · 13h31 · fil - PARIS : Urbanisme – La grande mutation des entrées de ville commerciales est lancée
Alerte Google : urbanisme var · 11h17 · fil - Édito. Responsables - Nice-Matin
Alerte Google : urbanisme var (+1 autre flux) · 06h07 · fil - Seattle Permit Fees Get Another Hike Amid Development Slump
The Urbanist · 21h30 · fil - Près d'un million de seniors vivent quasi-prisonniers chez eux, alerte une association
Alerte Google : corse urbanisme · 21h17 · fil - Recul du trait de côte en Méditerranée : « La prise de conscience existe mais reste très insuffisante
Alerte Google : urbanisme alpes maritimes · 21h03 · fil - Marana Golo : la concertation s'inspire des traditions corses (2B) - Banque des Territoires
Alerte Google : corse urbanisme · 21h00 · fil - Op-Ed: Kirkland Must Raise its Wage Floor for Essential Workers
The Urbanist · 20h07 · fil - À Marseille, bus, métro et tram arrêtés jusqu’à la fin du service après les violences autour de lycées
Édition des Bouches-du-Rhône · La Clé Publique · 19h33 · fil - Vente aux enchères à Drouot : "J’ai acheté la guitare de Brigitte Bardot"
Provence-Alpes-Côte d'Azur · 18h07 · fil - Qui est la nouvelle directrice du Parc national des Ecrins ?
Provence-Alpes-Côte d'Azur · 16h36 · fil - Blocus des lycées Craponne et Empéri : de vives tensions à Salon-de-Provence
Provence-Alpes-Côte d'Azur · 16h25 · fil - À Marseille, l'association La Cloche fait du lien social une priorité
Provence-Alpes-Côte d'Azur · 16h00 · fil - La Ciotat : une ville engagée dans la préservation du patrimoine bâti
Provence-Alpes-Côte d'Azur · 16h00 · fil - Frontière italienne : les drones restent possibles, mais le juge exige des preuves terrain par terrain
Édition des Alpes-Maritimes · La Clé Publique · 15h25 · fil - Mouvement lycéen : trafic RTM interrompu à Marseille et Aubagne
Provence-Alpes-Côte d'Azur · 15h23 · fil - Sainte-Victoire : pourquoi le sentier entre le Prieuré et la Croix de Provence est fermé ?
Provence-Alpes-Côte d'Azur · 15h07 · fil - … et 17 autre(s) article(s) dans ce theme (seuil Max du theme = 24).
Self-hosting & Infra (5)
- How to Free Disk Space on Your NAS if You Run Docker and Dockhand
Marius Hosting · 10h46 · fil - Copy certificat let's encrypt existant d'un nas source vers un autre nas cible
NAS-Forum · 12h26 · fil - 7 New Self-Hosted Apps You Should Try in October 2026
Marius Hosting · 11h01 · fil - How to Delete Unused and Renew SSL Certificates in Nginx Proxy Manager
Marius Hosting · 10h55 · fil - plex v1.43.3 qui s'arrette tout seul
NAS-Forum · 17h10 · fil
Libre & Linux (19)
- LibreOffice project and community recap: September 2026
TDF Community Blog (+1 autre flux) · 09h29 · fil - Siemens Slams The Door Shut On Promising Open-Source Radioss Project
Phoronix · 03h00 · fil - Steam On Linux Dives Down To 3.05% For September
Phoronix · 02h18 · fil - Linux App Release Roundup (September 2026)
OMG! Ubuntu · 00h53 · fil - Fedora 45 Beta Performance: The Satisfyingly Boring Benchmarks
Phoronix · 22h57 · fil - Mesa Drops Its Poorly Maintained & Rarely Used Direct3D 10 User-Mode Driver
Phoronix · 22h00 · fil - Ubuntu 26.10 Beta Released With Linux 7.3 Kernel, GNOME 51 Desktop
Phoronix · 21h26 · fil - Ubuntu 26.10 Beta released with Linux 7.3 & GNOME 51
OMG! Ubuntu · 21h10 · fil - Nearing A 10 Second Kernel Build, Xeon 600 & Other September Excitement On Phoronix
Phoronix · 19h07 · fil - Some Networking Fixes Being Diverted To Linux 7.4, AI/LLM Activity Still Increasing
Phoronix · 18h24 · fil - Ubuntu 26.10 ships with Rust-based OpenPGP tooling
OMG! Ubuntu · 17h24 · fil - Qt Creator 21 IDE Beta Enables More AI Functionality By Default
Phoronix · 16h10 · fil - … et 7 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
IA & Numérique (16)
- IA : Gemini 4 Argon, GPT-6.1 Sol et Claude Sonnet 5.5 sont dans un mouchoir de poche
LeMagIT · 14h14 · fil - Gemini 4 Argon s’attaque à ChatGPT et Claude : Google dévoile son IA la plus puissante
Actualités · 08h37 · fil - Comment OpenAI et Anthropic se voient en futurs financeurs de la recherche mondiale
Next - Articles gratuits · 16h28 · fil - Évaluer l’empreinte de l’IA : l’outil open source de Publicis Sapient séduit (et il n’est pas seul)
LeMagIT · 13h04 · fil - Google veut revenir dans la course avec Gemini 4 Argon et son million de tokens en sortie
Next - Articles gratuits · 10h08 · fil - OpenAI launches GPT-6.1 Sol and Dots, its new always-on AI agents that work independently
News - AlternativeTo.net · 07h11 · fil - « Un Kubernetes pour les agents » : OpenClaw Enterprise veut débloquer l’IA autonome en production
Goodtech · 06h57 · fil - Il déchiffre une lettre de 217 ans adressée à un général de Napoléon grâce à l’IA
Numerama · 16h40 · fil - Oktane '26 apporte de la clarté à la sécurité de l’identité des agents d’IA
LeMagIT · 15h14 · fil - La nouvelle IA de Donald Trump le contredit… et se fait censurer
Actualités · 15h00 · fil - Commentaires sur Pour une IA coopérative par tixier
Framasoft - Toute l'actualité · 13h13 · fil - Raycast 2.6 reduces memory use and adds AI model controls
News - AlternativeTo.net · 11h50 · fil - … et 4 autre(s) article(s) dans ce theme (seuil
max_par_theme= 12).
Culture (4)
- Bientôt : « Manger les images » au Mucem, Marseille
En revenant de l'expo ! · 15h26 · fil - (Netflix) « Machos Alfa – Saison 5 » : l’âge de la confusion
Benzine Magazine · 07h07 · fil - « Dur comme la lave », de Lilja Sigurdardóttir : voyage au pays des volcans et des elfes
Benzine Magazine · 07h00 · fil - « Douze », de C. Ladia et S. Bournel-Bosson : une salle, quatre boules de cuir et un ring
Benzine Magazine · 06h20 · fil
Signaux transverses (1)
- Parkings (panneaux solaires) - Agglo
Derniers jeux de données · 09h58 · fil
Non retenu (119)
Articles hors criteres, consultables dans FreshRSS.
| Categorie | Articles |
|---|---|
| Geekeries | 93 |
| Sans catégorie | 20 |
| Libres et Ouverts | 3 |
| Toulon | 1 |
| Arts and Co | 1 |
| cuisine | 1 |
État de l'infrastructure
- Sauvegardes : 8/8 réussies cette nuit (04h00–04h16), 2,55 Go envoyés sur kDrive
- Services web : 17/17 répondent
- Conteneurs : 32 en marche sur 33 (cadvisor arrêté volontairement) — redémarré(s) depuis hier : Immich-SERVER (il y a 30 h)
- Certificats : À regarder — 29 domaines, le plus proche expire dans 29 j (alteris.juxjux.ovh)
- Montages rclone : 7/7 montages kDrive répondent
- Syncthing : 3 appareil(s) vu(s) depuis hier, connecté(s) maintenant : PC-Julien 08/2026, jux-debian
- WireGuard : dernière poignée de main — NAS sasnexte à l'instant, PC julie il y a 1329 min
- NAS sasnexte : ports 22, 445 joignables par le tunnel — synchros vers kDrive : audiobooks 02/10, music 02/10, photo 02/10, komga 02/10
- Komga-PDF : aucun traitement dans la fin du journal
- Tâches nocturnes : À regarder — 8/9 à l'heure et sans erreur — IPTV-Publiques (dernière ligne inattendue : « [2026-10-02 00:18:54] === BILAN: 88/121 chaînes vivantes, 1 perdue (OR »)
- Disque et mémoire : /home/debian à 76 % (21 Go libres), mémoire disponible 3.3 Go, swap à 66 %
Changements depuis hier : conteneur(s) redémarré(s) depuis hier : Immich-SERVER (il y a 30 h).
Relevé du 02/10 à 05h30 (heure de Paris) par etat_infra.py — muet quand tout va bien ; les exceptions attendues sont dans Etat-Infra/config.json.
Procédures
| Procédure | Dernière utilisation | Vérification |
|---|---|---|
| Sauvegardes VPS → kDrive | aujourd'hui 04h16 — 8/8 OK | OK |
| Komga-PDF (compression des magazines) | — | OK — à la demande |
| Komga-Cache (refresh kDrive + 23 scans) | hier 07h45 — 23 scan(s) lance(s), aucun echec | OK |
| Scan Navidrome (quick 4h30, complet lundi 3h) | hier 08h30 — Scan Navidrome lancé OK | OK |
| Scan Audiobookshelf (36 bibliothèques) | hier 08h00 — SCAN OK 36/36 libs | OK |
| Compression Joplin (images en base) | aujourd'hui 07h00 — Economie : 407.9 Mo (77.7%) | OK |
| Veille FreshRSS → BookStack | hier 10h00 — Page 338 creee — 30318 caracteres HTML | OK |
| Seedbox → kDrive movies → Jellyfin « Films récents » | 14/09 23h37 — dernière copie : 5 fichier(s) copie(s) en 125s | OK — à la demande |
| monitor-rclone (recovery des montages) | 23/09 09h40 — dernière intervention : Recovery terminée pour /home/debian/photo | OK — à la demande |
| Montages rclone kDrive (7, dont Jellyfin) | 7/7 montages kDrive répondent | OK |
| Synchro NAS sasnexte → kDrive (4 dossiers) | aujourd'hui — audiobooks 02/10, komga 02/10, music 02/10, photo 02/10 | OK |
| Maillage Syncthing (8 appareils) | 3 appareil(s) vu(s) depuis hier, connecté(s) maintenant : PC-Julien… | OK |
| Tunnel WireGuard (VPS ↔ NAS ↔ PC) | dernière poignée de main — NAS sasnexte à l'instant, PC julie il y… | OK |
| Kobo — dépôt d'epub (Documents/Kobo) | 22/08 11h28 — 1 fichier(s), dernier : Geohistoire Une autre histoire - Christian… | OK — à la demande |
| Photos-Caesium (PC, dépôt de photos) | 30/09 20h20 — 10 compresse(s), 0 recopie(s), 0 echec(s) - 33.3 Mo -> 12.4 Mo (62.… | OK — à la demande |
| Musique-FLAC (PC, FLAC → MP3 vérifié) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Livres-ISBN (PC, inventaire + résolution) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Mealie-Recettes (note Joplin → recette) | aucun témoin reçu — pas encore tourné depuis l'ajout du témoin | non observé |
| Canari Etat-Infra (ce relevé) | relevé en cours | OK |
Récapitulatif complet des procédures (description, où ça tourne, comment vérifier) : page 316. Liste dans Etat-Infra/procedures.json.
Genere le 2026-10-02 a 06h00 (heure de Paris) par veille_freshrss.py (VPS, cron quotidien). Criteres : page 252.
07_Claude et la domotique de la maison
Le système Blink de caméras et sonnettes connectées
Première identification réseau : 23 août 2026, depuis le poste Windows
julie(192.168.1.26, Ethernet). Script de relevé :Jux-scripts/Reseau-LAN/scan_lan.py
Ce qui a été cherché
Question de départ : la sonnette Blink est-elle visible sur le réseau local ? Réponse : oui, un unique appareil au constructeur Amazon répond sur le LAN domestique.
L'appareil Blink
| Champ | Valeur |
|---|---|
| Adresse IP | 192.168.1.128 (bail DHCP Livebox) |
| Adresse MAC | e8:4c:4a:62:8d:d9 |
OUI E8:4C:4A |
Amazon Technologies Inc. |
| Nom DHCP / DNS inverse | device-19.home |
| Ports TCP ouverts | 443 uniquement |
| Latence | 3–6 ms, 0 % de perte |
Le port 443 n'accepte aucun client anonyme. Handshake TLS rejeté dans toutes les configurations testées :
| Tentative | Résultat |
|---|---|
TLS auto (jusqu'à 1.3), ALL:@SECLEVEL=0 |
SSLV3_ALERT_HANDSHAKE_FAILURE |
TLS 1.2 forcé, ALL:@SECLEVEL=0 |
SSLV3_ALERT_HANDSHAKE_FAILURE |
| TLS 1.0 forcé | TLSV1_ALERT_PROTOCOL_VERSION |
L'appareil impose donc son propre jeu de suites cryptographiques, et exige vraisemblablement un certificat client (authentification mutuelle). Comportement attendu et sain : le point de contact local ne parle qu'à l'application Blink et au cloud Amazon. Il n'y a pas d'interface web, pas de flux RTSP, pas d'API locale exploitable — inutile de chercher à brancher Frigate, Scrypted ou Home Assistant dessus par cette voie.
Ce que le réseau ne dit pas
- Impossible de distinguer la sonnette du module Sync depuis le LAN. Les deux portent une OUI Amazon et le même profil de port. Pour trancher : application Blink → Paramètres de l'appareil → Informations, qui affiche l'adresse MAC de chaque appareil. À reporter ici une fois relevé.
- Un seul appareil Amazon répond. Si le foyer compte à la fois une sonnette et un module Sync, le second est en veille au moment du relevé. La Blink Video Doorbell sur batterie en mode standard dort entre deux événements et ne répond alors ni au ping ni à l'ARP ; elle n'est connectée en permanence qu'en câblage secteur (mode « enhanced »). Point à confirmer par un relevé déclenché juste après avoir sonné à la porte.
Inventaire complet du LAN — 192.168.1.0/24
Relevé du 2026-08-23 (balayage ping de .1 à .254, puis lecture de la table ARP) :
| IP | MAC | Constructeur | Nom DNS | Ports TCP |
|---|---|---|---|---|
| .1 | 20:37:f0:a1:fa:dc |
Arcadyan Corporation | lan.home |
80, 443, 8883 |
| .10 | 72:75:be:32:27:c4 |
[MAC aléatoire] | lenovo-tab-k11.home |
aucun |
| .11 | 4e:16:10:cb:79:51 |
[MAC aléatoire] | redmi-note-11-pro.home |
aucun |
| .17 | 00:11:32:9c:8e:c9 |
Synology Incorporated | — | 21, 22, 80, 139, 443, 445 |
| .23 | 2e:a5:80:20:23:b8 |
[MAC aléatoire] | s23-de-elio.home |
aucun |
| .128 | e8:4c:4a:62:8d:d9 |
Amazon Technologies Inc. | device-19.home |
443 |
| .129 | d4:3a:2e:d8:c5:52 |
SHENZHEN MTC CO LTD | — | 80 |
| .200 | d4:3a:2e:d8:c5:52 |
SHENZHEN MTC CO LTD | — | 80 |
- .1 = la Livebox (Arcadyan en fabrique les modèles récents). Le port 8883 est du MQTT sur TLS — canal de télégestion Orange.
- .17 = le NAS Synology
NASMAISON, déjà documenté ailleurs (lecteurA:→\NASMAISON\foxy). - .129 et .200 portent la même MAC. Un seul appareil Shenzhen MTC (fabricant de cartes mère de téléviseurs et de boîtiers connectés) avec deux baux DHCP actifs — il a changé d'adresse sans que l'ancien bail soit purgé. Sans gravité, mais à nettoyer dans l'interface Livebox si la table se remplit.
Points de méthode — à ne pas re-découvrir
arp -aseul ne montre presque rien. Le cache ARP ne contient que les hôtes contactés récemment — 3 entrées au premier relevé, contre 8 après balayage. Toujours pinger le /24 avant de lire la table ARP.- La sortie de
arp -aest traduite sous Windows (dynamiqueet nondynamic). Ne jamais filtrer sur ce mot-clé : parser par expression régulière sur le couple IP + MAC. C'est ce que faitscan_lan.py. - Une MAC dont le 2e bit du premier octet est posé est aléatoire, pas un vrai constructeur :
72:,4e:,2e:… Test :int(octet1, 16) & 0x02. C'est la randomisation MAC des OS modernes (Android, iOS, Windows) — inutile d'interroger une base OUI, elle ne renverra rien. Trois des huit appareils du LAN sont dans ce cas. - Le DNS inverse de la Livebox est la source la plus riche.
socket.gethostbyaddr()renvoie les noms d'hôte du domaine.home(redmi-note-11-pro.home,s23-de-elio.home) — bien plus parlant que l'OUI pour les téléphones à MAC aléatoire. Ne pas s'arrêter à l'OUI. api.macvendors.comlimite à ~1 requête/seconde en accès gratuit. Le script temporise 1,5 s et met en cache dansoui_cache.json; les relevés suivants peuvent tourner en--hors-ligne.curl.exeest absent du postejulie— tout passe par Python (urllib) ouInvoke-RestMethod.- Un TTL de 64 dans la réponse ping indique une pile réseau Linux/BSD embarquée (Windows répondrait 128). Indice utile pour typer un objet connecté muet.
Commandes de vérification
Inventaire complet, avec sondage des ports :
py -3.12 D:\Syncthing\Jux_univers\Jux-scripts\Reseau-LAN\scan_lan.py --ports
Relevé rapide sans rien pinger ni interroger en ligne (lit le cache ARP et le cache OUI) :
py -3.12 scan_lan.py --sans-balayage --hors-ligne
Vérifier que l'appareil Blink est éveillé :
ping -n 4 192.168.1.128
Le script est en stdlib Python pure — aucune dépendance à installer, il tourne tel quel sur Windows, Ubuntu et le VPS. Il détecte le préfixe /24 tout seul et accepte --reseau pour le forcer.
Reste à faire
- Relever dans l'application Blink les adresses MAC de la sonnette et du module Sync, pour savoir lequel est
e8:4c:4a:62:8d:d9 - Refaire un balayage immédiatement après avoir sonné, pour voir apparaître le second appareil Amazon s'il existe
- Identifier l'appareil Shenzhen MTC (.129/.200) — probablement un téléviseur ou un boîtier ; son port 80 est peut-être une interface de configuration
- Purger le bail DHCP en double dans l'interface Livebox
- Réserver une IP fixe pour la Blink dans le DHCP, si l'on veut la surveiller dans la durée
Le problème d'usage — caméras muettes après une période d'inactivité
Analysé le 30 août 2026, à la suite de l'ajout de la caméra rampe.
Le symptôme
Quand quelqu'un sonne au portail, tout fonctionne. En revanche, après un laps de temps sans utilisation, ni la caméra du portail ni la caméra rampe ne répondent lorsqu'on les interroge depuis l'application Blink.
Cette asymétrie est l'indice le plus précieux du dossier, et elle oriente tout le diagnostic. Deux chemins bien distincts sont en jeu :
- Le chemin sortant — un appui sur le bouton, ou une détection de mouvement, est un événement local : l'appareil se réveille de lui-même et pousse vers le cloud. Ce chemin marche.
- Le chemin entrant — la vue en direct demande de réveiller un appareil endormi depuis l'extérieur. C'est celui qui échoue.
Le défaut est donc dans la chaîne de réveil entrante, pas dans les caméras elles-mêmes ni dans leur liaison au cloud.
La chaîne de réveil, maillon par maillon
Une demande de vue en direct traverse tout ceci :
- Application → cloud Amazon (Internet, réseau mobile ou Wi-Fi du téléphone)
- Cloud → module Sync, via la connexion Internet de la maison — le module est le seul élément en permanence alimenté et associé au Wi-Fi
- Module Sync → caméra, par une liaison radio propriétaire basse fréquence (de l'ordre de 900 MHz). C'est le seul canal encore actif quand la caméra dort, et il est hors de portée du réseau IP
- La caméra allume sa radio Wi-Fi, se ré-associe au point d'accès et obtient un bail DHCP
- Elle ouvre sa connexion vers le cloud, puis le flux vidéo remonte
Les maillons 3, 4 et 5 sont les points fragiles. Ils ne sont sollicités que lors d'un réveil entrant — ce qui explique exactement pourquoi la sonnerie fonctionne et pas la vue en direct.
Pourquoi un « ping léger et permanent » ne peut pas fonctionner
L'idée de maintenir les appareils éveillés par un ping périodique est séduisante, mais elle se heurte à un fait établi par nos propres relevés.
Sur trois balayages complets du /24, la table ARP n'a jamais contenu qu'une seule adresse Amazon. Les caméras ne sont pas « silencieuses » : elles ne sont pas associées au Wi-Fi du tout. Leur radio est éteinte, elles n'ont aucune adresse IP.
Deux conséquences, l'une technique et l'autre pratique :
- On ne peut pas pinger ce qui n'a pas d'adresse. Un paquet envoyé vers une IP inexistante n'atteint personne — aucun récepteur n'est allumé pour l'entendre. Le réveil ne passe pas par IP mais par la liaison radio du module Sync (maillon 3), à laquelle aucun outil réseau n'a accès.
- Même si c'était possible, ce serait nuisible. L'autonomie de deux ans annoncée repose entièrement sur le fait que la radio Wi-Fi reste éteinte : c'est le poste de consommation dominant. La maintenir active viderait les piles en quelques jours.
Il n'existe donc pas de solution réseau à ce problème. Ce qui suit agit sur les causes réelles.
Causes plausibles, par rendement décroissant
Le fait que les deux caméras échouent ensemble est significatif : deux appareils indépendants tombant en panne simultanément est peu probable. Cela désigne un élément commun — module Sync, Wi-Fi de la maison, ou Livebox — plutôt qu'un défaut propre à chaque caméra. À traiter dans cet ordre :
- Piles faibles. Cause n°1 des réveils manqués, et la plus trompeuse. L'allumage de la radio Wi-Fi demande une pointe de courant ; des piles fatiguées s'effondrent sous cette charge alors que l'application les affiche encore « correctes », car elle mesure une tension à vide. Symptôme caractéristique : la caméra répond quand elle vient d'être sollicitée, mais plus après un long repos. Exiger des piles lithium AA (type Energizer Ultimate Lithium) — les alcalines tiennent mal les pointes de courant par temps froid, et les rechargeables NiMH à 1,2 V n'atteignent pas la tension attendue.
- Signal Wi-Fi insuffisant à l'emplacement. Au réveil, la caméra doit se ré-associer de zéro : c'est bien plus exigeant que maintenir une liaison déjà établie. Un signal limite passe quand tout va bien et échoue au portail, en bout de portée. L'application Blink affiche deux indicateurs distincts par caméra — un pour le Wi-Fi, un pour la liaison au module Sync. Les relever tous les deux, sur les deux caméras : c'est la mesure la plus utile disponible, et elle est hors de ma portée depuis le réseau.
- Placement du module Sync. Il doit être à la fois dans la portée radio des deux caméras et bien couvert en Wi-Fi. Le rapprocher des caméras améliore le maillon 3 ; le rapprocher de la Livebox améliore le maillon 2. C'est un arbitrage, souvent mal réglé par défaut.
- Bail DHCP expiré pendant le sommeil. Après une longue absence, le bail a disparu de la Livebox : la caméra doit refaire une négociation complète, ce qui allonge le réveil et peut le faire échouer. Correctif : réserver une IP fixe pour le module Sync et pour chaque appareil Blink dans le DHCP de la Livebox.
- SSID unique 2,4 + 5 GHz avec orientation de bande. Les appareils Blink sont 2,4 GHz uniquement. Une Livebox qui diffuse un SSID unique et arbitre les bandes peut mal orienter une ré-association. Si le modèle le permet, exposer un SSID 2,4 GHz distinct et y fixer les appareils Blink.
- Programmation horaire du Wi-Fi. Les Livebox savent couper le Wi-Fi la nuit. Vérifier qu'aucune plage d'extinction n'est active.
- Firmware. Vérifier les mises à jour du module Sync et des caméras dans l'application.
Mesurer avant de conclure
Le module Sync est le seul élément observable depuis le réseau, et c'est justement le suspect n°1 en tant qu'élément commun. S'il décroche du Wi-Fi pendant les périodes creuses, tout le reste s'effondre — et cela se mesure.
Script : Jux-scripts/Reseau-LAN/surveiller_blink.py, stdlib seule.
py -3.12 D:\Syncthing\Jux_univers\Jux-scripts\Reseau-LAN\surveiller_blink.py --intervalle 30
py -3.12 surveiller_blink.py --resume
Il sonde toutes les 30 s, journalise en CSV dans D:\Logs\Blink\blink_AAAAMMJJ.csv et signale à la seconde près chaque apparition, perte, retour et disparition ARP. Ce n'est pas un maintien en éveil — la sonde ne réveille rien, elle constate.
⚠ Les journaux sont volontairement écrits hors de l'arbre Syncthing, dans D:\Logs\Blink\ (surchargeable par la variable d'environnement BLINK_LOGS). Le script sonde toutes les 30 s : rangé dans Jux-scripts/, chaque sonde aurait déclenché une propagation vers les 7 appareils du maillage — bruit de synchronisation permanent pour quelques octets de mesure. Le script est synchronisé, ses journaux ne le sont pas. Même raisonnement que pour les dossiers de la procédure Photos-Caesium.
Deux lectures possibles au bout de quelques jours :
- Disponibilité du module Sync inférieure à 100 % → le problème est le Wi-Fi de la maison ou le module lui-même. Agir sur les points 3 à 6.
- Disponibilité à 100 % alors que la vue en direct échoue → le module tient, la rupture est en aval : liaison radio ou réveil des caméras. Agir sur les points 1 et 2.
Ce test coupe le problème en deux et évite d'agir au hasard. Référence relevée le 30 août 2026 : 30 sondes, 0 % de perte, latence 4 à 26 ms — le module Sync est irréprochable en journée. Reste à savoir ce qu'il fait la nuit et pendant les longues absences.
Un point à confirmer par l'application : lequel des appareils est 192.168.1.128. Sa disponibilité parfaite et permanente désigne le module Sync, mais tant que la MAC e8:4c:4a:62:8d:d9 n'a pas été relevée dans Paramètres de l'appareil → Informations, ce n'est qu'une déduction.
Relevé du 30 août 2026
Nouveau balayage après ajout de la caméra rampe. Toujours un seul appareil Amazon, en IPv4 comme en IPv6 (le voisinage IPv6 ne connaît que la Livebox et le NAS). Évolutions constatées, sans rapport avec Blink :
| Évolution | Appareil |
|---|---|
| Apparu | .12 — redmi-13c.home (MAC aléatoire) |
| Apparu | .28 — pc-elio.home, Intel 08:b4:d2:6b:3b:63 |
| Disparu | .23 — s23-de-elio.home |
| Inchangé | .128 — e8:4c:4a:62:8d:d9, seul appareil Amazon |
Le NAS résout désormais en NASMAISON. Le doublon de bail .129/.200 persiste.
Ce que la sonde voit — et ses angles morts
Point clarifié le 30 août 2026, parce qu'il conditionne les décisions de placement.
Il n'y a pas un lien mais trois, et celui qui relie le module Sync aux caméras n'est pas du Wi-Fi.
| Lien | Nature | Actif quand | Observable par la sonde ? |
|---|---|---|---|
| Livebox ↔ module Sync | Wi-Fi 2,4 GHz | en permanence | Oui, c'est la mesure principale |
| Module Sync ↔ caméras | radio propriétaire ~900 MHz | en permanence (réveil, commandes) | Non, hors du monde IP |
| Livebox ↔ caméras | Wi-Fi 2,4 GHz | uniquement caméra réveillée | Oui, par intermittence |
Conséquence pratique, contre-intuitive : le Wi-Fi des caméras va vers la Livebox, pas vers le module Sync. Rapprocher le module Sync des caméras améliore la liaison radio de réveil, mais ne change rien à la portée Wi-Fi des caméras. Si le portail est loin de la Livebox, déplacer le module Sync ne corrigera pas ce problème-là. C'est précisément pour cela que l'application affiche deux indicateurs séparés par caméra.
On n'est donc pas aveugle aux caméras. La liaison radio de réveil est inobservable, mais son résultat l'est : une caméra qui se réveille s'associe à la Livebox et prend une adresse IP, donc elle apparaît. Si elle n'apparaît jamais, c'est que le réveil ou l'association Wi-Fi échoue — ce qui est exactement la question posée.
Angles morts assumés
- La liaison module Sync ↔ cloud Amazon n'est pas testée. La sonde mesure le trajet PC → Livebox → module Sync, entièrement local. Le module peut être parfaitement joignable sur le réseau alors que sa connexion vers Internet est rompue — cas qui produirait exactement le symptôme observé sans que le journal montre quoi que ce soit.
- La liaison radio ~900 MHz est définitivement hors de portée de tout outil réseau. Seule l'application Blink en donne une mesure.
- Les fenêtres de réveil sont brèves. Une caméra peut se réveiller et se rendormir entre deux sondes. Réduire
--intervallependant un test ciblé augmente les chances de la saisir.
Trois correctifs du 30 août 2026
- Balayage périodique du /24 — sans lui, les caméras seraient restées invisibles. La première version lisait la table ARP sans jamais l'alimenter : or
arp -ane montre que les hôtes déjà contactés. Une caméra qui se réveille n'y serait entrée que par hasard, et la détection d'apparition n'aurait probablement jamais fonctionné. Le script balaie désormais le /24 toutes les 5 min (option--balayage). Défaut de conception, pas de réglage : la fonctionnalité annoncée était inopérante. - Le script ne meurt plus sur une erreur d'écriture. Une exception sur le journal faisait tomber toute la surveillance — une sonde perdue est sans conséquence, un script mort laisse un trou de plusieurs jours et fait croire à une panne réseau.
- Journal de repli
blink_AAAAMMJJ_b.csv. Ouvrir le CSV dans LibreOffice Calc pose un verrou exclusif qui bloque toute écriture : consulter ses propres mesures suffisait à les interrompre. Constaté en conditions réelles le 30 août — le coupable a été identifié par le Restart Manager de Windows, seul moyen sans outil tiers :Add-Type -TypeDefinition $sig -Language CSharp # binding rstrtmgr.dll [RM]::Who('D:\Logs\Blink\blink_20260830.csv') # -> 10336 : LibreOffice--resumeagrège tous les fichiersblink_*, les deux journaux sont donc relus ensemble. À retenir : niarp -a, ni la liste des processus Python ne désignent le verrou — aucun processus Python ne subsistait, et le fichier restait bloqué.
Mise en service de la surveillance — méthode retenue le 30 août 2026
Voie retenue : le dossier Démarrage de Windows, sans élévation. Le planificateur de tâches a été écarté après deux échecs successifs, documentés ci-dessous.
Lanceur : Jux-scripts/Reseau-LAN/Surveillance Blink.cmd (fins de ligne CRLF, appelle pythonw.exe — donc aucune fenêtre visible).
& "D:\Syncthing\Jux_univers\Jux-scripts\Reseau-LAN\Surveillance Blink.cmd"
Copy-Item "D:\Syncthing\Jux_univers\Jux-scripts\Reseau-LAN\Surveillance Blink.cmd" "$env:APPDATA\Microsoft\Windows\Start Menu\Programs\Startup\"
État au 30 août 2026, 08:54 — sonde active (PID 3724), journal alimenté toutes les 30 s, module Sync joignable à 4–6 ms.
Pièges de mise en service — à ne pas refaire
- La syntaxe
schtasks /tr "\"chemin\" \"script\""est du cmd.exe, pas du PowerShell. En PowerShell,\"n'est pas une séquence d'échappement : la commande échoue sur « Argument ou option non valide » avec les antislashs restés collés au chemin. Soit utiliser le jeton d'arrêt d'analyse--%, soit — mieux — se passer des guillemets internes, aucun des deux chemins en jeu ne comportant d'espace. Register-ScheduledTaskexige l'élévation pour écrire dans le dossier racine du planificateur :Accès refusé,HRESULT 0x80070005. Ce n'est pas contournable par la syntaxe. Le dossier Démarrage, lui, ne demande aucun droit administrateur — c'est ce qui a tranché.- Si l'on passe malgré tout par le planificateur en console élevée, préciser
-User "julie" -RunLevel Limited: sans cela la tâche s'exécuterait avec les privilèges administrateur, ce qu'une simple sonde réseau n'a aucune raison d'obtenir. Ajouter-ExecutionTimeLimit ([TimeSpan]::Zero), faute de quoi la tâche est tuée au bout de 72 h (limite par défaut) — fatal pour une surveillance censée durer. - La copie vers le dossier Démarrage doit être tapée par Julien, jamais lancée depuis Claude Code.
%APPDATA%est redirigé par le conteneur MSIX : la copie atterrirait dans…\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\…, invisible de Windows, sans le moindre message d'erreur. Piège général documenté page 282. - Méthode de vérification, elle, exécutable depuis Claude Code — la liste des processus et les chemins réels ne sont pas virtualisés en lecture :
Pour lever tout doute sur une écriture dansGet-CimInstance Win32_Process -Filter "Name='pythonw.exe'" | Select-Object ProcessId, CommandLine%APPDATA%, comparer le chemin réel et son équivalent…\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\…: le fichier présent uniquement dans le chemin réel prouve une écriture authentique ; présent dans les deux avec les mêmes taille et horodatage, c'est le même fichier redirigé. - Coller un message d'erreur PowerShell dans PowerShell produit une cascade d'erreurs trompeuses. Les lignes de rappel commencent par
+, que l'interpréteur lit comme un opérateur unaire : « Expression manquante après l'opérateur unaire + ». Symptôme sans rapport avec le problème d'origine — ne pas se lancer dans son diagnostic.
Contrepartie de la voie retenue : une fenêtre de console apparaît une fraction de seconde à l'ouverture de session, et le script n'est pas relancé automatiquement s'il s'interrompt. Le planificateur offrirait les deux, au prix d'une élévation.
À faire, dans l'ordre
- Relever les deux indicateurs de signal (Wi-Fi et module Sync) des deux caméras dans l'application — mesure la plus rentable, à faire en premier
- Remplacer les piles par des lithium AA si elles ne le sont pas déjà, même si l'application les dit correctes
- Laisser tourner
surveiller_blink.pyplusieurs jours, puis lire--resume - Réserver des IP fixes pour les appareils Blink dans le DHCP de la Livebox
- Vérifier qu'aucune programmation horaire du Wi-Fi n'est active sur la Livebox
- Relever la MAC de chaque appareil Blink dans l'application, pour lever l'ambiguïté sur
.128
Xiaomi 15T comme micro du PC Windows
08_Claude et la sécurité digitale du jux's univers
1 - la prise en main sur Bitwarden
Relevé et suivi des passkeys du Jux's univers. Cette page a deux fonctions : conserver l'état du coffre Bitwarden, et servir de fiche de relevé pour ce que chaque service a réellement enregistré de son côté. C'est la confrontation des deux qui fait apparaître les credentials orphelins.
Pourquoi les deux moitiés sont nécessaires. Il n'existe aucun registre central des passkeys. Le coffre ne connaît que ce qu'il stocke lui-même ; la liste qui fait autorité est détenue par chaque service. Supprimer une passkey dans Bitwarden ne la révoque pas côté serveur, et l'inverse est vrai aussi.
1. État du coffre — relevé du 2026-08-25
14 passkeys, obtenues par bw list items (voir § 4).
| Domaine (rpId) | Élément | Identifiant | Créée le |
|---|---|---|---|
| amazon.fr | amazon.fr | jubertrand@gmail.com | 2025-02-14 |
| auth.monidentifiant.sncf | monidentifiant.sncf | nexte@ik.me | 2026-01-15 |
| aws.amazon.com | signin.aws.amazon.com | arn:aws:iam::712353451166:root | 2024-12-17 |
| google.com | accounts.google.com | bertrand.dadone@gmail.com | 2024-07-07 |
| google.com | accounts.google.com | jubertrand@gmail.com | 2024-03-15 |
| google.com | accounts.google.com | nexte.urbanisme@gmail.com | 2024-02-01 |
| juxjux.synology.me | juxjux.synology.me | juxjux | 2026-01-09 |
| login.eau.veolia.fr | login.eau.veolia.fr | jubertrand@gmail.com | 2024-09-18 |
| login.microsoft.com | outlook.live.com | julien.bertrand@live.fr | 2025-07-29 |
| login.nvgs.nvidia.com | login.nvgs.nvidia.com | juxjux@yahoo.com | 2026-08-19 |
| nextcloud.juxjux.ovh | nextcloud.juxjux.ovh | julien | 2025-12-10 |
| vault.bitwarden.com | vault.bitwarden.com | julien.bertrand@ik.me | 2024-01-16 |
| www.dropbox.com | dropbox.com | nexte@ik.me | 2026-01-16 |
| www.paypal.com | paypal.com | julien.bertrand@laposte.net | 2026-04-04 |
10 identités distinctes pour 14 passkeys. Les trois lignes google.com ne sont pas des doublons : ce sont trois comptes Google différents — le script les signale comme doublons, c'est un faux positif connu.
2. Fiche de relevé côté services
Tableau à compléter au fil des visites. Une ligne par domaine. La colonne Identifiants côté service se remplit avec ce que la page de sécurité du service affiche réellement, séparé par des virgules — c'est elle que le script compare au coffre. Laisser Relevé le vide tant que la vérification n'a pas été faite.
| # | Domaine (rpId) | URL de vérification | Identifiants côté service | Relevé le | Action |
|---|---|---|---|---|---|
| 1 | login.microsoft.com | account.microsoft.com → Sécurité → Options de connexion avancées | |||
| 2 | aws.amazon.com | Console AWS → IAM → Identifiants de sécurité (compte racine) | |||
| 3 | google.com | passwords.google.com → Passkeys (les 3 comptes) | |||
| 4 | www.paypal.com | paypal.com → Paramètres → Sécurité | |||
| 5 | www.dropbox.com | dropbox.com → Paramètres → Sécurité | |||
| 6 | juxjux.synology.me | DSM → Personnel → Compte → Sécurité | |||
| 7 | amazon.fr | amazon.fr → Connexion et sécurité | |||
| 8 | auth.monidentifiant.sncf | monidentifiant.sncf → Sécurité | |||
| 9 | login.eau.veolia.fr | eau.veolia.fr → Mon compte | |||
| 10 | login.nvgs.nvidia.com | nvidia.com → Mon compte → Sécurité | |||
| 11 | vault.bitwarden.com | vault.bitwarden.com → Paramètres → Sécurité | |||
| 12 | nextcloud.juxjux.ovh | service démonté — voir § 3 | — | 2026-08-25 | Supprimer du coffre |
Sources hors coffre, à ne pas oublier
Ces emplacements peuvent contenir des passkeys absentes du coffre — typiquement celles créées directement sur le téléphone.
| Emplacement | Où regarder | Relevé le |
|---|---|---|
| Google Password Manager | passwords.google.com → Passkeys (par compte) | |
| Android — S23 / Xiaomi | myaccount.google.com → Sécurité → Vos appareils | |
| Windows Hello | néant sur ce poste : aucun TPM, voir § 3 | 2026-08-25 |
| Clés USB FIDO2 | Windows → Paramètres → Comptes → Clés de sécurité |
3. Points d'attention
Compte racine AWS — le plus critique. arn:aws:iam::712353451166:root, passkey du 17/12/2024. Un compte racine AWS peut tout faire, y compris fermer le compte et changer le moyen de paiement. Deux questions ouvertes : le compte est-il encore utilisé, et cette passkey est-elle son seul facteur MFA ? Si oui, sa perte coupe l'accès à un compte susceptible d'accumuler de la facturation. C'est le seul cas de la liste justifiant une clé USB FIDO2 de secours.
Dépendance circulaire Bitwarden. La passkey vault.bitwarden.com est stockée dans Bitwarden : elle sert à ouvrir le coffre qui la contient. Sans conséquence tant que la connexion par mot de passe maître reste active — mais un passage du coffre en « passkey uniquement » enfermerait dehors. À laisser en l'état en le sachant, ou à déplacer sur le téléphone.
nextcloud.juxjux.ovh — orphelin confirmé le 2026-08-25. Le vhost subsiste dans /etc/nginx/sites-enabled/ mais répond 502, et aucun container Nextcloud ne tourne sur le VPS. La passkey date du 10/12/2025 : le service a été démonté depuis. Sans usage possible, à supprimer du coffre. Le vhost mort est par ailleurs déjà listé au nettoyage, avec agendav et infcloud — mais pas radicale, qui sert en réalité Readeck.
Compte Microsoft et Mobile connecté. La passkey login.microsoft.com sur julien.bertrand@live.fr existe depuis le 29/07/2025. Un compte Microsoft doté d'une passkey bascule souvent en mode sans mot de passe : lors de l'appairage du téléphone du 2026-08-25, le mot de passe saisi n'était probablement pas « incorrect », il n'était simplement plus le facteur attendu.
Aucun service auto-hébergé ne figure au coffre, hormis le Nextcloud défunt. BookStack, Immich, Readeck, Komga, Gitea restent en mot de passe ou TOTP — le support WebAuthn demeure inégal côté logiciels self-hosted.
Ce poste ne peut pas créer de passkey localement. Aucun TPM détecté (MSI A320M-A PRO, BIOS 1.40 de 2020, Ryzen 5 2600X) : Windows Hello n'a nulle part où protéger une clé. Le fTPM AMD serait activable au BIOS, mais déconseillé ici — BIOS antérieur aux AGESA corrigeant les micro-freezes fTPM, sur une machine à l'historique d'instabilité chargé. Passer par le téléphone ou le coffre.
4. Mode opératoire
Prérequis : Node (présent) et la CLI Bitwarden. Le dossier des binaires npm globaux n'était pas dans le PATH — correctif du 2026-08-25 :
[Environment]::SetEnvironmentVariable('Path', [Environment]::GetEnvironmentVariable('Path','User') + ";$env:APPDATA\npm", 'User')
Relevé du coffre :
npm install -g @bitwarden/cli
bw login
$env:BW_SESSION = bw unlock --raw
bw list items | py -3.12 "D:\Syncthing\Jux_univers\Jux-scripts\Passkeys\inventaire_passkeys.py"
Le mot de passe maître se tape directement dans la console. Le script n'affiche aucun secret : seuls le nom de l'élément, le domaine, l'identifiant et la date de création.
5. Rapprochement automatique
bw list items | py -3.12 inventaire_passkeys.py --confronter
Le script relit le tableau du § 2 depuis cette page (via l'API BookStack) et le compare à la sortie du coffre. Il signale :
- les orphelins côté service — enregistrés chez le fournisseur, absents du coffre (typiquement créés sur le téléphone) ;
- les orphelins côté coffre — présents dans Bitwarden, plus reconnus par le service (cas
nextcloud.juxjux.ovh) ; - les domaines jamais relevés — colonne
Relevé levide.
Comme pour la veille FreshRSS, le script parse le HTML de la page et non son markdown : la configuration continue de fonctionner si la page est un jour rééditée en WYSIWYG.
Script : Jux-scripts/Passkeys/inventaire_passkeys.py — stdlib seule, utilisable sur Windows, Ubuntu et le VPS.
2 - sauvegarde et récupération de l'accès au coffre
Procédure de sauvegarde de l'accès au coffre Bitwarden. Complète la fiche de relevé des passkeys (page « 1 - la prise en main sur Bitwarden »). Aucun secret ne figure sur cette page, et aucun ne doit y être ajouté — voir § 5.
1. Ce qu'il faut sauvegarder, et pourquoi ce n'est pas la passkey
Une passkey stockée dans Bitwarden n'est pas sur un appareil : elle est dans le coffre, donc déjà répliquée sur chaque machine connectée et présente dans les sauvegardes serveur de Bitwarden. Elle n'est pas le maillon fragile.
Le maillon fragile est l'accès au coffre. Le scénario qui coupe l'accès à Bitwarden coupe aussi l'accès à une passkey Bitwarden, où qu'elle soit dupliquée. Sauvegarder la passkey elle-même ne protégerait donc de rien — et n'est de toute façon pas possible : les passkeys ne figurent pas dans les exports de coffre.
Corollaire : on ne duplique jamais une passkey, on en enregistre une seconde. Chaque authentificateur génère sa propre paire de clés, le service en tient la liste. La redondance se joue côté service, pas côté fichier.
| À sauvegarder | Où le récupérer | Rôle |
|---|---|---|
| Code de récupération | vault.bitwarden.com → Paramètres → Sécurité → Connexion en deux étapes → Voir le code de récupération | Désactive tous les facteurs 2FA. Le document qui rouvre le coffre |
| Export chiffré du coffre | bw export --format encrypted_json --password <phrase> |
Les identifiants survivent à une disparition de Bitwarden en tant que service |
| Graines TOTP | Selon les comptes | Non incluses dans les passkeys, régulièrement oubliées |
| Inventaire des passkeys | Page 1 du chapitre, ou inventaire_passkeys.py --csv |
Savoir quoi reconstruire, compte par compte |
2. Le code de récupération ne tourne pas tout seul
Point vérifié dans la documentation Bitwarden le 2026-08-25, et contre-intuitif : ni le changement de mot de passe maître, ni l'ajout ou le retrait de méthodes de connexion en deux étapes ne modifient le code de récupération. Il est permanent tant qu'il n'a pas servi.
Le seul mécanisme de rotation documenté est de l'utiliser : après usage, un nouveau code est généré. L'opération désactive au passage les méthodes de connexion en deux étapes, qu'il faut ensuite ré-enrôler — et vérifier si la passkey vault.bitwarden.com en fait partie, ou si elle relève de la connexion par passkey, qui est un mécanisme distinct.
Conséquence pratique : ce code se traite comme un document permanent, pas comme un jeton qu'on pourra régénérer à peu de frais s'il fuite. Sa compromission se répare, mais au prix d'un ré-enrôlement complet du 2FA.
3. Emplacements de conservation
Le vault Cryptomator est le bon réceptacle : chiffrement côté client, présent sur le PC julie et sur le PC Nexte, avec une copie sur kDrive. Infomaniak ne voit qu'un blob chiffré.
| Support | Contenu | Remarque |
|---|---|---|
| Papier, rangé physiquement | Code de récupération | Le seul support qui résiste simultanément à la panne de disque, au rançongiciel et à la perte du téléphone |
| Vault Cryptomator (PC julie, PC Nexte) | Code, export chiffré, graines TOTP, inventaire | Second exemplaire, hors ligne au repos |
| Copie kDrive du vault | Idem | Exemplaire hors site. La phrase de passe est le seul rempart |
Les deux dépendances circulaires à éviter
- La phrase de passe Cryptomator ne doit pas être dans Bitwarden. Sinon la sauvegarde devient inutilisable précisément le jour où elle servirait. Elle doit être mémorisée, ou écrite sur papier hors ligne.
- L'accès kDrive ne doit pas dépendre uniquement du coffre, pour la même raison.
Même logique que la passkey vault.bitwarden.com stockée dans Bitwarden, signalée en page 1 : une sauvegarde qui a besoin de ce qu'elle sauvegarde n'est pas une sauvegarde.
4. Si le code est noté sous forme masquée
Un code partiellement substitué — segments remplacés par des références mnémotechniques (dates, numéros de département, lieux liés à des personnes connues) — appelle deux précautions.
Sur la robustesse : masquer deux groupes sur huit laisse les trois quarts du code lisible, et l'espace résiduel se compte en milliers de combinaisons. Le procédé ralentit une lecture opportuniste, il ne résiste pas à quelqu'un qui cible et connaît l'entourage. Ne pas lui prêter plus de solidité qu'il n'en a.
Sur la récupérabilité — le point qui compte le plus : la règle de décodage devient un second secret à ne pas perdre. Le code servira probablement dans plusieurs années, en situation dégradée. Il faudra alors se rappeler quelles personnes, quels lieux, dans quel ordre, et quelle parenthèse est une date plutôt qu'un département. Un code de récupération qu'on ne sait plus décoder équivaut à ne pas en avoir.
D'où le principe à respecter : séparer le code masqué de sa règle de décodage. Le papier ne porte que la version masquée, la règle vit dans le vault Cryptomator. Les deux ensemble reconstituent, chacun seul ne dit rien — et aucune perte unique n'est fatale.
5. Où ne jamais écrire ces secrets
Pas dans BookStack, ni dans aucun service auto-hébergé. Une page BookStack finit dans la base MariaDB du VPS, dans la sauvegarde nocturne de 2 h, puis dans l'archive 7z uploadée sur kDrive : trois copies supplémentaires, sur des systèmes que le code de récupération est justement censé pouvoir contourner.
Attention aux formats d'export. N'utiliser que encrypted_json avec --password :
csvetjsonécrivent tous les mots de passe en clair — y compris dans les fichiers temporaires de Syncthing et l'historique kDrive si le vault Cryptomator est ouvert au moment de la synchronisation ;encrypted_jsonsans--passwordchiffre avec la clé de compte Bitwarden : l'archive n'est alors restaurable que sur ce même compte, ce qui la rend inutile dans le scénario où l'on perd le compte. La phrase passée en--passworddoit être distincte du mot de passe maître.
Transcripts Claude Code : ils résident dans C:\Users\julie\.claude\projects\D--Syncthing-Jux-univers-Claude-pcelio-jux--claude\*.jsonl, soit hors de l'arbre Syncthing — ils ne se propagent donc ni vers le VPS, ni vers le téléphone, ni vers kDrive. Ils restent néanmoins en clair sur le disque local : ne pas y coller de secret exploitable.
6. Ordre d'exécution
- Récupérer le code de récupération dans l'interface Bitwarden, le porter sur papier, en déposer un second exemplaire dans le vault Cryptomator. (Fait le 2026-08-25.)
- Enregistrer une seconde passkey Bitwarden sur le téléphone (Google Password Manager) — casse au passage la dépendance circulaire de la page 1.
- Produire l'export chiffré avec une phrase de passe distincte, le déposer dans le vault.
- Vérifier que la phrase Cryptomator n'est pas uniquement dans Bitwarden.
Seul le point 1 est urgent. Les trois autres peuvent être étalés.
Voir aussi : page 1 du chapitre pour l'inventaire des passkeys et la fiche de relevé côté services. Script : Jux-scripts/Passkeys/inventaire_passkeys.py.
09- Claude et la debian-jux
09_01 - la création de la VM le 260909
VM Debian sur le NAS SasNexte — poste de l'univers Jux
Procédure établie le 09/09/2026. Machine installée et opérationnelle le jour même. V2 du 09/09/2026 — redémarrage éprouvé, réservation DHCP posée, correction de l'erreur sur le gestionnaire de connexion.
Ce qui change par rapport à la V1. Le §7 corrige une affirmation fausse : LightDM est installé, contrairement à ce que la V1 annonçait. Le §9 est neuf — la procédure de redémarrage et sa validation réelle. Le §4 insiste sur le démontage de l'ISO, qui avait été omis. Deux points du « reste à faire » sont clos : la réservation DHCP et la question ufw.
1. Raison d'être
Ce poste n'existe pas pour l'ubiquité, mais pour l'étanchéité. Il s'agit de cesser de mélanger deux univers sur une même machine.
| PC NEXTE (Windows) | VM Debian (NAS) | |
|---|---|---|
| Univers | Alteris / NEXTE — professionnel | Jux — personnel |
| BookStack | bookstack.alteris.ovh |
bookstack.juxjux.ovh |
| Serveur d'appui | VPS Alteris 79.137.14.202 |
VPS Jux 51.77.141.54 |
| Outils | QGIS, LibreOffice, PostGIS, pièces de mission | Firefox, Thunderbird, FileZilla, Calibre, Claude Code |
Un seul MCP BookStack par machine. C'est ce qui rend structurellement impossible de publier une procédure Alteris dans le BookStack perso, ou l'inverse — au lieu d'une discipline à tenir à chaque page.
Règle à ne pas relâcher. Pas de partage de mission NEXTE monté dans la VM, pas de coffre Alteris, pas de clé SSH vers
79.137.14.202. Un « juste un petit accès » suffit à rendre la séparation décorative.
2. Prérequis matériels — le seul point bloquant
Le DS220+ embarque un Celeron J4025 (2 cœurs, 2 threads). Le facteur limitant est la RAM.
| Valeur constatée | |
|---|---|
| RAM totale | 5776 Mo (2 Go soudés + barrette 4 Go ajoutée en 2023) |
| Consommé par DSM | ~1160 Mo |
| Volume1 | Btrfs — exigé par VMM — 1,4 To libres |
| DSM | 7.4 |
VMM réserve la mémoire statiquement : les 3 Go sont retirés à DSM en permanence tant que la VM tourne, qu'elle travaille ou non. Il n'y a pas de ballooning dynamique. Le plafond utile est d'environ 3,5 Go, DSM gardant un socle incompressible de 1,5 à 2 Go. Au-delà, c'est DSM qui swappe — et comme le disque virtuel est sur ce même NAS, tout ralentit ensemble.
Sur 2 Go alloués la VM tiendrait aussi : à l'usage réel, elle consomme 360 Mo au repos, et 473 Mo avec le bureau XFCE ouvert. Le dimensionnement se fait sur le pic, pas sur la somme des applications — elles ne tournent jamais ensemble.
3. Création de la machine virtuelle
Virtual Machine Manager n'était pas installé : Centre de paquets → Virtual Machine Manager, puis créer un stockage sur volume1.
À la première ouverture, DSM propose d'ouvrir les ports 30200-30300 dans le pare-feu. Accepter, puis restreindre la règle au sous-réseau local (Panneau de configuration → Sécurité → Pare-feu, source 192.168.1.0 / 255.255.255.0). Ces ports n'ont aucune raison d'être joignables de l'extérieur.
Paramètres retenus
| Écran | Réglage |
|---|---|
| Nom | debian-jux |
| Processeurs | 2 |
| Mémoire | 3 Go |
| Carte vidéo | vmvga (seul choix) |
| Type de machine | PC (châssis i440fx, BIOS legacy) |
| Disque | 40 Go, contrôleur VirtIO SCSI, réclamation d'espace cochée |
| Réseau | Default VM Network, VirtIO |
| Micrologiciel | Legacy BIOS, pas UEFI |
| Disposition clavier | fr |
| Port série | Désactiver — inutile, et il a brouillé le diagnostic |
| Contrôleur USB | Désactivé |
| Autostart | Oui |
| Démarrer depuis | Disque virtuel |
Réclamation d'espace : c'est le TRIM, à ne pas confondre avec l'allocation à la demande (que VMM applique déjà par défaut). Sans elle, le fichier disque croît au fil des apt et n'en redescend jamais.
VirtIO SCSI expose le disque en /dev/sda, pas /dev/vda.
Adresse MAC. VMM en génère une localement administrée — ici 02:11:32:25:c6:e8, reconnaissable à son préfixe 02:. Elle est stable tant que l'interface réseau existe, mais supprimer et recréer la carte réseau dans VMM la change — et rend caduque, en silence, la réservation DHCP du §8.
4. Installation de Debian 13
L'image
Téléchargée directement par le NAS, ce qui évite de faire transiter 755 Mo par le PC :
cd '/volume1/Iso VM'
wget -c -O debian-13.6.0-amd64-netinst.iso \
https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-13.6.0-amd64-netinst.iso
sha256sum debian-13.6.0-amd64-netinst.iso
curl -s https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/SHA256SUMS | grep netinst
Les deux sommes doivent être identiques.
Le mode d'installation
Prendre « Graphical install », pas « Install ». Le mode texte impose de saisir des numéros dans des listes qui défilent hors écran, et la console noVNC de VMM gère mal le clavier. Le mode graphique donne la souris : tous les choix se font au clic.
« Graphical install » ne désigne que le mode d'affichage — le premier écran reste le choix de la langue, où l'on prend « French — Français ».
Les réponses qui comptent
| Écran | Réponse |
|---|---|
| Nom de machine | jux-debian |
| Domaine | vide |
| Mot de passe root | (voir remarque ci-dessous) |
| Partitionnement | Assisté – disque entier → sda → tout dans une seule partition |
| Miroir | France, deb.debian.org, pas de mandataire |
| Sélection des logiciels | décocher tout sauf serveur SSH et utilitaires usuels du système |
| GRUB | Oui → /dev/sda |
Pas de LVM : sur un disque virtuel il n'apporte rien, on agrandit le disque dans VMM. Pas de chiffrement : la VM démarre automatiquement au boot du NAS et réclamerait une passphrase en console à chaque fois.
Remarque sur le mot de passe root. Le laisser vide fait installer
sudoet place l'utilisateur dans le groupe. En définissant un mot de passe root — ce qui a été fait ici —sudon'est pas installé, et le script de post-installation doit être lancé viasu -avec le nom d'utilisateur en argument.sudoreste ensuite protégé par mot de passe : aucune automatisation à distance ne peut l'utiliser.
🔴 Démonter l'ISO — l'étape qu'on oublie
Avant le redémarrage final : démonter l'ISO dans les paramètres de la VM (Action → Modifier → Autres → Fichier ISO pour le démarrage → Démonté).
Ça n'a pas été fait le 09/09 — l'ISO est restée montée toute la journée sans qu'on s'en aperçoive, parce que Démarrer depuis : Disque virtuel masque le symptôme : la VM démarre sur le disque et tout paraît normal.
Le danger n'est pas immédiat, il est différé. Le jour où le disque devient non amorçable — GRUB cassé, disque plein — la VM ne s'arrête pas sur une erreur : elle démarre l'installeur Debian. Sur une machine sans écran, avec autostart activé, c'est le scénario où l'on formate sans le voir.
Le vérifier fait partie de la mise en service, au même titre que le reste. Le démontage est accepté à chaud, VM allumée.
5. LE PIÈGE — la console meurt au démarrage
Symptôme. Après l'installation, l'écran se fige systématiquement sur :
/dev/sda1: clean, 40622/2485504 files, 552845/9938432 blocks
[ 5.812838] systemd-ssh-generator[255]: Failed to query local AF_VSOCK CID
[ 5.958389] systemd[1]: Finished modprobe@efi_pstore.service
[ 6.941405] ACPI: bus type drm_connector registered
Plus rien ensuite. Aucune invite de connexion, Ctrl+Alt+F2 sans effet, et la machine n'apparaît pas sur le réseau.
Cause. Trente millisecondes après drm_connector registered, le pilote de la carte vidéo vmvga prend la main sur l'écran et tue la console. Le système, lui, démarre parfaitement : SSH répond, le réseau monte, l'invite de connexion existe — elle n'est simplement plus affichée nulle part.
Correctif — dans /etc/default/grub :
GRUB_CMDLINE_LINUX_DEFAULT="nomodeset"
puis update-grub. nomodeset interdit le kernel modesetting et garde la console en VGA texte de bout en bout.
Retirer quiet en même temps, et ne jamais le remettre. C'est lui qui rend le diagnostic impossible : entre les messages du noyau et l'invite de connexion, l'écran reste muet, et rien ne distingue un démarrage figé d'un démarrage silencieux.
nomodesetne coûte rien à l'usage. Vérifié le 09/09 : le bureau XFCE s'affiche normalement dans la console VMM malgrénomodeset. Seule l'accélération graphique est perdue, dont on n'a de toute façon pas l'emploi ici.
Deux fausses pistes, pour ne pas les refaire
- Le port série. Plausible — on l'avait activé, et une console redirigée vers
ttyS0produit exactement ce gel. Mais la ligne GRUB ne contenait aucunconsole=ttyS0. Vérifier avant de supposer. - Un blocage du démarrage. Écarté par un détail : le compteur de fichiers affiché par
fsckaugmentait d'un démarrage à l'autre (40500 puis 40622). Un système qui ne démarre pas n'écrit rien.
Comment atteindre GRUB
La console VMM n'existe que si la VM tourne — impossible de l'ouvrir « avant ». Il faut garder la fenêtre de console ouverte (bouton Connecter), démarrer la VM depuis DSM, cliquer Connecter aussitôt et maintenir Maj : GRUB affiche alors son menu et suspend le décompte (GRUB_TIMEOUT=5).
Sur la ligne « Debian GNU/Linux », appuyer sur e — pas Entrée — descendre jusqu'à la ligne linux /boot/vmlinuz…, aller en fin de ligne, ajouter nomodeset et supprimer quiet, puis Ctrl+X.
Une correction faite ainsi ne vaut que pour ce démarrage. Elle ne devient permanente qu'une fois écrite dans
/etc/default/grubet suivie d'unupdate-grub— voir le §9, où cette distinction a failli passer inaperçue.Les entrées « recovery mode » sont inutilisables si le compte root est verrouillé : le shell de secours refuse de s'ouvrir.
6. Post-installation
Script : 260909-postinstall_vm_debian_jux_v2.sh. Idempotent, environ 20 minutes et 1,5 Go de paquets.
su -
bash /home/julien/260909-postinstall_vm_debian_jux_v2.sh julien 2>&1 \
| tee /home/julien/260909-postinstall.log
L'argument julien est nécessaire : sans sudo, le script ne peut pas deviner pour quel utilisateur il travaille.
| Étape | Contenu |
|---|---|
| 0 | GRUB : nomodeset ajouté, quiet retiré, fichier d'origine sauvegardé en .avant-nomodeset-260909 |
| 1 | Locale fr_FR.UTF-8, clavier français, fuseau Europe/Paris |
| 2-3 | Mise à jour, socle (sudo, curl, git, ripgrep…) |
| 4 | XFCE |
| 5 | xrdp + xorgxrdp, ~/.xsession, règle polkit |
| 6 | Firefox ESR, Thunderbird, FileZilla, Calibre (+ paquets de langue) |
| 7 | Node.js, puis Claude Code via npm avec préfixe ~/.npm-global |
| 8 | Syncthing, ufw (22, 3389, 22000, 21027) |
L'interface web de Syncthing n'écoute qu'en local (127.0.0.1:8384). L'exposer sur le réseau donnerait un accès sans mot de passe à tout le contenu synchronisé.
7. LightDM — ce qui est réellement installé
Correction de la V1. Elle affirmait « XFCE sans gestionnaire de connexion », en présentant comme un fait ce qui n'était qu'une intention de conception. C'est faux.
Constaté le 09/09 après redémarrage :
lightdm.service — active (running), enabled
Paquets : lightdm, lightdm-gtk-greeter, light-locker
Cible systemd par défaut : graphical.target
LightDM a été tiré comme dépendance par le méta-paquet XFCE. L'étape 4 du script ne l'a jamais empêché.
Décision retenue : on garde LightDM
Le raisonnement, contre-intuitif mais solide : la console VMM de DSM est du noVNC — c'est-à-dire un accès navigateur qui existe déjà, sans rien installer.
| Ce que la console DSM affiche dans le navigateur | |
|---|---|
| Avec LightDM (retenu) | écran de connexion, puis le bureau XFCE complet |
| Sans LightDM | jux-debian login: — un terminal texte |
Garder LightDM donne donc « navigateur → bureau graphique » gratuitement. Coût : environ 150 Mo au repos, sans conséquence sur 3 Go.
⚠️ La contrainte qui vient avec : une seule session à la fois
C'est exactement le conflit que la V1 disait vouloir éviter, et il est réel.
xrdp fonctionne ici en backend Xorg. Si une session XFCE est déjà ouverte sur :0 (la console) et qu'on lance une session RDP avec le même utilisateur, on tombe sur « session déjà ouverte » : écran noir ou reprise erratique. light-locker ajoute sa part — la session RDP peut revenir verrouillée sans moyen commode de la déverrouiller.
Console ou RDP, jamais les deux. Se déconnecter proprement de XFCE (Déconnexion, pas seulement fermer la fenêtre VMM) avant de basculer d'un accès à l'autre.
Si l'on change d'avis
Revenir au design initialement prévu tient en une commande, réversible :
sudo systemctl disable --now lightdm && sudo systemctl set-default multi-user.target
8. Accès
Bureau à distance — RDP
mstsc /v:192.168.1.10
Accepter l'avertissement de certificat (auto-signé), puis sur l'écran xrdp : Session = Xorg, utilisateur julien. Depuis un mobile : Microsoft Remote Desktop, même adresse.
C'est l'accès le plus fluide pour travailler — nettement plus réactif que le noVNC de DSM.
Bureau dans le navigateur — console DSM
http://192.168.1.82:5000 → Virtual Machine Manager → debian-jux → Connecter.
Fonctionne depuis n'importe quel navigateur du réseau local, sans client à installer. Utile aussi quand le réseau de la VM est en panne : la console voit l'écran même si SSH et RDP ne répondent plus.
Ce n'est pas un lien direct — il faut passer par DSM. Pour un vrai signet vers le bureau, la piste est Apache Guacamole (passerelle RDP/VNC vers HTML5) sur le VPS Jux, mais seulement après WireGuard : exposé seul sur Internet, Guacamole devient la porte d'entrée de la VM.
Réservation DHCP — faite le 09/09
L'adresse est réservée sur la Freebox v8 (Ultra), passerelle 192.168.1.254 :
Paramètres de la Freebox → DHCP → Baux Statiques
jux-debian 02:11:32:25:C6:E8 → 192.168.1.10
Éprouvée au redémarrage du §9 : la VM est revenue sur .10.
Si un jour la VM réapparaît sur une autre adresse sans raison, le premier réflexe est de comparer la MAC réelle (
ip link show ens3) à celle du bail : la recréation de la carte réseau dans VMM en génère une nouvelle.
RustDesk — écarté
L'infrastructure existe pourtant sur le VPS Jux (hbbs/hbbr, client enregistré, diode verte) mais n'a jamais donné de session exploitable — il échoue silencieusement, sans rien laisser d'exploitable pour diagnostiquer.
Pour le nomadisme, la voie retenue reste WireGuard sur le VPS Jux + RDP : le diagnostic y est binaire (wg show affiche un handshake, ou rien), les clients sont natifs partout, aucun port n'est à ouvrir sur la box — c'est la VM qui monte le tunnel — et le même tunnel sert pour SSH et pour DSM.
Interface Syncthing
ssh -L 8385:127.0.0.1:8384 julien@192.168.1.10
puis http://127.0.0.1:8385.
Le port local est 8385 et non 8384 : le Syncthing du PC NEXTE occupe déjà 8384. Les deux interfaces sont identiques à l'écran — vérifier le nom de l'appareil en haut à droite (jux-debian) avant de déclarer un partage.
9. Redémarrage — procédure et validation
Pourquoi ça ne va pas de soi
Le 09/09, la VM a tourné toute la journée sur un démarrage de 14:51 obtenu par édition manuelle de GRUB (Ctrl+X). Tout ce qui devait survivre à un redémarrage — GRUB persistant, ufw, configuration xrdp — a été écrit après ce démarrage, entre 15:02 et 15:12.
Autrement dit : la machine fonctionnait, mais rien ne prouvait qu'elle refonctionnerait. Une VM qui marche n'est pas une VM qui redémarre.
La procédure
Avant — deux préalables, dans cet ordre :
- Réserver l'adresse dans le DHCP de la box (§8). Sans ça, on teste le redémarrage en gardant le seul facteur capable de faire perdre la machine.
- Vérifier
Action → Modifier → Autres: Autostart = Oui, Démarrer depuis = Disque virtuel, et surtout ISO démontée (§4).
Pendant :
- Ouvrir la console (bouton Connecter) et la garder à l'écran.
Action → **Éteindre**— c'est l'arrêt ACPI propre, l'équivalent d'un appui bref sur le bouton d'alimentation. PasForcer l'arrêt, qui est la coupure de courant brutale, à réserver aux machines qui ne répondent plus.- Attendre le statut
Arrêté, puisAction → **Mettre sous tension**.
Le point de contrôle à l'écran : les messages du noyau doivent défiler au-delà de ACPI: bus type drm_connector registered. S'ils s'arrêtent là, nomodeset n'a pas tenu — voir §5.
Un instantané préalable (
Action → Prendre un instantané) est possible et se supprime ensuite sans toucher la VM. Il n'a pas été jugé utile ici : la machine n'avait qu'un jour et tout son contenu est reproductible par le script du §6. Il prendra son sens quand elle contiendra des comptes Thunderbird et des données Syncthing.
Le contrôle après redémarrage
Depuis le PC NEXTE, en PowerShell (voir la remarque sur ssh.exe au §11) :
who -b ; cat /proc/cmdline
for u in ssh xrdp xrdp-sesman syncthing@julien ufw; do \
printf "%-18s %-10s %s\n" "$u" "$(systemctl is-active $u)" "$(systemctl is-enabled $u)"; done
systemctl --failed --no-pager
ip -4 addr show ens3 | grep inet
systemd-analyze
is-enabled compte autant que is-active. Un service active mais disabled fonctionne aujourd'hui et disparaît au prochain démarrage — c'est précisément le genre d'écart qu'un test de redémarrage existe pour révéler.
Vérifier que le pare-feu filtre vraiment
ufw status exige root. On peut s'en passer : depuis le PC, comparer un port autorisé et un port qui ne l'est pas.
Test-NetConnection 192.168.1.10 -Port 22
Test-NetConnection 192.168.1.10 -Port 12345
- refus immédiat (quelques dizaines de ms) sur le port fermé = aucun filtrage, les paquets atteignent la pile réseau qui répond
RST - expiration longue (plus de 20 s) = politique
DROPactive, les paquets sont ignorés sans réponse
Mesuré le 09/09 : 16 ms sur le port 22, 21 501 ms sur le port 12345. Le pare-feu filtre.
Résultat du test — 09/09/2026, 16:43
| Point de contrôle | Constaté |
|---|---|
/proc/cmdline |
ro nomodeset, pas de quiet — la config persistante tient |
| ssh, xrdp, xrdp-sesman, syncthing@julien | active + enabled |
| ufw | active + enabled, et filtre réellement |
| Unités en échec | aucune |
| Erreurs prioritaires au journal | aucune |
| Adresse | 192.168.1.10 — via la réservation |
| Durée | 19,7 s (5,7 s noyau + 13,9 s espace utilisateur) |
| RAM au repos | 360 Mo sur 2978 |
La question ufw laissée ouverte par la V1 est close : il n'y avait aucun bug. Le service apparaissait inactive parce qu'il avait été installé après le démarrage en cours. Un redémarrage suffisait à le montrer.
10. Reste à faire
- MCP BookStack perso, à déclarer dans la VM — jeton à créer sur
bookstack.juxjux.ovh(profil → Jetons d'API ; le secret n'est affiché qu'une fois) :
claude mcp add -s user bookstack-jux \
-e BOOKSTACK_BASE_URL=https://bookstack.juxjux.ovh/api \
-e BOOKSTACK_API_TOKEN=ID:SECRET \
-e MCP_TRANSPORT=stdio -- npx -y bookstack-mcp-server
Le suffixe /api est obligatoire, le jeton s'écrit id:secret. Jamais sur le PC NEXTE — c'est ce que la VM existe pour empêcher.
- Comptes Thunderbird.
- WireGuard sur le VPS Jux
51.77.141.54. - (différé) Apache Guacamole, après WireGuard, si le lien navigateur direct se confirme utile.
- Publier cette procédure dans
bookstack.juxjux.ovh, depuis le Claude Code de la VM — donc après le point 1.
Points clos depuis la V1 : réservation DHCP (§8) et vérification ufw (§9).
11. À retenir pour toute future VM Linux sur ce NAS
nomodesetest obligatoire avec la cartevmvgade VMM sous Debian 13. Sans lui, la machine paraît plantée alors qu'elle fonctionne parfaitement — et il ne coûte rien : le bureau graphique s'affiche quand même.- Ne jamais laisser
quiet: c'est la différence entre un diagnostic en deux minutes et une heure de tâtonnements. - Une correction passée dans GRUB au clavier ne survit pas au redémarrage. Elle n'est acquise qu'écrite dans
/etc/default/grubpuis suivie d'update-grub. - Démonter l'ISO d'installation, et le vérifier. Le symptôme est masqué par l'ordre de démarrage ; le danger ne se manifeste que le jour où le disque ne démarre plus.
- Désactiver le port série : inutile, et il oriente le diagnostic sur une fausse piste.
- Mode graphique pour l'installeur, à cause du clavier de la console noVNC.
- VirtIO SCSI →
/dev/sda, jamais/dev/vda. - Redémarrer pour de vrai avant de déclarer une machine en service. Tant qu'elle n'a pas subi un cycle complet, on ne sait pas si elle est configurée — seulement qu'elle marche.
- Vérifier ce qui est installé, pas ce qu'on a voulu installer. LightDM était là malgré une procédure qui affirmait le contraire.
systemctl statusetdpkg -ltranchent ; la documentation, non. - Depuis le PC NEXTE, SSH passe par
%WINDIR%\System32\OpenSSH\ssh.exeen PowerShell, jamais par lesshde Git Bash qui ne parle pas au ssh-agent de Windows. Et pour tout script distant un peu long, l'encoder en base64 — PowerShell 5.1 détruit les guillemets internes.