fix: tag + translate all help body headings and paragraphs
- 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:
+105
-105
@@ -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>></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>
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
Reference in New Issue
Block a user