SW Shopware 6 Débutant

Carrousel d’Avis Google pour Shopware 6 — Installation, configuration et utilisation

Guide complet pour installer, configurer et afficher le carrousel d'avis Google sur Shopware 6.5, 6.6 et 6.7 : clé API, Place ID, position, thèmes, cache et commandes console.

Mis à jour Version du module 1.0.0

Le plugin Carrousel d’Avis Google affiche les avis Google de votre établissement sous forme de carrousel responsive dans le storefront Shopware 6. Il génère automatiquement le balisage Schema.org (LocalBusiness + AggregateRating + Review), met les avis en cache et propose deux thèmes intégrés. Aucun build administration n’est requis : il s’installe sur n’importe quel hébergement, y compris mutualisé.

Prérequis

  • Shopware 6.5.x, 6.6.x ou 6.7.x
  • PHP 8.1 ou supérieur
  • Une clé API Google Cloud avec l’API Places activée (gratuite jusqu’à un large volume de requêtes)
  • Le Place ID de votre établissement Google

Installation

Déposez l’archive ZIP via Extensions > Mes extensions > Charger l’extension, ou copiez le dossier DfGoogleReviews dans custom/plugins/. Puis exécutez :

bin/console plugin:refresh
bin/console plugin:install --activate DfGoogleReviews
bin/console cache:clear

Le plugin apparaît ensuite dans Extensions > Mes extensions, prêt à être configuré.

Obtenir votre clé API et votre Place ID

Clé API Google

  1. Rendez-vous sur console.cloud.google.com et créez (ou sélectionnez) un projet.
  2. Dans API et services, activez l’API Places.
  3. Dans Identifiants, créez une clé API et copiez-la.
  4. Recommandé : restreignez la clé à l’API Places et à votre domaine.

Place ID

Utilisez le Place ID Finder de Google (documentation Google Maps Platform) pour récupérer l’identifiant de votre établissement. Il ressemble à ChIJ....

Configuration

Ouvrez Extensions > Mes extensions > Carrousel d’avis Google > Configurer. Tous les réglages sont gérés par canal de vente : sélectionnez le sales channel concerné en haut de la page avant de configurer.

Connexion Google

  • Activer le carrousel : interrupteur principal.
  • Clé API Google : votre clé avec l’API Places activée.
  • Place ID : l’identifiant de votre établissement.
  • Langue des avis : code langue (ex. fr, de, en) transmis à l’API pour les textes et dates relatives. Laisser vide pour le défaut Google.

Affichage

  • Position : Page d’accueil (au-dessus du footer), Toutes les pages, ou Manuel (voir la section suivante).
  • Titre : titre du carrousel (vide = titre traduit par défaut, fourni en 5 langues).
  • Thème : Light ou Dark.
  • Défilement automatique et intervalle (en millisecondes) : pause automatique au survol et au focus.
  • Nombre maximum d’avis : jusqu’à 10 (l’API Google en renvoie 5 au maximum).
  • Note minimum : n’affiche que les avis au-dessus du seuil (ex. 4 pour ne garder que les 4 et 5 étoiles).

Cache

  • Durée de vie du cache : de 1 heure à 7 jours (24 heures recommandé).

Afficher le carrousel

Mode automatique

Avec la position Page d’accueil ou Toutes les pages, le carrousel s’insère automatiquement au-dessus du footer. Aucune modification de thème n’est nécessaire.

Le mode automatique passe par le bloc base_footer. Si un thème personnalisé écrase entièrement ce bloc sans appeler parent(), utilisez le mode manuel ci-dessous.

Mode manuel (include Twig)

Choisissez la position Manuel, puis insérez le composant où vous le souhaitez dans votre thème storefront :

{% sw_include '@DfGoogleReviews/storefront/component/df-google-reviews.html.twig' %}

C’est idéal pour placer les avis sur une page CMS précise, dans une Shopping Experience ou à un endroit spécifique de votre mise en page.

Commandes console

Deux commandes facilitent la maintenance :

# Tester la connexion API et prévisualiser les avis (cache ignoré)
bin/console df:google-reviews:test

# Vider le cache des avis
bin/console df:google-reviews:clear-cache

Les deux acceptent l’option --sales-channel-id=... pour cibler la configuration d’un canal de vente précis. La commande de test affiche le nom de l’établissement, la note globale et la liste des avis renvoyés — pratique pour valider la clé API et le Place ID avant publication.

SEO et Schema.org

À chaque affichage, le plugin injecte un balisage JSON-LD complet : LocalBusiness (nom, note globale), AggregateRating (moyenne et nombre total d’avis) et un bloc Review par avis. Ce balisage peut faire apparaître les étoiles dans les résultats Google (rich snippets). Le contenu étant rendu côté serveur, les avis restent lisibles par les robots d’indexation et les utilisateurs sans JavaScript ; le carrousel n’est qu’une amélioration progressive.

Performance

Le CSS (~2 KB) et le JavaScript (~2 KB, Vanilla JS) sont injectés uniquement sur les pages où le carrousel s’affiche. Aucune librairie tierce, aucun jQuery. Les appels à l’API Google Places sont mis en cache dans le cache objet Shopware selon la durée configurée.

Dégradation gracieuse : si l’API Google est momentanément indisponible, les derniers avis valides mis en cache continuent d’être affichés. Le storefront n’est jamais cassé par le widget.

Dépannage

  • Le carrousel ne s’affiche pas : vérifiez que le plugin est activé, que la case « Activer le carrousel » est cochée, et que la clé API et le Place ID sont renseignés. Lancez bin/console df:google-reviews:test pour diagnostiquer.
  • Erreur d’API : assurez-vous que l’API Places est bien activée dans Google Cloud et que la clé n’est pas trop restreinte. Consultez var/log pour le détail.
  • Les avis ne se mettent pas à jour : videz le cache avec bin/console df:google-reviews:clear-cache (l’API Google ne renvoie de toute façon que les 5 avis les plus récents).
  • Mode automatique invisible sur un thème custom : basculez en mode manuel et ajoutez l’include Twig.

Désinstallation

Désactivez puis désinstallez le plugin depuis Extensions > Mes extensions, ou via :

bin/console plugin:uninstall DfGoogleReviews

Si vous choisissez de supprimer les données lors de la désinstallation, toute la configuration (clés DfGoogleReviews.config.*) est automatiquement nettoyée.

Cette page vous a-t-elle été utile ?

Toujours bloqué ? Contactez le support