Désinstaller des thèmes
Les thèmes peuvent être désinstallés pour libérer de l'espace, désencombrer la liste des Thèmes, ou rollback un install qui se comporte mal.
Les thèmes peuvent être désinstallés pour libérer de l'espace, désencombrer la liste des Thèmes, ou rollback un install qui se comporte mal.
Ce qui est désinstallable
- Thèmes externes (uploadés par vous via Install theme) → désinstallables
- Thèmes intégrés non-default (
magazine,corporate,marketplace-core) → aussi désinstallables. Traités comme externalisés au build time, donc ils passent par le même flow d'uninstall que les thèmes tiers. - Thème default → NON désinstallable. Toujours présent comme fallback quand d'autres thèmes sont désinstallés.
Comment désinstaller
- Ouvrez Thèmes dans la sidebar.
- Trouvez la carte du thème à désinstaller.
- Cliquez sur le menu kebab (⋮) → Uninstall.
- Confirmation modale → Confirmer.
L'admin :
- Si c'est le thème actif : bascule vers
defaultd'abord (force la cascade complète — sync de la CSS du default + toast pour Regenerate) - Retire l'entrée du
settings/externalRegistryen base deleteFolder("/admin/themes/<id>/")sur FlexwegdeleteFile("/theme-assets/<id>.css")sur Flexweg- Désenregistre in-memory :
unregisterExternalTheme(id)
À la fin, toast de succès. Le thème disparaît de la liste.
Ce qui reste
Le config persisté (themeConfigs[<id>]) reste en base. C'est intentionnel :
- Si vous réinstallez plus tard, vos overrides de palette / polices sont restaurés
- Si vous vous trompez et désinstallez par erreur, ré-uploadez le ZIP — rien n'est perdu
Pour purger explicitement : éditez settings/site en base, supprimez themeConfigs.<id>.
Cas particulier : le thème désinstallé est actif
Si vous désinstallez le thème actuellement actif, l'admin :
- Demande confirmation supplémentaire
- Bascule automatiquement vers
defaultaprès désinstallation - Sync les theme assets du default
- Toast : « Cliquez Regenerate site → All HTML pour re-rendre avec le thème default. »
Vous devez Regenerate manuellement après. Sinon les pages publiques continuent d'utiliser la CSS de l'ancien thème (qui vient d'être supprimée → 404) — mises en page cassées.
Cas particulier : thème désinstallé puis ré-installé
Si vous désinstallez magazine, puis ré-uploadez le ZIP de magazine plus tard :
- Le
themeConfigs.magazineen base est restauré (overrides de palette / polices reviennent) - Mais les posts utilisant des blocs
magazine/...retrouvent leur rendu (puisque le thème est ré-actif) - Pas de Regenerate nécessaire automatiquement — vous Regenerate quand vous voulez
Cas spécial : thème cassé qui empêche le boot
Si un thème externe crashe à l'import, 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/themes/<id>/et supprimez le dossier - Éditez le document
settings/externalRegistryen base, supprimez l'entrée du thème cassé - Rechargez l'admin — le thème n'est plus chargé, vous pouvez accéder à
/admin/themeset faire un re-install propre
Si l'admin ne boot pas du tout et default est le thème actif (qui ne peut pas crasher), c'est probablement un autre problème (plugin, config, etc.).
Et pour les thèmes intégrés bundlés ?
Tous les thèmes intégrés (default, magazine, corporate, marketplace-core) sont compilés au build comme des bundles externes. Donc ils sont techniquement désinstallables, sauf default qui est protégé par le code.
Pour les ré-installer après désinstallation, drag-and-droppez leur ZIP que vous trouverez :
- Dans le source :
dist/admin/themes/<id>/<id>.zip(généré parnpm run build) - Ou via le bouton Restore bundled defaults dans le modal d'installation (qui restaure les thèmes / plugins intégrés en un clic depuis
external.default.json)
Storage récupéré
Désinstaller un thème libère ~100-700 Ko sur Flexweg (bundle.js + theme.css + loaders).
Pas de différence visible côté quota — c'est juste de la maintenance.
Voir aussi
- Installation de thèmes externes — workflow inverse
- Basculer de thème — utile avant désinstallation si le thème est actif