diff --git a/frontend/index.html b/frontend/index.html index 9be8cbc..9e16457 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -2578,78 +2578,4983 @@ ✕ -
+ ObsiGate est votre porte d'entrée web vers + vos vaults Obsidian. Accédez, naviguez et + recherchez dans toutes vos notes depuis + n'importe quel appareil via une interface + moderne et responsive. +
++ La barre supérieure contient les éléments + essentiels : +
+La sidebar est divisée en deux onglets :
+Fonctionnalités de la sidebar :
+La zone centrale affiche :
++ ObsiGate supporte l'ouverture de plusieurs + fichiers simultanément dans des onglets. +
+ ++ Tapez dans la barre de recherche en haut pour + lancer une recherche fulltext : +
++ Utilisez des opérateurs pour affiner votre + recherche : +
+tag:docker ou
+ #docker : Filtrer par tag
+ vault:IT : Rechercher dans un
+ vault spécifique
+ title:kubernetes : Chercher
+ dans les titres uniquement
+ path:recettes/soupes : Filtrer
+ par chemin
+ ext:md : Filtrer par type de
+ fichier
+ "phrase exacte" : Recherche de
+ phrase entre guillemets
+
+ Exemples:
+ ext:sh recherche dans les scripts
+ bash, ext:py dans les scripts
+ Python, ext:md dans les fichiers
+ Markdown.
+
+ Exemple combiné :
+ tag:linux vault:IT ext:md serveur web
+ recherche "serveur web" dans les fichiers
+ Markdown du vault IT avec le tag linux.
+
+ L'autocomplétion vous aide à trouver rapidement + : +
++ Les opérateurs utilisés s'affichent sous forme + de chips colorés : +
++ Les résultats incluent des facettes pour affiner + : +
++ L'onglet Tags de la sidebar affiche un nuage de + tags : +
+ObsiGate supporte deux types de tags :
+tags: [docker, linux] ou
+ tags: docker, linux
+ #docker dans le contenu
+ markdown
+ + Dans les Configurations, vous pouvez masquer les + tags de template : +
+#<% ... %> ou
+ #{{ ... }}
+ Les fichiers markdown sont rendus avec :
+[[lien]] et
+ [[lien|texte]]
+ ![[image.png]]
+ Boutons disponibles au-dessus du contenu :
+L'éditeur intégré offre :
+ObsiGate indexe et affiche :
++ L'éditeur intégré offre une expérience complète + d'édition : +
++ La vue graphe offre une visualisation + interactive des connexions entre vos notes via + les wikilinks. +
+ ++ La vue utilise l'algorithme Barnes-Hut pour + calculer la disposition en O(n log n), + garantissant des performances fluides même avec + des centaines de nœuds. +
+
+ ObsiGate intègre un assistant IA directement
+ dans l'éditeur de texte. Pour l'activer,
+ configurez au moins un provider AI dans le
+ fichier .env (DeepSeek, OpenRouter
+ ou Gemini).
+
.env :
+ DEEPSEEK_API_KEY=sk-...
+ docker compose down && docker compose
+ up -d --build
+ + La barre d'outils contient les boutons suivants + : +
++ L'éditeur sauvegarde automatiquement après 2 + secondes d'inactivité. Le bouton de sauvegarde + flashe en vert brièvement pour + confirmer. +
+ +| Provider | +Variable .env | +|
|---|---|---|
| DeepSeek | +DEEPSEEK_API_KEY |
+ deepseek-chat |
+
| OpenRouter | +OPENROUTER_API_KEY |
+ openai/gpt-4o-mini |
+
| Gemini | +GEMINI_API_KEY |
+ gemini-2.0-flash |
+
+ Pour changer de provider par défaut :
+ AI_DEFAULT_PROVIDER=openrouter
+
+ La palette de commandes permet d'accéder + rapidement aux fichiers et aux actions sans + utiliser la souris. +
+ +
+ 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é.
+
+ Tapez > (ou Ctrl+Alt+Espace)
+ pour voir la liste des actions disponibles :
+
Ctrl+K ou Cmd+K :
+ Focaliser la barre de recherche
+ / : Focaliser la recherche
+ (hors champ texte)
+ Escape : Fermer les suggestions
+ / quitter la recherche
+ ↑ / ↓ : Naviguer
+ dans les suggestions
+ Enter : Sélectionner la
+ suggestion active ou lancer la recherche
+ Escape : Fermer le dropdown de
+ suggestions
+ 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
+ Ctrl+W : Fermer l'onglet actif
+ Ctrl+Tab : Onglet suivantCtrl+Shift+Tab : Onglet
+ précédent
+ Ctrl+F : Rechercher dans le
+ fichier
+ Ctrl+Z : AnnulerCtrl+Y : RefaireCtrl+S : Sauvegarder (si
+ configuré)
+ + ObsiGate permet de partager des documents via un + lien public temporaire. +
+/s/{token}/pdf
+
+ Les webhooks permettent à ObsiGate de
+ 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
+ choix, avec un payload JSON détaillé.
+
publish: true
+ | + Événement + | ++ Déclencheur + | ++ Données + | +
|---|---|---|
+ file_created
+ |
+ + Création via l'API ou la palette + | +
+ vault,
+ path
+ |
+
+ file_deleted
+ |
+ + Suppression via l'API ou l'éditeur + | +
+ vault,
+ path
+ |
+
+ file_renamed
+ |
+ + Renommage via l'API + | +
+ vault,
+ old_path,
+ new_path
+ |
+
+ directory_created
+ |
+ + Création de dossier via l'API + | +
+ vault,
+ path
+ |
+
+ directory_deleted
+ |
+ + Suppression de dossier via l'API + | +
+ vault,
+ path
+ |
+
+ directory_renamed
+ |
+ + Renommage de dossier via l'API + | +
+ vault,
+ old_path,
+ new_path
+ |
+
+ 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
+ webhook.
+
+ Chaque webhook reçoit un POST avec
+ Content-Type: application/json :
+
{
+ "event": "file_created",
+ "timestamp": "2026-06-03T14:30:00.123456+00:00",
+ "data": {
+ "vault": "IT",
+ "path": "procedures/deploiement.md"
+ }
+}
+
+
+ Si vous configurez un secret, chaque requête
+ inclut un header
+ X-ObsiGate-Signature :
+
X-ObsiGate-Signature: sha256=9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08
+
+ Pour vérifier côté récepteur : calculez
+ HMAC-SHA256(corps_brut, secret) et
+ comparez. Le header
+ X-ObsiGate-Event contient aussi le
+ type d'événement pour un routage rapide.
+
+ Les webhooks se gèrent dans le modal + Configurations (⚙️ menu + Options), section Webhooks. Réservé aux + administrateurs. +
+
+ 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.
+
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)
+
+ https://n8n.monserveur.com/webhook/abc123)
+ + Utilisez un webhook relais (n8n, Make, ou un + script) pour transformer le payload ObsiGate en + message Discord : +
+# Exemple avec curl + jq dans un script bash
+WEBHOOK_URL="https://discord.com/api/webhooks/..."
+OBSIGATE_SECRET="mon-secret"
+
+# Lire le payload depuis stdin
+read -r payload
+event=$(echo "$payload" | jq -r '.event')
+path=$(echo "$payload" | jq -r '.data.path')
+
+curl -H "Content-Type: application/json" -d "{
+ \"content\": \"📝 **$event** — $path\"
+}" "$WEBHOOK_URL"
+
+ # Simuler ce qu'ObsiGate envoie (pour tester votre endpoint)
+curl -X POST https://votre-serveur.com/webhook \
+ -H "Content-Type: application/json" \
+ -H "X-ObsiGate-Event: file_created" \
+ -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"}}'
+
+ file_modified n'est pas encore
+ dispatché (réservé pour version future)
+ + ObsiGate crée automatiquement des sauvegardes + avant chaque modification destructive. +
+.obsigate-backup/
+ .obsigate-backup/ dans le
+ répertoire de la vault
+ + Toutes les opérations sensibles sont tracées + dans un journal. +
+data/audit.log au format JSON
+ lines
+ ../
+ Basculez entre les thèmes :
+Ctrl+T
+ + Sur desktop, ajustez la largeur de la sidebar : +
++ Le modal Configurations (menu Options) permet de + : +
+tag: et
+ vault: accélèrent la recherche
+ tag:docker tag:linux vault:IT
+ nginx
+