Nettoyeur de plugin

:information_source: Résumé Analyse, audite et nettoie en toute sécurité les résidus de base de données orphelins laissés par les plugins désinstallés.
:hammer_and_wrench: Lien vers le dépôt GitHub - canbekcan/discourse-plugin-cleaner · GitHub
:open_book: Guide d’installation Comment installer des plugins dans Discourse
:computer: Codage Vibe Coding - Gemini

![Screenshot 2026-03-29 at 04.57.52|690x404](upload://8sCSzrLcoN2qM3GO7zgz0Vz8f1w.png)

Fonctionnalités

Lorsque vous désinstallez un plugin Discourse, il laisse souvent des données cachées dans votre base de données. Avec le temps, ces « résidus » peuvent encombrer votre base de données et compliquer la maintenance du site. Discourse Plugin Cleaner est un outil d’administration complet conçu pour identifier et supprimer en toute sécurité ces données orphelines.

Les principales fonctionnalités incluent :

  • Analyse approfondie : Analyse plusieurs tables de base de données, notamment les champs personnalisés (Utilisateur, Sujet, Publication, Catégorie, Groupe), les paramètres des plugins, les thèmes, les badges, les clés API, les webhooks, les groupes de balises et les téléversements.
  • Mode d’audit sécurisé (zéro suppression automatique) : Le plugin fonctionne strictement comme un outil d’audit jusqu’à ce que vous preniez des mesures. Il ne supprimera jamais automatiquement de données. Vous devez sélectionner et confirmer manuellement les éléments que vous souhaitez supprimer.
  • Évaluation des risques : Attribue automatiquement un « niveau de risque » (Critique, Élevé, Moyen, Faible, OK) aux éléments détectés pour aider les administrateurs à prendre des décisions éclairées sur ce qui peut être supprimé en toute sécurité.
  • Suivi de l’historique des versions : Prend des instantanés de vos plugins installés au démarrage. Si un plugin est supprimé, il enregistre le changement d’état, créant un historique de ce qui a été désinstallé et quand.
  • Interface d’administration moderne : Fournit un tableau de bord élégant et intuitif construit avec des composants en mode strict Ember pour une intégration transparente dans l’interface d’administration de Discourse.

Configuration

Le plugin fonctionne immédiatement avec des paramètres par défaut raisonnables. Pour utiliser le plugin :

  1. Accéder au tableau de bord : Accédez à votre tableau de bord d’administration Discourse. Dans la barre latérale, sous la section Plugins, cliquez sur Plugin Cleaner.
  2. Lancer une analyse : Cliquez sur le bouton « Lancer une analyse approfondie ». Le système interrogera votre base de données et générera un rapport en temps réel de toutes les données orphelines qu’il trouve.
  3. Examiner les problèmes : Parcourez les onglets catégorisés (Champs personnalisés, Paramètres des plugins, etc.). Portez une attention particulière aux colonnes Risque et Statut.
  4. Sélectionner et nettoyer : Cochez les cases à côté des éléments orphelins que vous souhaitez supprimer.
  5. Confirmer la suppression : Cliquez sur « Supprimer les éléments sélectionnés ». Vous serez invité à confirmer une dernière fois avant que les données ne soient définitivement effacées. Toutes les suppressions sont automatiquement enregistrées dans les journaux d’action du personnel de Discourse pour des raisons d’audit de sécurité.

(Note pour les téléversements : Si des téléversements orphelins sont détectés, le plugin vous indiquera d’exécuter rake uploads:clean depuis la console de votre serveur pour récupérer physiquement l’espace disque).

Paramètres

Vous pouvez personnaliser la rigueur de l’analyseur via les paramètres de votre site.

Nom Description
plugin_cleaner_orphan_threshold Le nombre maximum d’enregistrements qu’un champ personnalisé peut avoir pour être considéré comme « orphelin ». Si un champ personnalisé a moins d’enregistrements que ce seuil, il sera signalé pour examen. (Par défaut : 5, Min : 1, Max : 100)
plugin_cleaner_stale_api_key_days Le nombre de jours pendant lesquels une clé API doit rester inutilisée avant que l’analyseur ne la signale comme obsolète/orpheline. (Par défaut : 90 jours, Min : 7, Max : 365)
plugin_cleaner_stale_upload_days Le nombre de jours pendant lesquels un téléversement non lié peut exister avant d’être signalé comme orphelin. (Par défaut : 30 jours, Min : 1, Max : 365)

(Note : Il s’agit du projet pour comprendre comment fonctionnent les plugins Discourse)

2 « J'aime »

De nombreux bons plugins créent et gèrent leurs propres tables. En examinant votre code, je ne suis pas certain que vous en ayez déjà tenu compte ?

Votre défi est que, une fois le plugin supprimé, la migration disparaît.