Épinglez des fichiers pour les retrouver ici.
Épinglez des fichiers pour les retrouver ici.
Ces paramètres s'appliquent immédiatement côté client.
Ces paramètres sont sauvegardés sur le serveur. Certains nécessitent un redémarrage ou une réindexation.
Définissez les patterns de tags à masquer dans la sidebar. Vous pouvez utiliser des wildcards pour cibler les tags de template.
Surveillance des fichiers en temps réel via watchdog. Les modifications sont détectées automatiquement et l'index est mis à jour sans redémarrage.
Contrôlez l'affichage des fichiers/dossiers
cachés (commençant par .) par
vault.
i️ Note : Tous les fichiers sont toujours indexés et cherchables. Ce paramètre contrôle uniquement leur visibilité dans l'interface.
Statistiques de l'index et du moteur de recherche.
Notifications HTTP vers des services externes lors des changements de fichiers.
Liens de partage publics pour des documents (lecture seule, sans authentification).
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.
Basculez entre les thèmes :
Ctrl+T
Sur desktop, ajustez la largeur de la sidebar :
Le modal Configurations (menu Options) permet de :
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 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 | Modèle par défaut |
|---|---|---|
| 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
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
../
tag: et
vault: accélèrent la recherche
tag:docker tag:linux vault:IT
nginx