Inscrivez-vous gratuitement à la Newsletter BFM Business
Le chat (prononcer ' tchat '), ou discussion en direct, instaure un dialogue avec le bon vendeur pour obtenir des réponses aux questions que se pose l'internaute sur un produit.
Les sites d'e-commerce développent l'interactivité de leurs relations avec les clients en proposant des systèmes de dialogue en direct, ou chat, voire un principe de
call-back au travers d'un centre d'appels. Le principe du chat est parfaitement maîtrisé par les internautes français qui en ont pris l'habitude dès l'arrivée du Minitel. Cette mise en ?"uvre va vous
montrer comment construire un chat rudimentaire, aisément installable sur un site marchand. Le chat fonctionne à l'aide de cinq fichiers ASP. Le premier, "
produit.asp", est la page du site marchand qui contient le lien permettant d'entrer en relation avec un vendeur. Le 2e fichier, "
login.asp", permet de personnaliser la relation entre l'internaute et le vendeur en affichant les prénoms respectifs des deux personnes. Cette dé-marche conserve la session de l'utilisateur pour qu'il
n'ait pas à remplir à nouveau son panier d'achats. Une fois que l'internaute est identifié, le 3e fichier "
default.asp" en appelle un 4e qui propose à l'utilisateur de poser ses questions ("
question.asp"), et un 5e qui visualise le dialogue ("
dialogue.asp").
1) Appelez le chat depuis la page du site
Appuyez-vous sur l'instruction Java-Script "window.open" pour déclencher l'affichage d'une nouvelle fenêtre par-dessus celle déjà ouverte par l'internaute. Cette fonction précise tous les paramètres d'affichage de la fenêtre dont l'URL
du fichier cible, le nom de la fenêtre ou sa taille. L'instruction "newWindow.focus()" évite d'ouvrir différentes fenêtres si l'utilisateur clique plusieurs fois sur le lien.
2) Identifiez l'internaute
Un formulaire suffit pour récupérer les informations sur l'internaute. Outre le nom, il peut contenir l'identifiant du client s'il est déjà connu, ainsi que celui du produit concerné.
3) Passez la variable au module de chat
Pour cela, stockez le nom de l'utilisateur dans une variable de session afin qu'il soit toujours dispo- nible. L'instruction "request.form ("client")" permet de conserver le contenu du champ "client" du formulaire HTML dans la variable
de session. C'est pourquoi vous devez récupérer la valeur lors de la définition du frameset car vous l'utiliserez dès l'écran suivant.
4) Permettez la saisie du message
L'emploi d'un simple formulaire HTML suffit pour récupérer le texte envoyé par l'utilisateur. La seule particularité réside dans le fait que la page s'envoie elle-même les données contenues dans son formulaire, ce qui évite d'utiliser
deux fichiers distincts.
5 Stockez le texte de l'utilisateur
Utilisez un objet serveur de type "FileSystem" pour éviter de recourir à une base de données. Cet objet s'avère très simple d'emploi, mais peu paramétrable. Il ne possède pas de propriétés particulières et n'est utilisable qu'au travers
de deux méthodes : Create et Open. Si vous souhaitez manipuler les données, utilisez plutôt l'objet "Text-Stream" qui est plus aisément manipulable lorsque l'on veut effectuer des opérations ligne à ligne. Il est possible de tester le début ou la
fin de ligne, de récupérer la position du curseur, de sauter une ligne... Si vous avez l'habitude de programmer, vous pourrez adapter le code de cet article de façon à fournir plus de convivialité aux utilisateurs du
chat.
6) Créez l'objet s'il n'existe pas
L'accès au contenu du fichier texte "dialogue.txt", stocké à la racine de votre serveur, nécessite la création d'un objet "Fichier"qui permet de manipuler et de stocker les données en provenance du formulaire. Le fichier "dialogue.txt"
n'est créé, a priori, qu'une seule fois. Appuyez-vous alors sur une particularité de la méthode OpenTextFile permettant de créer le fichier à ouvrir s'il n'existe pas, ce qui évite d'utiliser la méthode CreateTextFile qui oblige
à tester à chaque fois l'existence du fichier "dialogue.txt". Si le paramètre "True" est omis, Active Server Page ne crée pas de fichier. Pour ouvrir le fichier "texte", un seul paramètre est nécessaire. Il suffit de préciser à la méthode
OpenTextFile le nom du fichier à ouvrir. La valeur suivante précise s'il faut ouvrir le fichier uniquement en mode lecture seule ou en mode modification "8".
7) Stockez la variable du formu-laire dans le fichier "texte"
Utilisez la commande "Write" pour écrire une valeur dans le fichier "dialogue.txt" et profitez de ce moment pour stocker régulièrement le nom de l'internaute. L'opérateur "&" sert à concaténer des valeurs avec du texte. Les
constantes de type "texte" doivent toujours être encadrées par des guillemets, ce qui n'est pas nécessaire pour les variables ASP. L'opérateur "&"permet d'effectuer la concaténation.
8) Rafraîchissez l'affichage du dialogue
Pour que les informations apparaissent en "pseudo" temps réel, vous devez utiliser la propriété "http-equiv" de l'élément HTML "meta". Celle-ci indique au navigateur une action à effectuer comme s'il s'agissait d'une action déclenchée
par l'utilisateur. De son côté, "Refresh'' sert à simuler un clic de souris sur l'icône "Reload'' ou "actualiser'' suivant les navigateurs. Enfin, le paramètre "content'' offre la possibilité d'indiquer la fréquence de déclenchement de l'action. Il
est exprimé en secondes. Plus ce paramètre est bas et plus le rafraîchissement est élevé ; il faut donc surveiller la charge du serveur et régler la fréquence d'actualisation en fonction de la capacité physique de la machine et de la bande passante
du site.
9) Stockez le contenu du fichier "chat.txt" dans une variable
La création de l'objet "Fichier" ne pose pas de problème puisqu'elle a été expliquée précédemment. En revanche, utilisez à nouveau la méthode OpenTextFile pour lire le fichier "dialogue.txt", mais en ne précisant cette fois aucun des
paramètres optionnels puisqu'ils contiennent, par défaut, les valeurs qui vous intéressent (mode lecture seule et pas de création du fichier "texte" s'il n'existe pas). Notez que seule la commande "Response.write'' est utilisée pour afficher le
texte. Elle peut être remplacée par la ligne "<%=ecran.Read All%>", située dans ce cas après la balise "" si vous le souhaitez.
10) Pour aller plus loin
Vous pouvez enrichir les fonctionnalités du chat en vous appuyant sur une base de données pour stocker les dialogues. En les analysant, vous aurez alors la possibilité de construire desfonctions FAQ
(foire aux questions) spécifiques pour chaque produit. Cette FAQ pourra être utilisée uniquement par le vendeur ou mise à disposition des internautes.
Votre opinion