SRC2 CIM320-2013 - Intranet | IUT de Troyes
Transcription
SRC2 CIM320-2013 - Intranet | IUT de Troyes
1 SRC2 CIM320-2013 TP Jquery , appli chat Présentation Réalisation d'une application chat avec jquery source de départ : SRC2 2 SRC2 CIM320-2013 pour stocker toutes les phrases « dites » par les « chateurs » : SRC2 3 SRC2 CIM320-2013 Exercice 1: préparation • créer une table chat(id,pseudo,phrase) dans votre base de données • remplir cette table avec une quinzaine d'enregistrement Exercice 2: réaliser la page d'enregistrement d'une nouvelle phrase par un chatteur (dire.php?pseudo=toto&phrase=salut...) • cette page devra enregistrer dans la base la phrase (et le pseudo) passée dans l'url aucun affichage de retour n'est nécessaire (ou alors juste un message pour le débuggage!) … • faites des essais pour plusieurs phrase et vérifier leurs présences dans la base Exercice 3 réaliser la page d'affichage des 10 dernières phrases (affiche.php) • cette page devra afficher les 10 dernières phrases tapées sur le chat sous la forme pseudo > phrase ( + <br/>) bob > hello ! Toto > tu va bien ? Bob > oui merci … faites des essais en saissisant des phrases grace à la page dire.php?pseudo=... et en les relisant avec la page affiche.php Exercice 4: réaliser la page html affichant l'interface du chat Attention, INDISPENSABLE : utiliser Firebug (ou autre outils de débug) pour tester votre développement ! … <div id='affiche'> load ...</div> <input id='pseudo' type='text'><input id='phrase' type='text'> <input id='bouton' type='submit' value='dire'> ... • lors du click sur le bouton « dire », générer l'appel à la ressource dire.php en utilisant jquery : $(...).click() , $(...).val() et $().ajax() ; • faire une routine qui se lance régulièrement (toute les secondes) , et qui vient récupérer l'affichage de la page affiche pour l'afficher dans la zone spécifique. utiliser « setInterval » pour lire régulierement la page. Et $(...).load(...) pour écrire dans la zone d'affichage les 10 dernieres phrases. (en « loadant » la page lire.php) • modifier l'ensemble pour que la phrase « parte » lorsque l'on appuis sur « Entrée » plutôt que lors du clique sur le bouton. (pour cel utiliser $(...).keydown(function( event ) {…}) déjà vue au SRC2 4 SRC2 CIM320-2013 tp précédent...). Profitez en pour vider la zone de saisie de la phrase pour etre prêt à retaper un autre text. Exercice 5: fonctionnalités avancées •reprendre les améliorations possibles indiquées sur la diapo (page 2 de ce document)... • faites un parseur de tag (ou smiley) permettant de faire vibrer par exemple la zone des phrases affichées lorsque l'on tape « vibre » comme phrase … •réaliser une zone affichant la liste des connectés... TP complementaire: fonctionnalités avancées • possibilité 1 : améliorer la mise en forme par exemple en adoptant cette mise en forme c'est surtout un travail à faire dans le fichier lire.php Astuce : lors de l'appel à lire.php (dans $(...)load(« lire.php ») renvoyer le pseudo du chateur à lire.php pour qu'en php vous puissiez mettre en forme d'une façon différente votre avatar. SRC2 5 SRC2 CIM320-2013 • possibilité 2 : faire un parseur de tag (ou smiley) permettant de faire vibrer par exemple la zone des phrases affichées lorsque l'on tape «#votrepseudo» dans une phrase. analyser la derniere phrase ecrite et si le tag '#' apparaît suivi de votre pseudo, faite vibrer la zone d'affichage (ou la faire clignoter) pour cela, rajouter un timer (setInterval) qui récupere dans une variable la derniere phrase « dite » et analysez cette phrase à la recherche de #monpseudo, si vous le trouvez faite bouger la zone d'affichage. Astuces : lance la fonction toute les 2s setInterval(function(){ ..}, 2000) ; recupere dans la variable recup le resultat de l'appel au fichier dernierephrase.php $.ajax({url: "dernierephrase.php"}).done(function( recup ) { ... }); pour savoir si la chaine recup contient la sous-chaine « #monpseudo » recup.indexOf('#monpseudo') cette fonction renvois -1 si elle ne trouve pas la souschaine (sinon elle renvois une valeur entre 0 et n...) pour faire vibrer un div avec jquery : et bien, voir google « faire vibrer div avec jquery« ! SRC2