Réglages des plugins

Chaque plugin activé peut déclarer une page de réglages accessible à . La sidebar Réglages liste chacune de ces pages dans une bande d'onglets aux côtés de Général + Performance.

Chaque plugin activé peut déclarer une page de réglages accessible à /settings/plugin/<id>. La sidebar Réglages liste chacune de ces pages dans une bande d'onglets aux côtés de Général + Performance.

Où la trouver

Les plugins qui livrent une page de réglages affichent un bouton Settings sur leur carte dans l'onglet Plugins. Cliquer dessus navigue vers /settings/plugin/<id>.

Vous pouvez aussi naviguer directement via la sidebar Réglages → onglets Plugin (un onglet par plugin avec réglages).

Ce qu'il y a sur une page de réglages plugin

Par plugin — chaque auteur de plugin décide son propre formulaire. Convention :

  • Onglets en haut pour les sections de la config du plugin (ex. flexweg-rss a les onglets Feed du site / Feeds par catégorie)
  • Champs de formulaire en dessous avec des défauts raisonnables
  • Bouton Save en bas — patche settings.pluginConfigs.<id> dans le backend
  • Bouton Force regenerate quand applicable — relance le pass de travail complet du plugin (re-upload des fichiers, re-render des cartes, etc.)

Le framework garantit :

  • Indicateur d'auto-save — affiche "Saving…" → "Saved" près du bouton Save
  • Le formulaire se ré-hydrate quand une sauvegarde externe arrive (ex. un autre admin sauvegarde dans un autre onglet)
  • Bouton Reset to defaults — vide pluginConfigs.<id>, restaure le formulaire à manifest.defaultConfig

Persistance

settings/site.pluginConfigs[<plugin-id>] est l'emplacement unique. Le merge fait par PluginSettingsRoute est {...manifest.defaultConfig, ...storedConfig} — donc :

  • Les valeurs par défaut sont toujours disponibles
  • Les valeurs stockées (modifiées par l'utilisateur) overrident les défauts
  • Ajouter une nouvelle clé à defaultConfig ne casse pas les anciens stored configs (la clé apparaît avec sa valeur par défaut jusqu'à ce qu'elle soit explicitement modifiée)

Préservation à la désinstallation

Quand vous désinstallez un plugin, sa config dans pluginConfigs.<id> reste en base par défaut. C'est intentionnel : si vous le réinstallez plus tard, vos réglages sont restaurés.

Pour purger délibérément la config : utilisez le bouton Reset to defaults avant de désinstaller, ou éditez manuellement le document settings/site dans Firestore / SQLite.

Force regenerate

Quand un plugin a une logique de pass de régénération (sitemaps, RSS, archives, recherche), sa page de réglages expose un bouton Force regenerate qui :

  1. Sauvegarde le draft actuel (sinon le pass utiliserait la config pré-edit)
  2. Lance le pass de régénération du plugin
  3. Affiche les logs en bas
  4. Persiste tout bookkeeping mis à jour par le pass (ex. lastPublishedPath)

C'est l'équivalent du Regenerate site → depuis le menu Thèmes — la page de réglages l'expose en plus pour confort.

Page de réglages des thèmes

Les thèmes ont une convention similaire (ThemeManifest.settings), mais routée à /theme-settings (pas sous /settings/plugin/). La sidebar montre une entrée Theme settings quand le thème actif a settings déclaré.

Voir Page de réglages de thème pour les auteurs de thèmes.

i18n des plugins

Chaque plugin peut déclarer un bundle i18n dans PluginManifest.i18n: { en, fr, ... }. Le namespace i18next est l'id du plugin. Dans le formulaire de réglages, le plugin appelle useTranslation('<plugin-id>') et a accès à toutes les clés de son bundle dans la langue courante de l'admin.

C'est pourquoi les pages de réglages des plugins intégrés sont automatiquement traduites en 7 langues. Les plugins externes peuvent ne fournir qu'EN ; les autres langues affichent les clés EN comme fallback.