Clustraly
Plugins & API interne

Désinstallation (fichiers + registre) : retirez un plugin sans laisser de trace

Désinstallation (fichiers + registre) une fonctionnalité du module Plugins & API interne de Clustraly. La désinstallation retire un plugin en supprimant sa ligne de registre puis en effaçant récursivement ses fichiers, confinée au dossier plugins/ et confirmée.

Un plugin dont vous n'avez plus besoin ne devrait rien laisser derrière lui. Clustraly efface la ligne de registre et le dossier disque en une seule action, confinée et confirmée vous nettoyez sans risquer le reste de votre installation.

Retrait complet

Un plugin retiré ne laisse ni ligne fantôme ni fichier orphelin

Vous désinstallez, Clustraly nettoie les deux couches à la fois. La ligne disparaît de la table plugins et le dossier du plugin est effacé récursivement du disque, dans le même geste.

Résultat : aucune donnée résiduelle ne vient polluer la découverte suivante ni fausser l'état installé/actif affiché dans la liste des plugins.

  • Ligne de registre supprimée (table plugins)
  • Dossier du plugin effacé récursivement
  • Aucune entrée ni fichier orphelin
  • État installé/actif toujours fiable ensuite
Fonctionnement

Une route dédiée qui enchaîne registre puis disque

L'action passe par DELETE /admin/plugins/{slug}, protégée par jeton CSRF et par la permission plugins.manage. Elle appelle uninstall(), qui supprime d'abord la ligne (DELETE FROM plugins) puis efface le dossier via rrmdir().

L'ordre est volontaire : le registre d'abord, le disque ensuite. La désinstallation réussie s'affiche en message flash pour un retour immédiat.

  • Endpoint DELETE /admin/plugins/{slug}
  • Permission plugins.manage requise
  • Jeton CSRF exigé sur la mutation
  • Ordre déterministe : registre puis fichiers
Garde-fous

La suppression disque reste enfermée dans plugins/

Avant d'effacer quoi que ce soit, Clustraly vérifie que le realpath du dossier ciblé commence bien par celui du dossier plugins/. Si ce n'est pas le cas, rien n'est supprimé.

Les liens symboliques ne sont pas suivis pendant le parcours récursif : la porte aux évasions de chemin reste fermée, et le cœur comme l'application restent hors d'atteinte.

  • realpath confiné au dossier plugins/
  • Abandon total si la cible sort du périmètre
  • Liens symboliques jamais suivis
  • Protection contre les évasions de chemin
Vous décidez

Une confirmation avant l'effacement, une désactivation si vous hésitez

L'interface réclame une confirmation explicite avant de lancer la désinstallation, parce que l'effacement des fichiers est définitif. Vous validez en connaissance de cause, jamais par accident.

Envie de seulement suspendre un plugin ? La désactivation (bascule douce) conserve fichiers, données et migrations vous gardez le choix entre retirer pour de bon et mettre en pause.

  • Confirmation demandée avant l'action
  • Effacement des fichiers assumé comme définitif
  • Alternative réversible : la désactivation
  • Le choix retirer ou pause vous revient
Traçabilité

Chaque désinstallation réussie laisse une trace au journal

L'action réussie est auditée sous plugin.uninstall. Vous savez qui a retiré quel plugin et quand, même une fois les fichiers entièrement effacés.

L'historique d'administration reste lisible et vérifiable, ce qui compte quand plusieurs personnes gèrent la même installation.

  • Événement plugin.uninstall consigné
  • Qui, quoi et quand conservés
  • Historique lisible après nettoyage complet
Pourquoi ça compte

L'IA propose, vous gardez la main

Clustraly prépare un retrait propre et le confine au dossier plugins/, mais rien ne s'efface sans votre confirmation. À vous de choisir entre désinstaller définitivement ou simplement désactiver.

FAQ

Questions fréquentes

Que supprime exactement la désinstallation ?
Deux choses : la ligne du plugin dans la table plugins (le registre) puis, sur le disque, tout le dossier du plugin effacé récursivement. Rien n'est laissé de côté.
Peut-on effacer par erreur des fichiers situés hors du plugin ?
Non. La suppression n'agit que si le realpath du dossier ciblé commence par celui du dossier plugins/, et les liens symboliques ne sont jamais suivis pendant le parcours récursif.
La désinstallation se déclenche-t-elle d'un simple clic ?
Non. L'interface demande une confirmation explicite avant d'agir, car l'effacement des fichiers est définitif. Vous validez volontairement, l'IA n'agit jamais à votre place.
Quelle différence avec la désactivation ?
La désactivation est une bascule douce : elle arrête le chargement du plugin mais conserve fichiers, données et migrations. La désinstallation, elle, retire la ligne de registre et efface les fichiers.
Prêt à commencer ?

Retirez vos plugins sans dette technique

Un plugin qui ne sert plus mérite un départ net. Avec Clustraly, la désinstallation efface d'un même geste la ligne de registre et les fichiers, sous confirmation, confinée au dossier plugins/ et sans suivre les liens symboliques. Chaque retrait réussi est journalisé sous plugin.uninstall vous nettoyez votre installation en confiance, et vous gardez toujours la désactivation réversible sous la main.