PS PrestaShop Débutant

Vente Flash & Compte à rebours — Guide complet

Installer, configurer et exploiter les ventes flash : planification automatique des remises via prix spécifiques, compte à rebours synchronisé serveur, bannière sticky, ciblage et mode evergreen pour PrestaShop 8 et 9.

Mis à jour Version du module 1.2.0

Présentation et prérequis

Vente Flash transforme vos promotions en véritables ventes flash à durée limitée. Vous programmez une campagne sur une fenêtre de dates ; le module applique la remise automatiquement via les prix spécifiques natifs de PrestaShop et affiche un compte à rebours synchronisé sur l’heure du serveur. Le tarif promotionnel s’applique donc partout (fiche produit, listings, panier et e-mails), sans aucune modification de votre thème.

  • Compatible PrestaShop 8.0 à 9.x, thème Classic et thèmes dérivés.
  • PHP 7.4 à 8.3.
  • Multiboutique et multilingue (FR/EN/ES/DE/IT/PL/NL/PT).
  • Aucune tâche CRON requise : l’activation et la coupure de la remise sont pilotées par les dates du prix spécifique.
  • Architecture conforme PrestaShop (ModuleAdminController, ObjectModel), autoloader PSR-4 sans dépendance Composer.

La remise est poussée dans un prix spécifique dont la fenêtre from / to correspond aux dates de la campagne. PrestaShop l’active et la retire seul, à la seconde près.

Installation

Installez le module comme n’importe quel module PrestaShop :

  1. Téléchargez l’archive dfflashsale.zip depuis votre compte client.
  2. Dans le back-office, allez dans Modules > Gestionnaire de modules.
  3. Cliquez sur Installer un module et déposez l’archive.
  4. Une fois installé, gérez vos campagnes depuis Catalogue > Ventes flash.

À l’installation, le module crée ses tables (campagnes, ciblages, mapping des prix spécifiques), enregistre ses hooks d’affichage et ajoute l’onglet Ventes flash sous Catalogue.

Réglages généraux du module

La page de configuration (Configurer depuis le gestionnaire de modules) regroupe les réglages globaux, communs à toutes les campagnes :

  • Synchroniser le compte à rebours sur le serveur : cale l’horloge sur l’heure serveur (recommandé). Voir la section dédiée.
  • Décaler le contenu de la page (push body) : ajoute automatiquement une marge pour que la bannière sticky ne recouvre jamais le contenu.
  • Afficher la bannière sur mobile : active ou masque la bannière sur les petits écrans.
  • Z-index de la bannière : niveau d’empilement de la bannière, à augmenter si un élément de votre thème passe au-dessus.

Créer une campagne de vente flash

Depuis l’onglet Catalogue > Ventes flash, cliquez sur Ajouter une campagne. Le formulaire est organisé en panneaux.

Général

  • Nom : identifiant interne de la campagne (libre).
  • Active : active ou suspend la campagne.
  • Date de début / fin : fenêtre d’activité. La remise et le compte à rebours s’appuient sur ces dates.
  • Priorité : si plusieurs campagnes ciblent un même produit, celle dont la priorité est la plus élevée l’emporte pour l’affichage.
  • Boutiques : en multiboutique, sélectionnez les boutiques concernées.

Remise

  • Type de remise : Pourcentage (ex. -30 %) ou Montant fixe (ex. -15 €).
  • Valeur : le pourcentage ou le montant de la remise.
  • Devise : pour une remise en montant fixe, la devise de référence.
  • Taxe : indique si le montant fixe s’entend taxe comprise ou hors taxe.

La remise est appliquée via les prix spécifiques : elle se cumule avec les règles de prix natives de PrestaShop selon leur priorité, et s’affiche dès le panier.

Ciblage

Choisissez l’étendue de la campagne :

  • Tout le catalogue : la remise s’applique à tous les produits.
  • Catégories : sélectionnez une ou plusieurs catégories. L’option Inclure les sous-catégories étend la remise à toute l’arborescence.
  • Produits : recherchez et sélectionnez des produits précis (recherche par nom, référence ou identifiant).
  • Marques : sélectionnez un ou plusieurs fabricants. Tous leurs produits sont inclus automatiquement, y compris ceux ajoutés après la création de la campagne.

Affichage

  • Bannière à compte à rebours : affiche la barre promotionnelle globale.
  • Position de la bannière : haut ou bas de page.
  • Bannière fixe (sticky) : maintient la bannière visible au défilement.
  • Afficher sur les fiches produit : ajoute un encart de compte à rebours sous le prix.
  • Afficher sur l’accueil : ajoute un bloc promotionnel sur la page d’accueil.
  • Badge sur les visuels produit : affiche le nom de la campagne par-dessus la photo, dans les listes et sur la fiche produit.
  • Teaser avant le démarrage : affiche un compte à rebours « démarre dans… » avant la date de début.
  • À la fin du compte à rebours : masquer l’élément ou afficher un message de fin.

Apparence et textes

Le panneau Apparence permet de régler la couleur de fond, la couleur du texte et la couleur d’accent, ainsi que le lien du bouton d’appel à l’action (CTA). Le panneau Textes regroupe les libellés traduisibles : titre et sous-titre de la bannière, texte du bouton et message de fin, saisissables pour chaque langue de la boutique.

Comment fonctionne la planification

Lorsque vous enregistrez une campagne, le module crée les prix spécifiques correspondant au ciblage : un prix spécifique global (produit 0) pour « tout le catalogue », ou un prix spécifique par produit pour les ciblages catégories et produits. La fenêtre de validité de chaque prix spécifique est calée sur les dates de début et de fin de la campagne.

PrestaShop active et désactive donc la remise tout seul, à la seconde, sans tâche planifiée. Les identifiants des prix spécifiques créés sont mémorisés dans une table de correspondance afin d’être retirés proprement à la modification, à la suppression de la campagne ou à la désinstallation.

Pour un ciblage par catégories avec sous-catégories, la liste des produits est résolue à l’enregistrement par parcours de l’arborescence (nleft / nright). Pensez à ré-enregistrer la campagne si vous réorganisez vos catégories.

Le compte à rebours synchronisé serveur

Le compte à rebours est calé sur l’heure du serveur, pas sur celle du visiteur. À l’affichage, le module transmet l’horodatage serveur et la date de fin ; le script calcule un décalage entre l’heure serveur et l’heure locale, puis décompte localement à partir de ce décalage.

Résultat : un visiteur qui avance ou recule l’horloge de son ordinateur ne fausse pas le minuteur. Aucun appel réseau répété n’est nécessaire, le décompte reste fluide et juste pour tout le monde.

Vous pouvez désactiver la synchronisation serveur dans les réglages généraux ; le compte à rebours se base alors sur l’heure locale du navigateur.

Le badge sur les visuels produit

L’option Badge sur les visuels produit affiche le nom de la promotion directement sur l’image du produit, aussi bien dans les listes de catégorie que sur la fiche produit. C’est le bon outil pour signaler visuellement une opération nommée, par exemple BLACK FRIDAY.

Le libellé se saisit dans le panneau Textes, champ Texte du badge produit, pour chaque langue. S’il est laissé vide, le module reprend le titre de la bannière. La couleur du badge est celle définie comme couleur d’accent de la campagne.

Techniquement, le badge est ajouté aux flags natifs de PrestaShop, ceux qui servent déjà à afficher les étiquettes « Nouveau » ou « -30% ». Il est donc positionné et stylé par votre thème, sans surcharge de template.

Le badge n’apparaît que pendant la période active de la campagne. En mode teaser, avant la date de début, il reste masqué afin de ne pas annoncer une remise qui n’est pas encore appliquée.

Zone d’affichage et taille de la bannière

Depuis la version 1.2.0, deux réglages du panneau Affichage contrôlent où la bannière apparaît et la place qu’elle occupe. Ils se règlent campagne par campagne.

Afficher la bannière sur

  • Tout le site : la bannière s’affiche sur toutes les pages. C’est la valeur par défaut, conservée pour les campagnes créées avant la 1.2.0.
  • Pages concernées par la promotion : fiches des produits ciblés et pages des catégories ou marques ciblées. Une campagne sur tout le catalogue reste visible partout.
  • Fiches des produits en promotion uniquement : la bannière n’apparaît que sur la fiche d’un produit couvert par la campagne.

Sur une page où la campagne prioritaire n’est pas autorisée, le module passe à la campagne suivante par priorité. Vous pouvez ainsi réserver une bannière à une marque et garder une bannière générique sur le reste du site.

Pour une campagne ciblée par produits, la zone « Pages concernées » se limite aux fiches de ces produits : les pages de catégorie qui les contiennent n’affichent pas la bannière.

Taille de la bannière

  • Standard : titre, sous-titre et compte à rebours avec libellés (Jours, Heures, Min, Sec). Environ 56 px de haut sur ordinateur.
  • Compacte : compte à rebours sans libellés au format 2j 14:05:33. Environ 35 px sur ordinateur et 55 px sur mobile, contre 128 px en Standard.
  • Mini (une seule ligne) : bandeau d’une ligne d’environ 26 px, sous-titre masqué et titre tronqué si la place manque. Le format le plus discret sur mobile.

En Compacte et en Mini, l’unité des jours disparaît quand il reste moins de 24 heures.

Le mode evergreen

Le mode evergreen transforme la campagne en minuteur perpétuel individuel : chaque visiteur dispose de sa propre échéance, déclenchée à sa première visite et fondée sur une durée en minutes que vous définissez. L’échéance est conservée localement (localStorage) afin de rester cohérente entre les pages et les visites.

En mode evergreen, le compte à rebours est propre à chaque visiteur et ne correspond pas à la fenêtre de remise réelle. Utilisez-le pour des messages d’urgence personnalisés plutôt que pour signaler une fin de promotion commune.

Multilingue et multiboutique

Tous les libellés (titre, sous-titre, bouton, message de fin) sont traduisibles par langue. En multiboutique, chaque campagne peut être restreinte à certaines boutiques, et les prix spécifiques sont créés par boutique. Une même campagne peut ainsi viser une boutique précise sans impacter les autres.

FAQ et dépannage

La remise ne s’applique pas

Vérifiez que la campagne est active, que la date du jour est comprise entre la date de début et la date de fin, et qu’elle concerne la boutique courante. Pour un ciblage par catégories, assurez-vous d’avoir ré-enregistré la campagne après toute réorganisation de l’arborescence.

La bannière recouvre mon menu ou mon contenu

Activez l’option Décaler le contenu de la page (push body) dans les réglages généraux. Si un élément de votre thème passe au-dessus de la bannière, augmentez la valeur du z-index.

Le compte à rebours affiche une heure incohérente

Assurez-vous que l’heure de votre serveur est correcte et que l’option de synchronisation serveur est active. Le minuteur se cale sur l’heure serveur, indépendamment de l’horloge du visiteur.

Plusieurs campagnes ciblent le même produit

L’affichage retient la campagne de plus haute priorité. Côté remise, c’est la logique de priorité des prix spécifiques de PrestaShop qui s’applique.

Le badge n’apparaît pas sur les photos

Vérifiez d’abord que l’option Badge sur les visuels produit est activée sur la campagne et que la date de début est passée. Si le badge reste absent après un vidage du cache, ouvrez la page de configuration du module ou l’onglet Catalogue > Ventes flash : le module vérifie alors ses hooks et réenregistre ceux qui manquent. Ce cas se produit après une mise à jour effectuée par simple remplacement de fichiers, qui n’exécute pas le script de mise à jour.

Que se passe-t-il à la désinstallation ?

La désinstallation retire l’ensemble des prix spécifiques créés par le module via sa table de correspondance, supprime ses hooks et son onglet, et nettoie ses tables. Vos prix d’origine sont intégralement restaurés.

Cette page vous a-t-elle été utile ?

Toujours bloqué ? Contactez le support