La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Quatre exemples WebCLIPS © Jérôme Lehuen (03/10/01) 1 Quatre exemples sous WebCLIPS Introduction2 Exemple n°13 Exemple n°25 Exemple n°37 Exemple n°49 Modules.

Présentations similaires


Présentation au sujet: "Quatre exemples WebCLIPS © Jérôme Lehuen (03/10/01) 1 Quatre exemples sous WebCLIPS Introduction2 Exemple n°13 Exemple n°25 Exemple n°37 Exemple n°49 Modules."— Transcription de la présentation:

1 Quatre exemples WebCLIPS © Jérôme Lehuen (03/10/01) 1 Quatre exemples sous WebCLIPS Introduction2 Exemple n°13 Exemple n°25 Exemple n°37 Exemple n°49 Modules à importer11 Codage des caractères12 Dialogue client-serveur14

2 Quatre exemples WebCLIPS © Jérôme Lehuen (03/10/01) 2 Quest-ce que WebCLIPS ? –Cest une implémentation de CLIPS sous la forme dun CGI Les données sont passées par les méthodes GET ou POST Les pages HTML sont générées dans les règles de production CLIPS –Le CGI WebCLIPS peut supporter plusieurs applications Le paramétrage de WebCLIPS et de chaque application est contenu dans le fichier « webclips.ini » (localisé dans le répertoire cgi-bin) –Les faits spécifiques à chaque client peuvent être sauvegardés : Soit chez les clients (dans les pages HTML générées) Soit chez le serveur (dans des fichiers temporaires) –Débugage possible Les messages derreur sont envoyés sous la forme de pages HTML On peut rediriger les flux de CLIPS (werror, wwarning, wtrace) –Autres fonctionnalités (non décrites dans ce cours) Voir le document de Michaël Giordano (section cours) Introduction

3 Quatre exemples WebCLIPS © Jérôme Lehuen (03/10/01) 3 [Exemple 1] RouterList=wtrace wtraceEcho=screen LoadHelper=Yes script1=c:\serveur\dea\exemple1.clp Exemple WebCLIPS Exemple 1 : juste lancer WebCLIPS avec un fichier «.clp » Extrait du fichier webclips.ini Exemple n°1

4 Quatre exemples WebCLIPS © Jérôme Lehuen (03/10/01) 4 Extrait du fichier CLIPS exemple1.clp Réponse de WebCLIPS Hello World ! (defrule HELLO_WORLD "Pour afficher Hello World ! en gras sur un fond jaune clair" => (printout t " " crlf) (printout t " Hello World ! " crlf)) Exemple n°1 ! Ne pas ajouter à la fin, cest WebCLIPS qui sen charge !

5 Quatre exemples WebCLIPS © Jérôme Lehuen (03/10/01) 5 Exemple 2 : assertion dun fait sélectionné dans une "list box" Exemple WebCLIPS ajouter le pattern (fait numero 1) ajouter le pattern (fait numero 2) Exemple n°2

6 Quatre exemples WebCLIPS © Jérôme Lehuen (03/10/01) 6 Extrait du fichier CLIPS exemple2.clp Réponse de WebCLIPS (defrule AFFICHAGE "Pour afficher le fait sélectionné" (fait numero ?x) => (printout t " " crlf) (printout t "Vous avez sélectionné le fait n°" ?x crlf)) Vous avez sélectionné le fait n°2 Exemple n°2

7 Quatre exemples WebCLIPS © Jérôme Lehuen (03/10/01) 7 Exemple 3 : sélection dune base de faits initiaux Exemple WebCLIPS Base de faits initiaux n°1 Base de faits initiaux n°2 Exemple n°3

8 Quatre exemples WebCLIPS © Jérôme Lehuen (03/10/01) 8 Extrait du fichier CLIPS exemple3.clp Bases de faits initiaux –Contenu du fichier « base1 » : (base numero 1) –Contenu du fichier « base2 » : (base numero 2) Commande GET envoyée par le client au serveur –GET cgi-bin/webclips.exe? fact=%28ScreenName+%28ScrnName+Exemple+2%29%29& fact=%28factgroup+c%3A%5Cserveur%5Cdea%5Cbase2%29 Réponse de WebCLIPS (defrule AFFICHAGE "Pour afficher le numéro de base sélectionnée" (base numero ?x) => (printout t " " crlf) (printout t "Vous avez sélectionné la base n°" ?x crlf)) Exemple n°3

9 Quatre exemples WebCLIPS © Jérôme Lehuen (03/10/01) 9 Exemple 4 : mise en œuvre de champs de saisie textuels Exemple WebCLIPS Entrez votre login : Entrez votre password : Exemple n°4

10 Quatre exemples WebCLIPS © Jérôme Lehuen (03/10/01) 10 Fichier CLIPS exemple4.clp (defrule ACCEPTATION "L'usager est répertorié" ?p <- (verification ?login ?pass) (autorisation ?login ?pass) => (retract ?p) (printout t " " crlf) (printout t " Autorisation " crlf)) (defrule REFUS "L'usager n'est pas répertorié" ?p <- (verification ?login ?pass) (not (autorisation ?login ?pass)) => (retract ?p) (printout t " " crlf) (printout t " Usager inconnu " crlf)) (defmodule MAIN "Indispensable dans toute appli WebCLIPS" (import WebCLIPSHTML deffunction ?ALL) (import WebCLIPSTemplates deftemplate ?ALL)) (deffacts AUTORISATIONS "Liste des usagers autorisés" (autorisation lehuen bond007) (autorisation tchounikine tchou72)) (defrule DEBUG "Pour afficher la trace des inférences" (declare (salience 10)) => (watch facts) (watch rules)) (defrule VERIFICATION "Assertion du fait verification" ?p <- (login ?login) ?q <- (password ?pass) => (retract ?p ?q) (assert (verification ?login ?pass))) Exemple n°4

11 Quatre exemples WebCLIPS © Jérôme Lehuen (03/10/01) 11 Modules à importer Remarques sur les modules de WebCLIPS : –Toute base de connaissances sous WebCLIPS commence par la définition du module MAIN : (defmodule MAIN (import WebCLIPSHTML deffunction ?ALL) (import WebCLIPSTemplates deftemplate ?ALL)) Module WebCLIPSTemplates : –Obligatoire, il contient des variables globales nécessaires à WebCLIPS –Sa fonction est totalement transparente pour le programmeur Module WebCLIPSHTML : –Optionnel, il contient toutes les « HTML Helper functions » décrites dans le document de cours « How to Use WebCLIPS » –Le fichier webclips.ini doit comporter la ligne « LoadHelper=Yes » si le module doit être importé sinon, vous aurez le message « Unable to find defmodule WebCLIPSHTML » et vous passerez des heures à trouver cette erreur vicieuse (comme cela vient de marriver) !

12 Quatre exemples WebCLIPS © Jérôme Lehuen (03/10/01) 12 Remarques sur le codage des caractères sous CLIPS : –Problème lors de lutilisation de caractères accentués Les faits sous CLIPS ne doivent pas contenir de caractères accentués Le contenu dun champ de saisie est directement inséré dans un fait Avec lexemple n°4, WebCLIPS a construit les faits suivants : (login lehuen) (password bond007) Il faut donc pas entrer de caractères accentués ou de typographie –Comment utiliser les accents ? Il suffit de passer par une fonction Javascript qui ajoute des guillemets à la chaîne de caractères qui est envoyée à WebCLIPS : Caractères accentués function clips() { var value1 = document.nomFormulaire.factvalue1.value; var value2 = document.nomFormulaire.factvalue2.value; document.nomFormulaire.factvalue1.value = '"' + value1 + '"'; document.nomFormulaire.factvalue2.value = '"' + value2 + '"'; document.nomFormulaire.submit(); } Un grand merci à Alain Corbière (promo DEA )

13 Quatre exemples WebCLIPS © Jérôme Lehuen (03/10/01) 13 Caractères accentués Entrez votre login : Entrez votre password : –Modification du formulaire HTML en conséquence : –Modification du code CLIPS en conséquence : (deffacts AUTORISATIONS "Liste des usagers autorisés" (autorisation "lehuen" "bond007") (autorisation "tchounikine" "tchou72"))

14 Quatre exemples WebCLIPS © Jérôme Lehuen (03/10/01) 14 Dialogue client-serveur Mémorisation de lapplication qui a généré la page HTML –Chaque page générée contient le nom son application Voir les réponses de WebCLIPS pour les exemples n°1 et n°2 Mémorisation des faits spécifiques à chaque client –Si lapplication nécessite une interaction avec lutilisateur, on doit pouvoir maintenir la base de faits durant linteraction –Avant de quitter, WebCLIPS peut sauvegarder sa base de faits Soit chez le client : –dans la page HTML générée (sous la forme de données cachées) : –valable si la base de faits nest pas trop volumineuse –il faut ajouter la ligne « PreserveFacts=Yes » dans le fichier webclips.ini Soit chez le serveur : –dans un fichier temporaire qui sera rechargé lors de la requête suivante –le nom du fichier de faits est mémorisé dans la page HTML générée –il faut ajouter la ligne « PreserveFacts=Disk » dans le fichier webclips.ini


Télécharger ppt "Quatre exemples WebCLIPS © Jérôme Lehuen (03/10/01) 1 Quatre exemples sous WebCLIPS Introduction2 Exemple n°13 Exemple n°25 Exemple n°37 Exemple n°49 Modules."

Présentations similaires


Annonces Google