# Guide de configuration des fichiers et dossiers cachés ## Vue d'ensemble ObsiGate prend désormais en charge les fichiers et dossiers cachés (ceux qui commencent par un point, comme `.obsidian`, `.git`, etc.) avec une configuration flexible par vault. ## Fonctionnalités ### 1. **Activation globale par vault** Vous pouvez activer l'indexation de TOUS les fichiers cachés pour un vault spécifique. ### 2. **Liste blanche flexible** Ajoutez des dossiers cachés individuels à une liste blanche, même si l'activation globale est désactivée. ### 3. **Configuration persistante** Les paramètres sont sauvegardés et persistent entre les redémarrages. ## Configuration ### Via variables d'environnement Ajoutez ces variables à votre configuration Docker ou `.env` : ```bash # Pour activer tous les fichiers cachés dans un vault VAULT_1_INCLUDE_HIDDEN=true # Pour ajouter des dossiers spécifiques à la liste blanche VAULT_1_HIDDEN_WHITELIST=.obsidian,.github,.vscode # Exemple pour un deuxième vault VAULT_2_INCLUDE_HIDDEN=false VAULT_2_HIDDEN_WHITELIST=.obsidian ``` ### Via l'interface web 1. Ouvrez le menu **Options** (icône d'engrenage) 2. Cliquez sur **Configurations** 3. Faites défiler jusqu'à la section **📁 Fichiers et dossiers cachés** 4. Pour chaque vault, vous pouvez : - **Activer/désactiver** l'inclusion de tous les fichiers cachés - **Ajouter des dossiers** à la liste blanche individuellement - **Supprimer des dossiers** de la liste blanche 5. Cliquez sur **Sauvegarder les paramètres** 6. Cliquez sur **Réindexer avec nouveaux paramètres** pour appliquer les changements ## Exemples d'utilisation ### Cas 1 : Indexer uniquement le dossier .obsidian ```bash VAULT_1_INCLUDE_HIDDEN=false VAULT_1_HIDDEN_WHITELIST=.obsidian ``` Ou via l'interface : - Désactiver "Inclure tous les fichiers cachés" - Ajouter `.obsidian` à la liste blanche ### Cas 2 : Indexer tous les fichiers cachés ```bash VAULT_1_INCLUDE_HIDDEN=true ``` Ou via l'interface : - Activer "Inclure tous les fichiers cachés" ### Cas 3 : Indexer plusieurs dossiers cachés spécifiques ```bash VAULT_1_INCLUDE_HIDDEN=false VAULT_1_HIDDEN_WHITELIST=.obsidian,.github,.vscode ``` Ou via l'interface : - Désactiver "Inclure tous les fichiers cachés" - Ajouter `.obsidian`, `.github`, `.vscode` à la liste blanche ## API Endpoints ### Obtenir les paramètres d'un vault ```http GET /api/vaults/{vault_name}/settings ``` Réponse : ```json { "includeHidden": false, "hiddenWhitelist": [".obsidian", ".github"] } ``` ### Mettre à jour les paramètres d'un vault ```http POST /api/vaults/{vault_name}/settings Content-Type: application/json { "includeHidden": true, "hiddenWhitelist": [".obsidian"] } ``` ### Obtenir les paramètres de tous les vaults ```http GET /api/vaults/settings/all ``` ## Architecture technique ### Backend - **`backend/indexer.py`** : Fonction `_should_include_path()` qui vérifie si un chemin doit être inclus - **`backend/vault_settings.py`** : Gestion de la persistance des paramètres - **`backend/main.py`** : Endpoints API pour gérer les paramètres - **`backend/attachment_indexer.py`** : Respect des paramètres pour les pièces jointes ### Frontend - **`frontend/index.html`** : Section de configuration dans le modal - **`frontend/app.js`** : Fonctions `loadHiddenFilesSettings()`, `saveHiddenFilesSettings()`, etc. - **`frontend/style.css`** : Styles pour l'interface de configuration ## Notes importantes 1. **Réindexation requise** : Après modification des paramètres, une réindexation est nécessaire pour appliquer les changements 2. **Persistance** : Les paramètres sont sauvegardés dans `/app/data/vault_settings.json` 3. **Priorité** : Les variables d'environnement sont chargées au démarrage, mais peuvent être écrasées via l'interface web 4. **Performance** : L'activation de tous les fichiers cachés peut augmenter le temps d'indexation selon le nombre de fichiers ## Dépannage ### Les fichiers cachés n'apparaissent pas après activation 1. Vérifiez que les paramètres sont bien sauvegardés 2. Déclenchez une réindexation manuelle 3. Vérifiez les logs du serveur pour d'éventuelles erreurs ### Les paramètres ne persistent pas 1. Vérifiez que le dossier `/app/data/` est accessible en écriture 2. Vérifiez les permissions du fichier `vault_settings.json` 3. Consultez les logs pour les erreurs de sauvegarde ### Conflit entre variables d'environnement et interface web Les paramètres de l'interface web écrasent les variables d'environnement. Pour revenir aux variables d'environnement, supprimez le fichier `vault_settings.json` et redémarrez.