diff --git a/frontend/index.html b/frontend/index.html index f9bfb41..5d04fab 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -299,7 +299,7 @@ class="search-btn icon-only" id="search-filter-btn" type="button" - title="Filtres de chemin (Alt-F)" data-i18n-attr="title:sidebar.filter_path" + title="Filtres de chemin (Alt-F)" >
- Files + Fichiers
-

Sidebar (barre latérale)

+

Sidebar (barre latérale)

La sidebar est divisée en deux onglets :

-

Zone de contenu

+

Zone de contenu

La zone centrale affiche :

-

Filtrage de la sidebar

+

Filtrage de la sidebar

Utilisez la barre de filtrage en haut de la sidebar pour rechercher rapidement : @@ -7694,7 +2872,7 @@ curl -X POST https://votre-serveur.com/webhook \ -

Breadcrumb et repositionnement

+

Breadcrumb et repositionnement

Le chemin affiché au-dessus du contenu est interactif : @@ -7714,7 +2892,7 @@ curl -X POST https://votre-serveur.com/webhook \ -

Sélection de vault

+

Sélection de vault

Changez de contexte pour filtrer l'affichage :

@@ -7738,13 +2916,13 @@ curl -X POST https://votre-serveur.com/webhook \
-

📑 Gestion des onglets

+

📑 Gestion des onglets

ObsiGate supporte l'ouverture de plusieurs fichiers simultanément dans des onglets.

-

Ouverture d'onglets

+

Ouverture d'onglets

  • Simple clic : Ouvre le @@ -7760,7 +2938,7 @@ curl -X POST https://votre-serveur.com/webhook \ derniers fichiers
-

Navigation entre onglets

+

Navigation entre onglets

  • Clic sur un onglet: Active @@ -7782,7 +2960,7 @@ curl -X POST https://votre-serveur.com/webhook \
-

Fonctionnalités

+

Fonctionnalités

  • Barre d'onglets : Affichage @@ -7802,9 +2980,9 @@ curl -X POST https://votre-serveur.com/webhook \
-

🔍 Recherche

+

🔍 Recherche

-

Recherche simple

+

Recherche simple

Tapez dans la barre de recherche en haut pour lancer une recherche fulltext : @@ -7826,7 +3004,7 @@ curl -X POST https://votre-serveur.com/webhook \ pages de 50 résultats -

Opérateurs avancés

+

Opérateurs avancés

Utilisez des opérateurs pour affiner votre recherche : @@ -7873,7 +3051,7 @@ curl -X POST https://votre-serveur.com/webhook \ Markdown du vault IT avec le tag linux.

-

Autocomplétion

+

Autocomplétion

L'autocomplétion vous aide à trouver rapidement : @@ -7895,7 +3073,7 @@ curl -X POST https://votre-serveur.com/webhook \ pour naviguer, Enter pour sélectionner -

Chips de filtres actifs

+

Chips de filtres actifs

Les opérateurs utilisés s'affichent sous forme de chips colorés : @@ -7914,7 +3092,7 @@ curl -X POST https://votre-serveur.com/webhook \ d'opérateur a sa couleur -

Facettes et tri

+

Facettes et tri

Les résultats incluent des facettes pour affiner : @@ -7937,9 +3115,9 @@ curl -X POST https://votre-serveur.com/webhook \

-

🏷️ Tags

+

🏷️ Tags

-

Tag cloud

+

Tag cloud

L'onglet Tags de la sidebar affiche un nuage de tags : @@ -7961,7 +3139,7 @@ curl -X POST https://votre-serveur.com/webhook \ s'adaptent au vault sélectionné -

Tags inline vs frontmatter

+

Tags inline vs frontmatter

ObsiGate supporte deux types de tags :

  • @@ -7979,7 +3157,7 @@ curl -X POST https://votre-serveur.com/webhook \ deux types sont combinés
-

Filtrage de tags template

+

Filtrage de tags template

Dans les Configurations, vous pouvez masquer les tags de template : @@ -8000,9 +3178,9 @@ curl -X POST https://votre-serveur.com/webhook \

-

📄 Fichiers

+

📄 Fichiers

-

Visualisation

+

Visualisation

Les fichiers markdown sont rendus avec :

  • @@ -8024,7 +3202,7 @@ curl -X POST https://votre-serveur.com/webhook \
-

Actions sur fichiers

+

Actions sur fichiers

Boutons disponibles au-dessus du contenu :

  • @@ -8043,12 +3221,12 @@ curl -X POST https://votre-serveur.com/webhook \ CodeMirror
  • Ouvrir dans nouvelle fenêtreOuvrir dans nouvelle fenêtre: Ouvre le fichier dans un nouvel onglet
-

Édition avec CodeMirror 6

+

Édition avec CodeMirror 6

L'éditeur intégré offre :

  • @@ -8077,7 +3255,7 @@ curl -X POST https://votre-serveur.com/webhook \
-

Types de fichiers supportés

+

Types de fichiers supportés

ObsiGate indexe et affiche :

  • @@ -8108,9 +3286,9 @@ curl -X POST https://votre-serveur.com/webhook \
    -

    ✏️ Édition avancée

    +

    ✏️ Édition avancée

    -

    Éditeur CodeMirror 6

    +

    Éditeur CodeMirror 6

    L'éditeur intégré offre une expérience complète d'édition : @@ -8144,21 +3322,21 @@ curl -X POST https://votre-serveur.com/webhook \

  • Barre d'outils AI : Complétion, réécriture, traduction (voir - section🤖 IA) + section🤖 IA)
-

🗺️ Vue Graphe

+

🗺️ Vue Graphe

La vue graphe offre une visualisation interactive des connexions entre vos notes via les wikilinks.

-

Ouverture

+

Ouverture

  • Menu contextuel: Clic @@ -8170,7 +3348,7 @@ curl -X POST https://votre-serveur.com/webhook \ barre d'outils (le cas échéant)
-

Interaction

+

Interaction

  • Zoom/Pan : Molette pour @@ -8199,7 +3377,7 @@ curl -X POST https://votre-serveur.com/webhook \
-

Affichage

+

Affichage

  • Nœuds : Fichiers (carrés) @@ -8224,7 +3402,7 @@ curl -X POST https://votre-serveur.com/webhook \
-

Performance

+

Performance

La vue utilise l'algorithme Barnes-Hut pour calculer la disposition en O(n log n), @@ -8233,12 +3411,265 @@ curl -X POST https://votre-serveur.com/webhook \

- +
+

🎨 Personnalisation

+ +

Thème clair/sombre

+

Basculez entre les thèmes :

+
    +
  • + Menu Options : Cliquez sur + "Thème" dans le menu
  • +
  • + Raccourci : + Ctrl+T +
  • +
  • + Persistance : Votre choix + est sauvegardé en localStorage
  • +
  • + Highlight.js : Les blocs de + code s'adaptent au thème
  • +
+ +

Redimensionnement de la sidebar

+

+ Sur desktop, ajustez la largeur de la sidebar : +

+
    +
  • + Handle de redimensionnement + : Bordure droite de la sidebar +
  • +
  • + Glisser-déposer : Cliquez + et glissez pour ajuster +
  • +
  • + Limites : Min 200px, Max + 500px +
  • +
  • + Persistance : La largeur + est sauvegardée
  • +
+ +

Configuration avancée

+

+ Le modal Configurations (menu Options) permet de + : +

+
    +
  • + Paramètres de recherche : + Délai debounce, résultats par page, timeout
  • +
  • + Paramètres backend : + Workers, boosts TF-IDF, expansions préfixe
  • +
  • + Filtrage de tags : Patterns + pour masquer les tags template +
  • +
  • + Diagnostics : Stats index, + mémoire, moteur de recherche
  • +
  • + Réindexation : Forcer un + rescan des vaults +
  • +
+
+
+

⌨️ Palette de commandes

+

+ La palette de commandes permet d'accéder + rapidement aux fichiers et aux actions sans + utiliser la souris. +

+ +

Ouverture

+
    +
  • + Ctrl+Shift+Espace : Palette + de fichiers (recherche par titre) +
  • +
  • + Ctrl+Alt+Espace : Palette + de commandes (liste d'actions) +
  • +
  • + Tab : Bascule entre mode + fichiers et mode commandes +
  • +
+ +

Mode fichiers

+

+ Tapez le nom d'un fichier pour le trouver + rapidement. La recherche utilise l'API + /api/suggest pour des suggestions + instantanées. Appuyez sur Enter pour + ouvrir le fichier sélectionné. +

+ +

Mode commandes

+

+ Tapez > (ou Ctrl+Alt+Espace) + pour voir la liste des actions disponibles : +

+
    +
  • + 🏠 Accueil : Retour à + l'accueil +
  • +
  • + ✏️ Éditer fichier courant : + Ouvre l'éditeur sur l'onglet actif +
  • +
  • + 🪟 Pop-out : Ouvre le + document dans une fenêtre détachée +
  • +
  • + 📄 Créer fichier markdown : + Crée un nouveau fichier .md et l'ouvre dans + l'éditeur +
  • +
  • + 🗑️ + Supprimer fichier courant : + Supprime le fichier de l'onglet actif +
  • +
  • + 📁 Créer répertoire : Crée + un nouveau dossier +
  • +
  • + 🗑️ Supprimer répertoire : + Supprime un dossier et son contenu +
  • +
  • + 🌓 Changer le thème : + Bascule clair/sombre +
  • +
  • + 🔄 Réindexer : Force la + réindexation complète +
  • +
  • + ❓ Aide : Ouvre ce guide +
  • +
  • + ⚙️ Configuration : Ouvre + les paramètres +
  • +
+ +

Navigation

+
    +
  • + ↑ ↓ : Se déplacer dans + la liste +
  • +
  • Enter : Ouvrir/sélectionner
  • +
  • Esc : Fermer la palette
  • +
  • + Tab : Basculer entre fichiers et + commandes +
  • +
+
+ +
+

⌨️ Raccourcis clavier

+ +

Navigation

+
    +
  • + Ctrl+K ou Cmd+K : + Focaliser la barre de recherche +
  • +
  • + / : Focaliser la recherche + (hors champ texte) +
  • +
  • + Escape : Fermer les suggestions + / quitter la recherche +
  • +
+ +

Recherche et autocomplétion

+
    +
  • + ↑ / ↓ : Naviguer + dans les suggestions +
  • +
  • + Enter : Sélectionner la + suggestion active ou lancer la recherche +
  • +
  • + Escape : Fermer le dropdown de + suggestions +
  • +
+ +

Interface

+
    +
  • + Ctrl+T : Basculer le thème + clair/sombre +
  • +
  • + Ctrl+Shift+Espace : Palette de + fichiers +
  • +
  • + Ctrl+Alt+Espace : Palette de + commandes +
  • +
  • + Escape : Fermer la palette / + les suggestions +
  • +
+ +

Onglets

+
    +
  • + Ctrl+W : Fermer l'onglet actif +
  • +
  • Ctrl+Tab : Onglet suivant
  • +
  • + Ctrl+Shift+Tab : Onglet + précédent +
  • +
+ +

Éditeur CodeMirror

+
    +
  • + Ctrl+F : Rechercher dans le + fichier +
  • +
  • Ctrl+Z : Annuler
  • +
  • Ctrl+Y : Refaire
  • +
  • + Ctrl+S : Sauvegarder (si + configuré) +
  • +
+
+
-

🤖 Intelligence Artificielle dans l'Éditeur

-

+

🤖 Intelligence Artificielle dans l'Éditeur

+

ObsiGate intègre un assistant IA directement dans l'éditeur de texte. Pour l'activer, configurez au moins un provider AI dans le @@ -8246,14 +3677,14 @@ curl -X POST https://votre-serveur.com/webhook \ ou Gemini).

-

Activation

+

Activation

    -
  1. +
  2. Ajoutez votre clé API dans .env : DEEPSEEK_API_KEY=sk-...
  3. -
  4. +
  5. Redémarrez le conteneur : docker compose down && docker compose @@ -8270,19 +3701,19 @@ curl -X POST https://votre-serveur.com/webhook \
-

Barre d'outils AI

-

+

Barre d'outils AI

+

La barre d'outils contient les boutons suivants :

    -
  • +
  • ✦ AI — Complétion inline - (Ctrl+J). Complète + (Ctrl+J). Complète automatiquement le texte là où se trouve le curseur.
  • -
  • +
  • Éditer ▾ — Menu de modification du texte sélectionné :
    • @@ -8291,7 +3722,7 @@ curl -X POST https://votre-serveur.com/webhook \ Améliore la qualité, la clarté et le flux du texte
    • -
    • +
    • 🔤 Fix spelling & grammar -
    • +
    • 📏 Make shorter : Rend le texte plus concis tout en préservant l'information
    • -
    • +
    • 📐 Make longer : Ajoute des détails, exemples ou explications
    • -
    • +
    • 📋 Simplify language : Simplifie le langage, évite le @@ -8317,7 +3748,7 @@ curl -X POST https://votre-serveur.com/webhook \
  • -
  • +
  • Ton ▾ — Change le ton du texte :
      @@ -8325,13 +3756,13 @@ curl -X POST https://votre-serveur.com/webhook \ 💼 Professional : Ton formel et professionnel -
    • - 💬 Casual : Ton +
    • + 💬 Casual : Ton décontracté et conversationnel
  • -
  • +
  • Traduire ▾ — Traduit le texte sélectionné vers une autre langue :
    • @@ -8341,7 +3772,7 @@ curl -X POST https://votre-serveur.com/webhook \
  • -
  • +
  • Générer ▾ — Génère du contenu à partir de la sélection :
    • @@ -8349,11 +3780,11 @@ curl -X POST https://votre-serveur.com/webhook \ Explique le texte sélectionné de façon claire
    • -
    • +
    • 📝 Summarize : Résume le texte de façon concise
    • -
    • +
    • ✏️ Continue writing : Continue l'écriture à partir du @@ -8361,12 +3792,12 @@ curl -X POST https://votre-serveur.com/webhook \
  • -
  • +
  • 💬 Réécrire — Réécrit le texte selon vos instructions personnalisées. Une boîte de dialogue vous demande votre instruction.
  • -
  • +
  • 🧰 Boîte ▾ — Outils de conversion :
      @@ -8376,19 +3807,19 @@ curl -X POST https://votre-serveur.com/webhook \ Transforme le texte en liste Markdown -
    • +
    • 📊 Convert to table : Transforme en tableau Markdown
    • -
    • +
    • ⚙️ Generate frontmatter : Génère un bloc YAML frontmatter
    • -
    • +
    • 🔷 Convert to canvas : Convertit en diagramme Mermaid.js @@ -8397,35 +3828,35 @@ curl -X POST https://votre-serveur.com/webhook \
    -

    Indicateurs visuels

    +

    Indicateurs visuels

      -
    • +
    • Pendant une requête AI, un toast ⏳ AI: traitement en cours... s'affiche
    • -
    • +
    • Une fois terminé, AI: texte traité ✓ confirme le succès
    • -
    • +
    • En cas d'erreur de clé API : AI: clé API invalide
    -

    Sauvegarde automatique

    -

    +

    Sauvegarde automatique

    +

    L'éditeur sauvegarde automatiquement après 2 secondes d'inactivité. Le bouton de sauvegarde - flashe en vert brièvement pour + flashe en vert brièvement pour confirmer.

    -

    Providers supportés

    +

    Providers supportés

    @@ -8448,223 +3879,40 @@ curl -X POST https://votre-serveur.com/webhook \
    Providergemini-2.0-flash
    -

    +

    Pour changer de provider par défaut : AI_DEFAULT_PROVIDER=openrouter

-
-

⌨️ Palette de commandes

-

- La palette de commandes permet d'accéder - rapidement aux fichiers et aux actions sans - utiliser la souris. -

- -

Ouverture

-
    -
  • - Ctrl+Shift+Espace : Palette - de fichiers (recherche par titre) -
  • -
  • - Ctrl+Alt+Espace : Palette - de commandes (liste d'actions) -
  • -
  • - Tab : Bascule entre mode - fichiers et mode commandes -
  • -
- -

Mode fichiers

-

- Tapez le nom d'un fichier pour le trouver - rapidement. La recherche utilise l'API - /api/suggest pour des suggestions - instantanées. Appuyez sur Enter pour - ouvrir le fichier sélectionné. -

- -

Mode commandes

-

- Tapez > (ou Ctrl+Alt+Espace) - pour voir la liste des actions disponibles : -

-
    -
  • - 🏠 Accueil : Retour à - l'accueil -
  • -
  • - ✏️ Éditer fichier courant : - Ouvre l'éditeur sur l'onglet actif -
  • -
  • - 🪟 Pop-out : Ouvre le document dans une fenêtre détachée -
  • -
  • - 📄 Créer fichier markdown : - Crée un nouveau fichier .md et l'ouvre dans - l'éditeur -
  • -
  • - 🗑️ - Supprimer fichier courant : - Supprime le fichier de l'onglet actif -
  • -
  • - 📁 Créer répertoire : Crée - un nouveau dossier -
  • -
  • - 🗑️ Supprimer répertoire : - Supprime un dossier et son contenu -
  • -
  • - 🌓 Changer le thème : - Bascule clair/sombre -
  • -
  • - 🔄 Réindexer : Force la - réindexation complète -
  • -
  • - ❓ Aide : Ouvre ce guide -
  • -
  • - ⚙️ Configuration : Ouvre - les paramètres -
  • -
- -

Navigation

-
    -
  • - ↑ ↓ : Se déplacer dans la liste -
  • -
  • Enter : Ouvrir/sélectionner
  • -
  • Esc : Fermer la palette
  • -
  • - Tab : Basculer entre fichiers et - commandes -
  • -
-
- -
-

⌨️ Raccourcis clavier

- -

Navigation

-
    -
  • - Ctrl+K ou Cmd+K : - Focaliser la barre de recherche -
  • -
  • - / : Focaliser la recherche - (hors champ texte) -
  • -
  • - Escape : Fermer les suggestions - / quitter la recherche -
  • -
- -

Recherche et autocomplétion

-
    -
  • - ↑ / ↓ : Naviguer - dans les suggestions -
  • -
  • - Enter : Sélectionner la - suggestion active ou lancer la recherche -
  • -
  • - Escape : Fermer le dropdown de - suggestions -
  • -
- -

Interface

-
    -
  • - Ctrl+T : Basculer le thème - clair/sombre -
  • -
  • - Ctrl+Shift+Espace : Palette de - fichiers -
  • -
  • - Ctrl+Alt+Espace : Palette de - commandes -
  • -
  • - Escape : Fermer la palette / - les suggestions -
  • -
- -

Onglets

-
    -
  • - Ctrl+W : Fermer l'onglet actif -
  • -
  • Ctrl+Tab : Onglet suivant
  • -
  • - Ctrl+Shift+Tab : Onglet - précédent -
  • -
- -

Éditeur CodeMirror

-
    -
  • - Ctrl+F : Rechercher dans le - fichier -
  • -
  • Ctrl+Z : Annuler
  • -
  • Ctrl+Y : Refaire
  • -
  • - Ctrl+S : Sauvegarder (si - configuré) -
  • -
-
- - -
-

🔗 Partage et Webhooks

+

🔗 Partage et Webhooks

-

Publication publique

-

+

Publication publique

+

ObsiGate permet de partager des documents via un lien public temporaire.

    -
  • +
  • Bouton Partager : Dans les actions du fichier, génère un lien unique
  • -
  • +
  • Token unique : 64 caractères hexadécimaux, impossible à deviner
  • -
  • +
  • Expiration configurable : Durée de vie en heures
  • -
  • +
  • Lecture seule : La vue publique n'affiche que le contenu sans édition
  • -
  • +
  • Gestion des liens : Liste et révocation dans les Configurations
  • -
  • +
  • Export PDF : Téléchargement du document partagé en PDF via/s/{token}/pdf
  • @@ -8673,44 +3921,44 @@ curl -X POST https://votre-serveur.com/webhook \
    -

    🪝 Webhooks

    -

    +

    🪝 Webhooks

    +

    Les webhooks permettent à ObsiGate de notifier automatiquement des services + >notifier automatiquement des services externes lorsque des fichiers ou dossiers sont modifiés. Chaque événement déclenche un - POST HTTP vers l'URL de votre + POST HTTP vers l'URL de votre choix, avec un payload JSON détaillé.

    -

    Cas d'usage

    +

    Cas d'usage

      -
    • +
    • Automatisation CI/CD : Déclencher un build quand une note de procédure est mise à jour
    • -
    • +
    • Synchronisation : Copier les nouveaux fichiers vers un autre système (SharePoint, Google Drive)
    • -
    • +
    • Notifications : Alerter un canal Slack/Discord quand un document est créé
    • -
    • +
    • Audit externe : Logger toutes les modifications dans une base de données externe
    • -
    • +
    • Déploiement : Publier un article de blog quand un fichier est marquépublish: true
    -

    Événements supportés

    +

    Événements supportés

    - Renommage via l'API + Renommage via l'API
    - Suppression de dossier via l'API + Suppression de dossier via l'API - Renommage de dossier via l'API + Renommage de dossier via l'API +

    Note : l'événement + >Note : l'événement file_modified est réservé pour usage futur. Les modifications de contenu via l'éditeur ne déclenchent pas encore de @@ -8946,8 +4194,8 @@ curl -X POST https://votre-serveur.com/webhook \ >

    -

    Format du payload

    -

    +

    Format du payload

    +

    Chaque webhook reçoit un POST avec Content-Type: application/json :

    @@ -8959,7 +4207,7 @@ curl -X POST https://votre-serveur.com/webhook \ overflow-x: auto; font-size: 0.78rem; " - data-i18n="help.desc_c1f72521">{ + >{ "event": "file_created", "timestamp": "2026-06-03T14:30:00.123456+00:00", "data": { @@ -8968,7 +4216,7 @@ curl -X POST https://votre-serveur.com/webhook \ } } -

    Sécurité : signature HMAC-SHA256

    +

    Sécurité : signature HMAC-SHA256

    Si vous configurez un secret, chaque requête inclut un header @@ -8982,7 +4230,7 @@ curl -X POST https://votre-serveur.com/webhook \ overflow-x: auto; font-size: 0.78rem; " - data-i18n="help.desc_3db2812f">X-ObsiGate-Signature: sha256=9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08 + >X-ObsiGate-Signature: sha256=9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08

    Pour vérifier côté récepteur : calculez HMAC-SHA256(corps_brut, secret) et @@ -8991,35 +4239,35 @@ curl -X POST https://votre-serveur.com/webhook \ type d'événement pour un routage rapide.

    -

    Configuration

    -

    +

    Configuration

    +

    Les webhooks se gèrent dans le modal Configurations (⚙️ menu Options), section Webhooks. Réservé aux administrateurs.

      -
    1. +
    2. Allez dans ⚙️ Configurations → onglet Webhooks
    3. -
    4. +
    5. Remplissez : Nom (descriptif), URL (endpoint cible), Secret (optionnel)
    6. Cochez les événements à écouter
    7. -
    8. Cliquez Ajouter
    9. +
    10. Cliquez Ajouter
    -

    +

    Les webhooks peuvent être activés/désactivés, modifiés ou supprimés à tout moment. Le last_fired_at indique la dernière exécution.

    -

    Exemples concrets

    +

    Exemples concrets

    Récepteur Python (Flask)

    from flask import Flask, request\nimport hmac, hashlib\n\napp = Flask(__name__)\nWEBHOOK_SECRET = "mon-secret"  # même que dans ObsiGate\n\n@app.route("/webhook", methods=["POST"])\ndef webhook():\n    # Vérifier la signature\n    signature = request.headers.get("X-ObsiGate-Signature", "")\n    body = request.get_data()\n    expected = "sha256=" + hmac.new(\n        WEBHOOK_SECRET.encode(), body, hashlib.sha256\n    ).hexdigest()\n    if not hmac.compare_digest(signature, expected):\n        return "Invalid signature", 403\n\n    payload = request.get_json()\n    print(f"Événement: {payload['event']}")\n    print(f"Fichier: {payload['data']['vault']}/{payload['data']['path']}")\n    return "OK", 200\n\napp.run(port=5000)
    + >from flask import Flask, request\nimport hmac, hashlib\n\napp = Flask(__name__)\nWEBHOOK_SECRET = "mon-secret" # même que dans ObsiGate\n\n@app.route("/webhook", methods=["POST"])\ndef webhook():\n # Vérifier la signature\n signature = request.headers.get("X-ObsiGate-Signature", "")\n body = request.get_data()\n expected = "sha256=" + hmac.new(\n WEBHOOK_SECRET.encode(), body, hashlib.sha256\n ).hexdigest()\n if not hmac.compare_digest(signature, expected):\n return "Invalid signature", 403\n\n payload = request.get_json()\n print(f"Événement: {payload['event']}")\n print(f"Fichier: {payload['data']['vault']}/{payload['data']['path']}")\n return "OK", 200\n\napp.run(port=5000)

    n8n / Make (no-code)

      -
    1. +
    2. Créez un Webhook Trigger dans n8n ou Make
    3. -
    4. +
    5. Copiez l'URL générée (ex: https://n8n.monserveur.com/webhook/abc123)
    6. -
    7. +
    8. Dans ObsiGate, ajoutez un webhook pointant vers cette URL
    9. @@ -9070,7 +4318,7 @@ curl -X POST https://votre-serveur.com/webhook \ overflow-x: auto; font-size: 0.78rem; " - data-i18n="help.desc_fc9391f3"># Exemple avec curl + jq dans un script bash + ># Exemple avec curl + jq dans un script bash WEBHOOK_URL="https://discord.com/api/webhooks/..." OBSIGATE_SECRET="mon-secret" @@ -9099,21 +4347,21 @@ curl -X POST https://votre-serveur.com/webhook \ -H "X-ObsiGate-Signature: sha256=$(echo -n '{"event":"file_created",...}' | openssl dgst -sha256 -hmac 'mon-secret' | cut -d' ' -f2)" \ -d '{"event":"file_created","timestamp":"2026-06-03T14:30:00Z","data":{"vault":"IT","path":"notes/test.md"}}' -

      Limitations actuelles

      +

      Limitations actuelles

        -
      • +
      • Timeout de 5 secondes par requête — les webhooks sont "fire and forget" (pas de retry)
      • -
      • +
      • Les modifications détectées par le watcher filesystem (watchdog) ne déclenchent pas de webhooks — seules les opérations via l'API REST sont prises en compte
      • -
      • +
      • file_modified n'est pas encore dispatché (réservé pour version future)
      • @@ -9125,45 +4373,45 @@ curl -X POST https://votre-serveur.com/webhook \
      -

      💾 Sauvegardes et Audits

      +

      💾 Sauvegardes et Audits

      -

      Backup automatique

      +

      Backup automatique

      ObsiGate crée automatiquement des sauvegardes avant chaque modification destructive.

        -
      • +
      • Avant écriture : Sauvegarde du contenu original dans .obsigate-backup/
      • -
      • +
      • Timestamp : Chaque backup est horodaté
      • -
      • +
      • Répertoire dédié : .obsigate-backup/ dans le répertoire de la vault
      -

      Audit log

      +

      Audit log

      Toutes les opérations sensibles sont tracées dans un journal.

        -
      • +
      • Journal : Fichier data/audit.log au format JSON lines
      • -
      • +
      • Événements tracés : Écritures, suppressions, changements de configuration
      • -
      • +
      • Rotation : Rotation automatique à 10 Mo
      @@ -9171,244 +4419,172 @@ curl -X POST https://votre-serveur.com/webhook \
      -

      🛡️ Sécurité

      +

      🛡️ Sécurité

      -

      Authentification

      +

      Authentification

        -
      • +
      • JWT + Argon2id : Tokens JWT avec mots de passe hachés Argon2id
      • -
      • +
      • Contrôle d'accès par vault : Chaque utilisateur voit uniquement ses vaults
      • -
      • +
      • Refresh tokens : Cookies HttpOnly avec rotation automatique
      • -
      • +
      • Rate limiting : 10 tentatives / 15 min par IP + verrouillage compte
      • -
      • +
      • Compte admin : Créé automatiquement au premier démarrage
      -

      Protection

      +

      Protection

        -
      • +
      • Secret redactor : Masque JWT, clés API, tokens GitHub dans les aperçus
      • -
      • +
      • Path traversal : Validation des chemins contre les attaques ../
      • -
      • +
      • Headers CSP : Content-Security-Policy, X-Frame-Options, XSS-Protection
      • -
      • +
      • Atomic writes : Écriture via fichier temporaire + renommage atomique
      • -
      • +
      • Non-root Docker : Conteneur tourne avec UID 1000
      -
      -

      🎨 Personnalisation

      +
      +

      💡 Astuces et bonnes pratiques

      -

      Thème clair/sombre

      -

      Basculez entre les thèmes :

      -
        -
      • - Menu Options : Cliquez sur - "Thème" dans le menu
      • -
      • - Raccourci : - Ctrl+T -
      • -
      • - Persistance : Votre choix - est sauvegardé en localStorage
      • -
      • - Highlight.js : Les blocs de - code s'adaptent au thème
      • -
      - -

      Redimensionnement de la sidebar

      -

      - Sur desktop, ajustez la largeur de la sidebar : -

      -
        -
      • - Handle de redimensionnement - : Bordure droite de la sidebar -
      • -
      • - Glisser-déposer : Cliquez - et glissez pour ajuster -
      • -
      • - Limites : Min 200px, Max - 500px -
      • -
      • - Persistance : La largeur - est sauvegardée
      • -
      - -

      Configuration avancée

      -

      - Le modal Configurations (menu Options) permet de - : -

      -
        -
      • - Paramètres de recherche : - Délai debounce, résultats par page, timeout
      • -
      • - Paramètres backend : - Workers, boosts TF-IDF, expansions préfixe
      • -
      • - Filtrage de tags : Patterns - pour masquer les tags template -
      • -
      • - Diagnostics : Stats index, - mémoire, moteur de recherche
      • -
      • - Réindexation : Forcer un - rescan des vaults -
      • -
      -
      - -
      -

      💡 Astuces et bonnes pratiques

      - -

      Workflow recommandé

      +

      Workflow recommandé

        -
      1. +
      2. Sélectionnez un contexte : Choisissez un vault pour réduire le bruit
      3. -
      4. +
      5. Explorez l'arborescence : Naviguez dans les dossiers
      6. -
      7. - Utilisez les tags : Filtrez +
      8. + Utilisez les tags : Filtrez par tags pour affiner
      9. -
      10. +
      11. Recherchez intelligemment : Combinez opérateurs et texte libre
      12. -
      13. +
      14. Profitez de l'historique : Réutilisez vos recherches fréquentes
      -

      Optimisations

      +

      Optimisations

        -
      • - Masquez la sidebar : Plus +
      • + Masquez la sidebar : Plus d'espace pour le contenu
      • -
      • +
      • Utilisez le filtrage sidebarUtilisez le filtrage sidebar : Plus rapide que la recherche globale pour trouver un fichier
      • -
      • +
      • Favorisez les opérateurs : tag: et vault: accélèrent la recherche
      • -
      • +
      • Breadcrumb cliquable : Repositionnez rapidement la sidebar
      -

      Trucs et astuces

      +

      Trucs et astuces

        -
      • +
      • Navigation visuelle : Le breadcrumb repositionne automatiquement la sidebar
      • -
      • +
      • Gestion de l'espace : Réduisez les sections Vaults/Tags selon vos besoins
      • -
      • +
      • Confort de lecture : Ajustez la largeur de la sidebar
      • -
      • +
      • Mobile-friendly : Utilisez le bouton hamburger sur mobile
      • -
      • +
      • Wikilinks : Naviguez entre notes comme dans Obsidian
      • -
      • +
      • Images : Support complet des syntaxes Obsidian
      -

      Cas d'usage avancés

      +

      Cas d'usage avancés

        -
      • +
      • Recherche multi-critères : tag:docker tag:linux vault:IT nginx
      • -
      • +
      • Exploration par tags : Cliquez sur un tag dans une note pour voir toutes les notes similaires
      • -
      • +
      • Édition rapide : Ouvrez l'éditeur, modifiez, sauvegardez
      • -
      • +
      • Export : Téléchargez des fichiers pour backup ou partage
      • -
      • +
      • Multi-fenêtres : Ouvrez plusieurs notes dans des onglets séparés
      @@ -9618,7 +4794,7 @@ curl -X POST https://votre-serveur.com/webhook \

      ObsiGate

      -

      Vos notes Obsidian,
      simplement accessibles.

      +

      Vos notes Obsidian,
      simplement accessibles.

      v2.0.0-dev
      @@ -9633,11 +4809,11 @@ curl -X POST https://votre-serveur.com/webhook \
      285 - Tests + Tests
      -

      Construit avec

      +

      Construit avec

      🐍 FastAPI ⚡ vanilla JS @@ -9655,11 +4831,11 @@ curl -X POST https://votre-serveur.com/webhook \