PS PrestaShop Débutant

Mode Maintenance & Coming Soon — Guide complet

Installer et configurer la page maintenance / coming soon : compte à rebours, accès testeurs IP et token, soft launch par pays, capture d'e-mails et réglages SEO.

Mis à jour Version du module 1.0.0

Mode Maintenance & Coming Soon (dfmaintenancepro) affiche une page d’attente designée aux visiteurs non autorisés — compte à rebours, capture d’e-mails, accès testeurs par IP ou token et soft launch par pays — sans jamais activer le mode maintenance natif de PrestaShop. La boutique reste techniquement en ligne : le back-office, les webhooks de paiement et les tâches planifiées continuent de fonctionner normalement.

Installation

  1. Dans le back-office, ouvrez Modules > Gestionnaire de modules > Installer un module.
  2. Téléversez l’archive dfmaintenancepro.zip puis cliquez sur Installer.
  3. Cliquez sur Configurer pour ouvrir le panneau du module.

L’installation crée la table dfmp_subscriber (e-mails capturés), enregistre l’onglet caché « Subscribers » et génère automatiquement un token d’accès unique. Aucun override n’est installé : le module s’appuie sur le seul hook actionDispatcherBefore.

Le module est désactivé par défaut après installation : configurez tranquillement votre page, prévisualisez-la, puis activez-la au moment voulu.

Panneau d’information

En haut de la page de configuration, un panneau récapitule l’essentiel :

  • Statut — badge vert « ACTIVE » quand la page est servie aux visiteurs, badge neutre sinon.
  • URL testeur — le lien https://votreboutique.com/?dfmp_token=XXXX à partager : il pose un cookie d’accès dans le navigateur du testeur.
  • Régénérer le token — invalide instantanément tous les cookies d’accès déjà accordés.
  • Prévisualiser — affiche la page de maintenance même si le module est désactivé (paramètre dfmp_preview).
  • E-mails capturés — accès direct à la liste des inscrits avec leur nombre.

Configuration générale

  • Activer la page de maintenance — l’interrupteur principal. Une fois activé, tous les visiteurs non autorisés voient la page d’attente.
  • Mode — « Coming soon (pré-lancement) » ou « Maintenance (indisponibilité temporaire) ». Ce choix ne change que le badge affiché sur la page ; le comportement SEO se règle dans la section SEO.
  • Date de lancement — format AAAA-MM-JJ HH:MM, fuseau horaire du serveur. Alimente le compte à rebours et l’en-tête Retry-After.
  • Afficher le compte à rebours — le compteur jours/heures/minutes/secondes se masque automatiquement une fois la date atteinte.

Accès de test (IP & token)

Whitelist IP

Une entrée par ligne (ou séparées par des virgules). Trois formats sont acceptés :

  • Adresses exactes IPv4 ou IPv6 : 82.64.12.7
  • Plages CIDR : 192.168.1.0/24 ou 2001:db8::/32
  • Wildcards IPv4 : 192.168.1.*

Lien testeur à token

Partagez l’URL affichée dans le panneau d’information. À l’ouverture, un cookie signé HMAC SHA-256 est posé dans le navigateur du testeur pour la durée configurée (72 heures par défaut) : il navigue ensuite dans la vraie boutique comme si de rien n’était. Le champ Durée du cookie d’accès contrôle cette validité.

Un lien a fuité ? Cliquez sur « Régénérer le token » : le token change et tous les cookies déjà posés deviennent invalides immédiatement.

Webhooks de paiement

L’option Autoriser les contrôleurs front des modules (activée par défaut) laisse passer toutes les requêtes fc=module : les IPN et callbacks de paiement (PayPal, Stripe, etc.) ne sont jamais bloqués, même en pleine maintenance.

Les employés connectés au back-office voient toujours la vraie boutique, sans aucune configuration : la session admin suffit.

Soft launch par pays

Ce mode transforme la page d’attente en outil de lancement progressif :

  1. Activez Soft launch.
  2. Renseignez les codes pays ISO 3166-1 alpha-2 autorisés, séparés par des virgules : FR,BE,CH,LU.
  3. Choisissez le comportement pour un pays indéterminé : afficher la page de maintenance (défaut, prudent) ou laisser entrer.

La détection du pays suit cet ordre :

  1. Headers de géolocalisation CDN : CF-IPCountry (Cloudflare), CloudFront-Viewer-Country (AWS), X-Vercel-IP-Country, X-Geoip-Country (nginx).
  2. Base GeoLite2 de PrestaShop si la géolocalisation est configurée dans Paramètres internationaux > Géolocalisation.

Sans CDN ni base GeoLite2, le pays ne peut pas être déterminé : tous les visiteurs suivent alors la règle « pays indéterminé ». Vérifiez votre configuration avant d’activer un soft launch en production.

Contenu & design

  • Titre, sous-titre, message — traduisibles langue par langue via les drapeaux ; le message accepte du HTML simple.
  • Logo — URL absolue d’une image (PNG/SVG conseillé). Vide, le nom de la boutique s’affiche en texte.
  • Couleurs — fond, accent (compte à rebours, bouton, badge) et texte, via les sélecteurs de couleur.
  • Réseaux sociaux — Facebook, Instagram, X, LinkedIn, YouTube : ne renseignez que ceux à afficher, les icônes SVG sont intégrées.
  • CSS personnalisé — injecté en fin de styles pour tout ajuster finement.

La page générée est 100 % autonome : CSS et JavaScript inline, aucune police ni script tiers, aucune requête externe. Elle respecte prefers-reduced-motion et s’adapte au mobile.

Utilisez le bouton « Prévisualiser la page de maintenance » à chaque ajustement : il fonctionne module désactivé, vous designez donc sans risque avant l’activation.

Capture d’e-mails

  • Activer la capture — affiche le formulaire sous le compte à rebours.
  • Placeholder, libellé du bouton, message de succès, mention RGPD — tous traduisibles par langue.

Le formulaire fonctionne en AJAX avec un champ honeypot invisible qui neutralise les bots. Chaque inscription enregistre l’e-mail, la langue, le pays détecté, l’IP et la date, avec unicité par adresse et par boutique.

Liste des inscrits et export CSV

Depuis le panneau d’information, ouvrez E-mails capturés : la liste se filtre par colonne, se trie, se nettoie en masse et s’exporte en CSV via le bouton Export CSV — prête à importer dans votre outil d’e-mailing le jour du lancement.

SEO

  • Code HTTP 503 (recommandé) — signale à Google une indisponibilité temporaire. L’en-tête Retry-After est calculé sur le temps restant jusqu’à la date de lancement (plafonné à 7 jours) ; sans date future, la valeur du champ Retry-After est utilisée.
  • Code HTTP 200 — pour une page coming soon durable et indexable.

Dans tous les cas, la page envoie une balise noindex, nofollow et des en-têtes no-cache : votre catalogue reste indexé, la page d’attente ne l’est pas.

Fonctionnement technique

À chaque requête front, le module évalue les autorisations dans cet ordre et laisse passer au premier succès :

  1. Employé connecté au back-office (cookie psAdmin).
  2. Paramètre dfmp_token valide dans l’URL (pose le cookie d’accès).
  3. Cookie d’accès signé encore valide.
  4. IP présente dans la whitelist.
  5. Pays autorisé si le soft launch est actif.

Sinon, la page de maintenance est rendue et l’exécution s’arrête avant le contrôleur front. Multiboutique : configuration et liste d’inscrits sont propres à chaque boutique.

Dépannage

  • Je vois toujours la boutique alors que le module est actif — vous êtes probablement connecté au back-office dans le même navigateur, ou un cookie d’accès est encore valide. Testez en navigation privée.
  • Un testeur voit la page de maintenance malgré le lien token — le token a peut-être été régénéré depuis l’envoi du lien ; renvoyez l’URL affichée dans le panneau d’information.
  • Le soft launch bloque tout le monde — aucun header CDN ni base GeoLite2 disponible : le pays est indéterminé et la règle par défaut bloque. Passez « Pays inconnu » sur « Autoriser » ou configurez la géolocalisation.
  • Le compte à rebours n’apparaît pas — vérifiez que la date de lancement est au format AAAA-MM-JJ HH:MM et située dans le futur.
  • Désinstallation — supprime la table des inscrits : exportez le CSV avant si vous souhaitez conserver les adresses.
Cette page vous a-t-elle été utile ?

Toujours bloqué ? Contactez le support