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 defaultNON désinstallable. Toujours présent comme fallback quand d'autres thèmes sont désinstallés.

Comment désinstaller

  1. Ouvrez Thèmes dans la sidebar.
  2. Trouvez la carte du thème à désinstaller.
  3. Cliquez sur le menu kebab (⋮) → Uninstall.
  4. Confirmation modale → Confirmer.

L'admin :

  1. Si c'est le thème actif : bascule vers default d'abord (force la cascade complète — sync de la CSS du default + toast pour Regenerate)
  2. Retire l'entrée du settings/externalRegistry en base
  3. deleteFolder("/admin/themes/<id>/") sur Flexweg
  4. deleteFile("/theme-assets/<id>.css") sur Flexweg
  5. 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 :

  1. Demande confirmation supplémentaire
  2. Bascule automatiquement vers default après désinstallation
  3. Sync les theme assets du default
  4. 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.magazine en 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 :

  1. Ouvrez la console Flexweg → File manager
  2. Naviguez à /admin/themes/<id>/ et supprimez le dossier
  3. Éditez le document settings/externalRegistry en base, supprimez l'entrée du thème cassé
  4. Rechargez l'admin — le thème n'est plus chargé, vous pouvez accéder à /admin/themes et 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é par npm 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