# AnythingLLM : synchronisation avec `data/dossiers-permanents` ## Objectif Sur la machine où tourne AnythingLLM, disposer d’un répertoire **à jour** contenant l’arborescence des dossiers permanents types (gabarits + miroirs d’uploads), aligné avec le dépôt Git poussé depuis le serveur web (ex. environnement test). ## Principe 1. **Clone** du même dépôt que l’application (ou d’un dépôt « data » miroir qui ne contient que `data/dossiers-permanents/`), sur un chemin stable, par ex. `/srv/enso` ou `$HOME/workspace/enso`. 2. **Workspace AnythingLLM** : pointer le dossier de documents du workspace vers : - ` /data/dossiers-permanents/` - ou un sous-dossier dédié (`instances/` uniquement) selon le besoin de contexte. 3. **Pull périodique** : tâche cron ou timer systemd exécutant : ```bash cd /chemin/vers/clone && git pull --ff-only ``` Adapter la branche (`test`, `main`, etc.) selon l’environnement suivie par le serveur qui pousse. ## Correspondance dossier métier ↔ workspace - Un **dossier applicatif** (folder UUID) peut référencer `folders.dp_layout_root` (ex. `instances/groupe_sci_is`) pour l’organisation fonctionnelle. - Le workspace AnythingLLM peut couvrir **tout** le périmètre `data/dossiers-permanents/` ou un sous-arbre par client ; la doc métier [`IA_GRANDS_PRINCIPES.md`](IA_GRANDS_PRINCIPES.md) reste valable : les backends n’appellent pas AnythingLLM directement ; l’ingestion par workspace repose sur le contenu disque synchronisé par Git. ## Sécurité - Le clone sur la machine IA ne doit pas contenir de secrets applicatifs (` .secrets/` non cloné ou ignoré). - Restreindre les droits du compte qui exécute `git pull` au seul dépôt nécessaire. ## Après modification des gabarits 1. Développeur : `node tools/dp-seed/generate-dp-data.mjs` puis commit / push. 2. Serveur web (sync activée) : les nouveaux uploads ajoutent des fichiers sous `_uploads/` ou chemins mirroir ; commit/push selon [`DOSSIERS_PERMANENTS_DATA_GIT.md`](DOSSIERS_PERMANENTS_DATA_GIT.md). 3. Machine AnythingLLM : le prochain `git pull` recharge les documents du workspace.