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.
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
- Dans le back-office, ouvrez Modules > Gestionnaire de modules > Installer un module.
- Téléversez l’archive
dfmaintenancepro.zippuis cliquez sur Installer. - 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êteRetry-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/24ou2001: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 :
- Activez Soft launch.
- Renseignez les codes pays ISO 3166-1 alpha-2 autorisés, séparés par des virgules :
FR,BE,CH,LU. - 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 :
- Headers de géolocalisation CDN :
CF-IPCountry(Cloudflare),CloudFront-Viewer-Country(AWS),X-Vercel-IP-Country,X-Geoip-Country(nginx). - 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-Afterest 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 :
- Employé connecté au back-office (cookie
psAdmin). - Paramètre
dfmp_tokenvalide dans l’URL (pose le cookie d’accès). - Cookie d’accès signé encore valide.
- IP présente dans la whitelist.
- 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:MMet située dans le futur. - Désinstallation — supprime la table des inscrits : exportez le CSV avant si vous souhaitez conserver les adresses.