From b4fefe483ed5470ab6b4538fdc4884adcea1ecf6 Mon Sep 17 00:00:00 2001 From: Bruno Charest Date: Thu, 18 Jun 2026 15:43:54 -0400 Subject: [PATCH] fix: tag + translate all help body headings and paragraphs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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 --- frontend/index.html | 210 +++++++++++++++++++-------------------- frontend/locales/en.json | 38 ++++++- frontend/locales/fr.json | 38 ++++++- 3 files changed, 179 insertions(+), 107 deletions(-) diff --git a/frontend/index.html b/frontend/index.html index d987a8c..83f9067 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -1117,7 +1117,7 @@ > Aucun bookmark - +

Épinglez des fichiers pour les retrouver ici.

@@ -1158,7 +1158,7 @@ > Aucun fichier récent - +

Ouvrez un fichier pour le voir apparaître ici

@@ -1180,7 +1180,7 @@ > Aucun document partagé - +

Partagez un document pour le voir apparaître ici

@@ -1824,7 +1824,7 @@
- 🗂️ Fichiers cachés +

🗂️ Fichiers cachés

Contrôlez l'affichage des fichiers/dossiers cachés (commençant par .) par @@ -1989,7 +1989,7 @@ class="config-section help-section" id="cfg-themes" > - 🎨 Thèmes +

🎨 Thèmes

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" > - 📦 À propos +

📦 À propos

🧭 Interface utilisateur

En-tête

- +

La barre supérieure contient les éléments essentiels :

@@ -2822,10 +2822,10 @@
-

🗺️ Navigation

+

🗺️ Navigation

Arborescence des vaults

- +

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 @@

Breadcrumb et repositionnement

- +

Le chemin affiché au-dessus du contenu est interactif :

@@ -2914,8 +2914,8 @@
-

📑 Gestion des onglets

- +

📑 Gestion des onglets

+

ObsiGate supporte l'ouverture de plusieurs fichiers simultanément dans des onglets.

@@ -2985,7 +2985,7 @@
-

🔍 Recherche

+

🔍 Recherche

Recherche simple

@@ -3012,7 +3012,7 @@

Opérateurs avancés

- +

Utilisez des opérateurs pour affiner votre recherche :

@@ -3050,7 +3050,7 @@ Markdown.

- Exemple combiné : + Exemple combiné : tag:linux vault:IT ext:md serveur web @@ -3059,7 +3059,7 @@

Autocomplétion

- +

L'autocomplétion vous aide à trouver rapidement :

@@ -3083,7 +3083,7 @@

Chips de filtres actifs

- +

Les opérateurs utilisés s'affichent sous forme de chips colorés :

@@ -3102,8 +3102,8 @@ -

Facettes et tri

- +

Facettes et tri

+

Les résultats incluent des facettes pour affiner :

@@ -3128,9 +3128,9 @@
-

🏷️ Tags

+

🏷️ Tags

-

Tag cloud

+

Tag cloud

L'onglet Tags de la sidebar affiche un nuage de tags : @@ -3154,7 +3154,7 @@ -

Tags inline vs frontmatter

+

Tags inline vs frontmatter

ObsiGate supporte deux types de tags :

  • @@ -3173,7 +3173,7 @@
-

Filtrage de tags template

+

Filtrage de tags template

Dans les Configurations, vous pouvez masquer les tags de template : @@ -3185,7 +3185,7 @@ #{{ ... }}

  • - Regex générée : Aperçu de + Regex générée : Aperçu de la regex appliquée
  • @@ -3196,9 +3196,9 @@
  • -

    📄 Fichiers

    +

    📄 Fichiers

    -

    Visualisation

    +

    Visualisation

    Les fichiers markdown sont rendus avec :

    • @@ -3247,15 +3247,15 @@
    - Édition avec CodeMirror 6 - L'éditeur intégré offre :

    +

    Édition avec CodeMirror 6

    +

    L'éditeur intégré offre :

    • Coloration syntaxique : Support de nombreux langages
    • - Numéros de ligne : + Numéros de ligne : Navigation facile
    • @@ -3276,7 +3276,7 @@
    - Types de fichiers supportés +

    Types de fichiers supportés

    ObsiGate indexe et affiche :

    • @@ -3307,10 +3307,10 @@
      - ✏️ Édition avancée +

      ✏️ Édition avancée

      - Éditeur CodeMirror 6 - +

      Éditeur CodeMirror 6

      +

      L'éditeur intégré offre une expérience complète d'édition :

      @@ -3321,7 +3321,7 @@ et bien d'autres
    • - Numéros de ligne : + Numéros de ligne : Navigation facilitée dans les fichiers longs
    • @@ -3352,14 +3352,14 @@
      -

      🗺️ Vue Graphe

      +

      🗺️ Vue Graphe

      La vue graphe offre une visualisation interactive des connexions entre vos notes via les wikilinks.

      -

      Ouverture

      +

      Ouverture

      • Menu contextuel : Clic @@ -3372,7 +3372,7 @@
      -

      Interaction

      +

      Interaction

      • Zoom/Pan : Molette pour @@ -3405,7 +3405,7 @@
      -

      Affichage

      +

      Affichage

      • Nœuds : Fichiers (carrés) @@ -3434,7 +3434,7 @@

      Performance

      - +

      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" > -

      🎨 Personnalisation

      +

      🎨 Personnalisation

      - Thème clair/sombre +

      Thème clair/sombre

      Basculez entre les thèmes :

      • @@ -3469,7 +3469,7 @@
      -

      Redimensionnement de la sidebar

      +

      Redimensionnement de la sidebar

      Sur desktop, ajustez la largeur de la sidebar :

      @@ -3479,7 +3479,7 @@ : Bordure droite de la sidebar
    • - Glisser-déposer : Cliquez + Glisser-déposer : Cliquez et glissez pour ajuster
    • @@ -3492,7 +3492,7 @@
    - Configuration avancée +

    Configuration avancée

    Le modal Configurations (menu Options) permet de : @@ -3515,7 +3515,7 @@ mémoire, moteur de recherche

  • - Réindexation : Forcer un + Réindexation : Forcer un rescan des vaults
  • @@ -3523,14 +3523,14 @@
    -

    ⌨️ Palette de commandes

    - +

    ⌨️ Palette de commandes

    +

    La palette de commandes permet d'accéder rapidement aux fichiers et aux actions sans utiliser la souris.

    -

    Ouverture

    +

    Ouverture

    • Ctrl+Shift+Espace : Palette @@ -3546,7 +3546,7 @@
    -

    Mode fichiers

    +

    Mode fichiers

    Tapez le nom d'un fichier pour le trouver rapidement. La recherche utilise l'API @@ -3555,7 +3555,7 @@ ouvrir le fichier sélectionné.

    -

    Mode commandes

    +

    Mode commandes

    Tapez > (ou Ctrl+Alt+Espace) pour voir la liste des actions disponibles : @@ -3566,7 +3566,7 @@ l'accueil

  • - ✏️ Éditer fichier courant : + ✏️ Éditer fichier courant : Ouvre l'éditeur sur l'onglet actif
  • @@ -3574,7 +3574,7 @@ document dans une fenêtre détachée
  • - 📄 Créer fichier markdown : + 📄 Créer fichier markdown : Crée un nouveau fichier .md et l'ouvre dans l'éditeur
  • @@ -3584,11 +3584,11 @@ Supprime le fichier de l'onglet actif
  • - 📁 Créer répertoire : Crée + 📁 Créer répertoire : Crée un nouveau dossier
  • - 🗑️ Supprimer répertoire : + 🗑️ Supprimer répertoire : Supprime un dossier et son contenu
  • @@ -3624,7 +3624,7 @@
  • -

    ⌨️ Raccourcis clavier

    +

    ⌨️ Raccourcis clavier

    Navigation

      @@ -3642,7 +3642,7 @@
    - Recherche et autocomplétion +

    Recherche et autocomplétion

    • ↑ / ↓ : Naviguer @@ -3690,7 +3690,7 @@
    - Éditeur CodeMirror +

    Éditeur CodeMirror

    • Ctrl+F : Rechercher dans le @@ -3706,7 +3706,7 @@
    - 🤖 Intelligence Artificielle dans l'Éditeur +

    🤖 Intelligence Artificielle dans l'Éditeur

    ObsiGate intègre un assistant IA directement dans l'éditeur de texte. Pour l'activer, @@ -3729,11 +3729,11 @@ up -d --build - +

  • Ouvrez un fichier en mode Édition (bouton ✏️ Éditer)
  • - +
  • La barre d'outils AI apparaît sous le titre de l'éditeur
  • @@ -3752,7 +3752,7 @@ curseur.
  • - Éditer ▾ — Menu de + Éditer ▾ — Menu de modification du texte sélectionné :
    • @@ -3813,7 +3813,7 @@
  • - Générer ▾ — Génère du + Générer ▾ — Génère du contenu à partir de la sélection :
    • @@ -3834,13 +3834,13 @@
  • - 💬 Réécrire — Réécrit le + 💬 Réécrire — Réécrit le texte selon vos instructions personnalisées. Une boîte de dialogue vous demande votre instruction.
  • - 🧰 Boîte ▾ — Outils de + 🧰 Boîte ▾ — Outils de conversion :
    • @@ -3870,7 +3870,7 @@
    -

    Indicateurs visuels

    +

    Indicateurs visuels

    • Pendant une requête AI, un toast @@ -3881,16 +3881,16 @@
    • Une fois terminé, - AI: texte traité ✓ confirme + AI: texte traité ✓ confirme le succès
    • En cas d'erreur de clé API : - AI: clé API invalide + AI: clé API invalide
    -

    Sauvegarde automatique

    +

    Sauvegarde automatique

    L'éditeur sauvegarde automatiquement après 2 secondes d'inactivité. Le bouton de sauvegarde @@ -3898,7 +3898,7 @@ confirmer.

    - Providers supportés +

    Providers supportés

    @@ -3929,7 +3929,7 @@
    -

    🔗 Partage et Webhooks

    +

    🔗 Partage et Webhooks

    Publication publique

    @@ -3969,7 +3969,7 @@

    -

    🪝 Webhooks

    +

    🪝 Webhooks

    Les webhooks permettent à ObsiGate de

  • - Déploiement : Publier un + Déploiement : Publier un article de blog quand un fichier est marqué publish: true
  • - Événements supportés +

    Événements supportés

    Provider
    Format du payload

    Chaque webhook reçoit un POST avec Content-Type: application/json : @@ -4269,7 +4269,7 @@ } } - Sécurité : signature HMAC-SHA256 +

    Sécurité : signature HMAC-SHA256

    Si vous configurez un secret, chaque requête inclut un header @@ -4310,7 +4310,7 @@ URL (endpoint cible), Secret (optionnel) - Cochez les événements à écouter +

  • Cochez les événements à écouter
  • Cliquez Ajouter
  • @@ -4320,9 +4320,9 @@ exécution.

    -

    Exemples concrets

    +

    Exemples concrets

    - Récepteur Python (Flask) +

    Récepteur Python (Flask)

    from flask import Flask, request\nimport hmac, hashlib\n\napp = Flask(__name__)\nWEBHOOK_SECRET = "mon-secret"  # même que dans ObsiGate\n\n@app.route("/webhook", methods=["POST"])\ndef webhook():\n    # Vérifier la signature\n    signature = request.headers.get("X-ObsiGate-Signature", "")\n    body = request.get_data()\n    expected = "sha256=" + hmac.new(\n        WEBHOOK_SECRET.encode(), body, hashlib.sha256\n    ).hexdigest()\n    if not hmac.compare_digest(signature, expected):\n        return "Invalid signature", 403\n\n    payload = request.get_json()\n    print(f"Événement: {payload['event']}")\n    print(f"Fichier: {payload['data']['vault']}/{payload['data']['path']}")\n    return "OK", 200\n\napp.run(port=5000)
    -

    n8n / Make (no-code)

    +

    n8n / Make (no-code)

    1. Créez un @@ -4350,14 +4350,14 @@ Dans ObsiGate, ajoutez un webhook pointant vers cette URL
    2. - Sélectionnez les événements souhaités - +
    3. Sélectionnez les événements souhaités
    4. +
    5. Le workflow se déclenche automatiquement à chaque événement
    -

    Notification Discord

    +

    Notification Discord

    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" -

    Tester avec curl

    +

    Tester avec curl

    
     
    -                            

    Limitations actuelles

    +

    Limitations actuelles

    • Timeout de 5 secondes par @@ -4410,7 +4410,7 @@ curl -X POST https://votre-serveur.com/webhook \
    • Les modifications détectées par le watcher filesystem (watchdog) - ne déclenchent pas de + ne déclenchent pas de webhooks — seules les opérations via l'API REST sont prises en compte
    • @@ -4418,18 +4418,18 @@ curl -X POST https://votre-serveur.com/webhook \ file_modified n'est pas encore dispatché (réservé pour version future) - Pas de retry automatique en cas d'échec - +
    • Pas de retry automatique en cas d'échec
    • +
    • Pas de filtrage par vault — un webhook écoute toutes les vaults
    -

    💾 Sauvegardes et Audits

    +

    💾 Sauvegardes et Audits

    Backup automatique

    - +

    ObsiGate crée automatiquement des sauvegardes avant chaque modification destructive.

    @@ -4444,14 +4444,14 @@ curl -X POST https://votre-serveur.com/webhook \ est horodaté
  • - Répertoire dédié : + Répertoire dédié : .obsigate-backup/ dans le répertoire de la vault
  • Audit log

    - +

    Toutes les opérations sensibles sont tracées dans un journal.

    @@ -4462,7 +4462,7 @@ curl -X POST https://votre-serveur.com/webhook \ lines
  • - Événements tracés : + Événements tracés : Écritures, suppressions, changements de configuration
  • @@ -4475,16 +4475,16 @@ curl -X POST https://votre-serveur.com/webhook \
    - 🛡️ Sécurité +

    🛡️ Sécurité

    -

    Authentification

    +

    Authentification

    • JWT + Argon2id : Tokens JWT avec mots de passe hachés Argon2id
    • - Contrôle d'accès par vault + Contrôle d'accès par vault : Chaque utilisateur voit uniquement ses vaults
    • @@ -4503,7 +4503,7 @@ curl -X POST https://votre-serveur.com/webhook \
    -

    Protection

    +

    Protection

    • Secret redactor : Masque @@ -4532,12 +4532,12 @@ curl -X POST https://votre-serveur.com/webhook \
    -

    💡 Astuces et bonnes pratiques

    +

    💡 Astuces et bonnes pratiques

    - Workflow recommandé +

    Workflow recommandé

    1. - Sélectionnez un contexte : + Sélectionnez un contexte : Choisissez un vault pour réduire le bruit
    2. @@ -4558,7 +4558,7 @@ curl -X POST https://votre-serveur.com/webhook \
    -

    Optimisations

    +

    Optimisations

    • Masquez la sidebar : Plus @@ -4572,7 +4572,7 @@ curl -X POST https://votre-serveur.com/webhook \ trouver un fichier
    • - Favorisez les opérateurs : + Favorisez les opérateurs : tag: et vault: accélèrent la recherche
    • @@ -4582,7 +4582,7 @@ curl -X POST https://votre-serveur.com/webhook \
    -

    Trucs et astuces

    +

    Trucs et astuces

    • Navigation visuelle : Le @@ -4615,7 +4615,7 @@ curl -X POST https://votre-serveur.com/webhook \

      Cas d'usage avancés

      • - Recherche multi-critères : + Recherche multi-critères : tag:docker tag:linux vault:IT nginx
      • - Édition rapide : Ouvrez + Édition rapide : Ouvrez l'éditeur, modifiez, sauvegardez
      • @@ -4635,7 +4635,7 @@ curl -X POST https://votre-serveur.com/webhook \ fichiers pour backup ou partage
      • - Multi-fenêtres : Ouvrez + Multi-fenêtres : Ouvrez plusieurs notes dans des onglets séparés
      diff --git a/frontend/locales/en.json b/frontend/locales/en.json index ca251fb..0210ce5 100644 --- a/frontend/locales/en.json +++ b/frontend/locales/en.json @@ -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" } \ No newline at end of file diff --git a/frontend/locales/fr.json b/frontend/locales/fr.json index 14939f1..c16e0ab 100644 --- a/frontend/locales/fr.json +++ b/frontend/locales/fr.json @@ -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" } \ No newline at end of file