DataFirefly Social Connect — Documentation
Installer et configurer la connexion sociale Google, Apple et Facebook : OAuth, dashboard analytique, bon de bienvenue, webhook CRM signé, RGPD.
Présentation
DataFirefly Social Connect ajoute à PrestaShop 8 et 9 trois boutons de connexion sociale (Google, Apple, Facebook) couplés à un tableau de bord analytique complet. Le module ne se contente pas d’authentifier : il mesure la conversion, génère automatiquement des bons de bienvenue, alimente votre CRM via un webhook signé, et reste 100% conforme RGPD.
L’objectif est double : supprimer la friction d’inscription (un clic au lieu d’un formulaire) et mesurer l’impact réel sur votre business (clics, conversions, chiffre d’affaires généré par les clients sociaux).
Installation
- Téléchargez l’archive
dfsocialconnect.zipdepuis votre compte client sur datafirefly.com. - Dans le back-office PrestaShop, allez dans Modules > Gestionnaire de modules > Installer un module et déposez le ZIP.
- Cliquez sur Installer. Le module crée 5 tables (
ps_dfsc_identity,ps_dfsc_log,ps_dfsc_stats_daily,ps_dfsc_button_click,ps_dfsc_consent) et un onglet BO masquéAdminDfSocialConnect. - Cliquez sur Configurer. Vous arrivez sur le tableau de bord vide — les premières données apparaîtront dès qu’un utilisateur cliquera sur un bouton social.
Le module est compatible PrestaShop 8.0.0 à 9.99.99 et PHP 7.4 à 8.3. Aucune dépendance Composer externe n’est requise : un autoloader PSR-4 minimal est inclus.
Configuration des providers
Chaque provider exige des identifiants OAuth obtenus depuis sa console développeur. Le module affiche l’URL de callback exacte à copier-coller dans chaque console — c’est l’étape la plus importante : la moindre faute de frappe provoque une erreur redirect_uri_mismatch.
Google OAuth2 / OpenID Connect
- Rendez-vous sur https://console.cloud.google.com/apis/credentials.
- Créez ou sélectionnez un projet, puis cliquez sur Créer des identifiants > ID client OAuth 2.0.
- Type d’application : Application Web.
- Dans URI de redirection autorisés, collez l’URL affichée dans l’onglet « Providers » de la configuration du module (forme :
https://votre-boutique.com/module/dfsocialconnect/callback?provider=google). - Récupérez le Client ID et le Client Secret et collez-les dans le module.
- Activez le toggle « Google activé ».
Apple Sign In
- Rendez-vous sur https://developer.apple.com/account/resources/identifiers/list (compte développeur Apple payant requis).
- Créez un Services ID (et non un App ID). Notez son identifier — c’est votre Client ID.
- Activez Sign In with Apple sur ce Services ID, configurez le domaine de votre boutique et collez l’URL de callback affichée par le module (provider=apple) en Return URL.
- Dans Keys, créez une nouvelle clé avec Sign In with Apple activé. Téléchargez le fichier
.p8— vous ne pourrez plus jamais le récupérer ensuite. - Récupérez votre Team ID (en haut à droite de la console Apple), votre Key ID (l’identifiant de la clé créée à l’étape 4) et le contenu intégral du fichier .p8 (avec les lignes BEGIN PRIVATE KEY et END PRIVATE KEY).
- Collez les 4 champs dans la configuration du module (Services ID, Team ID, Key ID, contenu .p8).
- Activez le toggle « Apple activé ».
Le module signe la JWT client_secret en ES256 à la volée et la régénère automatiquement tous les 5 mois (la validité maximale autorisée par Apple est de 6 mois). Vous n’avez aucune rotation manuelle à gérer.
Facebook Login
- Rendez-vous sur https://developers.facebook.com/apps.
- Créez une nouvelle app type Consommateurs.
- Dans la section Add products, ajoutez Facebook Login.
- Sous Facebook Login > Settings, collez l’URL de callback affichée par le module (provider=facebook) dans Valid OAuth Redirect URIs.
- Récupérez l’App ID et l’App Secret sous Settings > Basic et collez-les dans le module.
- Activez le toggle « Facebook activé ».
Le module utilise l’API Graph v19.0 et active automatiquement appsecret_proof, qui empêche le rejeu d’un access token volé en exigeant une signature HMAC du secret de l’app.
Onglet Comportement
Cet onglet pilote ce qui se passe une fois la connexion sociale aboutie.
- Auto-link par email vérifié — si l’email retourné par le provider est marqué comme vérifié et correspond à un compte client existant, le module relie automatiquement le provider à ce compte au lieu d’en créer un nouveau. Recommandé : ON.
- Importer l’avatar — télécharge la photo de profil dans
/img/dfsc/avatars/<id_customer>.<ext>(limite 2 Mo, MIME whitelist JPEG/PNG/WebP). Survit à l’expiration des CDN provider. - Bon de bienvenue — pour chaque nouveau compte créé via une connexion sociale, le module crée une CartRule PrestaShop à usage unique au nom du client. Configurez le préfixe (par défaut
WELCOME), le montant et la durée de validité. - Groupe client par provider — assignez un ID de groupe PrestaShop à chaque provider (Google / Apple / Facebook). Utile pour segmenter vos campagnes marketing par origine.
- Newsletter opt-in par défaut — si activé, le client créé est marqué comme abonné à la newsletter (à n’activer que si votre processus inclut un double opt-in conforme RGPD).
- Rate limiting — nombre maximum de tentatives par IP sur une fenêtre de 15 minutes. Par défaut : 30 tentatives. Au-delà, l’utilisateur reçoit un message « Trop de tentatives ».
- Rétention des logs — nombre de jours pendant lesquels conserver les logs bruts (
ps_dfsc_logetps_dfsc_button_click). Le rollup quotidien (ps_dfsc_stats_daily) est conservé indéfiniment et alimente le dashboard.
Onglet Apparence
Choisissez le rendu visuel des boutons :
- Style — 5 variantes : rounded (par défaut, coins 8 px), pill (entièrement arrondi), square (anguleux), ghost (transparent avec bordure), minimal (compact).
- Mode de libellé — 3 modes : Continuer avec X (par défaut, neutre), Se connecter avec X (page de login), S’inscrire avec X (page d’inscription).
- Afficher sur la page de login et Afficher sur la page d’inscription — toggles indépendants.
- Widget Mon compte — affiche dans l’espace client une zone « Comptes connectés » permettant de lier ou délier chaque provider à tout moment (exigence RGPD).
Tableau de bord analytique
Le premier onglet de la configuration agrège les statistiques sur 30 jours glissants par défaut (configurable).
- 4 KPI cards — Connexions réussies, Clics sur les boutons, Nouveaux clients créés, Échecs.
- Courbe temporelle — connexions réussies par jour, segmentées par provider (Google bleu, Apple noir, Facebook bleu Meta).
- Répartition par provider — doughnut Chart.js avec le pourcentage de chaque provider.
- Taux de conversion par provider — clic vs connexion aboutie. Permet d’identifier un provider mal configuré (taux anormalement bas).
- Breakdown device et navigateur — bar chart agrégé sur la fenêtre.
- Heatmap jour × heure — grille 7 × 24 en 7 nuances de bleu. Identifiez les pics d’usage pour ajuster vos campagnes.
- Pénétration sociale — pourcentage de votre base client qui a au moins un provider lié.
- Revenu généré par les clients sociaux — somme des commandes payées des clients créés via une connexion sociale, calculée par JOIN SQL sur
ps_orders.
Webhook CRM
Sur chaque connexion réussie ou compte lié, le module peut envoyer une requête HTTP POST à une URL de votre choix, en mode fire-and-forget (le temps de réponse de votre endpoint n’impacte pas le temps de connexion utilisateur).
- URL du webhook — endpoint HTTPS recommandé. Make, n8n, Zapier ou votre stack interne.
- Secret partagé — utilisé pour signer la payload en HMAC-SHA256. La signature est envoyée dans l’en-tête
X-Dfsc-Signature. Côté réception, recalculez le HMAC sur le body brut pour valider l’authenticité.
Payload type envoyée :
{
"event": "social_login_success",
"provider": "google",
"id_customer": 1234,
"email": "marie.dupont@example.com",
"is_new_account": true,
"ip": "203.0.113.42",
"timestamp": 1748378400
}
RGPD et consentement
Le module est conçu pour respecter le RGPD by design :
- À chaque connexion sociale, une ligne est insérée dans
ps_dfsc_consentavec horodatage, IP, user agent et provider — c’est votre audit trail. - Le widget « Comptes connectés » dans Mon compte permet au client de délier un provider à tout moment.
- La désinstallation du module supprime proprement les 5 tables et toutes les clés de configuration. Les comptes clients restent intacts.
- Aucun secret OAuth n’est jamais transmis en clair : tous les échanges passent par HTTPS et la JWT Apple est signée localement avec votre clé .p8.
Désinstallation
Depuis Modules > Gestionnaire de modules, désinstallez le module. Le processus :
- Supprime les 5 tables
ps_dfsc_*. - Supprime l’onglet BO
AdminDfSocialConnect. - Supprime toutes les clés de configuration
DFSC_*. - Les liens sociaux des clients sont supprimés mais les comptes clients et leurs commandes restent intacts. Les avatars cachés dans
/img/dfsc/avatars/sont supprimés.
Dépannage
Erreur « redirect_uri_mismatch » (Google) — l’URL collée dans la console Google ne correspond pas exactement à celle affichée par le module. Vérifiez le scheme (https), le domaine (avec ou sans www), et le chemin complet. Aucun caractère de fin (slash, espace).
Erreur « invalid_client » (Apple) — votre JWT client_secret est invalide. Causes fréquentes : Team ID ou Key ID incorrect, contenu .p8 tronqué (vérifiez les lignes BEGIN/END PRIVATE KEY), ou Services ID confondu avec App ID.
Erreur « Invalid OAuth access token signature » (Facebook) — votre App Secret est faux. Régénérez-le depuis Settings > Basic et collez-le à nouveau.
« Trop de tentatives, veuillez patienter » — déclenchement du rate limiter. Soit attendez 15 minutes, soit augmentez le seuil dans Comportement.
Les statistiques ne montent pas — vérifiez que ps_dfsc_button_click reçoit bien des lignes (un clic en mode incognito doit suffire). Si rien ne s’écrit, le contrôleur front est probablement non joignable : vérifiez vos règles de réécriture URL.
Le bon de bienvenue n’est pas créé — vérifiez que la fonction est activée dans Comportement, que le montant et le préfixe sont renseignés, et que le compte client a bien été créé (et non simplement relié à un compte existant — l’auto-link n’émet pas de voucher).