begin process at 2012 05 28 12:57:17
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Formulaire

 > CHAT VIRTUEL

CHAT VIRTUEL


 Information sur la source

Note :
Aucune note
Catégorie :Formulaire Niveau :Débutant Date de création :31/03/2009 Vu / téléchargé :5 415 / 638

Auteur : grarestephane

Ecrire un message privé
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Voici un script qui vous permet de dialoguer avec un fichier XML. Il s'agit en effet d'un chat virtuel. Le script suivant contient plusieurs fonctions qui nécessite un fichier XML contenant les tags suivant : "question" permet de repérer la question que l'on a posé "reponse" permet en fonction de la question posé, d'obtenir la réponse "enchaine" et un enchainement suite à la réponse qui permet à la réponse de réenchaîner sur une question ou une suggestion. "imbriquer" est une imbriquation qui permet d'indiquer une question ou une référence qui sera alors utilisé pour la prochaine réponse. C'est à dire que l'on peut créer un scénario de réponses à l'aide de l'imbrication sans se préoccuper de la question posé... A vous de composez votre fichier XML pour compléter le dialogue avec la machine !

Source

  • <HTML>
  • <HEAD>
  • <SCRIPT LANGUAGE="JavaScript">
  • //Le script suivant contient plusieurs fonctions qui nécessite un fichier XML contenant les tags
  • //suivant :
  • //<question> = Permet de repérer la question que l'on a posé
  • //<reponse> = En fonction de la question posé, cela permet d'obtenir la réponse
  • //<enchaine> = Enchainement permet à la réponse de réenchaîner sur une question ou une suggestion
  • //<imbriquer> = Imbriquation permet d'indiquer une question ou une référence qui sera utilisé pour la prochaine réponse
  • //C'est à dire que l'on peut créer un scénario de réponses à l'aide de l'imbrication sans se préoccuper de la question posé...
  • function PoserQuestion(){
  • //on pose la question
  • var message=prompt("Ecrivez votre message","");
  • if (message==""){
  • }else{
  • //On transforme la réponse toute en minuscule
  • message=message.toLowerCase();
  • RechercheReponse(message)
  • }
  • //Fin de la fonction
  • }
  • function PoserQuestionVide(strImbriquer){
  • //on pose une question mais dans le vide le message envoyé va être remplacer par l'imbrication
  • var message=prompt("Ecrivez votre message","");
  • if (message==""){
  • }else{
  • //Le message prend alors la valeur imbriquer et on transforme la réponse toute en minuscule
  • message=strImbriquer;
  • message=message.toLowerCase();
  • RechercheReponse(message)
  • }
  • //Fin de la fonction
  • }
  • function RechercheReponse(message){
  • //On recherche la question posé dans le fichier XML
  • doc = fichierxml.XMLDocument;
  • collectionxmldonnee = doc.documentElement.getElementsByTagName("xmldonnee");
  • nbrxmldonnee = collectionxmldonnee.length;
  • //Avant de rechercher une question à notre réponse, il faut analyser notre question
  • //1°) Combien de caractère compose notre question
  • x=message.length;
  • //2°) Il faut déterminer les mots clés de la question
  • //??
  • //On utise une boucle pour questionné le fichier XML :
  • i=0;
  • while (i<nbrxmldonnee) {
  • strQuestion = collectionxmldonnee.item(i).getElementsByTagName("question").item(0).text;
  • //On transforme la question cherchée toute en minuscule
  • strQuestion=strQuestion.toLowerCase();
  • strReponse = collectionxmldonnee.item(i).getElementsByTagName("reponse").item(0).text;
  • strEnchaine = collectionxmldonnee.item(i).getElementsByTagName("enchaine").item(0).text;
  • strImbriquer = collectionxmldonnee.item(i).getElementsByTagName("imbriquer").item(0).text;
  • Resultat=strQuestion.indexOf(message,0);
  • if(Resultat>-1){
  • alert (strReponse);
  • if (strEnchaine!=""){
  • alert(strEnchaine);
  • }
  • i=nbrxmldonnee;
  • }else{
  • i++
  • if(i==nbrxmldonnee){
  • //Si aucune réponse trouvé
  • alert("Oué");
  • }
  • }//Fin de la condition Resultat
  • }//Fin de la boucle
  • //Le tag imbriquer va permettre de programmer une direction sur les questions / réponses souhaitez.
  • if (strImbriquer==""){
  • //Si pas d'imbrication, alors on pose une question normalement
  • PoserQuestion()
  • }else{
  • //Sinon on pose une question dite vide car quelque soit la question, la réponse est déjà tracé...
  • PoserQuestionVide(strImbriquer)
  • }
  • }//Fin de la fonction
  • </SCRIPT>
  • </HEAD>
  • <BODY onLoad="PoserQuestion()">
  • <xml id="fichierxml" src="Chat Virtuel.xml"/>
  • </BODY>
  • </HTML>
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
//Le script suivant contient plusieurs fonctions qui nécessite un fichier XML contenant les tags
//suivant :
//<question> = Permet de repérer la question que l'on a posé
//<reponse> = En fonction de la question posé, cela permet d'obtenir la réponse
//<enchaine> = Enchainement permet à la réponse de réenchaîner sur une question ou une suggestion
//<imbriquer> = Imbriquation permet d'indiquer une question ou une référence qui sera utilisé pour la prochaine réponse
//C'est à dire que l'on peut créer un scénario de réponses à l'aide de l'imbrication sans se préoccuper de la question posé...
function PoserQuestion(){
//on pose la question
var message=prompt("Ecrivez votre message","");
if (message==""){
}else{
//On transforme la réponse toute en minuscule
message=message.toLowerCase();
RechercheReponse(message)
}
//Fin de la fonction
}
function PoserQuestionVide(strImbriquer){
//on pose une question mais dans le vide le message envoyé va être remplacer par l'imbrication
var message=prompt("Ecrivez votre message","");
if (message==""){
}else{
//Le message prend alors la valeur imbriquer et on transforme la réponse toute en minuscule
message=strImbriquer;
message=message.toLowerCase();
RechercheReponse(message)
}
//Fin de la fonction
}


function RechercheReponse(message){
//On recherche la question posé dans le fichier XML
doc = fichierxml.XMLDocument;
collectionxmldonnee = doc.documentElement.getElementsByTagName("xmldonnee");
nbrxmldonnee = collectionxmldonnee.length;

//Avant de rechercher une question à notre réponse, il faut analyser notre question
//1°) Combien de caractère compose notre question
x=message.length;
//2°) Il faut déterminer les mots clés de la question
//??

//On utise une boucle pour questionné le fichier XML :
i=0;
while (i<nbrxmldonnee) {
strQuestion = collectionxmldonnee.item(i).getElementsByTagName("question").item(0).text;
//On transforme la question cherchée toute en minuscule
strQuestion=strQuestion.toLowerCase();
strReponse = collectionxmldonnee.item(i).getElementsByTagName("reponse").item(0).text;
strEnchaine = collectionxmldonnee.item(i).getElementsByTagName("enchaine").item(0).text;
strImbriquer = collectionxmldonnee.item(i).getElementsByTagName("imbriquer").item(0).text;

Resultat=strQuestion.indexOf(message,0);
if(Resultat>-1){
alert (strReponse);
  if (strEnchaine!=""){
  alert(strEnchaine);
  }
i=nbrxmldonnee;
}else{
i++
  if(i==nbrxmldonnee){
  //Si aucune réponse trouvé
  alert("Oué");
  }
}//Fin de la condition Resultat
}//Fin de la boucle

//Le tag imbriquer va permettre de programmer une direction sur les questions / réponses souhaitez.
if (strImbriquer==""){
//Si pas d'imbrication, alors on pose une question normalement
PoserQuestion()
}else{
//Sinon on pose une question dite vide car quelque soit la question, la réponse est déjà tracé...
PoserQuestionVide(strImbriquer)
}

}//Fin de la fonction

</SCRIPT>

</HEAD>
<BODY onLoad="PoserQuestion()">
<xml id="fichierxml" src="Chat Virtuel.xml"/>
</BODY>
</HTML>

 Conclusion

Le xml est dans le zip.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture MESSAGES VIRTUELS
Source avec Zip Source avec une capture GESTION D'UNE VIDEOTHÈQUE SOUS XML
Source avec Zip Source avec une capture ENVOIE DE MESSAGE AUTOMATIQUE
Source avec Zip Source avec une capture VALIDATION D'UN FORMULAIRE
Source avec Zip Source avec une capture AJOUTER ET SUPPRIMER DES FICHIERS DANS UNE LISTE

 Sources de la même categorie

Source avec Zip Source avec une capture FORMULAIRE TABLEAU par vic511
Source avec Zip Source avec une capture FORMULAIRE DYNAMIQUE par Niidhogg
Source avec Zip Source avec une capture CONTRAINTE DE SAISIE SUR CHAMPS INPUT par ryosama
SELECTS DÉPENDANTS PRÉ-CHARGÉS D'UNE SEULE OPTION par phm
Source avec Zip Source avec une capture BOITE DE DIALOGUE MODALE DE SÉLECTION D'UNE LISTE D'ICONES par JJDai

Commentaires et avis

Commentaire de jdmcreator le 01/04/2009 14:19:25

Bonjour,

L'idée est très intérressante mais on pourrait améliorer le tout.

Il me semble que théoriquement, en javascript avec des Array se serait possible. Pour plus de possibilité, peut-être supprimer les signes de ponctuation (?!.). Par exemple, Bonjour fonctionne mais non Bonjour !

Finalement, peut-être détecter que si le prompt envoie NULL (donc que l'on a cliquer sur Annuler), qu'on nous affiche AU REVOIR ! au lieu de devoir toujours continuer à nous répondre jusqu'à tombe sur Oué.

Pour la compatibilité, je n'ai que testé avec IE7 et il n'y a aucun problème ;)

Sincérement,

JDMCreator

Commentaire de hypernovae2012 le 16/01/2010 13:47:38

comment faire pour integrer ce script sur mon site avec toweb

Commentaire de luludovicp le 22/01/2010 09:04:26

bonjour
j'aime bien cette source et j'aimerais savoir si il est possible de l'intégré dans une page html du style comme sur sfr ??

si oui comment faire parce ce que je n'y arrive pas j'aime pas les truc qui s'ouvre je préférerais que ca face comme un vrais chat mais tout en restent dans ce principe la ....

Commentaire de nossoctoruss le 30/07/2011 17:36:05

WTF!!!??? j'arrive sur la page, et mon antivir detecte un virus dans les caches ie!

Commentaire de nossoctoruss le 30/07/2011 17:47:49

marrant la source ^^, par contre j'aime pas les alertes comme ça :s ca pourrait etre une piste pour un support interactif intelligent( en gros une ia de support)

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,562 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales