Module professionnel pour les administrateurs de PrestaShop
Ce module complète le journal standard de PrestaShop avec des informations ultra-précises sur toutes les actions effectuées, y compris des informations sur les valeurs avant et après l'enregistrement de toutes les valeurs qui peuvent être modifiées dans le panneau d'administration de la boutique.
Le module gère d'énormes quantités de données et les stocke efficacement dans un système de repli à 4 niveaux : Redis → Mémoire → RAM → Fichier
Fonctionnalité
- Système de secours à 4 niveaux: Redis → Mémoire → RAM → Fichier
- Enregistrement des actions administratives: ajout, modification, suppression d'objets
- Enregistrement des actions API: identification des clés API
- Interface d'administration: navigation et filtrage des journaux
- Migration automatique: scripts CRON pour le traitement des journaux
- Efficacité: impact minimal sur les performances de la boutique
Journalisation automatique
- Objets: Produit, catégorie, commande, client, etc.
- Modules: installation/désinstallation
- Configuration: modification des paramètres de la boutique
- API: appels avec identification de la clé



Architecture de connexion
Niveaux de repli
- Redis (performances les plus élevées, recommandé)
RPUSH
des journaux dans la file d'attenteactivity_log
- Traitement asynchrone via cron
- Table mémoire MySQL (haute performance)
- Table
Ps_activity_log_buffer
(ENGINE=MEMORY) - Opérations rapides en RAM
- Table
- Tampon en mémoire (performance moyenne)
- Table PHP en mémoire tout au long de la requête
- Vidage à la fin de l'exécution
(shutdown
)
- Fichier NDJSON (fallback)
- Écriture dans
var/logs/activity_fallback.ndjson
- Migration via cron vers la base de données
- Écriture dans
Structure du journal
{"action" : "create|update|delete|config|install|uninstall", "object_type" : "Product", "object_id" : 123, "employee_id" : 1, "api_key" : "Bearer xyz...", "context" : "{"controller" : "AdminProducts", "object_name" : N "Produit test", {"product_reference" : "REF123", "product_active" : "1", "changed_fields" : "update_detected", "update_timestamp" : "2024-01-01 12:00:00", "ip_address" : "192.168.1.1", "user_agent" : "Mozilla/5.0...}", "created_at" : "2024-01-01 12:00:00" }
Contexte étendu pour différents objets
- Produit:
référence_produit
,produit_actif
- Catégorie:
catégorie_active
,catégorie_parent
- Commande:
état de la commande
,total de la commande
- Client:
customer_email
,customer_active
- Module:
nom_du_module
,version_du_module
,auteur_du_module
,nom_d'affichage_du_module
Suivi des modifications avant/après
Le module suit automatiquement les modifications au niveau du champ à l'aide de crochets Avant/Après :
- Crochets avant:
hookActionObjectUpdateBefore
,hookActionObjectDeleteBefore
- Crochets après:
hookActionObjectUpdateAfter
,hookActionObjectDeleteAfter
- Définitions du modèle d'objet: utilise
$definition['fields']
pour un suivi précis - Détection des changements: Comparaison des valeurs avant et après modification
Exemple de contexte de changement de champ :
{ "field_changes" : { "name" : { "from" : "Ancien nom de produit", "à" : "Nouveau nom de produit" }, "price" : { "from" : "Old product name", "to" : "New product name" }, "price" : { "from" : 19.99, "à" : 29.99 }, "actif" : { "from" : 0, "à" : 1 } } }
Visualisation des journaux
Dans le panneau d'administration, allez dans Paramètres avancés → Journaux d'activité:
- Filtrer par action, type d'objet, employé
- Recherche par date, ID de l'objet
- Détails du contexte de chaque journal
- État du stockage - informations sur les systèmes disponibles
Tests unitaires
Le module est équipé de tests unitaires automatiques qui rendent très probable son bon fonctionnement dans votre magasin.
Lancer les tests
cd modules/pshowlogger vendor/bin/phpunit
Couverture des tests
- ActivityLogger (singleton, logging, flush)
- StorageManager (fallbacks, opérations par lots)
- FileStorage (NDJSON, récupération, effacement)
- LogMigrator (migration, nettoyage)
Sécurité
- ID de l'employé: récupération automatique à partir du contexte PrestaShop
- Clé API: détection à partir des en-têtes d'autorisation
- Escape SQL: toutes les données sont échappées en toute sécurité
- Droits d'accès aux fichiers: droits d'accès appropriés pour les fichiers journaux
- Exclusions de classes: possibilité d'exclure des classes sensibles (par exemple EmployeeSession)
Exigences techniques
- PHP 7.1 - 8.x
- Extension serveur ionCube Loader
- PrestaShop Importer uniquement : PHP libxml version > 2.9.3
- PrestaShop Facebook Integrator uniquement : PHP 7.2 ou supérieur
- PrestaShop VAT Validator uniquement : PHP SOAP
Plus d'informations sur les exigences techniques dans la base de connaissances
Support = Mises à jour + HelpDesk
Vous bénéficiez d'un accès de 90 jours (3 mois) au support complet de PrestaShow.
Mises à jour des modules
Les modules vous informeront des mises à jour disponibles. Lisez le journal des modifications et effectuez une mise à jour du module en 1 clic directement depuis votre boutique.
Panneau HelpDesk
C'est le panneau où nous vous fournissons de l'aide. Sur le HelpDesk, vous pouvez signaler des problèmes, commander l'installation et la mise à jour gratuites de modules, ainsi que des modifications et des travaux de développement individuels.
Prolonger l'assistanc e
Une fois l'assistance expirée, vous pouvez utiliser le module sans aucune restriction. Vous pouvez prolonger votre accès à l'assistance à tout moment lorsque vous en avez besoin.
Base de connaissances et FAQ
Gratuit pour toujours
La base de connaissances est accessible à tous. Vous y trouverez la documentation du module ainsi que des instructions, des vidéos et des réponses aux questions fréquemment posées.
Licence à vie pour le module
- Vous pouvez utiliser le module sans limitation pour 1 magasin = 1 domaine.
- Vous pouvez utiliser un domaine supplémentaire, par exemple pour une copie de développeur.
- Pour une somme modique, vous pouvez changer vous-même le domaine du module.
Domaines supplémentaires pour Multistore
- Tous nos modules supportent PrestaShop Multistore.
- La prise en charge d'un nombre illimité de domaines pour PrestaShop Multistore nécessite l'achat du support multistore pour le module.
Modifier le code
- Le code du module relatif à l'intégration avec la boutique et la conception (.tpl, .css, .js) est open source et vous êtes libre de le modifier.
- Le code source du module (.php) est crypté avec ionCube et sa modification annule la garantie.
Démo - tester le module
- Vous pouvez tester le module dans notre boutique de démonstration.
- Vous trouverez le lien vers la boutique de démonstration dans la partie supérieure du site ⬆️.
- Si vous avez des problèmes avec le fonctionnement de la démo, veuillez nous contacter.
Aucune entrée pour le moment.
Pas d'avis de clients pour le moment.