style: formatage HTML index.html — indentation multi-lignes coherente
This commit is contained in:
+356
-92
@@ -904,7 +904,9 @@
|
||||
|
||||
<!-- Content Wrapper (tab bar + content area) -->
|
||||
<div class="vault-context-bar" id="vault-context-bar">
|
||||
<span class="vault-context-pill" id="vault-context-pill">📂 Toutes les vaults</span>
|
||||
<span class="vault-context-pill" id="vault-context-pill"
|
||||
>📂 Toutes les vaults</span
|
||||
>
|
||||
</div>
|
||||
<div class="content-wrapper">
|
||||
<!-- Tab bar -->
|
||||
@@ -982,55 +984,108 @@
|
||||
<!-- Quick Help -->
|
||||
<div class="quick-help" id="quick-help">
|
||||
<div class="qh-header">
|
||||
<i data-lucide="keyboard" style="width:16px;height:16px"></i>
|
||||
<i
|
||||
data-lucide="keyboard"
|
||||
style="width: 16px; height: 16px"
|
||||
></i>
|
||||
<span>Raccourcis & Astuces</span>
|
||||
<button class="qh-toggle" id="qh-toggle" title="Masquer" aria-label="Masquer l'aide">−</button>
|
||||
<button
|
||||
class="qh-toggle"
|
||||
id="qh-toggle"
|
||||
title="Masquer"
|
||||
aria-label="Masquer l'aide"
|
||||
>
|
||||
−
|
||||
</button>
|
||||
</div>
|
||||
<div class="qh-body" id="qh-body">
|
||||
<div class="qh-row">
|
||||
<span class="qh-kbd">Ctrl+Shift+Space</span>
|
||||
<span class="qh-desc">Palette de commandes</span>
|
||||
<span class="qh-kbd"
|
||||
>Ctrl+Shift+Space</span
|
||||
>
|
||||
<span class="qh-desc"
|
||||
>Palette de commandes</span
|
||||
>
|
||||
</div>
|
||||
<div class="qh-row">
|
||||
<span class="qh-kbd">Ctrl+Alt+Space</span>
|
||||
<span class="qh-desc">Palette de fichiers (navigation rapide)</span>
|
||||
<span class="qh-kbd"
|
||||
>Ctrl+Alt+Space</span
|
||||
>
|
||||
<span class="qh-desc"
|
||||
>Palette de fichiers (nav.
|
||||
rapide)</span
|
||||
>
|
||||
</div>
|
||||
<div class="qh-row">
|
||||
<span class="qh-kbd">Ctrl+K</span>
|
||||
<span class="qh-desc">Focus barre de recherche</span>
|
||||
<span class="qh-desc"
|
||||
>Focus barre de recherche</span
|
||||
>
|
||||
</div>
|
||||
<div class="qh-row">
|
||||
<span class="qh-kbd">/</span>
|
||||
<span class="qh-desc">Recherche rapide (hors champ texte)</span>
|
||||
<span class="qh-desc"
|
||||
>Recherche rapide (hors champ
|
||||
texte)</span
|
||||
>
|
||||
</div>
|
||||
<div class="qh-row">
|
||||
<span class="qh-kbd">Ctrl+S</span>
|
||||
<span class="qh-desc">Sauvegarder le fichier ouvert</span>
|
||||
<span class="qh-desc"
|
||||
>Sauvegarder le fichier
|
||||
ouvert</span
|
||||
>
|
||||
</div>
|
||||
<div class="qh-row">
|
||||
<span class="qh-kbd">Ctrl+F</span>
|
||||
<span class="qh-desc">Rechercher dans le document</span>
|
||||
<span class="qh-desc"
|
||||
>Rechercher dans le
|
||||
document</span
|
||||
>
|
||||
</div>
|
||||
<div class="qh-row">
|
||||
<span class="qh-kbd">Esc</span>
|
||||
<span class="qh-desc">Fermer l'editeur / modale</span>
|
||||
<span class="qh-desc"
|
||||
>Fermer l'editeur / modale</span
|
||||
>
|
||||
</div>
|
||||
<div class="qh-row">
|
||||
<span class="qh-kbd">Ctrl+J</span>
|
||||
<span class="qh-desc">Completion IA inline (dans l'editeur)</span>
|
||||
<span class="qh-desc"
|
||||
>Completion IA inline (dans
|
||||
l'editeur)</span
|
||||
>
|
||||
</div>
|
||||
<div class="qh-row">
|
||||
<span class="qh-kbd">Alt+I</span>
|
||||
<span class="qh-desc">Insertion rapide (editeur Forge)</span>
|
||||
<span class="qh-desc"
|
||||
>Insertion rapide (editeur
|
||||
Forge)</span
|
||||
>
|
||||
</div>
|
||||
<div class="qh-row">
|
||||
<span class="qh-kbd">F1</span>
|
||||
<span class="qh-desc">Aide de l'editeur Forge</span>
|
||||
<span class="qh-desc"
|
||||
>Aide de l'editeur Forge</span
|
||||
>
|
||||
</div>
|
||||
<div class="qh-divider"></div>
|
||||
<div class="qh-tip">
|
||||
<i data-lucide="lightbulb" style="width:14px;height:14px"></i>
|
||||
<span>Survolez un document avec <strong>Ctrl</strong> pour un apercu rapide. Cliquez sur <strong>Forge</strong> dans la barre d'outils pour l'editeur avance.</span>
|
||||
<i
|
||||
data-lucide="lightbulb"
|
||||
style="
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
"
|
||||
></i>
|
||||
<span
|
||||
>Survolez un document avec
|
||||
<strong>Ctrl</strong> pour un
|
||||
apercu rapide. Cliquez sur
|
||||
<strong>Forge</strong> dans la
|
||||
barre d'outils pour l'editeur
|
||||
avance.</span
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1193,21 +1248,59 @@
|
||||
<div class="editor-container">
|
||||
<div class="editor-header">
|
||||
<span class="editor-brand">ObsiGate</span>
|
||||
<input class="editor-title-input" id="editor-title-input" placeholder="Titre..." spellcheck="false" title="Titre (sync avec # Heading)">
|
||||
<input
|
||||
class="editor-title-input"
|
||||
id="editor-title-input"
|
||||
placeholder="Titre..."
|
||||
spellcheck="false"
|
||||
title="Titre (sync avec # Heading)"
|
||||
/>
|
||||
<span class="editor-sep">/</span>
|
||||
<input class="editor-filename-input" id="editor-filename-input" placeholder="nom.md" spellcheck="false" title="Renommer le fichier">
|
||||
<input
|
||||
class="editor-filename-input"
|
||||
id="editor-filename-input"
|
||||
placeholder="nom.md"
|
||||
spellcheck="false"
|
||||
title="Renommer le fichier"
|
||||
/>
|
||||
<div class="editor-spacer"></div>
|
||||
<span class="editor-save-dot ok" id="editor-save-dot"><span class="dot"></span><span id="editor-save-label">Saved</span></span>
|
||||
<button class="editor-btn danger" id="editor-delete" title="Supprimer" aria-label="Supprimer">🗑</button>
|
||||
<button class="editor-btn" id="editor-cancel" title="Annuler" aria-label="Annuler">✕</button>
|
||||
<button class="editor-btn primary" id="editor-save" title="Sauvegarder" aria-label="Sauvegarder">✓</button>
|
||||
<span class="editor-save-dot ok" id="editor-save-dot"
|
||||
><span class="dot"></span
|
||||
><span id="editor-save-label">Saved</span></span
|
||||
>
|
||||
<button
|
||||
class="editor-btn danger"
|
||||
id="editor-delete"
|
||||
title="Supprimer"
|
||||
aria-label="Supprimer"
|
||||
>
|
||||
🗑
|
||||
</button>
|
||||
<button
|
||||
class="editor-btn"
|
||||
id="editor-cancel"
|
||||
title="Annuler"
|
||||
aria-label="Annuler"
|
||||
>
|
||||
✕
|
||||
</button>
|
||||
<button
|
||||
class="editor-btn primary"
|
||||
id="editor-save"
|
||||
title="Sauvegarder"
|
||||
aria-label="Sauvegarder"
|
||||
>
|
||||
✓
|
||||
</button>
|
||||
</div>
|
||||
<div class="editor-body editor-body-cm" id="editor-body">
|
||||
<div id="ai-toolbar-container"></div>
|
||||
</div>
|
||||
<div class="editor-footer">
|
||||
<span class="editor-stat-file" id="editor-stat-file"></span>
|
||||
<span class="editor-stat-words" id="editor-stat-words">0 words</span>
|
||||
<span class="editor-stat-words" id="editor-stat-words"
|
||||
>0 words</span
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1233,32 +1326,87 @@
|
||||
</div>
|
||||
<div class="editor-body help-body" id="config-body">
|
||||
<nav class="help-nav" id="config-nav">
|
||||
<div class="help-nav-header"><div class="help-nav-title">Configuration</div></div>
|
||||
<div class="help-nav-header">
|
||||
<div class="help-nav-title">Configuration</div>
|
||||
</div>
|
||||
<div class="help-nav-search-wrap">
|
||||
<input type="text" class="help-nav-search" id="config-nav-search" placeholder="Rechercher..." autocomplete="off" spellcheck="false">
|
||||
<button class="help-search-clear" id="config-search-clear" title="Effacer" onclick="var s=document.getElementById('config-nav-search');if(s){s.value='';s.dispatchEvent(new Event('input'));s.focus();}">X</button>
|
||||
<input
|
||||
type="text"
|
||||
class="help-nav-search"
|
||||
id="config-nav-search"
|
||||
placeholder="Rechercher..."
|
||||
autocomplete="off"
|
||||
spellcheck="false"
|
||||
/>
|
||||
<button
|
||||
class="help-search-clear"
|
||||
id="config-search-clear"
|
||||
title="Effacer"
|
||||
onclick="
|
||||
var s =
|
||||
document.getElementById(
|
||||
'config-nav-search',
|
||||
);
|
||||
if (s) {
|
||||
s.value = '';
|
||||
s.dispatchEvent(new Event('input'));
|
||||
s.focus();
|
||||
}
|
||||
"
|
||||
>
|
||||
X
|
||||
</button>
|
||||
</div>
|
||||
<ul class="help-nav-list">
|
||||
<li><a href="#cfg-search" class="help-nav-link">🔍 Recherche</a></li>
|
||||
<li><a href="#cfg-backend" class="help-nav-link">⚙️ Backend</a></li>
|
||||
<li><a href="#cfg-sync" class="help-nav-link">🔄 Synchronisation</a></li>
|
||||
<li><a href="#cfg-diags" class="help-nav-link">🩺 Diagnostics</a></li>
|
||||
<li><a href="#cfg-ai" class="help-nav-link">🤖 IA</a></li>
|
||||
<li><a href="#cfg-about" class="help-nav-link">📦 A propos</a></li>
|
||||
<li>
|
||||
<a href="#cfg-search" class="help-nav-link"
|
||||
>🔍 Recherche</a
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#cfg-backend" class="help-nav-link"
|
||||
>⚙️ Backend</a
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#cfg-sync" class="help-nav-link"
|
||||
>🔄 Synchronisation</a
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#cfg-diags" class="help-nav-link"
|
||||
>🩺 Diagnostics</a
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#cfg-ai" class="help-nav-link"
|
||||
>🤖 IA</a
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#cfg-about" class="help-nav-link"
|
||||
>📦 A propos</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
<div class="help-content" id="config-scroll">
|
||||
<div class="config-content">
|
||||
<!-- Performance Settings - Frontend -->
|
||||
<section class="config-section help-section" id="cfg-search">
|
||||
<section
|
||||
class="config-section help-section"
|
||||
id="cfg-search"
|
||||
>
|
||||
<h2>Paramètres de recherche</h2>
|
||||
<p class="config-description">
|
||||
Ces paramètres s'appliquent immédiatement côté
|
||||
client.
|
||||
Ces paramètres s'appliquent immédiatement
|
||||
côté client.
|
||||
</p>
|
||||
|
||||
<div class="config-row">
|
||||
<label class="config-label" for="cfg-debounce"
|
||||
<label
|
||||
class="config-label"
|
||||
for="cfg-debounce"
|
||||
>Délai debounce (ms)</label
|
||||
>
|
||||
<input
|
||||
@@ -1296,7 +1444,9 @@
|
||||
>
|
||||
</div>
|
||||
<div class="config-row">
|
||||
<label class="config-label" for="cfg-min-query"
|
||||
<label
|
||||
class="config-label"
|
||||
for="cfg-min-query"
|
||||
>Longueur min. requête</label
|
||||
>
|
||||
<input
|
||||
@@ -1314,7 +1464,9 @@
|
||||
>
|
||||
</div>
|
||||
<div class="config-row">
|
||||
<label class="config-label" for="cfg-timeout"
|
||||
<label
|
||||
class="config-label"
|
||||
for="cfg-timeout"
|
||||
>Timeout recherche (ms)</label
|
||||
>
|
||||
<input
|
||||
@@ -1345,7 +1497,8 @@
|
||||
<label
|
||||
class="config-label"
|
||||
for="cfg-recent-limit"
|
||||
>Nombre de fichiers dans l'historique</label
|
||||
>Nombre de fichiers dans
|
||||
l'historique</label
|
||||
>
|
||||
<input
|
||||
type="number"
|
||||
@@ -1357,8 +1510,8 @@
|
||||
value="20"
|
||||
/>
|
||||
<span class="config-hint"
|
||||
>Entre 5 et 100 fichiers (sauvegarde sur le
|
||||
serveur)</span
|
||||
>Entre 5 et 100 fichiers (sauvegarde sur
|
||||
le serveur)</span
|
||||
>
|
||||
</div>
|
||||
<div class="config-row">
|
||||
@@ -1377,7 +1530,8 @@
|
||||
value="10"
|
||||
/>
|
||||
<span class="config-hint"
|
||||
>Nombre maximum de versions backup conservees par fichier (1-50)</span
|
||||
>Nombre maximum de versions backup
|
||||
conservees par fichier (1-50)</span
|
||||
>
|
||||
</div>
|
||||
</section>
|
||||
@@ -1391,13 +1545,15 @@
|
||||
>
|
||||
</h2>
|
||||
<p class="config-description">
|
||||
Ces paramètres sont sauvegardés sur le serveur.
|
||||
Certains nécessitent un redémarrage ou une
|
||||
réindexation.
|
||||
Ces paramètres sont sauvegardés sur le
|
||||
serveur. Certains nécessitent un redémarrage
|
||||
ou une réindexation.
|
||||
</p>
|
||||
|
||||
<div class="config-row">
|
||||
<label class="config-label" for="cfg-workers"
|
||||
<label
|
||||
class="config-label"
|
||||
for="cfg-workers"
|
||||
>Workers de recherche</label
|
||||
>
|
||||
<input
|
||||
@@ -1410,7 +1566,8 @@
|
||||
value="2"
|
||||
/>
|
||||
<span class="config-hint"
|
||||
>Threads dédiés à la recherche (1-8)</span
|
||||
>Threads dédiés à la recherche
|
||||
(1-8)</span
|
||||
>
|
||||
</div>
|
||||
<div class="config-row">
|
||||
@@ -1454,7 +1611,9 @@
|
||||
>
|
||||
</div>
|
||||
<div class="config-row">
|
||||
<label class="config-label" for="cfg-tag-boost"
|
||||
<label
|
||||
class="config-label"
|
||||
for="cfg-tag-boost"
|
||||
>Boost tags</label
|
||||
>
|
||||
<input
|
||||
@@ -1472,7 +1631,9 @@
|
||||
>
|
||||
</div>
|
||||
<div class="config-row">
|
||||
<label class="config-label" for="cfg-prefix-exp"
|
||||
<label
|
||||
class="config-label"
|
||||
for="cfg-prefix-exp"
|
||||
>Expansions préfixe max</label
|
||||
>
|
||||
<input
|
||||
@@ -1485,8 +1646,8 @@
|
||||
value="50"
|
||||
/>
|
||||
<span class="config-hint"
|
||||
>Nombre max de tokens élargis par préfixe
|
||||
(10-200)</span
|
||||
>Nombre max de tokens élargis par
|
||||
préfixe (10-200)</span
|
||||
>
|
||||
</div>
|
||||
|
||||
@@ -1516,9 +1677,9 @@
|
||||
<section class="config-section help-section">
|
||||
<h2>Filtrage de tags</h2>
|
||||
<p class="config-description">
|
||||
Définissez les patterns de tags à masquer dans
|
||||
la sidebar. Vous pouvez utiliser des wildcards
|
||||
pour cibler les tags de template.
|
||||
Définissez les patterns de tags à masquer
|
||||
dans la sidebar. Vous pouvez utiliser des
|
||||
wildcards pour cibler les tags de template.
|
||||
</p>
|
||||
|
||||
<div
|
||||
@@ -1547,19 +1708,23 @@
|
||||
style="display: none"
|
||||
>
|
||||
<small
|
||||
>Regex : <code id="config-regex-code"></code
|
||||
>Regex :
|
||||
<code id="config-regex-code"></code
|
||||
></small>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Watcher / Synchronisation -->
|
||||
<section class="config-section help-section" id="cfg-sync">
|
||||
<section
|
||||
class="config-section help-section"
|
||||
id="cfg-sync"
|
||||
>
|
||||
<h2>Synchronisation automatique</h2>
|
||||
<p class="config-description">
|
||||
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.
|
||||
automatiquement et l'index est mis à jour
|
||||
sans redémarrage.
|
||||
</p>
|
||||
|
||||
<div class="config-row">
|
||||
@@ -1574,7 +1739,9 @@
|
||||
id="cfg-watcher-enabled"
|
||||
checked
|
||||
/>
|
||||
<span class="config-toggle-slider"></span>
|
||||
<span
|
||||
class="config-toggle-slider"
|
||||
></span>
|
||||
</label>
|
||||
<span class="config-hint"
|
||||
>Activer/désactiver la surveillance
|
||||
@@ -1592,12 +1759,14 @@
|
||||
type="checkbox"
|
||||
id="cfg-watcher-polling"
|
||||
/>
|
||||
<span class="config-toggle-slider"></span>
|
||||
<span
|
||||
class="config-toggle-slider"
|
||||
></span>
|
||||
</label>
|
||||
<span class="config-hint"
|
||||
>Forcer le mode polling au lieu de inotify
|
||||
natif (utile si le mode natif ne fonctionne
|
||||
pas)</span
|
||||
>Forcer le mode polling au lieu de
|
||||
inotify natif (utile si le mode natif ne
|
||||
fonctionne pas)</span
|
||||
>
|
||||
</div>
|
||||
<div class="config-row">
|
||||
@@ -1616,8 +1785,8 @@
|
||||
value="5"
|
||||
/>
|
||||
<span class="config-hint"
|
||||
>Intervalle de scrutation en mode polling
|
||||
(1-30 secondes)</span
|
||||
>Intervalle de scrutation en mode
|
||||
polling (1-30 secondes)</span
|
||||
>
|
||||
</div>
|
||||
<div class="config-row">
|
||||
@@ -1659,10 +1828,10 @@
|
||||
border-radius: 4px;
|
||||
"
|
||||
>
|
||||
i️ <strong>Note :</strong> Tous les fichiers sont
|
||||
toujours indexés et cherchables. Ce paramètre
|
||||
contrôle uniquement leur visibilité dans
|
||||
l'interface.
|
||||
i️ <strong>Note :</strong> Tous les fichiers
|
||||
sont toujours indexés et cherchables. Ce
|
||||
paramètre contrôle uniquement leur
|
||||
visibilité dans l'interface.
|
||||
</p>
|
||||
|
||||
<div id="hidden-files-vault-list">
|
||||
@@ -1683,7 +1852,10 @@
|
||||
</section>
|
||||
|
||||
<!-- Diagnostics -->
|
||||
<section class="config-section help-section" id="cfg-diags">
|
||||
<section
|
||||
class="config-section help-section"
|
||||
id="cfg-diags"
|
||||
>
|
||||
<h2>Diagnostics</h2>
|
||||
<p class="config-description">
|
||||
Statistiques de l'index et du moteur de
|
||||
@@ -1707,37 +1879,116 @@
|
||||
</section>
|
||||
|
||||
<!-- Cles API AI -->
|
||||
<section class="config-section help-section" id="cfg-ai">
|
||||
<section
|
||||
class="config-section help-section"
|
||||
id="cfg-ai"
|
||||
>
|
||||
<h2>🤖 Cles API Intelligence Artificielle</h2>
|
||||
<p class="config-description">
|
||||
Configurez vos cles API. Cliquez sur <strong>Tester</strong> pour charger les modeles.
|
||||
Configurez vos cles API. Cliquez sur
|
||||
<strong>Tester</strong> pour charger les
|
||||
modeles.
|
||||
</p>
|
||||
<div class="config-row">
|
||||
<label class="config-label" for="cfg-deepseek-key">DeepSeek API Key</label>
|
||||
<input type="password" id="cfg-deepseek-key" class="config-input" placeholder="sk-..." autocomplete="off">
|
||||
<select id="cfg-deepseek-model" class="config-select" style="width:200px"><option value="">-- Modele --</option></select>
|
||||
<label
|
||||
class="config-label"
|
||||
for="cfg-deepseek-key"
|
||||
>DeepSeek API Key</label
|
||||
>
|
||||
<input
|
||||
type="password"
|
||||
id="cfg-deepseek-key"
|
||||
class="config-input"
|
||||
placeholder="sk-..."
|
||||
autocomplete="off"
|
||||
/>
|
||||
<select
|
||||
id="cfg-deepseek-model"
|
||||
class="config-select"
|
||||
style="width: 200px"
|
||||
>
|
||||
<option value="">-- Modele --</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="config-row">
|
||||
<label class="config-label" for="cfg-openrouter-key">OpenRouter API Key</label>
|
||||
<input type="password" id="cfg-openrouter-key" class="config-input" placeholder="sk-or-..." autocomplete="off">
|
||||
<select id="cfg-openrouter-model" class="config-select" style="width:200px"><option value="">-- Modele --</option></select>
|
||||
<label
|
||||
class="config-label"
|
||||
for="cfg-openrouter-key"
|
||||
>OpenRouter API Key</label
|
||||
>
|
||||
<input
|
||||
type="password"
|
||||
id="cfg-openrouter-key"
|
||||
class="config-input"
|
||||
placeholder="sk-or-..."
|
||||
autocomplete="off"
|
||||
/>
|
||||
<select
|
||||
id="cfg-openrouter-model"
|
||||
class="config-select"
|
||||
style="width: 200px"
|
||||
>
|
||||
<option value="">-- Modele --</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="config-row">
|
||||
<label class="config-label" for="cfg-gemini-key">Gemini API Key</label>
|
||||
<input type="password" id="cfg-gemini-key" class="config-input" placeholder="AIza..." autocomplete="off">
|
||||
<select id="cfg-gemini-model" class="config-select" style="width:200px"><option value="">-- Modele --</option></select>
|
||||
<label
|
||||
class="config-label"
|
||||
for="cfg-gemini-key"
|
||||
>Gemini API Key</label
|
||||
>
|
||||
<input
|
||||
type="password"
|
||||
id="cfg-gemini-key"
|
||||
class="config-input"
|
||||
placeholder="AIza..."
|
||||
autocomplete="off"
|
||||
/>
|
||||
<select
|
||||
id="cfg-gemini-model"
|
||||
class="config-select"
|
||||
style="width: 200px"
|
||||
>
|
||||
<option value="">-- Modele --</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="config-actions-row" style="margin-top:16px">
|
||||
<button class="config-btn-save" id="cfg-save-ai-keys">Sauvegarder</button>
|
||||
<button class="config-btn-secondary" id="cfg-test-ai-keys">Tester</button>
|
||||
<span id="cfg-ai-status" style="font-size:12px;color:var(--text-muted);margin-left:12px"></span>
|
||||
<div
|
||||
class="config-actions-row"
|
||||
style="margin-top: 16px"
|
||||
>
|
||||
<button
|
||||
class="config-btn-save"
|
||||
id="cfg-save-ai-keys"
|
||||
>
|
||||
Sauvegarder
|
||||
</button>
|
||||
<button
|
||||
class="config-btn-secondary"
|
||||
id="cfg-test-ai-keys"
|
||||
>
|
||||
Tester
|
||||
</button>
|
||||
<span
|
||||
id="cfg-ai-status"
|
||||
style="
|
||||
font-size: 12px;
|
||||
color: var(--text-muted);
|
||||
margin-left: 12px;
|
||||
"
|
||||
></span>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- À propos -->
|
||||
<section class="config-section help-section" id="cfg-about">
|
||||
<section
|
||||
class="config-section help-section"
|
||||
id="cfg-about"
|
||||
>
|
||||
<h2>📦 À propos</h2>
|
||||
<div id="config-about" class="config-diagnostics">
|
||||
<div
|
||||
id="config-about"
|
||||
class="config-diagnostics"
|
||||
>
|
||||
<div class="config-diag-loading">
|
||||
Chargement...
|
||||
</div>
|
||||
@@ -1748,8 +1999,8 @@
|
||||
<section class="config-section help-section">
|
||||
<h2>🔔 Webhooks</h2>
|
||||
<p class="config-description">
|
||||
Notifications HTTP vers des services externes
|
||||
lors des changements de fichiers.
|
||||
Notifications HTTP vers des services
|
||||
externes lors des changements de fichiers.
|
||||
</p>
|
||||
<div id="webhooks-list"></div>
|
||||
<div class="config-add-row">
|
||||
@@ -4499,8 +4750,21 @@ curl -X POST https://votre-serveur.com/webhook \
|
||||
<div class="mt-sheet-header">
|
||||
<span class="mt-sheet-title">Fichiers ouverts</span>
|
||||
<div class="mt-sheet-actions">
|
||||
<button class="mt-sheet-close-all" id="mt-close-all" title="Fermer tout" aria-label="Fermer tous les fichiers">Fermer tout</button>
|
||||
<button class="mt-sheet-close" id="mt-sheet-close" aria-label="Fermer">✕</button>
|
||||
<button
|
||||
class="mt-sheet-close-all"
|
||||
id="mt-close-all"
|
||||
title="Fermer tout"
|
||||
aria-label="Fermer tous les fichiers"
|
||||
>
|
||||
Fermer tout
|
||||
</button>
|
||||
<button
|
||||
class="mt-sheet-close"
|
||||
id="mt-sheet-close"
|
||||
aria-label="Fermer"
|
||||
>
|
||||
✕
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-sheet-list" id="mt-tab-list"></div>
|
||||
|
||||
Reference in New Issue
Block a user