feat: guide d'utilisation - couverture complete, telechargement MD/PDF, section Architecture Mermaid, guide desktop elargi (#105, BUG-067)
This commit is contained in:
+247
-27
@@ -2869,6 +2869,30 @@
|
||||
Guide d'utilisation ObsiGate
|
||||
</div>
|
||||
<div class="editor-actions">
|
||||
<button
|
||||
class="editor-btn"
|
||||
id="help-download-md"
|
||||
title="Télécharger ce guide en Markdown"
|
||||
data-i18n-attr="title:guide105.dl_md_title"
|
||||
>
|
||||
<i
|
||||
data-lucide="file-code-2"
|
||||
style="width: 16px; height: 16px"
|
||||
></i>
|
||||
<span data-i18n="guide105.dl_md">Markdown</span>
|
||||
</button>
|
||||
<button
|
||||
class="editor-btn"
|
||||
id="help-download-pdf"
|
||||
title="Télécharger ce guide en PDF"
|
||||
data-i18n-attr="title:guide105.dl_pdf_title"
|
||||
>
|
||||
<i
|
||||
data-lucide="file-down"
|
||||
style="width: 16px; height: 16px"
|
||||
></i>
|
||||
<span data-i18n="guide105.dl_pdf">PDF</span>
|
||||
</button>
|
||||
<button
|
||||
class="editor-btn"
|
||||
id="help-close"
|
||||
@@ -2892,7 +2916,7 @@
|
||||
type="text"
|
||||
class="help-nav-search"
|
||||
id="help-nav-search"
|
||||
data-i18n-placeholder="help.search_placeholder" data-i18n-placeholder="help.search_placeholder" placeholder="Rechercher dans l'aide..."
|
||||
data-i18n-placeholder="help.search_placeholder" placeholder="Rechercher dans l'aide..."
|
||||
autocomplete="off"
|
||||
spellcheck="false"
|
||||
/>
|
||||
@@ -2922,7 +2946,10 @@
|
||||
data-i18n="help.nav_intro">📘 Introduction</a
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<li>
|
||||
<a href="#help-architecture" class="help-nav-link" data-i18n="guide105.nav_architecture">🏗️ Architecture</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#help-interface" class="help-nav-link"
|
||||
data-i18n="help.nav_interface">🧭 Interface</a
|
||||
>
|
||||
@@ -2957,7 +2984,10 @@
|
||||
data-i18n="help.nav_excalidraw">🎨 Excalidraw</a
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<li>
|
||||
<a href="#help-diagrams" class="help-nav-link" data-i18n="guide105.nav_diagrams">📊 Diagrammes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#help-edition" class="help-nav-link"
|
||||
data-i18n="help.nav_editing">✏️ Édition</a
|
||||
>
|
||||
@@ -2967,7 +2997,10 @@
|
||||
data-i18n="help.nav_mobile_editor">📱 Mobile</a
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<li>
|
||||
<a href="#help-library" class="help-nav-link" data-i18n="guide105.nav_library">⭐ Bibliothèque</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#help-graphe" class="help-nav-link"
|
||||
data-i18n="help.nav_graph">🗺️ Graphe</a
|
||||
>
|
||||
@@ -2986,8 +3019,17 @@
|
||||
<a href="#help-raccourcis" class="help-nav-link"
|
||||
data-i18n="help.nav_shortcuts">⌨️ Raccourcis</a
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#help-offline" class="help-nav-link" data-i18n="guide105.nav_offline">📴 Hors-ligne</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#help-collab" class="help-nav-link" data-i18n="guide105.nav_collab">👥 Collaboration</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#help-desktop" class="help-nav-link" data-i18n="guide105.nav_desktop">🖥️ Desktop</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#help-partage" class="help-nav-link"
|
||||
data-i18n="help.nav_sharing">🔗 Partage</a
|
||||
>
|
||||
@@ -3020,8 +3062,14 @@
|
||||
<a href="#help-astuces" class="help-nav-link"
|
||||
data-i18n="help.nav_tips">💡 Astuces</a
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#help-api" class="help-nav-link" data-i18n="guide105.nav_api">🔌 API</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#help-languages" class="help-nav-link" data-i18n="guide105.nav_languages">🌍 Multilingue</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#help-plugins" class="help-nav-link"
|
||||
data-i18n="help.nav_plugins">🧩 Plugins</a
|
||||
>
|
||||
@@ -3080,7 +3128,74 @@
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="help-section" id="help-interface">
|
||||
<section class="help-section" id="help-architecture">
|
||||
<h2 data-i18n="guide105.nav_architecture">🏗️ Architecture</h2>
|
||||
<p data-i18n-html="guide105.arch_intro">ObsiGate est une application web complète construite en couches indépendantes, sans base de données externe : les notes vivent dans vos dossiers Obsidian, l'état applicatif dans des fichiers JSON de <code>data/</code>, l'index de recherche en mémoire.</p>
|
||||
<pre class="mermaid-code"><code class="language-mermaid">flowchart TB
|
||||
subgraph client["Clients"]
|
||||
UI["SPA vanilla JS\n(frontend/js)"]
|
||||
PWA["PWA hors-ligne\n(service worker + IndexedDB)"]
|
||||
DESK["App desktop Tauri\n(fenêtre native)"]
|
||||
end
|
||||
subgraph server["Serveur FastAPI (Python 3.11)"]
|
||||
API["REST /api\nJWT + Argon2id"]
|
||||
IDX["Index recherche\nTF-IDF + embeddings"]
|
||||
FS["Accès fichiers\nwatchdog + safe paths"]
|
||||
PDF["Rendu markdown\nmistune + WeasyPrint"]
|
||||
AI["Assistant IA\nproviders + outils"]
|
||||
MCP["Serveur MCP\n/mcp (HTTP)"]
|
||||
WS["WebSocket\ncollab Yjs + SSE"]
|
||||
WH["Webhooks\nHMAC-SHA256"]
|
||||
end
|
||||
subgraph data["Données"]
|
||||
V1["Vault 1 (dossier)"]
|
||||
V2["Vault 2 (dossier)"]
|
||||
CFG["data/*.json\nconfig, users, audit"]
|
||||
BK[".obsigate-backup/\nbackups horodatés"]
|
||||
end
|
||||
UI -- HTTP --> API
|
||||
PWA -- "cache + queue" --> API
|
||||
DESK -- embarqué --> API
|
||||
API --> IDX
|
||||
API --> FS
|
||||
API --> PDF
|
||||
API --> AI
|
||||
MCP --> AI
|
||||
WS --> FS
|
||||
FS --> V1
|
||||
FS --> V2
|
||||
IDX --> V1
|
||||
IDX --> V2
|
||||
BK --> V1
|
||||
API --> CFG
|
||||
API -- événements --> WH</code></pre>
|
||||
<p data-i18n="guide105.arch_diagram_note">Le diagramme est interactif dans l'application : zoom, plein écran, copie SVG ou code.</p>
|
||||
<h3 data-i18n="guide105.arch_h3_layers">Les grandes composantes</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<strong data-i18n="guide105.arch_lbl_fe">Frontend</strong><span data-i18n-html="guide105.arch_fe"> — SPA en JavaScript vanilla (modules ES), sans framework ni build npm : <code>frontend/js/</code> (~30 modules). Le CSS utilise des variables pour les thèmes.</span>
|
||||
</li>
|
||||
<li>
|
||||
<strong data-i18n="guide105.arch_lbl_be">Backend</strong><span data-i18n="guide105.arch_be"> — serveur FastAPI (Python 3.11) : rendu markdown (mistune + wikilinks), recherche TF-IDF stemmisée (index inversé en mémoire), watchers watchdog, JWT + Argon2id, webhooks HMAC, export PDF (WeasyPrint).</span>
|
||||
</li>
|
||||
<li>
|
||||
<strong data-i18n="guide105.arch_lbl_realtime">Temps réel & MCP</strong><span data-i18n-html="guide105.arch_rt"> — passerelle WebSocket (collaboration Yjs, notifications SSE/push) et serveur MCP (Streamable HTTP, <code>/mcp</code>) pour les clients externes.</span>
|
||||
</li>
|
||||
<li>
|
||||
<strong data-i18n="guide105.arch_lbl_ai">Couche IA</strong><span data-i18n="guide105.arch_ai"> — assistants d'édition et BooksLM multi-providers (DeepSeek, OpenRouter, Gemini, Mistral…), bibliothèque d'outils (function calling, recherche web, crawl, lecture de documents) et embeddings optionnels pour la recherche sémantique.</span>
|
||||
</li>
|
||||
<li>
|
||||
<strong data-i18n="guide105.arch_lbl_data">Données</strong><span data-i18n-html="guide105.arch_data"> — les vaults Obsidian sur disque (source de vérité), la configuration en JSON (<code>data/</code>), les backups horodatés (<code>.obsigate-backup/</code>), l'audit en JSON lines, les clés API chiffrées dans <code>data/api_keys.json</code>.</span>
|
||||
</li>
|
||||
<li>
|
||||
<strong data-i18n="guide105.arch_lbl_deploy">Déploiement</strong><span data-i18n="guide105.arch_deploy"> — application desktop Tauri (Rust) embarquant le backend Python, conteneur Docker, ou PWA installable dans le navigateur (mode hors-ligne).</span>
|
||||
</li>
|
||||
</ul>
|
||||
<h3 data-i18n="guide105.arch_h3_flux">Flux typique</h3>
|
||||
<p data-i18n-html="guide105.arch_flux"> Un clic sur un fichier émet <code>GET /api/file/...</code> ; le backend résout le chemin en sécurité, parse le frontmatter, rend le markdown et renvoie le HTML ; le frontend enrichit l'affichage (Mermaid, coloration, wikilinks cliquables). Chaque écriture crée un backup avant application.</p>
|
||||
</section>
|
||||
|
||||
<section class="help-section" id="help-interface">
|
||||
<h2 data-i18n="help.nav_interface">🧭 Interface utilisateur</h2>
|
||||
|
||||
<h3 data-i18n="help.header_section">En-tête</h3>
|
||||
@@ -3170,7 +3285,10 @@
|
||||
avec wikilinks et images</span>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<h3 data-i18n="guide105.h3_push">Notifications web (push)</h3>
|
||||
<p data-i18n="guide105.push_p1">Autorisez les notifications (bouton 🔔 de l'en-tête) pour être averti des fins de synchronisation hors-ligne et des événements importants. La gestion des abonnements est dans les Configurations.</p>
|
||||
<p data-i18n="guide105.push_p2">Basée sur la Web Push API (clés VAPID) ; fonctionne sur desktop et PWA mobile, sans service tiers : le serveur émet directement vers les endpoints push des navigateurs.</p>
|
||||
</section>
|
||||
|
||||
<section class="help-section" id="help-navigation">
|
||||
<h2 data-i18n="help.733f0559">🗺️ Navigation</h2>
|
||||
@@ -3329,7 +3447,7 @@
|
||||
<h2 data-i18n="help.adf30d78">🔍 Recherche</h2>
|
||||
|
||||
<h3 data-i18n="help.simple_search">Recherche simple</h3>
|
||||
<p data-i18n="help.desc_search_intro">
|
||||
<p data-i18n-html="help.desc_search_intro">
|
||||
Tapez dans la barre de recherche en haut pour
|
||||
lancer une recherche fulltext :
|
||||
</p>
|
||||
@@ -3382,7 +3500,7 @@
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
<strong>Exemples</strong><span data-i18n="help.desc_examples">:
|
||||
<strong>Exemples</strong><span data-i18n-html="help.desc_examples">:
|
||||
<code>ext:sh</code> recherche dans les scripts
|
||||
bash, <code>ext:py</code> dans les scripts
|
||||
Python, <code>ext:md</code> dans les fichiers
|
||||
@@ -3458,13 +3576,16 @@
|
||||
<strong>Tri par date</strong><span data-i18n="help.desc_42a81347"> : Dernière
|
||||
modification</span></li>
|
||||
</ul>
|
||||
</section>
|
||||
<h3 data-i18n="guide105.h3_semantic">Recherche sémantique (hybride)</h3>
|
||||
<p data-i18n="guide105.sem_p1">Activez le bouton « S » de la barre de recherche (ou Alt-S) pour combiner TF-IDF et similarité vectorielle (fusion RRF) : les concepts approchants (« velours » trouve « tissu doux ») remontent mieux.</p>
|
||||
<p data-i18n="guide105.sem_p2">Le moteur d'embeddings (modèle multilingue) est optionnel : sans lui, un repli par hash conserve une recherche hybride fonctionnelle. Les vecteurs sont recalculés à chaque indexation du vault.</p>
|
||||
</section>
|
||||
|
||||
<section class="help-section" id="help-tags">
|
||||
<h2 data-i18n="help.2507242f">🏷️ Tags</h2>
|
||||
|
||||
<h3 data-i18n="help.5f87ea79">Tag cloud</h3>
|
||||
<p data-i18n="help.desc_tag_cloud_intro">
|
||||
<p data-i18n-html="help.desc_tag_cloud_intro">
|
||||
L'onglet Tags de la sidebar affiche un nuage de
|
||||
tags :
|
||||
</p>
|
||||
@@ -3486,15 +3607,15 @@
|
||||
</ul>
|
||||
|
||||
<h3 data-i18n="help.2c03a7ba">Tags inline vs frontmatter</h3>
|
||||
<p data-i18n="help.desc_two_tag_types">ObsiGate supporte deux types de tags :</p>
|
||||
<p data-i18n-html="help.desc_two_tag_types">ObsiGate supporte deux types de tags :</p>
|
||||
<ul>
|
||||
<li>
|
||||
<strong>Frontmatter YAML</strong><span data-i18n="help.desc_frontmatter">:
|
||||
<strong>Frontmatter YAML</strong><span data-i18n-html="help.desc_frontmatter">:
|
||||
<code>tags: [docker, linux]</code> ou
|
||||
<code>tags: docker, linux</code></span>
|
||||
</li>
|
||||
<li>
|
||||
<strong>Inline</strong><span data-i18n="help.desc_inline_tags">:
|
||||
<strong>Inline</strong><span data-i18n-html="help.desc_inline_tags">:
|
||||
<code>#docker</code> dans le contenu
|
||||
markdown</span>
|
||||
</li>
|
||||
@@ -3504,13 +3625,13 @@
|
||||
</ul>
|
||||
|
||||
<h3 data-i18n="help.63f024d4">Filtrage de tags template</h3>
|
||||
<p data-i18n="help.desc_template_intro">
|
||||
<p data-i18n-html="help.desc_template_intro">
|
||||
Dans les Configurations, vous pouvez masquer les
|
||||
tags de template :
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<strong>Patterns wildcards</strong><span data-i18n="help.desc_patterns">: Ex:
|
||||
<strong>Patterns wildcards</strong><span data-i18n-html="help.desc_patterns">: Ex:
|
||||
<code>#<% ... %></code> ou
|
||||
<code>#{{ ... }}</code></span>
|
||||
</li>
|
||||
@@ -3530,12 +3651,12 @@
|
||||
<p data-i18n="help.desc_md_render">Les fichiers markdown sont rendus avec :</p>
|
||||
<ul>
|
||||
<li>
|
||||
<strong>Wikilinks cliquables</strong><span data-i18n="help.desc_wikilinks">:
|
||||
<strong>Wikilinks cliquables</strong><span data-i18n-html="help.desc_wikilinks">:
|
||||
<code>[[lien]]</code> et
|
||||
<code>[[lien|texte]]</code></span>
|
||||
</li>
|
||||
<li>
|
||||
<strong>Images Obsidian</strong><span data-i18n="help.desc_images">: Support
|
||||
<strong>Images Obsidian</strong><span data-i18n-html="help.desc_images">: Support
|
||||
de <code>![[image.png]]</code></span>
|
||||
</li>
|
||||
<li>
|
||||
@@ -3635,7 +3756,13 @@
|
||||
.csv
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<h3 data-i18n="guide105.h3_pdf">Export PDF</h3>
|
||||
<p data-i18n-html="guide105.pdf_p">Le bouton « PDF » d'un document le rend avec le même moteur que la vue (WeasyPrint) : titres, tableaux, listes et code sont conservés. Depuis un lien public, la route <code>/s/{token}/pdf</code> produit le même PDF.</p>
|
||||
<h3 data-i18n="guide105.h3_exports">Export HTML / ePub / ZIP</h3>
|
||||
<p data-i18n="guide105.exp_p">Le menu « Exporter » propose trois formats : HTML autonome (fichier unique, images incluses), ePub pour les liseuses et, pour un dossier, un bundle Markdown en ZIP — liens et ressources résolus pendant l'export.</p>
|
||||
<h3 data-i18n="guide105.h3_dupe">Anti-doublons à l'upload</h3>
|
||||
<p data-i18n="guide105.dupe_p">L'upload en masse (glisser-déposer un dossier sur la sidebar) compare chaque fichier au contenu existant : un fichier déjà présent est ignoré plutôt que dupliqué avec un suffixe « (1) ». Utile pour restaurer un vault sans créer de doublons.</p>
|
||||
</section>
|
||||
|
||||
<!-- 🎨 Excalidraw -->
|
||||
<section class="help-section" id="help-excalidraw">
|
||||
@@ -3682,7 +3809,21 @@
|
||||
</section>
|
||||
|
||||
<!-- ✏️ Édition -->
|
||||
<section class="help-section" id="help-edition">
|
||||
<section class="help-section" id="help-diagrams">
|
||||
<h2 data-i18n="guide105.nav_diagrams">📊 Diagrammes</h2>
|
||||
<p data-i18n-html="guide105.dia_intro">Les blocs <code>```mermaid</code> de vos notes sont rendus en diagrammes interactifs (Mermaid v11, chargé depuis un CDN).</p>
|
||||
<ul>
|
||||
<li data-i18n="guide105.dia_zoom">Zoom : boutons + / − dans la barre d'outils du diagramme.</li>
|
||||
<li data-i18n="guide105.dia_fs">Plein écran : idéal pour les grandes matrices.</li>
|
||||
<li data-i18n="guide105.dia_copy">Copie : exportez le SVG ou le code source (boutons dédiés).</li>
|
||||
<li data-i18n="guide105.dia_toggle">Bascule Aperçu / Code pour éditer la source sans quitter la vue.</li>
|
||||
<li data-i18n="guide105.dia_theme">Thème : le diagramme suit le thème clair/sombre de l'application.</li>
|
||||
</ul>
|
||||
<p data-i18n="guide105.dia_types">Types supportés : flowchart, sequence, class, state, ER, gantt, pie, journey, quadrant, radar, mindmap, timeline, C4, xychart, sankey — plus un préprocesseur qui comprend la syntaxe Obsidian.</p>
|
||||
<p data-i18n-html="guide105.dia_excalidraw_ref">Les dessins à main levée (<code>.excalidraw</code>, <code>.excalidraw.md</code>) sont couverts dans la section 🎨 Excalidraw.</p>
|
||||
</section>
|
||||
|
||||
<section class="help-section" id="help-edition">
|
||||
<h2 data-i18n="auto.f346076a">✏️ Édition avancée</h2>
|
||||
|
||||
<h3 data-i18n="auto.695d9e47">Éditeur CodeMirror 6</h3>
|
||||
@@ -3719,11 +3860,15 @@
|
||||
<li>
|
||||
<strong data-i18n="help.toolbar_section">Barre d'outils AI</strong><span data-i18n="help.desc_c8532869"> :
|
||||
Complétion, réécriture, traduction (voir
|
||||
section</span><a href="#help-ia" data-i18n="settings.ai">🤖 IA</a>)
|
||||
section</span><a href="#help-ai" data-i18n="settings.ai">🤖 IA</a>)
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3 data-i18n="help.mobile_editor_title">📱 Édition mobile</h3>
|
||||
</section>
|
||||
|
||||
<!-- 🗺️ Graphe -->
|
||||
<section class="help-section" id="help-mobile-editor">
|
||||
<h2 data-i18n="help.mobile_editor_title">📱 Édition mobile</h2>
|
||||
<p data-i18n="help.mobile_editor_intro">
|
||||
Sur téléphone et tablette, l'édition s'adapte au
|
||||
tactile : barre d'outils flottante, gestes et mode
|
||||
@@ -3760,8 +3905,21 @@
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<!-- 🗺️ Graphe -->
|
||||
<section class="help-section" id="help-graphe">
|
||||
<section class="help-section" id="help-library">
|
||||
<h2 data-i18n="guide105.nav_library">⭐ Bibliothèque</h2>
|
||||
<h3 data-i18n="guide105.lib_h3_bookmarks">Signets & récents</h3>
|
||||
<p data-i18n="guide105.lib_bookmarks">Marquez un fichier d'un ★ (bouton Signet de la barre d'actions) : il rejoint la liste des signets du dashboard. Les fichiers récemment ouverts sont listés automatiquement dans l'onglet « Récents » de la sidebar, avec un filtre de recherche dédié.</p>
|
||||
<h3 data-i18n="guide105.lib_h3_saved">Recherches sauvegardées</h3>
|
||||
<p data-i18n="guide105.lib_saved">Enregistrez une recherche depuis la page de résultats pour la relancer en un clic depuis la sidebar : chaque recherche sauvegardée conserve ses opérateurs et filtres.</p>
|
||||
<h3 data-i18n="guide105.lib_h3_backlinks">Backlinks & graphe</h3>
|
||||
<p data-i18n="guide105.lib_backlinks">Le panneau Backlinks liste toutes les notes qui pointent vers le fichier ouvert. La vue Graphe (bouton 🕸️) affiche les liens entre fichiers : glissez les nœuds, zoomez à la molette, double-cliquez pour ouvrir une note.</p>
|
||||
<h3 data-i18n="guide105.lib_h3_conflicts">Conflits de synchronisation</h3>
|
||||
<p data-i18n="guide105.lib_conflicts">Si vous synchronisez le vault avec Syncthing, ObsiGate détecte les fichiers de conflit (copies « sync-conflict ») et propose de les comparer puis résoudre depuis la page dédiée du menu Options.</p>
|
||||
<h3 data-i18n="guide105.lib_h3_attach">Fichiers joints & médias</h3>
|
||||
<p data-i18n-html="guide105.lib_attach">Les images <code>![[image.png]]</code>, pièces jointes et médias (audio, vidéo, PDF intégrés) dans les notes sont rendus dans le viewer et indexés pour la recherche ; le bouton « Rescan attachments » de la configuration recrée l'index des pièces jointes.</p>
|
||||
</section>
|
||||
|
||||
<section class="help-section" id="help-graphe">
|
||||
<h2 data-i18n="help.9c7a0a8d">🗺️ Vue Graphe</h2>
|
||||
<p data-i18n="help.desc_graph_intro">
|
||||
La vue graphe offre une visualisation
|
||||
@@ -3914,7 +4072,9 @@
|
||||
rescan des vaults
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<h3 data-i18n="guide105.h3_panes">Vue multi-panneaux (split view)</h3>
|
||||
<p data-i18n="guide105.panes_p">Le bouton « Diviser » de la barre d'actions ouvre le document dans un panneau jumeau ; empilez plusieurs panneaux pour comparer deux notes ou lire et éditer en parallèle. Les largeurs se règlent au bord des panneaux et sont mémorisées.</p>
|
||||
</section>
|
||||
|
||||
<!-- ⌨️ Palette de commandes -->
|
||||
<section class="help-section" id="help-palette">
|
||||
@@ -4373,7 +4533,37 @@
|
||||
</section>
|
||||
|
||||
<!-- 🔗 Partage -->
|
||||
<section class="help-section" id="help-partage">
|
||||
<section class="help-section" id="help-offline">
|
||||
<h2 data-i18n="guide105.nav_offline">📴 Hors-ligne</h2>
|
||||
<ul>
|
||||
<li data-i18n="guide105.off_pwa">ObsiGate est une PWA : installez-la (icône d'installation de la barre d'adresse) pour l'ouvrir comme une application. Le service worker met en cache l'interface et vos derniers documents consultés.</li>
|
||||
<li data-i18n="guide105.off_edit">Hors-ligne, vous pouvez lire les documents en cache et même les éditer : les modifications sont mises en file d'attente dans IndexedDB.</li>
|
||||
<li data-i18n="guide105.off_sync">Au retour en ligne, la file se rejoue automatiquement (badge de synchronisation dans l'en-tête). Si la version serveur a divergé entre-temps, le fichier est marqué en conflit et la version serveur est préservée en backup.</li>
|
||||
<li data-i18n="guide105.off_watch">Les modifications externes (Obsidian sur disque) sont détectées par le watcher : la vue se recharge sans perte de position, ou signale « modifié en externe » pendant une édition.</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section class="help-section" id="help-collab">
|
||||
<h2 data-i18n="guide105.nav_collab">👥 Collaboration</h2>
|
||||
<ul>
|
||||
<li data-i18n="guide105.col_intro">Ouvrez un document en mode Édition : plusieurs personnes peuvent travailler simultanément sur le même fichier via un WebSocket Yjs (CRDT). Les modifications fusionnent sans verrou.</li>
|
||||
<li data-i18n="guide105.col_cursors">Les curseurs et sélections des collaborateurs apparaissent avec une couleur et un nom par personne (awareness).</li>
|
||||
<li data-i18n="guide105.col_save">La fusion est persistée côté serveur après 2 s d'inactivité ; chaque écriture crée un backup horodaté avant application.</li>
|
||||
<li data-i18n="guide105.col_perm">Accès limité aux utilisateurs authentifiés disposant de la permission sur la vault.</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section class="help-section" id="help-desktop">
|
||||
<h2 data-i18n="guide105.nav_desktop">🖥️ Desktop</h2>
|
||||
<ul>
|
||||
<li data-i18n="guide105.des_get">L'application desktop ObsiGate (Tauri) embarque le serveur Python : aucune installation de Docker nécessaire. Elle se télécharge sur la page des Releases du dépôt et se met à jour automatiquement (updater signé).</li>
|
||||
<li data-i18n="guide105.des_wizard">Au premier lancement, un assistant demande le dossier de vos vaults (ou crée un vault de démonstration). Chaque document peut être détaché en fenêtre native séparée.</li>
|
||||
<li data-i18n="guide105.des_data">Les données desktop restent dans le répertoire applicatif ; les vaults pointent sur vos dossiers existants. Toutes les fonctionnalités web (recherche, IA, partage) sont disponibles.</li>
|
||||
<li data-i18n="guide105.des_native">Menu système natif, raccourci global optionnel pour afficher/masquer la fenêtre et jumplist des vaults récents.</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section class="help-section" id="help-partage">
|
||||
<h2 data-i18n="help.8c65b2f2">🔗 Partage et Webhooks</h2>
|
||||
|
||||
<h3 data-i18n="help.public_shares">Publication publique</h3>
|
||||
@@ -4956,7 +5146,11 @@ curl -X POST https://votre-serveur.com/webhook \
|
||||
tourne avec UID 1000
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<h3 data-i18n="guide105.h3_mfa">MFA : TOTP, WebAuthn, codes de secours</h3>
|
||||
<p data-i18n="guide105.mfa_p">Activez la double authentification dans Réglages → Profil : applications TOTP (Authy, Aegis…), clés de sécurité et passkeys (WebAuthn, y compris Windows Hello) et 10 codes de secours à conserver hors ligne. Chaque méthode s'active et se désactive indépendamment.</p>
|
||||
<h3 data-i18n="guide105.h3_admin">Tableau de bord administrateur</h3>
|
||||
<p data-i18n-html="guide105.admin_p">Le rôle admin ouvre une page dédiée <code>/admin.html</code> (bouton du menu Options) : statut du serveur en direct, utilisateurs, vaults, sessions actives et journal d'audit. Le CRUD utilisateurs est aussi disponible dans les Configurations.</p>
|
||||
</section>
|
||||
|
||||
<section class="help-section" id="help-astuces">
|
||||
<h2 data-i18n="help.686f8313">💡 Astuces et bonnes pratiques</h2>
|
||||
@@ -5062,7 +5256,33 @@ curl -X POST https://votre-serveur.com/webhook \
|
||||
</section>
|
||||
|
||||
<!-- 🧩 Plugins -->
|
||||
<section class="help-section" id="help-plugins">
|
||||
<section class="help-section" id="help-api">
|
||||
<h2 data-i18n="guide105.nav_api">🔌 API</h2>
|
||||
<p data-i18n="guide105.api_intro">ObsiGate expose une API REST couvrant toute l'application (vaults, fichiers, recherche, backups, export, IA, partage, admin), documentée en OpenAPI 3.1 :</p>
|
||||
<ul>
|
||||
<li data-i18n-html="guide105.api_docs_url"><code>/docs</code> — interface Swagger UI pour essayer les requêtes en direct.</li>
|
||||
<li data-i18n-html="guide105.api_redoc"><code>/redoc</code> — référence alternative plus compacte.</li>
|
||||
<li data-i18n-html="guide105.api_landing"><code>/api</code> — page de garde regroupant les endpoints par catégorie.</li>
|
||||
<li data-i18n-html="guide105.api_schema"><code>/openapi.json</code> — le schéma machine, à importer dans Postman ou Insomnia.</li>
|
||||
</ul>
|
||||
<h3 data-i18n="guide105.api_h3_auth">Authentification</h3>
|
||||
<p data-i18n-html="guide105.api_auth">Connectez-vous via <code>POST /api/auth/login</code> pour obtenir un token Bearer (le même jeton est accepté en cookie HttpOnly, ce qui permet aux clients navigateur d'utiliser <code>credentials: "include"</code>). Toutes les routes <code>/api/*</code> exigent ce jeton sauf mention contraire.</p>
|
||||
<h3 data-i18n="guide105.api_h3_mcp">Serveur MCP</h3>
|
||||
<p data-i18n-html="guide105.api_mcp">Les outils de l'assistant IA (lire, lister, chercher, ouvrir, écrire…) sont exposés à tout client MCP (Claude Desktop, Cursor, Cline…) sur <code>https://votre-instance/mcp</code> avec un token d'API. Configuration et exemples : <code>docs/MCP_GUIDE.md</code>.</p>
|
||||
<h3 data-i18n="guide105.api_h3_autom">Automatisation</h3>
|
||||
<p data-i18n-html="guide105.api_autom">Pour automatiser depuis l'extérieur : <code>GET /api/search?q=…</code> et <code>GET /api/file/{vault}?path=…</code> permettent d'indexer ou relire vos notes dans un autre outil ; les webhooks sortants (section 🪝) évitent le polling.</p>
|
||||
</section>
|
||||
|
||||
<section class="help-section" id="help-languages">
|
||||
<h2 data-i18n="guide105.nav_languages">🌍 Multilingue</h2>
|
||||
<ul>
|
||||
<li data-i18n="guide105.lng_how">L'interface est intégralement bilingue français / anglais. Réglages → Profil → Langue : le choix est enregistré sur votre compte et vous suit sur tous les appareils.</li>
|
||||
<li data-i18n="guide105.lng_scope">Tout est traduit : menus, messages, notifications, et le présent guide. Les réponses de l'assistant IA suivent la langue de vos documents.</li>
|
||||
<li data-i18n="guide105.lng_export">Les boutons Markdown / PDF de ce guide téléchargent la version dans votre langue.</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section class="help-section" id="help-plugins">
|
||||
<h2 data-i18n="help.plugins_title">🧩 Plugins</h2>
|
||||
<p data-i18n="help.plugins_intro">
|
||||
Les plugins étendent ObsiGate : affichage personnalisé des
|
||||
|
||||
Reference in New Issue
Block a user