# A_liens entre Claude et le KDRIVE

---

## kDrive API REST — Infomaniak

<table id="bkmrk-param%C3%A8tre-valeur-dri"><thead><tr><th>Paramètre</th><th>Valeur</th></tr></thead><tbody><tr><td>Drive ID</td><td>`591617`</td></tr><tr><td>Token Bearer</td><td>`cnAZannhRpecgAfsQM7QiO4Vqh37g6Ht_hm4f0E6eDihMRaP2ZckKCmW959T5ST2Nv3qhGlqs0ltpNAb`</td></tr><tr><td>Base URL</td><td>`https://api.infomaniak.com/3/drive/591617`</td></tr></tbody></table>

## Endpoints fonctionnels

<table id="bkmrk-m%C3%A9thode-endpoint-usa"><thead><tr><th>Méthode</th><th>Endpoint</th><th>Usage</th></tr></thead><tbody><tr><td>`GET`</td><td>`/files/{dir_id}/files`</td><td>Lister le contenu d'un dossier</td></tr><tr><td>`GET`</td><td>`/files/{file_id}`</td><td>Métadonnées d'un fichier</td></tr><tr><td>`POST`</td><td>`/upload?directory_id={id}&file_name={name}&conflict=replace&total_size={bytes}`</td><td>Uploader un fichier. `conflict=replace` écrase le fichier existant de même nom. `conflict=version` crée une nouvelle version.</td></tr></tbody></table>

---

## 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/trash` avec body `{"file_ids":[id]}`
- `POST /files/trash` avec body `{"ids":[id]}`
- `POST /files/{file_id}/trash`
- `PUT /files/{file_id}` avec `{"deleted":true}`
- `DELETE /files` avec 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=replace`. 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)

<table id="bkmrk-service-dossier-id-e"><thead><tr><th>Service</th><th>Dossier ID</th><th>Exemple de fichier</th></tr></thead><tbody><tr><td>BookStack</td><td>`1427916`</td><td>`bookstack_db_day1.7z`</td></tr><tr><td>Immich</td><td>`1427919`</td><td>`immich_db_day1.7z`</td></tr><tr><td>Joplin</td><td>`1427920`</td><td>`joplin_db_day1.7z` (~630 Mo)</td></tr><tr><td>Mealie</td><td>`1427921`</td><td>`mealie_db_day1.7z`</td></tr><tr><td>Readeck</td><td>`1427922`</td><td>`readeck_db_day1.7z`</td></tr></tbody></table>