fix: tag + translate all help body headings and paragraphs
CI / lint (push) Failing after 19s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after 10s

- 36 new data-i18n tags on h2/h3/p in help modal body
- Fixed concatenated attributes (pdata-i18n → p data-i18n)
- All section headings translated (Palette, AI Editor, Search, etc.)
- 827 locale keys total, 354 data-i18n attributes
- Help guide title 'Guide utilisation ObsiGate' now translated
This commit is contained in:
2026-06-18 15:43:54 -04:00
parent 31d8c2603e
commit b4fefe483e
3 changed files with 179 additions and 107 deletions
+105 -105
View File
@@ -1117,7 +1117,7 @@
>
<i data-lucide="pin"></i>
<span>Aucun bookmark</span>
<pdata-i18n="auto.c089d968">
<p data-i18n="auto.c089d968">
Épinglez des fichiers pour les retrouver
ici.
</p>
@@ -1158,7 +1158,7 @@
>
<i data-lucide="inbox"></i>
<span data-i18n="dashboard.no_recent">Aucun fichier récent</span>
<pdata-i18n="auto.753d30a8">
<p data-i18n="auto.753d30a8">
Ouvrez un fichier pour le voir
apparaître ici
</p>
@@ -1180,7 +1180,7 @@
>
<i data-lucide="share-2"></i>
<span data-i18n="dashboard.no_shares">Aucun document partagé</span>
<pdata-i18n="auto.e61598c1">
<p data-i18n="auto.e61598c1">
Partagez un document pour le voir
apparaître ici
</p>
@@ -1824,7 +1824,7 @@
<!-- Hidden Files/Folders Configuration -->
<section class="config-section help-section">
<h2data-i18n="auto.f8ba6127">🗂️ Fichiers cachés</h2>
<h2 data-i18n="auto.f8ba6127">🗂️ Fichiers cachés</h2>
<p class="config-description">
Contrôlez l'affichage des fichiers/dossiers
cachés (commençant par <code>.</code>) par
@@ -1989,7 +1989,7 @@
class="config-section help-section"
id="cfg-themes"
>
<h2data-i18n="auto.c14b5603">🎨 Thèmes</h2>
<h2 data-i18n="auto.c14b5603">🎨 Thèmes</h2>
<p class="config-description" data-i18n="auto.caac40b9">
Choisissez un thème visuel. Chaque thème
offre un mode sombre et clair.
@@ -2035,7 +2035,7 @@
class="config-section help-section"
id="cfg-about"
>
<h2data-i18n="auto.a3319169">📦 À propos</h2>
<h2 data-i18n="auto.a3319169">📦 À propos</h2>
<div
id="config-about"
class="config-diagnostics"
@@ -2732,7 +2732,7 @@
<h2 data-i18n="help.nav_interface">🧭 Interface utilisateur</h2>
<h3 data-i18n="help.header_section">En-tête</h3>
<pdata-i18n="auto.209c5490">
<p data-i18n="auto.209c5490">
La barre supérieure contient les éléments
essentiels :
</p>
@@ -2822,10 +2822,10 @@
</section>
<section class="help-section" id="help-navigation">
<h2>🗺️ Navigation</h2>
<h2 data-i18n="help.733f0559">🗺️ Navigation</h2>
<h3 data-i18n="help.tree_section">Arborescence des vaults</h3>
<pdata-i18n="auto.4c908ade">
<p data-i18n="auto.4c908ade">
Cliquez sur un vault pour l'ouvrir et voir son
contenu. Les dossiers affichent un chevron et un
badge avec le nombre d'éléments.
@@ -2870,7 +2870,7 @@
</ul>
<h3 data-i18n="help.breadcrumb_reposition">Breadcrumb et repositionnement</h3>
<pdata-i18n="auto.1abf6661">
<p data-i18n="auto.1abf6661">
Le chemin affiché au-dessus du contenu est
interactif :
</p>
@@ -2914,8 +2914,8 @@
</section>
<section class="help-section" id="help-tabs">
<h2>📑 Gestion des onglets</h2>
<pdata-i18n="auto.27a2f7c1">
<h2 data-i18n="help.8c5341e0">📑 Gestion des onglets</h2>
<p data-i18n="auto.27a2f7c1">
ObsiGate supporte l'ouverture de plusieurs
fichiers simultanément dans des onglets.
</p>
@@ -2985,7 +2985,7 @@
</section>
<section class="help-section" id="help-recherche">
<h2>🔍 Recherche</h2>
<h2 data-i18n="help.adf30d78">🔍 Recherche</h2>
<h3 data-i18n="help.simple_search">Recherche simple</h3>
<p>
@@ -3012,7 +3012,7 @@
</ul>
<h3 data-i18n="help.advanced_operators">Opérateurs avancés</h3>
<pdata-i18n="auto.4bc1f00a">
<p data-i18n="auto.4bc1f00a">
Utilisez des opérateurs pour affiner votre
recherche :
</p>
@@ -3050,7 +3050,7 @@
Markdown.
</p>
<p>
<strongdata-i18n="auto.1a54bd69">Exemple combiné</strong> :
<strong data-i18n="auto.1a54bd69">Exemple combiné</strong> :
<code
>tag:linux vault:IT ext:md serveur web</code
>
@@ -3059,7 +3059,7 @@
</p>
<h3 data-i18n="help.autocomplete">Autocomplétion</h3>
<pdata-i18n="auto.404c8f1c">
<p data-i18n="auto.404c8f1c">
L'autocomplétion vous aide à trouver rapidement
:
</p>
@@ -3083,7 +3083,7 @@
</ul>
<h3 data-i18n="help.active_filter_chips">Chips de filtres actifs</h3>
<pdata-i18n="auto.03a6e5b1">
<p data-i18n="auto.03a6e5b1">
Les opérateurs utilisés s'affichent sous forme
de chips colorés :
</p>
@@ -3102,8 +3102,8 @@
</li>
</ul>
<h3>Facettes et tri</h3>
<pdata-i18n="auto.cd7332c8">
<h3 data-i18n="help.a648c49e">Facettes et tri</h3>
<p data-i18n="auto.cd7332c8">
Les résultats incluent des facettes pour affiner
:
</p>
@@ -3128,9 +3128,9 @@
</section>
<section class="help-section" id="help-tags">
<h2>🏷️ Tags</h2>
<h2 data-i18n="help.2507242f">🏷️ Tags</h2>
<h3>Tag cloud</h3>
<h3 data-i18n="help.5f87ea79">Tag cloud</h3>
<p>
L'onglet Tags de la sidebar affiche un nuage de
tags :
@@ -3154,7 +3154,7 @@
</li>
</ul>
<h3>Tags inline vs frontmatter</h3>
<h3 data-i18n="help.2c03a7ba">Tags inline vs frontmatter</h3>
<p>ObsiGate supporte deux types de tags :</p>
<ul>
<li>
@@ -3173,7 +3173,7 @@
</li>
</ul>
<h3>Filtrage de tags template</h3>
<h3 data-i18n="help.63f024d4">Filtrage de tags template</h3>
<p>
Dans les Configurations, vous pouvez masquer les
tags de template :
@@ -3185,7 +3185,7 @@
<code>#{{ ... }}</code>
</li>
<li>
<strongdata-i18n="auto.5d936af6">Regex générée</strong> : Aperçu de
<strong data-i18n="auto.5d936af6">Regex générée</strong> : Aperçu de
la regex appliquée
</li>
<li>
@@ -3196,9 +3196,9 @@
</section>
<section class="help-section" id="help-fichiers">
<h2>📄 Fichiers</h2>
<h2 data-i18n="help.c017944b">📄 Fichiers</h2>
<h3>Visualisation</h3>
<h3 data-i18n="help.cf8615b1">Visualisation</h3>
<p>Les fichiers markdown sont rendus avec :</p>
<ul>
<li>
@@ -3247,15 +3247,15 @@
</li>
</ul>
<h3data-i18n="auto.1efbbc9a">Édition avec CodeMirror 6</h3>
<pdata-i18n="auto.edf89626">L'éditeur intégré offre :</p>
<h3 data-i18n="auto.1efbbc9a">Édition avec CodeMirror 6</h3>
<p data-i18n="auto.edf89626">L'éditeur intégré offre :</p>
<ul>
<li>
<strong>Coloration syntaxique</strong> :
Support de nombreux langages
</li>
<li>
<strongdata-i18n="auto.1d46301c">Numéros de ligne</strong> :
<strong data-i18n="auto.1d46301c">Numéros de ligne</strong> :
Navigation facile
</li>
<li>
@@ -3276,7 +3276,7 @@
</li>
</ul>
<h3data-i18n="auto.ec7260fa">Types de fichiers supportés</h3>
<h3 data-i18n="auto.ec7260fa">Types de fichiers supportés</h3>
<p>ObsiGate indexe et affiche :</p>
<ul>
<li>
@@ -3307,10 +3307,10 @@
<!-- ✏️ Édition -->
<section class="help-section" id="help-edition">
<h2data-i18n="auto.f346076a">✏️ Édition avancée</h2>
<h2 data-i18n="auto.f346076a">✏️ Édition avancée</h2>
<h3data-i18n="auto.695d9e47">Éditeur CodeMirror 6</h3>
<pdata-i18n="auto.ef8c5f4d">
<h3 data-i18n="auto.695d9e47">Éditeur CodeMirror 6</h3>
<p data-i18n="auto.ef8c5f4d">
L'éditeur intégré offre une expérience complète
d'édition :
</p>
@@ -3321,7 +3321,7 @@
et bien d'autres
</li>
<li>
<strongdata-i18n="auto.1d46301c">Numéros de ligne</strong> :
<strong data-i18n="auto.1d46301c">Numéros de ligne</strong> :
Navigation facilitée dans les fichiers longs
</li>
<li>
@@ -3352,14 +3352,14 @@
<!-- 🗺️ Graphe -->
<section class="help-section" id="help-graphe">
<h2>🗺️ Vue Graphe</h2>
<h2 data-i18n="help.9c7a0a8d">🗺️ Vue Graphe</h2>
<p>
La vue graphe offre une visualisation
interactive des connexions entre vos notes via
les wikilinks.
</p>
<h3>Ouverture</h3>
<h3 data-i18n="help.b6619ac9">Ouverture</h3>
<ul>
<li>
<strong>Menu contextuel</strong> : Clic
@@ -3372,7 +3372,7 @@
</li>
</ul>
<h3>Interaction</h3>
<h3 data-i18n="help.61ee5a22">Interaction</h3>
<ul>
<li>
<strong>Zoom/Pan</strong> : Molette pour
@@ -3405,7 +3405,7 @@
</li>
</ul>
<h3>Affichage</h3>
<h3 data-i18n="help.8caed987">Affichage</h3>
<ul>
<li>
<strong>Nœuds</strong> : Fichiers (carrés)
@@ -3434,7 +3434,7 @@
</ul>
<h3 data-i18n="config.section_perf">Performance</h3>
<pdata-i18n="auto.aa8ca265">
<p data-i18n="auto.aa8ca265">
La vue utilise l'algorithme Barnes-Hut pour
calculer la disposition en O(n log n),
garantissant des performances fluides même avec
@@ -3446,9 +3446,9 @@
class="help-section"
id="help-personnalisation"
>
<h2>🎨 Personnalisation</h2>
<h2 data-i18n="help.86e3825d">🎨 Personnalisation</h2>
<h3data-i18n="auto.337d8626">Thème clair/sombre</h3>
<h3 data-i18n="auto.337d8626">Thème clair/sombre</h3>
<p data-i18n="help.theme_toggle">Basculez entre les thèmes :</p>
<ul>
<li>
@@ -3469,7 +3469,7 @@
</li>
</ul>
<h3>Redimensionnement de la sidebar</h3>
<h3 data-i18n="help.7bcbb2e3">Redimensionnement de la sidebar</h3>
<p>
Sur desktop, ajustez la largeur de la sidebar :
</p>
@@ -3479,7 +3479,7 @@
: Bordure droite de la sidebar
</li>
<li>
<strongdata-i18n="auto.1a8a8118">Glisser-déposer</strong> : Cliquez
<strong data-i18n="auto.1a8a8118">Glisser-déposer</strong> : Cliquez
et glissez pour ajuster
</li>
<li>
@@ -3492,7 +3492,7 @@
</li>
</ul>
<h3data-i18n="auto.9122fd5c">Configuration avancée</h3>
<h3 data-i18n="auto.9122fd5c">Configuration avancée</h3>
<p>
Le modal Configurations (menu Options) permet de
:
@@ -3515,7 +3515,7 @@
mémoire, moteur de recherche
</li>
<li>
<strongdata-i18n="auto.83a0efdf">Réindexation</strong> : Forcer un
<strong data-i18n="auto.83a0efdf">Réindexation</strong> : Forcer un
rescan des vaults
</li>
</ul>
@@ -3523,14 +3523,14 @@
<!-- ⌨️ Palette de commandes -->
<section class="help-section" id="help-palette">
<h2>⌨️ Palette de commandes</h2>
<pdata-i18n="auto.774dbd63">
<h2 data-i18n="help.62308f96">⌨️ Palette de commandes</h2>
<p data-i18n="auto.774dbd63">
La palette de commandes permet d'accéder
rapidement aux fichiers et aux actions sans
utiliser la souris.
</p>
<h3>Ouverture</h3>
<h3 data-i18n="help.b6619ac9">Ouverture</h3>
<ul>
<li>
<strong>Ctrl+Shift+Espace</strong> : Palette
@@ -3546,7 +3546,7 @@
</li>
</ul>
<h3>Mode fichiers</h3>
<h3 data-i18n="help.6d547397">Mode fichiers</h3>
<p>
Tapez le nom d'un fichier pour le trouver
rapidement. La recherche utilise l'API
@@ -3555,7 +3555,7 @@
ouvrir le fichier sélectionné.
</p>
<h3>Mode commandes</h3>
<h3 data-i18n="help.3cf370b1">Mode commandes</h3>
<p>
Tapez <code>&gt;</code> (ou Ctrl+Alt+Espace)
pour voir la liste des actions disponibles :
@@ -3566,7 +3566,7 @@
l'accueil
</li>
<li>
✏️ <strongdata-i18n="auto.b893650a">Éditer fichier courant</strong> :
✏️ <strong data-i18n="auto.b893650a">Éditer fichier courant</strong> :
Ouvre l'éditeur sur l'onglet actif
</li>
<li>
@@ -3574,7 +3574,7 @@
document dans une fenêtre détachée
</li>
<li>
📄 <strongdata-i18n="auto.aedff644">Créer fichier markdown</strong> :
📄 <strong data-i18n="auto.aedff644">Créer fichier markdown</strong> :
Crée un nouveau fichier .md et l'ouvre dans
l'éditeur
</li>
@@ -3584,11 +3584,11 @@
Supprime le fichier de l'onglet actif
</li>
<li>
📁 <strongdata-i18n="auto.195a8e44">Créer répertoire</strong> : Crée
📁 <strong data-i18n="auto.195a8e44">Créer répertoire</strong> : Crée
un nouveau dossier
</li>
<li>
🗑️ <strongdata-i18n="auto.5a486420">Supprimer répertoire</strong> :
🗑️ <strong data-i18n="auto.5a486420">Supprimer répertoire</strong> :
Supprime un dossier et son contenu
</li>
<li>
@@ -3624,7 +3624,7 @@
</section>
<section class="help-section" id="help-raccourcis">
<h2>⌨️ Raccourcis clavier</h2>
<h2 data-i18n="help.2a2e5b0f">⌨️ Raccourcis clavier</h2>
<h3 data-i18n="help.nav_navigation">Navigation</h3>
<ul>
@@ -3642,7 +3642,7 @@
</li>
</ul>
<h3data-i18n="auto.13c3ee2c">Recherche et autocomplétion</h3>
<h3 data-i18n="auto.13c3ee2c">Recherche et autocomplétion</h3>
<ul>
<li>
<code>↑</code> / <code>↓</code> : Naviguer
@@ -3690,7 +3690,7 @@
</li>
</ul>
<h3data-i18n="auto.a131dfab">Éditeur CodeMirror</h3>
<h3 data-i18n="auto.a131dfab">Éditeur CodeMirror</h3>
<ul>
<li>
<code>Ctrl+F</code> : Rechercher dans le
@@ -3706,7 +3706,7 @@
</section>
<section class="help-section" id="help-ai">
<h2data-i18n="auto.c4922a99">🤖 Intelligence Artificielle dans l'Éditeur</h2>
<h2 data-i18n="auto.c4922a99">🤖 Intelligence Artificielle dans l'Éditeur</h2>
<p>
ObsiGate intègre un assistant IA directement
dans l'éditeur de texte. Pour l'activer,
@@ -3729,11 +3729,11 @@
up -d --build</code
>
</li>
<lidata-i18n="auto.5d4a2516">
<li data-i18n="auto.5d4a2516">
Ouvrez un fichier en mode Édition (bouton ✏️
Éditer)
</li>
<lidata-i18n="auto.396d0dd8">
<li data-i18n="auto.396d0dd8">
La barre d'outils AI apparaît sous le titre
de l'éditeur
</li>
@@ -3752,7 +3752,7 @@
curseur.
</li>
<li>
<strongdata-i18n="auto.a105a2d9">Éditer ▾</strong> — Menu de
<strong data-i18n="auto.a105a2d9">Éditer ▾</strong> — Menu de
modification du texte sélectionné :
<ul>
<li>
@@ -3813,7 +3813,7 @@
</ul>
</li>
<li>
<strongdata-i18n="auto.ce4eb802">Générer ▾</strong> — Génère du
<strong data-i18n="auto.ce4eb802">Générer ▾</strong> — Génère du
contenu à partir de la sélection :
<ul>
<li>
@@ -3834,13 +3834,13 @@
</ul>
</li>
<li>
<strongdata-i18n="auto.62c3d50d">💬 Réécrire</strong> — Réécrit le
<strong data-i18n="auto.62c3d50d">💬 Réécrire</strong> — Réécrit le
texte selon vos instructions personnalisées.
Une boîte de dialogue vous demande votre
instruction.
</li>
<li>
<strongdata-i18n="auto.0257e77f">🧰 Boîte ▾</strong> — Outils de
<strong data-i18n="auto.0257e77f">🧰 Boîte ▾</strong> — Outils de
conversion :
<ul>
<li>
@@ -3870,7 +3870,7 @@
</li>
</ul>
<h3>Indicateurs visuels</h3>
<h3 data-i18n="help.096367af">Indicateurs visuels</h3>
<ul>
<li>
Pendant une requête AI, un toast
@@ -3881,16 +3881,16 @@
</li>
<li>
Une fois terminé,
<strongdata-i18n="auto.4d281c6c">AI: texte traité ✓</strong> confirme
<strong data-i18n="auto.4d281c6c">AI: texte traité ✓</strong> confirme
le succès
</li>
<li>
En cas d'erreur de clé API :
<strongdata-i18n="auto.13eb7a51">AI: clé API invalide</strong>
<strong data-i18n="auto.13eb7a51">AI: clé API invalide</strong>
</li>
</ul>
<h3>Sauvegarde automatique</h3>
<h3 data-i18n="help.2dad2bfd">Sauvegarde automatique</h3>
<p>
L'éditeur sauvegarde automatiquement après 2
secondes d'inactivité. Le bouton de sauvegarde
@@ -3898,7 +3898,7 @@
confirmer.
</p>
<h3data-i18n="auto.272dd29a">Providers supportés</h3>
<h3 data-i18n="auto.272dd29a">Providers supportés</h3>
<table>
<tr>
<th>Provider</th>
@@ -3929,7 +3929,7 @@
<!-- 🔗 Partage -->
<section class="help-section" id="help-partage">
<h2>🔗 Partage et Webhooks</h2>
<h2 data-i18n="help.8c65b2f2">🔗 Partage et Webhooks</h2>
<h3 data-i18n="help.public_shares">Publication publique</h3>
<p>
@@ -3969,7 +3969,7 @@
<!-- 🪝 Webhooks -->
<section class="help-section" id="help-webhooks">
<h2>🪝 Webhooks</h2>
<h2 data-i18n="help.29afa01d">🪝 Webhooks</h2>
<p>
Les webhooks permettent à ObsiGate de
<strong
@@ -4005,13 +4005,13 @@
données externe
</li>
<li>
<strongdata-i18n="auto.a232672b">Déploiement</strong> : Publier un
<strong data-i18n="auto.a232672b">Déploiement</strong> : Publier un
article de blog quand un fichier est marqué
<code>publish: true</code>
</li>
</ul>
<h3data-i18n="auto.ba768f01">Événements supportés</h3>
<h3 data-i18n="auto.ba768f01">Événements supportés</h3>
<div style="overflow-x: auto">
<table
style="
@@ -4247,7 +4247,7 @@
>
</p>
<h3>Format du payload</h3>
<h3 data-i18n="help.77f4f06e">Format du payload</h3>
<p>
Chaque webhook reçoit un <code>POST</code> avec
<code>Content-Type: application/json</code> :
@@ -4269,7 +4269,7 @@
}
}</code></pre>
<h3data-i18n="auto.28bf6aab">Sécurité : signature HMAC-SHA256</h3>
<h3 data-i18n="auto.28bf6aab">Sécurité : signature HMAC-SHA256</h3>
<p>
Si vous configurez un secret, chaque requête
inclut un header
@@ -4310,7 +4310,7 @@
<strong data-i18n="config.webhook_url_placeholder">URL</strong> (endpoint cible),
<strong>Secret</strong> (optionnel)
</li>
<lidata-i18n="auto.7c9cdc3c">Cochez les événements à écouter</li>
<li data-i18n="auto.7c9cdc3c">Cochez les événements à écouter</li>
<li>Cliquez <strong data-i18n="config.add_webhook">Ajouter</strong></li>
</ol>
<p>
@@ -4320,9 +4320,9 @@
exécution.
</p>
<h3>Exemples concrets</h3>
<h3 data-i18n="help.550b0240">Exemples concrets</h3>
<h4data-i18n="auto.b419c2c2">Récepteur Python (Flask)</h4>
<h4 data-i18n="auto.b419c2c2">Récepteur Python (Flask)</h4>
<pre
style="
background: var(--bg-secondary);
@@ -4333,7 +4333,7 @@
"
><code>from flask import Flask, request\nimport hmac, hashlib\n\napp = Flask(__name__)\nWEBHOOK_SECRET = "mon-secret" # même que dans ObsiGate\n\[email protected]("/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)</code></pre>
<h4>n8n / Make (no-code)</h4>
<h4 data-i18n="help.d1ea1dc6">n8n / Make (no-code)</h4>
<ol>
<li>
Créez un
@@ -4350,14 +4350,14 @@
Dans ObsiGate, ajoutez un webhook pointant
vers cette URL
</li>
<lidata-i18n="auto.14c75ac6">Sélectionnez les événements souhaités</li>
<lidata-i18n="auto.2a5af19b">
<li data-i18n="auto.14c75ac6">Sélectionnez les événements souhaités</li>
<li data-i18n="auto.2a5af19b">
Le workflow se déclenche automatiquement à
chaque événement
</li>
</ol>
<h4>Notification Discord</h4>
<h4 data-i18n="help.229fd3e2">Notification Discord</h4>
<p>
Utilisez un webhook relais (n8n, Make, ou un
script) pour transformer le payload ObsiGate en
@@ -4384,7 +4384,7 @@ curl -H "Content-Type: application/json" -d "{
\"content\": \"📝 **$event** — $path\"
}" "$WEBHOOK_URL"</code></pre>
<h4>Tester avec curl</h4>
<h4 data-i18n="help.40dd7e38">Tester avec curl</h4>
<pre
style="
background: var(--bg-secondary);
@@ -4400,7 +4400,7 @@ 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"}}'</code></pre>
<h3>Limitations actuelles</h3>
<h3 data-i18n="help.381abec7">Limitations actuelles</h3>
<ul>
<li>
Timeout de <strong>5 secondes</strong> par
@@ -4410,7 +4410,7 @@ curl -X POST https://votre-serveur.com/webhook \
<li>
Les modifications détectées par le watcher
filesystem (watchdog)
<strongdata-i18n="auto.98c547ea">ne déclenchent pas</strong> de
<strong data-i18n="auto.98c547ea">ne déclenchent pas</strong> de
webhooks — seules les opérations via l'API
REST sont prises en compte
</li>
@@ -4418,18 +4418,18 @@ curl -X POST https://votre-serveur.com/webhook \
<code>file_modified</code> n'est pas encore
dispatché (réservé pour version future)
</li>
<lidata-i18n="auto.1d3330cc">Pas de retry automatique en cas d'échec</li>
<lidata-i18n="auto.4dfa6a25">
<li data-i18n="auto.1d3330cc">Pas de retry automatique en cas d'échec</li>
<li data-i18n="auto.4dfa6a25">
Pas de filtrage par vault — un webhook
écoute toutes les vaults
</li>
</ul>
</section>
<section class="help-section" id="help-sauvegardes">
<h2>💾 Sauvegardes et Audits</h2>
<h2 data-i18n="help.62549eca">💾 Sauvegardes et Audits</h2>
<h3 data-i18n="help.backup_auto">Backup automatique</h3>
<pdata-i18n="auto.ab5e6155">
<p data-i18n="auto.ab5e6155">
ObsiGate crée automatiquement des sauvegardes
avant chaque modification destructive.
</p>
@@ -4444,14 +4444,14 @@ curl -X POST https://votre-serveur.com/webhook \
est horodaté
</li>
<li>
<strongdata-i18n="auto.41d7c6af">Répertoire dédié</strong> :
<strong data-i18n="auto.41d7c6af">Répertoire dédié</strong> :
<code>.obsigate-backup/</code> dans le
répertoire de la vault
</li>
</ul>
<h3 data-i18n="help.audit_log">Audit log</h3>
<pdata-i18n="auto.2bc24d2e">
<p data-i18n="auto.2bc24d2e">
Toutes les opérations sensibles sont tracées
dans un journal.
</p>
@@ -4462,7 +4462,7 @@ curl -X POST https://votre-serveur.com/webhook \
lines
</li>
<li>
<strongdata-i18n="auto.598a0ca7">Événements tracés</strong> :
<strong data-i18n="auto.598a0ca7">Événements tracés</strong> :
Écritures, suppressions, changements de
configuration
</li>
@@ -4475,16 +4475,16 @@ curl -X POST https://votre-serveur.com/webhook \
<!-- 🛡️ Sécurité -->
<section class="help-section" id="help-securite">
<h2data-i18n="auto.37561472">🛡️ Sécurité</h2>
<h2 data-i18n="auto.37561472">🛡️ Sécurité</h2>
<h3>Authentification</h3>
<h3 data-i18n="help.c48fb18a">Authentification</h3>
<ul>
<li>
<strong>JWT + Argon2id</strong> : Tokens JWT
avec mots de passe hachés Argon2id
</li>
<li>
<strongdata-i18n="auto.72e515fa">Contrôle d'accès par vault</strong>
<strong data-i18n="auto.72e515fa">Contrôle d'accès par vault</strong>
: Chaque utilisateur voit uniquement ses
vaults
</li>
@@ -4503,7 +4503,7 @@ curl -X POST https://votre-serveur.com/webhook \
</li>
</ul>
<h3>Protection</h3>
<h3 data-i18n="help.83f1d9ca">Protection</h3>
<ul>
<li>
<strong>Secret redactor</strong> : Masque
@@ -4532,12 +4532,12 @@ curl -X POST https://votre-serveur.com/webhook \
</section>
<section class="help-section" id="help-astuces">
<h2>💡 Astuces et bonnes pratiques</h2>
<h2 data-i18n="help.686f8313">💡 Astuces et bonnes pratiques</h2>
<h3data-i18n="auto.559ef1da">Workflow recommandé</h3>
<h3 data-i18n="auto.559ef1da">Workflow recommandé</h3>
<ol>
<li>
<strongdata-i18n="auto.678711b5">Sélectionnez un contexte</strong> :
<strong data-i18n="auto.678711b5">Sélectionnez un contexte</strong> :
Choisissez un vault pour réduire le bruit
</li>
<li>
@@ -4558,7 +4558,7 @@ curl -X POST https://votre-serveur.com/webhook \
</li>
</ol>
<h3>Optimisations</h3>
<h3 data-i18n="help.fe388b67">Optimisations</h3>
<ul>
<li>
<strong>Masquez la sidebar</strong> : Plus
@@ -4572,7 +4572,7 @@ curl -X POST https://votre-serveur.com/webhook \
trouver un fichier
</li>
<li>
<strongdata-i18n="auto.3be698f6">Favorisez les opérateurs</strong> :
<strong data-i18n="auto.3be698f6">Favorisez les opérateurs</strong> :
<code>tag:</code> et
<code>vault:</code> accélèrent la recherche
</li>
@@ -4582,7 +4582,7 @@ curl -X POST https://votre-serveur.com/webhook \
</li>
</ul>
<h3>Trucs et astuces</h3>
<h3 data-i18n="help.2a92203f">Trucs et astuces</h3>
<ul>
<li>
<strong>Navigation visuelle</strong> : Le
@@ -4615,7 +4615,7 @@ curl -X POST https://votre-serveur.com/webhook \
<h3 data-i18n="help.advanced_use_cases">Cas d'usage avancés</h3>
<ul>
<li>
<strongdata-i18n="auto.b86ba5ea">Recherche multi-critères</strong> :
<strong data-i18n="auto.b86ba5ea">Recherche multi-critères</strong> :
<code
>tag:docker tag:linux vault:IT
nginx</code
@@ -4627,7 +4627,7 @@ curl -X POST https://votre-serveur.com/webhook \
toutes les notes similaires
</li>
<li>
<strongdata-i18n="auto.4fa5d7c2">Édition rapide</strong> : Ouvrez
<strong data-i18n="auto.4fa5d7c2">Édition rapide</strong> : Ouvrez
l'éditeur, modifiez, sauvegardez
</li>
<li>
@@ -4635,7 +4635,7 @@ curl -X POST https://votre-serveur.com/webhook \
fichiers pour backup ou partage
</li>
<li>
<strongdata-i18n="auto.79f6e1dd">Multi-fenêtres</strong> : Ouvrez
<strong data-i18n="auto.79f6e1dd">Multi-fenêtres</strong> : Ouvrez
plusieurs notes dans des onglets séparés
</li>
</ul>
+37 -1
View File
@@ -792,5 +792,41 @@
"help.00b9572b": "Results ranked by TF-IDF relevance",
"help.a4a4e21b": "\"×\" button to reset the filter",
"help.04df1506": "Global search with autocomplete",
"help.d5c977ac": "Code blocks adapt to the theme"
"help.d5c977ac": "Code blocks adapt to the theme",
"help.733f0559": "🗺️ Navigation",
"help.8c5341e0": "📑 Tab management",
"help.adf30d78": "🔍 Recherche",
"help.a648c49e": "Facets and sorting",
"help.2507242f": "🏷️ Tags",
"help.5f87ea79": "Tag cloud",
"help.2c03a7ba": "Inline vs frontmatter tags",
"help.63f024d4": "Template tag filtering",
"help.c017944b": "📄 Fichiers",
"help.cf8615b1": "Visualization",
"help.9c7a0a8d": "🗺️ Graph View",
"help.b6619ac9": "Opening",
"help.61ee5a22": "Interaction",
"help.8caed987": "Display",
"help.86e3825d": "🎨 Customization",
"help.7bcbb2e3": "Sidebar resizing",
"help.62308f96": "⌨️ Command Palette",
"help.6d547397": "File mode",
"help.3cf370b1": "Command mode",
"help.2a2e5b0f": "⌨️ Keyboard shortcuts",
"help.096367af": "Visual indicators",
"help.2dad2bfd": "Automatic save",
"help.8c65b2f2": "🔗 Sharing and Webhooks",
"help.29afa01d": "🪝 Webhooks",
"help.77f4f06e": "Payload format",
"help.550b0240": "Concrete examples",
"help.d1ea1dc6": "n8n / Make (no-code)",
"help.229fd3e2": "Discord notification",
"help.40dd7e38": "Test with curl",
"help.381abec7": "Current limitations",
"help.62549eca": "💾 Backups and Audits",
"help.c48fb18a": "Authentication",
"help.83f1d9ca": "Protection",
"help.686f8313": "💡 Tips and best practices",
"help.fe388b67": "Optimizations",
"help.2a92203f": "Tips and tricks"
}
+37 -1
View File
@@ -792,5 +792,41 @@
"help.00b9572b": ":\n Résultats classés par pertinence TF-IDF",
"help.a4a4e21b": ": Bouton \"×\" pour\n réinitialiser le filtre",
"help.04df1506": ":\n Recherche globale avec autocomplétion",
"help.d5c977ac": ": Les blocs de\n code s'adaptent au thème"
"help.d5c977ac": ": Les blocs de\n code s'adaptent au thème",
"help.733f0559": "🗺️ Navigation",
"help.8c5341e0": "📑 Gestion des onglets",
"help.adf30d78": "🔍 Recherche",
"help.a648c49e": "Facettes et tri",
"help.2507242f": "🏷️ Tags",
"help.5f87ea79": "Tag cloud",
"help.2c03a7ba": "Tags inline vs frontmatter",
"help.63f024d4": "Filtrage de tags template",
"help.c017944b": "📄 Fichiers",
"help.cf8615b1": "Visualisation",
"help.9c7a0a8d": "🗺️ Vue Graphe",
"help.b6619ac9": "Ouverture",
"help.61ee5a22": "Interaction",
"help.8caed987": "Affichage",
"help.86e3825d": "🎨 Personnalisation",
"help.7bcbb2e3": "Redimensionnement de la sidebar",
"help.62308f96": "⌨️ Palette de commandes",
"help.6d547397": "Mode fichiers",
"help.3cf370b1": "Mode commandes",
"help.2a2e5b0f": "⌨️ Raccourcis clavier",
"help.096367af": "Indicateurs visuels",
"help.2dad2bfd": "Sauvegarde automatique",
"help.8c65b2f2": "🔗 Partage et Webhooks",
"help.29afa01d": "🪝 Webhooks",
"help.77f4f06e": "Format du payload",
"help.550b0240": "Exemples concrets",
"help.d1ea1dc6": "n8n / Make (no-code)",
"help.229fd3e2": "Notification Discord",
"help.40dd7e38": "Tester avec curl",
"help.381abec7": "Limitations actuelles",
"help.62549eca": "💾 Sauvegardes et Audits",
"help.c48fb18a": "Authentification",
"help.83f1d9ca": "Protection",
"help.686f8313": "💡 Astuces et bonnes pratiques",
"help.fe388b67": "Optimisations",
"help.2a92203f": "Trucs et astuces"
}