Caractéristiques et avantages du module
- Panneau déclenché par le mouvement de la souris au-delà du bord supérieur de la page (dit exit intent) avec un délai réglable de 0 à 60 secondes, et sur les appareils tactiles après un temps défini sans toucher ni défilement.
- Le coupon est une règle panier PrestaShop : il n’est pas nécessaire de configurer quoi que ce soit en double, et la liste dans le module n’affiche que les règles qui peuvent fonctionner pour chaque client — actives, avec code, non attribuées à un seul client, avec des utilisations disponibles et non expirées.
- Le code du coupon est visible dans le panneau dans un encadré avec le bouton « Copier le code » ; le client peut aussi passer à la commande avec le coupon déjà ajouté au panier.
- Ajout du coupon à la fermeture du panneau de n’importe quelle manière (croix, touche Échap, clic à côté, « Continuer les achats » ou produit de la barre) ainsi que redirection optionnelle vers le panier pour que le client voie immédiatement la remise.
- Le client avec un panier vide reçoit un code à utiliser plus tard, et le client qui utilise déjà un code promo peut ne pas en recevoir un autre — les remises automatiques de la boutique sans code (par ex. livraison gratuite à partir d’un montant) ne sont pas considérées comme un coupon client.
- Le panneau tient compte des règles du coupon : il n’est pas proposé aux clients dont le panier ne remplit pas le montant minimum du coupon, aux clients hors des groupes du coupon ni lorsque le coupon a atteint sa limite d’utilisations ; après modification du panier sur la page sans rechargement, le module vérifie à nouveau les conditions.
- Barre « Derniers produits consultés » avec les produits que le client a parcourus pendant la visite (jusqu’à huit, uniquement actifs et visibles pour son groupe), sans bibliothèques de carrousel.
- Le contenu du panneau passe par une liste blanche HTML — les scripts, événements, cadres et liens javascript sont rejetés, et l’en-tête du module informe lorsque le contenu dans l’une des langues a été rejeté ou est vide.
- Le style du panneau est imprimé avec lui : aucune requête supplémentaire au serveur pour une feuille CSS, et le script front est en JavaScript pur sans jQuery, compatible avec les thèmes Classic et Hummingbird.
- Les requêtes du panneau vers la boutique (ajout du coupon, comptage de l’affichage, nouvelle vérification des conditions) exigent la méthode POST et un jeton attribué au cookie du visiteur, afin que personne ne puisse modifier le panier d’un autre.
- Statistiques sans données personnelles : affichage compté une fois par visiteur et par jour, ajout du coupon une fois par panier, commandes comptabilisées à partir des commandes de la boutique pour le coupon actuellement sélectionné.
- En-tête du module avec état de fonctionnement : coupon sélectionné avec date de validité et nombre d’utilisations restantes, résultats des 30 derniers jours et avertissements, par ex. lorsque le coupon expire dans la semaine, qu’aucune page n’a été sélectionnée, que le mode test est activé ou que le panneau n’affiche pas le code.
- Aperçu du panneau depuis le panneau d’administration : un lien signé ouvre la boutique avec le panneau affiché immédiatement selon les paramètres enregistrés, fonctionne pendant deux heures, ne comptabilise rien et n’ajoute pas le coupon.
- L’image de fond téléversée depuis le panneau (JPG, PNG, GIF ou WebP jusqu’à 2 Mo) est placée dans le répertoire img/pdvoucheronexit/ de la boutique, de sorte que la mise à jour du module ne la supprime pas ; au lieu d’un fichier, il est possible d’indiquer une adresse https:// ou un chemin dans la boutique.
- Chaque onglet s’enregistre séparément, le formulaire demande confirmation avant de quitter un onglet avec des modifications non enregistrées, et les erreurs indiquent le champ précis sans perte des valeurs saisies.
- Prise en charge complète du multiboutique : paramètres pour toutes les boutiques, un groupe de boutiques ou une boutique unique avec héritage des valeurs, statistiques et images par boutique, liste des coupons tenant compte de la boutique.
- Polonais et anglais inclus ; tous les textes du panneau et de la configuration peuvent être modifiés dans les traductions du panneau d’administration sur chaque version prise en charge de PrestaShop.
- Sans Composer, sans bibliothèques externes et sans connexions à des services tiers.
Comment fonctionne le panneau dans la boutique
- Le client parcourt une page de la liste sélectionnée dans les paramètres (par ex. page produit, catégorie ou panier). Le module vérifie si le panneau lui est applicable : le coupon est disponible, la campagne est en cours, le panier et le visiteur remplissent les conditions, et le panneau n’a pas déjà été affiché pendant la période définie.
- Lorsque le curseur sort par le bord supérieur de la fenêtre (ou sur téléphone lorsque le temps d’inactivité défini s’écoule), après le délai, un panneau coulissant apparaît avec le contenu, le code du coupon et les boutons « Passer à la commande » et « Continuer les achats ».
- Le client copie le code avec le bouton ou clique sur « Passer à la commande » : le module vérifie le coupon selon les règles PrestaShop, l’ajoute au panier et redirige le client vers le panier. Si le coupon ne peut pas être utilisé avec le panier actuel, le client voit un message compréhensible et le panneau reste ouvert.
- Lorsque l’option d’ajout du coupon à la fermeture du panneau est activée, le coupon est également ajouté au panier si le client ferme le panneau avec la croix ou la touche Échap ; la boutique peut alors, en option, le rediriger vers le panier.
- Le panneau enregistre dans un cookie qu’il a été affiché et ne revient pas pendant le nombre de jours défini. L’affichage, l’ajout du coupon et la commande ultérieure avec ce coupon sont enregistrés dans les statistiques.
Fonctionnalités principales du module
- Onglet Coupon : interrupteur principal du panneau, sélection du coupon dans la liste des règles panier avec liens pour créer un nouveau coupon et modifier celui enregistré, dates de début et de fin de campagne (une date sans heure est valable jusqu’à la fin de la journée), ajout du coupon à la fermeture du panneau, redirection vers le panier après fermeture et interrupteur des statistiques.
- Où — pages : liste des types de pages avec sélection de toutes ou d’aucune : page d’accueil, produits, catégories, panier et commande (y compris dans les modules de commande sur une seule page), recherche, promotions, nouveautés, meilleures ventes, marques, fournisseurs, pages CMS, contact, connexion et inscription, compte client, plan du site et page 404.
- Pour qui — panier et visiteur : uniquement avec panier non vide ou aussi avec panier vide (le client reçoit un code pour plus tard), valeur minimale des produits dans le panier dans la devise par défaut de la boutique, masquage du panneau lorsqu’un coupon avec code est déjà dans le panier, visiteurs tous / uniquement non connectés / uniquement connectés ainsi que limitation aux groupes de clients sélectionnés — avec avertissement lorsque ces conditions se contredisent.
- À quelle fréquence — déclencheur : délai d’apparition du panneau en millisecondes, nombre de jours après lesquels le même client verra à nouveau le panneau (1–365), mode test affichant le panneau à chaque sortie de page ainsi que temps d’inactivité sur les appareils tactiles en secondes (0 = jamais sur tactile).
- Contenu du panneau : éditeur HTML distinct pour chaque langue avec les marqueurs {voucher_code}, {voucher_name}, {voucher_discount}, {voucher_expiry} et {voucher_minimum} ; remise affichée en pourcentage, en montant dans la devise du client ou en « livraison gratuite » ; bouton de chargement du contenu par défaut.
- Apparence : glissement depuis la droite, depuis la gauche ou fenêtre au centre de l’écran (sur les écrans étroits, pleine largeur), largeur de 200 à 1200 px, taille et couleur du texte, couleur des liens, couleur de fond, image de fond avec répétition et ajustement (remplir, contenir, taille d’origine), encadré avec le code et le bouton « Copier le code » ainsi que barre des derniers produits consultés — chaque élément avec son propre interrupteur.
- Statistiques : périodes de 7, 30, 90 et 365 jours ; affichages du panneau, ajouts du coupon depuis le panneau, efficacité (ajouts/affichages), commandes avec coupon (payées ou validées) et leur valeur brute dans la devise par défaut de la boutique, tableau jour par jour ainsi que bouton de remise à zéro des compteurs sans effet sur les commandes.
- Messages pour le client : textes distincts lorsque le coupon exige un produit dans le panier, lorsqu’il n’est pas compatible avec le panier actuel, lorsque la session a expiré ou que la connexion a été interrompue ; tous modifiables dans les traductions.
- Accessibilité : le panneau est une boîte de dialogue avec capture du focus clavier, fermable avec la touche Échap et par clic à côté, avec descriptions des boutons pour les lecteurs d’écran et limitation des animations lorsque l’option de réduction des mouvements est activée dans le système.
- Autorisations des employés : la configuration du module exige le droit « Configurer » sur le module dans chaque version de PrestaShop, et chaque enregistrement est protégé par un jeton de formulaire.
Usage commercial
- Récupération des paniers abandonnés : coupon proposé exactement au moment où le client avec des produits dans le panier s’apprête à quitter la boutique, avec passage direct à la commande.
- Obtention des premiers achats de nouveaux visiteurs : code pour une première commande destiné aux non-connectés, y compris avec panier vide.
- Campagnes temporaires : promotion limitée par des dates, par ex. pour le week-end ou la fin de saison, sans activation ni désactivation manuelle du module.
- Offres pour des groupes de clients sélectionnés, par ex. coupon uniquement pour les clients grossistes ou uniquement pour les clients particuliers.
- Boutiques avec plusieurs vitrines, dans lesquelles chaque boutique a un coupon différent, des pages différentes et un contenu de panneau différent.
Mise à jour depuis la version 1.0.x
- Les paramètres de la version 1.0.x sont conservés : coupon sélectionné, pages, couleurs, largeur, image de fond et contenu du panneau ; les nouvelles options reçoivent des valeurs par défaut.
- Le contenu enregistré en 1.0.x passe par la même liste blanche HTML que les nouveaux contenus ; s’il contient déjà le marqueur {voucher_code}, l’encadré avec le code est désactivé afin que le code n’apparaisse pas deux fois.
- L’image de fond de la version 1.0.x est déplacée vers le répertoire img/pdvoucheronexit/ de la boutique, et les fichiers de la version précédente (bibliothèques de carrousel et de déclencheur, contrôleur de styles séparé) sont supprimés.
- Sur PrestaShop 8 et 9, la mise à jour du module se lance dans le gestionnaire de modules ; la mise à jour peut être répétée en toute sécurité sans annuler les décisions commerciales prises ultérieurement.
Ce que le module ne fait pas
- Il ne crée pas de coupons et ne génère pas de codes à usage unique — il utilise les règles panier créées dans PrestaShop et propose un seul coupon sélectionné.
- Il ne collecte pas d’adresses e-mail et n’envoie pas de messages ; le panneau ne contient pas de formulaire d’inscription à la newsletter.
- Il n’enregistre pas de données personnelles des visiteurs — les compteurs statistiques sont des totaux journaliers par boutique.
- Il ne contourne pas les règles du coupon : si PrestaShop rejette le coupon pour un panier donné (montant minimum, restrictions produit, cumul avec d’autres remises, limite d’utilisations), le module ne l’ajoute pas.
- Il ne modifie pas le thème ni les modèles de commande ; le panneau est imprimé via les hooks de pied de page standard de PrestaShop.
Compatibilité
- PrestaShop : 1.7 – 9.x
- PHP : 7.0 – 8.5
- Thèmes : Classic et Hummingbird (script sans jQuery), ainsi que d’autres thèmes utilisant les hooks de pied de page standard
- Sans Composer et sans bibliothèques externes
- Multiboutique : oui, paramètres pour toutes les boutiques, un groupe de boutiques ou une boutique unique
- Multilingue : oui, contenu du panneau distinct pour chaque langue ; polonais et anglais inclus, autres langues à traduire dans le panneau d’administration