Cleaner Module
Le module Cleaner est un outil développé pour supprimer les fichiers et dossiers anciens de certains répertoires spécifiques dans PrestaShop. Il est particulièrement utile pour nettoyer les fichiers générés automatiquement par des modules tels que des configurateurs ou des outils d'upload qui stockent des données inutilisées.
Fonctionnalités principales
Suppression des fichiers et dossiers ayant une date de modification dépassée (par exemple : plus de 6 mois).
Génération d'un historique des actions avec détails dans un fichier de logs.
Visualisation de l'historique directement dans le back-office sous forme de tableau.
Analyse des répertoires pour afficher :
Le nombre total de fichiers restants.
La date du fichier le plus ancien.
Téléchargement des logs via un bouton dans le back-office.
Installation
1. Prérequis
PrestaShop version 1.7.x ou supérieure.
Accès au répertoire
modules/
via FTP ou le gestionnaire de fichiers de votre serveur.
2. Étapes d'installation
Ajout du module :
Placez le dossier
cleaner
dans le répertoiremodules/
de votre installation PrestaShop.Le module doit contenir cette structure :
Activation du module :
Connectez-vous à votre back-office.
Allez dans Modules > Gestion des modules.
Recherchez "Cleaner" et cliquez sur Installer.
Placement de l'onglet :
Le module crée automatiquement un sous-onglet dans l'onglet Commandes, intitulé : "Suppression des images CV et TD de plus de X mois".
Fonctionnement
1. Paramétrage
Accédez à la page du module dans le back-office (sous l'onglet Commandes).
Remplissez le champ pour spécifier l'âge des fichiers à supprimer (en mois).
Cliquez sur le bouton Lancer le nettoyage.
2. Suppression des fichiers
Le module effectue les étapes suivantes :
Parcourt les répertoires spécifiés (par exemple,
/modules/configurateurvisuel/upload/compositions
et/modules/configurateurvisuel/upload/users
).Supprime les fichiers et dossiers dont la date de modification est supérieure à l'âge indiqué.
Calcule l'espace libéré et le nombre total d'éléments supprimés.
3. Historique et analyse
Après chaque action, les informations suivantes sont :
Stockées dans un fichier de logs :
modules/cleaner/logs/deletion_log.txt
.Affichées sous forme de tableau dans le back-office, comprenant :
La date de l'opération.
Un résumé des actions effectuées.
Le nombre total de fichiers restants dans chaque répertoire.
La date du fichier le plus ancien.
4. Téléchargement des logs
Un bouton permet de télécharger directement le fichier complet de logs pour archivage ou analyse.
Structure du code
1. Fichier principal : cleaner.php
cleaner.php
Ce fichier contient :
La logique principale du module :
Installation et désinstallation du module et de l'onglet.
Gestion du formulaire de configuration et des actions déclenchées.
Les méthodes importantes :
cleanOldFoldersAndFiles($months)
: Supprime les fichiers anciens.logDeletion($message)
: Écrit les logs.logRemainingFiles($directories)
: Analyse les fichiers restants.getLogsData()
: Transforme les logs en tableau lisible pour le back-office.renderLogsTable()
: Génère un tableau des logs dans le back-office.
2. Contrôleur Admin : AdminCleanerController.php
AdminCleanerController.php
Définit la gestion du module depuis l'administration PrestaShop.
Permet la connexion entre le tableau des logs et l'interface utilisateur.
Personnalisation
1. Modification des répertoires analysés
Les répertoires analysés peuvent être modifiés dans la méthode cleanOldFoldersAndFiles()
:
Ajoutez ou remplacez ces chemins par vos propres répertoires.
2. Intervalle d'analyse
Par défaut, l'intervalle d'analyse est spécifié par l'utilisateur via le formulaire (en mois).
La valeur est récupérée grâce à :
Utilisation avancée
1. Analyse des fichiers
Après chaque suppression, l’analyse fournit des informations sur :
Le nombre total de fichiers restants dans chaque répertoire.
La date du fichier le plus ancien.
Ces informations sont visibles dans :
Le tableau du back-office.
Le fichier de logs (
deletion_log.txt
).
2. Téléchargement des logs
Le bouton de téléchargement est directement disponible dans l'interface du module, permettant de récupérer un fichier texte contenant toutes les actions et analyses.
Exemple de Log
Voici un exemple de contenu du fichier deletion_log.txt
généré par le module :
Dépannage
1. Erreur : Jeton invalide
Si vous rencontrez un problème de jeton invalide, assurez-vous que :
Le contrôleur est bien défini dans
AdminCleanerController
.Le cache de PrestaShop est vidé après chaque modification.
2. Fichier de log non créé
Vérifiez :
Les permissions sur le répertoire
modules/cleaner/
.Les erreurs dans les logs PHP du serveur.
Voici le code source du module
Last updated