Échanger avec les visiteurs grâce à WebBlocks Live Chat

Répondez aux visiteurs depuis le CMS où votre équipe travaille déjà. WebBlocks Live Chat ajoute un widget public et une boîte de réception pour les opérateurs, limitée au site. Les visiteurs ouvrent une conversation sur votre site ; les opérateurs CMS autorisés la lisent et y répondent dans le panneau. Votre installation héberge l’échange, sans compte de chat hébergé distinct ni service WebSocket.

Notre exemple est Northstar Studio. Ada pose une question sur un atelier, un opérateur répond et Ada précise sa demande. Vous distinguerez les messages non lus des conversations sans réponse, rechercherez dans l’historique, fermerez puis rouvrirez un fil, avant de configurer l’accueil hors ligne et de vérifier la notification opérateur du message de Robin.

Ce guide utilise l’archive publiée Live Chat 0.7.2 sur WebBlocks CMS 1.106.2, avec une interface anglaise, un thème clair et des personnes, messages et adresses fictifs. Les captures proviennent d’une installation de démonstration temporaire. Les badges latéraux et les e-mails hors ligne aux opérateurs ont été testés avec le fonctionnement normal du plugin installé. Le récepteur SMTP local a accepté les e-mails de test sans les distribuer à l’extérieur. La planification en production et la livraison à de vraies boîtes n’ont pas été testées.

Pour le contrat du paquet et de l’API, consultez la référence Live Chat. Pour l’installation, commencez par le Système de plugins. Live Chat gère les échanges avec les visiteurs ; le guide Support relie séparément les utilisateurs du CMS au prestataire d’assistance d’une installation.

Avant de commencer

Utilisez un site de test et un compte Super admin pour installer le plugin. Le paquet publié exige PHP >=8.4 et CMS ^1.106.2 ; le catalogue indique Laravel ^13.0. Cette version minimale démarre les canaux de notification et les composants du panneau des plugins installés lors des requêtes normales, y compris sur les hôtes avec des routes en cache. Vérifiez la compatibilité de votre hébergement avant de télécharger le paquet dans le catalogue officiel des plugins.

Préparez une page accessible aux visiteurs et un compte opérateur ayant accès à son site. Notre page fictive s’appelle Talk to Northstar Studio, à l’adresse /studio-help. Ses titres et cartes sont des blocs CMS ordinaires ; aucun bloc Live Chat n’est inséré. Le plugin activé fournit le bouton d’ouverture sur les pages publiques du site sélectionné.

Prévoyez qui répondra et ce que les textes en ligne et hors ligne doivent promettre. La disponibilité est un réglage manuel d’accueil : elle ne détecte pas la présence d’un opérateur et ne garantit pas une réponse immédiate. Les réponses normales s’affichent dans le widget. Les e-mails de réponse aux visiteurs sont désactivés dans cette version, même si une adresse est fournie.

1. Installer et activer Live Chat

  1. Ouvrez System → Plugins en tant que Super admin.
  2. Choisissez Browse Plugin Catalog et recherchez WebBlocks Live Chat.
  3. Vérifiez la version, le résultat de compatibilité et les notes de publication.
  4. Utilisez Install from Catalog, ouvrez les détails du plugin installé et choisissez Enable Plugin.
  5. Si l’administrateur fournit l’archive publiée de confiance, sélectionnez-la sous Plugin ZIP, choisissez Upload Plugin ZIP, vérifiez le paquet installé et activez-le.

Notre exemple utilise le ZIP officiel publié. Un plugin nouvellement installé est d’abord désactivé.

Écran Plugins avec Live Chat 0.7.2 installé mais désactivé à côté du formulaire ZIP

L’installation et l’activation actuelles du CMS appliquent les modifications de base de données du plugin. Dans les détails, vérifiez la version attendue, l’état Enabled et la disponibilité du stockage. Corrigez les avertissements de migration ou de compatibilité avant de recueillir des messages. Un avertissement de superposition sur un ancien hôte n’est pas simplement esthétique : passez à un hôte compatible avant de déployer cette version.

Détails Live Chat affichant la version 0.7.2, l’état Enabled, le stockage Healthy et Open Settings

Ouvrez Open Settings ou utilisez Live Chat → Live Chat Settings dans la navigation. Le titre des réglages nomme le site sélectionné. En multisite, choisissez le bon site avant de modifier les réglages ou d’ouvrir sa boîte de réception.

2. Attribuer les autorisations opérateur

Live Chat sépare lecture, réponse et configuration :

Autorisation Actions permises Utilisateur habituel
webblocks-live-chat.view Lire les conversations du site choisi et voir les avis autorisés du panneau. Opérateur devant consulter la boîte de réception.
webblocks-live-chat.reply Envoyer des réponses opérateur, fermer et rouvrir les conversations. Opérateur chargé des réponses.
webblocks-live-chat.manage Configurer le widget et la disponibilité d’un site accessible. Responsable de la configuration du chat.

Donnez les accès de lecture et de réponse aux opérateurs qui répondent. Le responsable des réglages doit aussi pouvoir lire s’il travaille dans la boîte de réception. L’accès au site constitue une limite supplémentaire : les permissions du plugin n’ouvrent pas les conversations de tous les sites. Consultez Rôles et autorisations avant de modifier un rôle partagé.

Contrairement à la liste Support propre à chaque demandeur, Live Chat est une boîte de réception pour les opérateurs du site. Les opérateurs autorisés peuvent traiter les conversations de ses visiteurs. Gardez cette distinction à l’esprit lorsque vous donnez accès à des échanges susceptibles de contenir des données personnelles.

3. Activer le widget public

Dans Live Chat Settings → General settings, configurez :

Commande Exemple Northstar Signification
Enable the public chat widget Activé Rend disponible le bouton public d’ouverture.
Availability Online Utilise le texte d’accueil en ligne ; ne mesure pas la présence du personnel.
Widget position Right Place le bouton à droite de la fenêtre. Left est également proposé.
Require email when offline Activé Rend l’e-mail obligatoire pour les nouvelles conversations lorsque la disponibilité est Offline.
Notify operators of offline messages Désactivé au départ Garde l’e-mail séparé pendant la vérification du chat.

Choisissez Save settings dans la carte générale. Activer le plugin et activer le widget public d’un site sont deux opérations distinctes.

Réglages généraux avec widget public actif, disponibilité Online, position à droite et e-mail obligatoire hors ligne

La page indique aussi la politique de notification héritée du site et l’état enregistré du planificateur. Ces informations concernent l’e-mail, pas la possibilité d’ouvrir une conversation en ligne. Nous configurerons l’e-mail après avoir vérifié les messages dans les deux sens.

4. Rédiger les textes linguistiques du widget

Descendez jusqu’à Language texts. Chaque langue active du site possède un onglet. Pour l’anglais, saisissez :

Champ Exemple
Widget title Ask Northstar Studio
Online welcome message Tell us what you are planning. Our team will reply here.
Offline message We are away. Leave your message and email so our team can follow up here.
Button label Chat with Northstar

Choisissez Save language texts dans cette carte. Ce formulaire est distinct de General settings : enregistrer les textes conserve les options générales, et enregistrer les options conserve les textes. Vérifiez le message de réussite du formulaire effectivement enregistré.

Onglet anglais Language texts avec titre Northstar, messages en ligne et hors ligne et libellé du bouton

Répétez l’opération pour les autres langues actives si nécessaire. Un texte manquant utilise d’abord la langue par défaut, puis les anciens textes. Les titres et libellés acceptent jusqu’à 120 caractères ; les messages localisés d’accueil et hors ligne, jusqu’à 500 caractères. Si une langue manque, activez-la d’abord en suivant Ajouter une langue à un site.

Promettez le canal réellement proposé. « Nous répondons ici » convient à cette version ; « Nous vous répondrons par e-mail » décrirait incorrectement la livraison aux visiteurs.

5. Vérifier le bouton public d’ouverture

Ouvrez une page publiée du site configuré. Dans l’exemple, la page Northstar affiche Chat with Northstar en bas à droite. Le panneau reste fermé jusqu’à ce que le visiteur sélectionne le bouton.

Page publique Northstar Studio avec le bouton Chat with Northstar en bas à droite

Les ressources publiques du plugin fournissent le widget. Vous n’ajoutez aucun script externe, compte de chat hébergé ou bloc de chat à chaque page. Si le bouton manque, vérifiez l’activation du plugin, le site choisi, le widget et le chargement des ressources CMS compatibles par la mise en page publique.

Testez dans une session visiteur adaptée. Live Chat limite séparément les débuts de conversation, les envois et les demandes d’actualisation. Les demandes normales de notification ne consomment pas le quota de démarrage. Si Too Many Attempts apparaît, cessez les envois répétés, attendez la fin de la fenêtre normale et réessayez une fois.

6. Démarrer une conversation visiteur

Sélectionnez le bouton. Le panneau montre le titre et l’accueil enregistrés. Dans l’exemple en ligne, saisissez Ada sous Your name, laissez Email (optional) vide et décrivez la demande sous How can we help?.

Hello! We are planning a small brand workshop.
Do you have space next month?
Formulaire en ligne avec Ada et une question sur un atelier, sans e-mail facultatif

Choisissez Start conversation. Le premier message apparaît dans le fil et le formulaire devient un champ de message avec Send.

Widget du visiteur avec la question d’Ada envoyée et le champ de message suivant

Les noms acceptent jusqu’à 100 caractères, les adresses e-mail jusqu’à 255 et les messages visiteurs jusqu’à 4 000. Rédigez un premier message court et utile, sans informations confidentielles étrangères à l’assistance. Fournir une adresse n’active pas les e-mails de réponse au visiteur.

Le navigateur conserve un identifiant d’accès privé pour poursuivre le fil. Ce n’est pas une connexion opérateur. Ne le copiez pas dans une capture, une URL partagée avec un collègue ou une note de diagnostic. Effacer le stockage, changer de profil ou d’origine peut faire perdre l’accès au fil ; le plugin ne propose ici aucun écran de récupération par e-mail.

7. Retrouver le fil dans la boîte opérateur

Ouvrez Live Chat dans le CMS et confirmez le site sous le titre. La boîte affiche l’état du widget, la disponibilité manuelle et des vues avec compteurs :

Vue Contenu
Open conversations Fils actifs auxquels les opérateurs peuvent répondre.
Awaiting reply Fils ouverts dont le dernier message vient du visiteur, même s’il est lu.
Unread conversations Fils ouverts avec des messages visiteurs non lus.
Closed conversations Fils terminés conservés pour consultation.

Ada apparaît d’abord avec 1 unread et Awaiting reply. La liste présente le dernier message et l’action View conversation.

Boîte Live Chat avec le nouveau message d’Ada, une conversation non lue et une en attente de réponse

L’ordre ouvert par défaut privilégie les conversations en attente, en commençant par la date la plus ancienne du dernier message. Vous pouvez aussi choisir Latest message first ou Oldest message first. La vue fermée commence par le plus récent. Choisissez un ordre adapté à votre processus sans considérer la première ligne comme une décision automatique de priorité.

8. Distinguer la lecture d’une réponse

Ouvrez le nom d’Ada ou View conversation. Les bulles visiteurs sont à gauche, celles des opérateurs à droite, avec des séparateurs de jour et des heures dans le fuseau du site.

Conversation opérateur avec message d’Ada, champ Reply vide et action Close conversation

Lire en bas d’une conversation visible marque les messages visiteurs comme lus. Revenez à la boîte avant de répondre : Unread conversations est à zéro, mais Awaiting reply reste à un. Ouvrir la conversation n’a pas répondu à Ada.

Boîte sans conversation non lue alors qu’Ada attend toujours une réponse

En consultant d’anciens messages, une nouvelle arrivée ne force pas le défilement vers le bas. New messages revient aux messages récents. La boîte et les conversations s’actualisent toutes les cinq secondes lorsqu’elles sont visibles ; les onglets en arrière-plan suspendent les demandes puis vérifient à nouveau en redevenant visibles. Il s’agit d’interrogations périodiques, pas d’une connexion WebSocket ni d’une garantie de livraison instantanée.

9. Envoyer une réponse opérateur

Ouvrez le fil d’Ada, saisissez la réponse sous Reply et choisissez Send reply :

Hi Ada! We can discuss a workshop for next month.
How many people would join, and what would you like to work on?
Champ Reply de l’opérateur avec une question sur les participants et objectifs de l’atelier

Vérifiez Reply sent. et la bulle de l’opérateur. Revenez au widget visiteur et confirmez que la réponse y apparaît. Notre échange local réel montre le message des deux côtés.

Widget du visiteur avec la réponse opérateur sous la question initiale d’Ada

La note sous le formulaire est volontaire : Replies appear in the chat widget. No reply email is sent. Demandez aux visiteurs de conserver le même navigateur ou d’y revenir. Une réponse enregistrée ne démontre pas une livraison par e-mail.

10. Conserver les brouillons et poursuivre le même fil

Ada prépare un message complémentaire :

There will be six of us.
We would like to clarify our brand direction.

Fermez le widget avec Close chat, puis rouvrez-le avec le bouton. Le brouillon non envoyé reste dans le champ. Fermer le panneau ne revient pas à fermer la conversation en tant qu’opérateur.

Panneau visiteur rouvert conservant le brouillon du message complémentaire d’Ada

Choisissez Send quand vous êtes prêt. Le fil attend de nouveau une réponse puisque son dernier message vient désormais du visiteur. Gardez les messages liés ensemble : une nouvelle question n’exige pas un autre fil tant que le sujet reste ouvert.

Les opérateurs autorisés reçoivent un badge de conversations non lues sur le lien latéral Live Chat et son groupe replié. Un nouveau message peut aussi afficher un avis générique avec View unread conversations pendant que vous travaillez ailleurs dans le CMS. Cet avis ne contient ni nom, ni adresse e-mail, ni texte du visiteur.

Tableau de bord CMS avec une conversation Live Chat non lue dans le groupe latéral replié

La première consultation des notifications établit l’état actuel ; elle ne rejoue pas les anciens arrivages sous forme de nouveaux avis. La conversation consultée, un onglet masqué ou un autre onglet du panneau influencent également l’apparition d’un toast. Ni le badge ni l’avis ne marquent un message comme lu et n’y répondent. Ce sont des avis internes, distincts des autorisations du système et de l’e-mail ; utilisez les vues non lues et en attente pour gérer le travail réel.

11. Rechercher dans l’historique et gérer la file

Dans la boîte, recherchez workshop et choisissez Filter. Le fil d’Ada correspond à un ancien message, même si l’aperçu du dernier évoque maintenant six participants et l’orientation de la marque.

Recherche de workshop retrouvant un ancien message d’Ada avec l’aperçu de son message plus récent

La recherche couvre les noms, e-mails et historiques du site et de la vue choisis. La ligne continue de montrer le dernier message, sans le remplacer par la correspondance historique. Les compteurs concernent le site indépendamment du texte recherché. Clear revient à sa vue ouverte et à son ordre par défaut.

Utilisez Awaiting reply pour le travail sans réponse et Unread pour les messages non encore lus. Aucune vue ne remplace un processus convenu de délais de réponse. Un collègue peut modifier l’état de lecture en ouvrant un fil sans résoudre la question du visiteur.

12. Fermer une conversation terminée

Une fois l’échange terminé, ouvrez-le et choisissez Close conversation. L’opérateur voit Closed et l’action Reopen conversation à la place du formulaire de réponse habituel.

Conversation opérateur fermée avec message de réussite et action Reopen conversation

Le widget affiche This conversation is closed., désactive les réponses et propose Start a new conversation.

Widget après fermeture avec réponses désactivées et option Start a new conversation

Une nouvelle conversation efface dans ce navigateur l’identifiant et le texte du fil mémorisé, puis revient au formulaire initial. Un message non envoyé peut être repris dans ce formulaire. Il s’agit d’un nouveau fil, pas d’une réouverture de l’ancien. L’historique fermé reste accessible aux opérateurs autorisés du site.

13. Rouvrir le fil s’il doit continuer

L’opérateur peut choisir Reopen conversation. Le fil redevient ouvert et le widget existant accepte de nouveau les réponses après sa prochaine actualisation.

Widget acceptant de nouveau les messages après la réouverture par l’opérateur

Nous avons testé la fermeture et la réouverture du même fil. Rouvrir ne restaure pas un identifiant déjà effacé en démarrant un autre fil ou en supprimant le stockage du navigateur. Utilisez cette action lorsque poursuivre le fil initial a du sens et vérifiez que le visiteur y accède toujours.

14. Choisir la politique e-mail avant d’activer les alertes

L’e-mail est facultatif et séparé du widget. Demandez d’abord à l’administrateur d’hébergement de configurer le transport sortant et l’URL de confiance de l’application. Le plugin utilise la configuration du CMS ; il ne stocke pas de nouveaux identifiants SMTP dans ses réglages.

Ouvrez Sites → Edit site → Contact et examinez Site message notifications. Cette politique s’applique aux canaux participants, dont Live Chat. Dans l’exemple local, nous gardons Alert only, choisissons Immediate et désactivons Daily pending-message summary pour ne pas dépendre d’une livraison planifiée.

Réglages Contact du site avec la politique commune utilisée pour le test e-mail local

Les options de contenu ont des effets différents :

  • Alert only: des compteurs minimaux et un lien normal vers la boîte protégée ; les noms, adresses, textes, URL d’origine et identifiants privés des conversations sont exclus de cette notification minimale.
  • Full: ajoute davantage d’informations sur la conversation et le contenu du message. Ne le choisissez que si votre organisation et le destinataire le permettent.

La fréquence de livraison est également partagée :

Fréquence Comportement Besoin du planificateur
Immediate Envoie chaque notification hors ligne admissible lors de l’envoi du message. Inutile pour des livraisons uniquement immédiates sans résumés quotidiens.
First alert immediately, then batches Envoie immédiatement la première alerte du fil puis regroupe les messages suivants selon l’intervalle choisi. Nécessaire pour les lots suivants.
Daily Regroupe le travail admissible dans un résumé quotidien composé uniquement de compteurs. Nécessaire.

Les résumés quotidiens restent minimaux même en mode Full. Le résumé quotidien distinct du travail en attente peut rappeler les messages non lus ou sans réponse ; il exige lui aussi une planification. Enregistrez la politique du site en connaissance de cause : les autres canaux participants en héritent aussi.

15. Configurer l’accueil hors ligne et les notifications

Revenez à Live Chat Settings. Passez Availability à Offline, gardez Require email when offline activé et enregistrez. Le widget reste actif : Offline modifie l’accueil, alors que sa désactivation supprime le bouton public.

Réglages Live Chat enregistrés avec disponibilité Offline, e-mail obligatoire et notifications opérateur actives

Si l’équipe souhaite des alertes e-mail, activez Notify operators of offline messages, indiquez le Offline notification recipient prévu et choisissez Save settings. Notre adresse studio@example.test est fictive et acceptée uniquement par le récepteur local. Utilisez une vraie boîte de test que vous contrôlez pour vérifier votre propre livraison.

Destinataire hors ligne et politique héritée Alert only et Immediate dans Live Chat Settings

Avec l’autorisation de gestion, vous pouvez aussi changer la disponibilité via l’interrupteur Availability de la boîte. Il enregistre immédiatement et conserve les autres options. Il ne connecte pas le personnel et ne détecte pas sa présence. Sans JavaScript, utilisez la commande Save voisine ou le formulaire des réglages.

16. Laisser et recevoir un message hors ligne

Utilisez un nouveau fil au lieu de supposer qu’un réglage modifie rétroactivement l’accueil d’une conversation existante. Dans l’exemple, l’ancien fil est fermé et le visiteur choisit Start a new conversation. Le widget actualisé montre le message hors ligne et Email (required).

Saisissez Robin, robin@example.test et une courte demande. L’e-mail ne peut plus rester vide pour ce nouveau fil hors ligne ; il reste facultatif lors de l’accueil en ligne.

Formulaire hors ligne avec Robin, adresse fictive obligatoire et question sur un atelier

Envoyez une fois, puis consultez la boîte du site choisi en tant qu’opérateur. Ouvrez le fil de Robin, lisez le message et vérifiez Offline operator notification. Notre test indique Sent to mail transport ; le récepteur SMTP local a accepté la notification sous la politique enregistrée Alert only / Immediate, sans résumés quotidiens. Cela confirme la remise au transport configuré, pas la livraison à une vraie boîte. Les réponses à Robin restent dans le widget et ne sont pas envoyées par e-mail.

Conversation hors ligne de Robin avec notification Sent to mail transport

Si la livraison reste en file, vérifiez d’abord la politique héritée. Les lots et tâches quotidiennes peuvent normalement attendre. Pour une notification Immediate toujours en attente, faites vérifier les versions compatibles, le canal actif, le destinataire et le transport sortant. Un message déjà inscrit pour une notification hors ligne peut encore partir après le passage à Online. Désactiver les notifications du canal ou fermer le fil annule le travail en file. Les tentatives échouées ou ambiguës ne sont pas relancées automatiquement ; ne promettez pas un e-mail livré pour chaque message enregistré.

17. Interpréter correctement l’état du planificateur

Live Chat Settings fournit des preuves pour Scheduler and notification worker. Une tâche enregistrée ne prouve pas le fonctionnement du planificateur d’hébergement. L’administrateur ou le prestataire doit exécuter la planification Laravel chaque minute sous l’utilisateur de l’application, avec la bonne version PHP en ligne de commande. Suivez Notifications planifiées et état du planificateur.

Les notifications par lots et quotidiennes ainsi que les rappels quotidiens du travail en attente nécessitent ce raccordement. Les seules notifications immédiates sans résumé quotidien n’en ont pas besoin ; badges, toasts du panneau et requêtes normales du chat n’exigent pas de planificateur de courrier.

Notre exemple local ne possède volontairement aucune planification de production vérifiée. Nous n’avons pas transformé une étiquette non vérifiée en réussite ni utilisé un envoi manuel comme preuve d’un cron opérationnel. Vérifiez la vraie livraison et la planification chez votre hébergeur avant d’en dépendre.

Dépannage

Symptôme Points à vérifier
Aucun bouton de chat Activation du plugin, compatibilité de l’hôte, bon site, widget public actif et ressources compatibles.
Online s’affiche alors que personne ne répond La disponibilité est manuelle. Convenez des permanences et adaptez le mode d’accueil.
Aucune conversation visible Site, vue, recherche, accès au site et permission View live chat.
La lecture ne retire pas Awaiting reply Le dernier message vient toujours du visiteur. Lecture et réponse sont distinctes.
Le visiteur ne peut pas écrire dans un fil fermé Rouvrez-le comme opérateur ou laissez le visiteur en démarrer un nouveau.
Le visiteur ne retrouve pas l’ancien fil Vérifiez stockage, profil et origine, ou si un nouveau fil a effacé l’identifiant mémorisé. Aucun rétablissement par e-mail n’est présenté ici.
Too Many Attempts Cessez les répétitions et attendez la fenêtre normale. Démarrage, envoi et interrogations ont des limites séparées ; les envois répétés peuvent toujours épuiser leur quota. Ne désactivez pas les limites pour contourner l’avis.
Le visiteur ne reçoit pas de réponse par e-mail Les réponses e-mail sont désactivées ; vérifiez le widget dans le navigateur initial.
L’e-mail hors ligne à l’opérateur manque Activation du canal, destinataire, courrier sortant, politique commune, état enregistré et éventuel besoin de planificateur.
Planificateur non vérifié Demandez à l’administrateur les preuves réelles d’exécution planifiée et du worker de notifications ; un envoi manuel ne prouve pas la planification.

Terminer par une mise en service maîtrisée

Avant d’inviter de vrais visiteurs, vérifiez site, textes, permissions et disponibilité. Testez message visiteur, réponse opérateur, complément, différence entre lu et en attente et fermeture. Pour l’accueil hors ligne, vérifiez l’e-mail obligatoire sur un nouveau fil et la réception d’une vraie notification de test par le destinataire prévu.

Gardez des textes de disponibilité exacts, donnez aux opérateurs une procédure de gestion et indiquez où la réponse apparaîtra. Commencez par la référence Live Chat pour les réglages et l’API ou par Rôles et autorisations pour déléguer l’accès sans donner la configuration à tous les opérateurs.