Intégration X (Twitter) Feed : installation et aide

Démarrage rapide

  1. Téléversez et installez le ZIP mprxintegration dans Modules > "Module Manager".
  2. Cliquez sur "Configure". Dans Connexion X (Twitter), laissez Activer le module activé.
  3. Saisissez Bearer token pour la lecture via X API v2 et Nom d'utilisateur X sans @. Laissez ID utilisateur X vide pour le résoudre automatiquement.
  4. Dans Paramètres d'affichage, sélectionnez le hook standard Hook d'affichage displayHome. Laissez Activer le widget personnalisé désactivé.
  5. Laissez Mode de mise en page sur grid et définissez un nombre positif pour Nombre de publications, comme 6. Cliquez sur Enregistrer.
  6. Utilisez Synchroniser maintenant dans le panneau de connexion/cache pour récupérer immédiatement les publications, puis consultez le résultat.
  7. Ouvrez la boutique au hook sélectionné, vérifiez les cartes des publications et cliquez sur une carte pour confirmer sa destination X.

Nécessite PrestaShop 1.6 ou ultérieur et PHP 7.1 ou ultérieur.

Manuel de configuration

Installation et première configuration

Sur les anciennes versions de PrestaShop, utilisez la page d’installation des modules correspondante. Ouvrez ce module via "Configure" pour revenir à ses réglages.

Connexion X (Twitter)

Réglage Valeur par défaut Action à effectuer
Activer le module Oui Affichez ou masquez le flux autonome de la boutique.
Bearer token Vide Saisissez le jeton X API v2 utilisé pour lire le flux. Votre accès API doit autoriser les endpoints utilisateur et de fil demandés.
Nom d'utilisateur X Vide Saisissez le pseudonyme sans @. Il est utilisé pour rechercher l’ID et pour les liens de suivi.
ID utilisateur X Vide Laissez vide pour une recherche à l’enregistrement, à la synchronisation ou à la récupération. Un ID enregistré non vide est réutilisé.
Clé API (Consumer Key) Vide Saisissez la clé consommateur OAuth 1.0a uniquement si vous configurez la publication du blog.
Secret API (Consumer Secret) Vide Saisissez le secret consommateur correspondant pour la publication.
Jeton d'accès Vide Saisissez le jeton de publication OAuth 1.0a du compte. Il est distinct de Bearer token.
Secret du jeton d'accès Vide Saisissez le secret du jeton OAuth 1.0a correspondant.

Paramètres d'affichage

Réglage Valeur par défaut Action à effectuer
Hook d'affichage displayHome Choisissez displayHome, displayFooterBefore, displayFooter, displayLeftColumn ou displayRightColumn. Votre thème doit rendre le hook sélectionné.
Titre de section Follow us on X Définissez le titre du flux. Laissez vide pour le masquer.
Afficher le bouton Suivre Oui Affichez le lien de profil dans l’en-tête du flux lorsque le nom d’utilisateur est renseigné.
Texte du bouton Suivre Follow @ Définissez le texte précédant le nom d’utilisateur. Il est accolé directement au nom d’utilisateur.
Afficher sur mobile Oui Autorisez le flux pour les visiteurs détectés sur mobile par PrestaShop.
Réglage Valeur par défaut Action à effectuer
Thème light Choisissez des cartes claires ou sombres.
Activer le widget personnalisé Non Cette version ne dispose pas de rendu fonctionnel pour le widget personnalisé. Laissez cette option désactivée et utilisez un hook d’affichage standard.

Le menu Hook d'affichage propose aussi Widget personnalisé (utilisez {widget} dans les modèles), mais cette version ne prend pas en charge ce rendu. Choisissez un hook standard, y compris pour placer le flux dans un template du thème.

Mise en page et apparence

Réglage Valeur par défaut Action à effectuer
Mode de mise en page grid Choisissez grid, slider ou list. La liste utilise un balisage vertical distinct.
Nombre de publications 6 Définissez un nombre positif. La logique de récupération X limite le nombre affiché à 20.
Colonnes 3 Choisissez 1 à 4 colonnes de grille ou cartes visibles du carrousel à partir de 992px de largeur.
Colonnes mobiles 1 Choisissez 1 ou 2 colonnes de grille ou cartes visibles du carrousel sous 768px.
Longueur max. du texte 280 Limitez le texte affiché. Utilisez 0 pour éviter sa troncature.
Espacement entre les publications (px) 16 Définissez l’espacement de la grille, de la liste et du carrousel. Utilisez 0 pour supprimer l’espacement.
Rayon de bordure (px) 12 Définissez l’arrondi des angles des cartes.
Effet de survol elevate Choisissez elevate, glow, border ou none.

Les réglages de colonnes s’appliquent à la grille et au carrousel. De 768px à 991px de largeur, le carrousel et les grilles contenant au moins deux publications utilisent deux colonnes ; une grille contenant une seule publication reste sur une colonne. Sous 768px, ils utilisent Colonnes mobiles. Les grilles contenant seulement une ou deux publications utilisent respectivement une ou deux colonnes sur ordinateur, et une colonne sur mobile. L’espacement et le rayon de bordure s’appliquent à tous les modes de mise en page, y compris au carrousel.

Contenu et métadonnées de l'article

Réglage Valeur par défaut Action à effectuer
Afficher le texte du tweet Oui Affichez le texte de publication en cache.
Afficher les médias (images) Oui Affichez les images jointes ou les aperçus. Les pièces jointes vidéo et GIF animés affichent des aperçus avec un badge vidéo.
Afficher la date Oui Affichez la date relative en cache.
Afficher le nombre de mentions J'aime Oui Affichez le nombre de mentions J’aime renvoyé par l’API.
Afficher le nombre de retweets Oui Affichez le nombre de republications renvoyé par l’API.
Afficher le nombre de réponses Oui Affichez le nombre de réponses renvoyé par l’API.
Afficher l'auteur Oui Affichez l’avatar, le nom d’affichage et le pseudonyme disponibles.
Exclure les réponses Oui Demandez le fil sans réponses.
Exclure les retweets Oui Demandez le fil sans republications.

Carrousel et performances

Réglage Valeur par défaut Action à effectuer
Chargement différé des images Oui Chargez les vignettes/images multimédias via JavaScript à proximité de la zone visible. Désactivez si ce chargement est bloqué.
Défilement automatique (Slider) Oui Faites avancer automatiquement le carrousel. Cela n’a aucun effet sur l’affichage en grille/liste.
Vitesse de défilement 5000 Définissez l’intervalle du carrousel en millisecondes. Les choix sont 2000, 3000, 5000, 8000 et 10000.
Durée du cache 3600 Réutilisez les données récupérées pendant ce nombre de secondes. Les choix sont 1800, 3600, 7200, 21600, 43200 et 86400.

Récupération du flux et comportement en boutique

Le serveur résout un ID utilisateur X vide via https://api.x.com/2/users/by/username/{username}. Il récupère le fil via https://api.x.com/2/users/{user_id}/tweets, avec les dates de création, statistiques publiques, médias joints et données d’auteur. Le compte configuré et l’accès API doivent autoriser ces requêtes. Le module ne récupère pas de mur de hashtags et ne combine pas plusieurs comptes.

La logique de récupération limite le nombre d’éléments demandé pour l’affichage à 20. Elle demande jusqu’à trois fois ce nombre avant de conserver le nombre de résultats requis. Gardez un nombre positif. Le texte est raccourci à Longueur max. du texte pendant la récupération ; utilisez 0 pour le texte intégral. Les interrupteurs de métadonnées contrôlent l’affichage des cartes, tandis que ceux d’exclusion modifient la requête API.

Le hook standard sélectionné affiche une grille, un carrousel ou une liste. Le bouton de suivi de l’en-tête ouvre https://x.com/{username}. Chaque carte ouvre https://x.com/{author_handle}/status/{post_id} dans un nouvel onglet. Les vidéos restent des aperçus, sans lecteur intégré.

Si vous changez de compte, modifiez Nom d'utilisateur X et videz manuellement ID utilisateur X avant d’enregistrer. Un ID non vide est réutilisé même après un changement de nom d’utilisateur. Utilisez ensuite Synchroniser maintenant.

Cache et actualisation

Le cache du flux utilise ce fichier JSON local :

modules/mprxintegration/mprx_feed_cache.json

Les paramètres du flux et ce fichier sont partagés par les boutiques utilisant la même installation du module. Les requêtes en boutique le réutilisent tant qu’il est valide et récupèrent les publications depuis X s’il manque ou a expiré. L’enregistrement du formulaire principal l’efface ; cette version n’a pas de tâche planifiée d’actualisation du flux.

Synchroniser maintenant nécessite un Bearer token et un ID utilisateur X résolu, puis efface le cache et récupère immédiatement les publications. Vider le cache supprime seulement le fichier ; la prochaine requête en boutique récupère de nouvelles données. Si la requête API échoue ensuite ou ne renvoie aucune publication, aucune publication ne reste en cache. Vérifiez le fil, les identifiants et l’accès API, puis réessayez.

Seuls les résultats API non vides sont mis en cache. Un fichier expiré n’est pas utilisé en secours si la récupération échoue ; le flux peut donc disparaître jusqu’à la réussite d’une requête ultérieure. Les compteurs API et les dates relatives reflètent la réponse en cache.

"Auto-Publish to X"

Configurez les quatre champs d’identifiants OAuth 1.0a dans Connexion X (Twitter) pour publier depuis le blog. Un Bearer token en lecture seule ne suffit pas à configurer cette publication. Utilisez ensuite le formulaire distinct "Auto-Publish to X" :

Réglage Valeur par défaut Action à effectuer
Activer la publication automatique Non Activez le traitement automatique des articles de blog publiés éligibles lors de l’exécution des hooks d’ajout/mise à jour.
Modèle de légende {title}\n\n{url} Construisez le texte de la publication X à partir de {title}, {excerpt}, {url} et {shop_name}. Le système de publication limite le texte à 280 caractères.

Le panneau Articles de blog nécessite MPR Blog Revolution et propose une action de publication manuelle lorsque le système de publication est configuré. Il utilise le titre, l’extrait, l’URL et l’image à la une du blog lorsqu’ils sont disponibles. La publication prend en charge le texte et les images/GIF. Elle passe par une file partagée et un historique empêchant les traitements en double. Si le panneau signale une erreur de file ou de rapprochement, vérifiez le résultat existant avant de réessayer.

L’affichage du flux et la publication ont des interrupteurs distincts, mais l’enregistrement du formulaire principal réinitialise l’interrupteur et la légende de publication, car ces champs y sont absents. Après chaque enregistrement du formulaire principal, enregistrez à nouveau Activer la publication automatique et la légende dans le formulaire de publication séparé.

La publication est bloquée lorsque le drapeau de prise en charge X de Social Revolution est défini. La politique d’écriture sortante peut aussi la bloquer sur un hôte de développement/préproduction ou non résolu. L’interface en indique la raison. Un autre module social installé chargeant une ancienne version du package de publication partagé peut bloquer l’envoi ; mettez les modules sociaux installés à jour ensemble si cette erreur apparaît.

Exemples de configuration et ajustements du thème

Les exemples ci-dessous décrivent les valeurs à saisir dans les formulaires du back-office. Ce ne sont pas des commandes shell. Remplacez les noms de compte et identifiants d’accès par des valeurs réelles. Le hook du thème doit correspondre à Hook d'affichage.

Affichez une grille d’accueil avec six publications, trois colonnes sur ordinateur, une sur mobile et uniquement les publications originales :

MPRX_DISPLAY_HOOK=displayHome
MPRX_LAYOUT=grid
MPRX_POST_COUNT=6
MPRX_COLUMNS=3
MPRX_MOBILE_COLUMNS=1
MPRX_EXCLUDE_REPLIES=1
MPRX_EXCLUDE_RETWEETS=1

Utilisez une liste compacte dans la colonne de droite, sans médias ni compteurs d’engagement :

MPRX_DISPLAY_HOOK=displayRightColumn
MPRX_LAYOUT=list
MPRX_POST_COUNT=3
MPRX_SHOW_MEDIA=0
MPRX_SHOW_LIKES=0
MPRX_SHOW_RETWEETS=0
MPRX_SHOW_REPLIES=0
MPRX_TEXT_LENGTH=140

Utilisez le slider avec un défilement automatique toutes les huit secondes :

MPRX_LAYOUT=slider
MPRX_COLUMNS=3
MPRX_AUTO_SCROLL=1
MPRX_SCROLL_SPEED=8000

Personnalisez la légende Blog Revolution envoyée à X :

{title}

{excerpt}

Read more: {url}

Les espaces réservés disponibles pour la légende sont :

{title}
{excerpt}
{url}
{shop_name}

Rendez le module via un hook PrestaShop standard dans un template du thème, en configurant le module pour ce même hook :

{hook h='displayHome' mod='mprxintegration'}

Les développeurs de thèmes peuvent surcharger les templates de la boutique ici :

themes/your_theme/modules/mprxintegration/views/templates/hook/feed.tpl
themes/your_theme/modules/mprxintegration/views/templates/hook/post_item.tpl

Sélecteurs CSS utiles pour les styles du thème :

.mprx-section { margin-top: 32px; }
.mprx-title { font-size: 1.25rem; }
.mprx-item { border-radius: 8px; }
[data-theme="dark"] .mprx-item { background: #16181c; }
.mprx-follow-btn { text-transform: none; }

Le cache du flux utilise ce fichier JSON local :

modules/mprxintegration/mprx_feed_cache.json

Pour un carrousel, vérifiez les colonnes et l’espacement configurés aux largeurs d’ordinateur, de tablette et de mobile. Conservez les modifications CSS et de templates dans votre thème.

Vérification et dépannage

  • Si la section est absente, vérifiez Activer le module, les champs sources, Afficher sur mobile et le hook sélectionné. Le module ne renvoie aucune section si aucun élément n’est disponible.
  • Vérifiez que votre thème appelle displayHeader pour charger la feuille de style et JavaScript, et qu’il rend le hook d’affichage sélectionné.
  • Si les images restent vides, examinez les erreurs réseau du navigateur. Essayez de désactiver le chargement différé et vérifiez les URL des images.
  • Si la mise en page est incorrecte, testez d’abord la grille, puis vérifiez le carrousel aux largeurs d’ordinateur et de mobile.
  • Si le réglage X_ACTIVE de MPR Social Revolution est activé, ce flux autonome est masqué. Cette vérification lit le drapeau enregistré ; Social Revolution n’a pas besoin d’être actuellement activé en tant que module.

Ouvrez la page "Integrity" du module pour les contrôles de configuration et de hooks. Licence, Assistance et Mettre à jour sont des pages de maintenance. Testez les destinations réelles après avoir modifié les identifiants de compte ou les sources du flux.

Désactiver ou désinstaller

Réglez Activer le module sur Non et enregistrez pour masquer le flux tout en conservant ses paramètres de source et d’affichage. L’enregistrement du formulaire principal réinitialise l’interrupteur et la légende de publication ; vérifiez et enregistrez ensuite le formulaire de publication séparé si la publication doit continuer. Désinstallez via le gestionnaire de modules pour supprimer la configuration, le cache local et les entrées de menu d’administration de ce module. Les tables partagées mpr_social_publish et mpr_social_queue sont marquées comme partagées et conservées à la désinstallation. Les publications déjà envoyées à la plateforme ne sont pas supprimées.

Questions

1

Le flux X charge-t-il des ressources depuis des services externes ?

Votre boutique récupère les publications avec les identifiants API X enregistrés et les met en cache localement. Les cartes peuvent charger les avatars des auteurs et les médias depuis les URL renvoyées par X, et leurs liens ouvrent X dans un nouvel onglet. Tenez compte de ces ressources et destinations externes lors de la configuration des informations de confidentialité et des outils de consentement de votre boutique.

Problèmes connus

5

Compatibilité PHP 7.1

RésoluMis à jour :
Corrigé dans : 1.0.20
Le module pouvait ne pas se charger sous PHP 7.1 car les métadonnées des dépendances fournies exigeaient une version plus récente.

Impossible d’enregistrer l’identifiant depuis les vérifications

RésoluMis à jour :
Corrigé dans : 1.0.20
L’enregistrement de l’identifiant X depuis la boîte de dialogue de vérification d’installation ne fonctionnait pas.

Les libellés traduits du module ne s’affichaient pas

RésoluMis à jour :
Corrigé dans : 1.0.20
Les libellés du module pouvaient rester en anglais même lorsque des traductions étaient disponibles.

L’avertissement ne reflétait pas les paramètres enregistrés

RésoluMis à jour :
Corrigé dans : 1.0.20
L’avertissement de configuration pouvait encore signaler un paramètre manquant juste après son enregistrement.

Traductions incomplètes

RésoluMis à jour :
Corrigé dans : 1.0.14
Certains libellés et messages de l’intégration X n’étaient pas traduits.

Demandes de fonctionnalités

4

Implémenté

Mises à jour du module en un clic

Implémenté
Recherchez et installez les mises à jour du module depuis le back-office.

Interface multilingue

Implémenté
Utilisez les libellés et messages du module traduits en français, allemand, espagnol, italien et polonais.

Vérification et réparation de l'installation

Implémenté
Vérifiez l'installation du module et restaurez les entrées de menu manquantes du back-office.

Publication planifiée sur X

Implémenté
Publiez automatiquement des posts sur X ou programmez-les pour plus tard.

Journal des modifications

v1.0.142026-09-03

  • Addedcomplete FR/DE/ES/IT/PL translations
  • FixedShip X required config package helper
  • FixedAdd migrateFromPsConfiguration for ps_configuration cleanup
Versions précédentes

v1.3.02026-04-20

  • Addedadmin menu management via MenuInstaller for streamlined module setup
  • AddedLicense management tab with key management and renewal options
  • Addedself-healing integrity checks for automatic diagnostics and repair
  • Addedcomplete FR/DE/ES/IT/PL translations

v1.2.02026-02-04

  • AddedPS 9 / Hummingbird theme compatibility
  • Addedlist layout alongside existing card-grid layout
  • ImprovedAPI error handling — graceful fallback when X API rate limit reached
  • Fixedtweet card images not displaying for tweet threads with embedded media

v1.0.02025-08-05

  • Initialrelease: X (Twitter) timeline display for PrestaShop
  • InitialEmbed user timeline with configurable post count and layout
  • InitialBack-office configuration for X handle and Bearer token
  • InitialCompatible with PS 1.7.x and PS 8.x

v1.1.02025-07-25

  • Addedhashtag timeline option alongside user timeline
  • Addedtweet count limiter — show up to 20 most recent posts

Demo

Testez le module complet avant d'acheter

Achetez la licence plus tard et gardez vos réglages.

  • Votre démo de 30 jours Testez-le sur votre propre boutique pendant 30 jours à partir de la première installation.
  • Boutique de démo prête Découvrez une boutique de démo prête dans votre navigateur.
  • Sans inscription Ni compte, ni e-mail, ni domaine de boutique requis.
Lancer la boutique de démo

En téléchargeant, vous acceptez les conditions de la démo et la politique de confidentialité.

En ouvrant cette démo, vous acceptez les conditions de la démo et la politique de confidentialité.

Chargement...
Retour en haut