Désinstaller des plugins
L'uninstall retire le bundle d'un plugin de Flexweg et le désenregistre de l'admin. Trois catégories importantes :
L'uninstall retire le bundle d'un plugin de Flexweg et le désenregistre de l'admin. Trois catégories importantes :
- Plugins externes (installés via le bouton Install plugin) — entièrement désinstallables via l'UI
- Plugins intégrés bundlés (
core-seo,flexweg-sitemaps, etc.) — bundlés avec le code admin, ne peuvent pas être désinstallés, seulement désactivés - Plugins must-use — toujours actifs, pas d'UI pour désactiver ou désinstaller
Où est le bouton
Plugins → bouton Install plugin → modale → affiche les externes actuellement installés → chacun avec un bouton Uninstall.
Ce qui se passe au clic Uninstall
L'ordre compte — un cleanup partiel laisse un état récupérable :
- Retire de
settings/externalRegistryen base. Après cette étape, l'admin ne tentera plus de charger le plugin au prochain boot — même si les étapes suivantes échouent. deleteFolder("/admin/plugins/<id>/")sur Flexweg. Supprime le bundle.js + tous les assets associés.- Désenregistre in-memory :
unregisterExternalPlugin(id). Le plugin disparaît immédiatement de la liste.
À la fin, toast de succès. Pas de reload nécessaire.
Ce qui reste
Le config persisté (pluginConfigs[<id>]) reste en base. C'est intentionnel :
- Si vous réinstallez plus tard, vos réglages sont restaurés
- Si vous vous trompez et désinstallez par erreur, juste ré-uploadez le ZIP — rien n'est perdu
Pour purger explicitement le config : éditez settings/site en base, supprimez pluginConfigs.<id>.
Ce qui n'est pas supprimé
Les fichiers que le plugin a uploadés sur le site ne sont PAS supprimés à l'uninstall. Par exemple, si vous désinstallez flexweg-sitemaps (qui n'existe pas en externe, mais en théorie), les sitemap-*.xml restent à la racine.
Pour les supprimer aussi, désactivez d'abord (ce qui déclenche le cleanup côté plugin), puis désinstallez. Ou utilisez le bouton de cleanup spécifique de la page de réglages du plugin (si exposé).
Cas spécial : downgrade
Pas d'UI pour downgrader vers une version précédente. Si vous voulez revenir à v1.0.0 après avoir installé v1.1.0 :
- Uninstall la
v1.1.0 - Re-uploadez le ZIP de la
v1.0.0
Le config est préservé entre les deux (donc si la v1.0.0 ne sait pas lire la config produite par v1.1.0, vous aurez peut-être des warnings — mais c'est rare).
Cas spécial : plugin cassé qui empêche le boot
Si un plugin externe crashe à l'import (Invalid hook call, exception non-attrapée dans register, etc.), l'admin peut afficher un écran d'erreur au boot — sans bouton Uninstall accessible.
Récupération manuelle :
- Ouvrez la console Flexweg → File manager
- Naviguez à
/admin/external.jsonou éditez le documentsettings/externalRegistryen base - Supprimez l'entrée correspondante du plugin cassé
- Optionnel : supprimez aussi
/admin/plugins/<id>/ - Rechargez l'admin — le plugin n'est plus chargé, vous pouvez accéder à
/admin/pluginset faire un re-install propre
Pour éviter ce scénario, testez vos plugins sur un site de staging avant de les installer en prod.
Et pour les plugins intégrés ?
core-seo, flexweg-sitemaps, flexweg-rss, flexweg-archives, flexweg-search ne sont pas désinstallables — ils sont bundlés avec le code admin (dist/admin/plugins/<id>/bundle.js).
Pour les "retirer", désactivez-les depuis la page Plugins. Ils restent chargés en mémoire mais leurs handlers ne sont pas enregistrés tant qu'ils sont désactivés.
Si vous voulez vraiment ne pas les avoir du tout (gain en taille de bundle), vous devez :
- Forker le projet
- Retirer leurs imports de
src/plugins/index.ts - Re-builder
dist/
C'est exotique — désactiver suffit dans 99% des cas.