DataFirefly PWA — Guide complet
Installer, configurer et exploiter la PWA : boutique installable, notifications push web, relance panier par cron et mode hors-ligne pour PrestaShop 8 et 9.
Présentation
Le module DataFirefly PWA (dfpwa) transforme votre boutique PrestaShop en Progressive Web App : vos clients peuvent l’installer sur leur écran d’accueil, recevoir des notifications push web et continuer à naviguer même hors connexion. Le module est entièrement autonome : le chiffrement des notifications est géré en PHP natif, sans Composer, sans service tiers et sans abonnement.
Trois piliers : une boutique installable (icône sur l’écran d’accueil), des notifications push (campagnes, suivi de commande, relance panier) et un mode hors-ligne (service worker + page de repli).
Compatibilité
- PrestaShop 8.0 à 9.x
- Mono-boutique et multi-boutique
- 5 langues : FR, EN, ES, DE, IT
- Aucune dépendance (ni Composer ni framework)
Prérequis
- HTTPS obligatoire : les PWA et le push web ne fonctionnent que sur une boutique servie en HTTPS. La quasi-totalité des boutiques en production en disposent déjà.
- Extension PHP openssl : utilisée pour le chiffrement VAPID des notifications. Le module vérifie sa présence à l’installation.
Si openssl ou la courbe prime256v1 ne sont pas disponibles sur votre serveur, l’installation est bloquée avec un message explicite. Contactez votre hébergeur pour activer l’extension.
Installation
- Dans le back-office, ouvrez Modules > Gestionnaire de modules.
- Cliquez sur Installer un module puis sélectionnez le fichier
dfpwa.zip. - Une fois installé, cliquez sur Configurer.
À l’installation, le module génère automatiquement vos clés VAPID (publique et privée) et un jeton de cron, crée les tables des abonnements et du journal d’envois, et enregistre la page de configuration des campagnes dans le menu d’administration.
Configuration
Application (PWA)
- Nom de l’application et nom court : affichés sous l’icône une fois la boutique installée.
- Couleur du thème et couleur de fond : utilisées pour la barre système et l’écran de démarrage.
- Mode d’affichage : standalone (plein écran, recommandé), fullscreen ou minimal-ui.
- URL de démarrage : page ouverte au lancement de l’application installée.
- Icônes 192 et 512 px : téléchargez vos propres icônes (PNG ou WebP). À défaut, le logo de la boutique est utilisé automatiquement.
Bannière d’installation
- Afficher la bannière : propose l’installation aux visiteurs éligibles.
- Délai d’affichage : nombre de secondes avant l’apparition de la bannière, pour ne pas gêner l’arrivée sur le site.
- Aide iOS : affiche un guide pas-à-pas « Ajouter à l’écran d’accueil » pour les utilisateurs de Safari sur iPhone et iPad.
Sur iOS, l’installation ne peut pas être déclenchée automatiquement par le site : elle passe obligatoirement par le menu de partage de Safari. Le guide intégré explique chaque étape au visiteur.
Notifications push
- Activer le push : autorise l’inscription et l’envoi de notifications.
- Consentement préalable : affiche un message explicite avant la demande native du navigateur, conforme au RGPD.
- Délai avant la demande : temps d’attente avant de proposer l’inscription au push.
- Sujet VAPID : adresse de contact (mailto ou URL) transmise aux serveurs de push, conformément à la spécification.
- Notification au changement de statut de commande : prévient automatiquement le client (commande expédiée, par exemple).
- Relance des paniers abandonnés et délai de relance : déclenche une notification après un panier laissé sans commande.
Mode hors-ligne
- Activer le mode hors-ligne : enregistre le service worker et la page de repli.
- Stratégie de cache : stale-while-revalidate (affichage immédiat puis mise à jour en arrière-plan, recommandé), réseau-d’abord ou cache-d’abord.
- Titre et message hors-ligne : textes affichés sur la page de repli.
- Pré-cache : liste d’URL à mettre en cache dès l’installation du service worker.
Les pages sensibles (panier, tunnel de commande, compte client) sont toujours exclues du cache afin de ne jamais servir de contenu périmé sur des données personnelles ou transactionnelles.
Partage
Activez le bouton de partage natif pour permettre à vos clients de partager une fiche produit via la fenêtre de partage de leur appareil (Web Share API). Ajoutez l’attribut data-dfpwa-share à n’importe quel élément de votre thème pour en faire un déclencheur de partage.
Notifications push : fonctionnement
Le module implémente le push web standard (VAPID + chiffrement conforme aux RFC 8291 et 8188), entièrement en PHP via openssl. Aucune donnée d’abonnement ne quitte votre serveur.
Envoyer une campagne
- Ouvrez la page Campagnes push dans le menu d’administration.
- Saisissez un titre, un message et une URL de destination.
- Ciblez par langue et par groupe de clients si nécessaire.
- Utilisez le mode test pour vous envoyer la notification avant un envoi de masse, puis validez.
Les notifications sont envoyées en parallèle par lots, et les abonnements expirés (codes 404 / 410) sont automatiquement purgés. Chaque envoi est enregistré dans le journal avec le nombre de destinataires, de livraisons et de clics.
Déclencheurs automatiques
- Suivi de commande : à chaque changement de statut, le client abonné reçoit une notification (s’il a accepté le push).
- Panier abandonné : une tâche cron repère les paniers contenant des articles, rattachés à un client abonné et sans commande, dans la fenêtre de relance configurée.
La relance de panier s’exécute via une tâche cron protégée par un jeton. Récupérez l’URL de cron complète sur la page de configuration et ajoutez-la à votre planificateur (par exemple toutes les heures). Le jeton empêche tout déclenchement non autorisé.
Mode hors-ligne : fonctionnement
Le service worker est enregistré au périmètre racine de la boutique grâce à l’en-tête Service-Worker-Allowed, ce qui lui permet de contrôler l’ensemble des pages. Selon la stratégie choisie, il sert les pages depuis le cache, le réseau, ou les deux. Lorsque la connexion est totalement perdue et qu’aucune version en cache n’est disponible, une page de repli autonome aux couleurs de votre boutique s’affiche, avec un bouton « Réessayer » et un retour à l’accueil.
Tableau de bord
La page de configuration affiche en un coup d’œil le nombre d’abonnés au push, le nombre de notifications envoyées et le taux de clic de vos campagnes. Les abonnements expirés étant purgés automatiquement, ces statistiques restent fiables.
FAQ et dépannage
La bannière d’installation n’apparaît pas
Vérifiez que la boutique est servie en HTTPS, que le module est activé et que la PWA n’est pas déjà installée. Sur navigateur de bureau, l’installation se fait souvent via l’icône dédiée dans la barre d’adresse. Sur iOS, utilisez le guide « Ajouter à l’écran d’accueil ».
Les notifications ne partent pas
Assurez-vous que le push est activé, que les clés VAPID sont présentes (un avertissement s’affiche sur le tableau de bord dans le cas contraire) et que des clients se sont bien abonnés. Le mode test permet de valider la chaîne d’envoi de bout en bout.
La relance de panier ne se déclenche pas
Contrôlez que l’URL de cron est bien appelée par votre planificateur et qu’elle contient le bon jeton. Vérifiez aussi le délai de relance configuré et la présence de clients abonnés avec un panier éligible.
Le push fonctionne-t-il sur iPhone ?
Oui, à partir d’iOS 16.4, mais uniquement une fois la boutique installée sur l’écran d’accueil. Le guide d’installation iOS est donc essentiel pour activer le push sur ces appareils.