Application AJAX/jquery

Documents pareils
NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

TP JAVASCRIPT OMI4 TP5 SRC

DOM - Document Object Model

Comment créer son propre monitoring. (Version simple PHP)

Introduction. PHP = Personal Home Pages ou PHP Hypertext Preprocessor. Langage de script interprété (non compilé)

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Formulaires et Compteurs

Panel des technologies Web

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin

SYSTÈMES D INFORMATIONS

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Google Tag Manager. «Vous ne verrez plus l'analytics de la même manière» par Ronan CHARDONNEAU

Thème : Création, Hébergement et référencement d un site Web

GOOGLE ANALYTICS. Ajout du code de suivi sur PowerBoutique. Ajout du code de suivi Google Analytics. Page 1 / 7 TUTO / GOOGLE ANALYTICS

HTML, CSS, JS et CGI. Elanore Elessar Dimar

Un jour, une question Réponse à une problématique issue de la liste GTA *

Projet en nouvelles technologies de l information et de la communication

PLUGINS Guide du Développeur STEPHANE FERRARI. P l u X m l 5.4

ISTEX-SNU. ISTEX en quelques clics dans votre portail documentaire. Séminaire technique ISTEX 18 mars 2015

Sommaire Accès via un formulaire d'identification... 4 Accès en mode SSO... 5 Quels Identifiant / mot de passe utiliser?... 6

Les grandes facettes du développement Web Nicolas Thouvenin - Stéphane Gully

Optimiser pour les appareils mobiles

\ \ / \ / / \/ ~ \/ _ \\ \ ` \ Y ( <_> ) \ / /\ _ / \ / / \/ \/ \/ Team

Publier un Carnet Blanc

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

Nouveautés joomla 3 1/14

Devenez un véritable développeur web en 3 mois!

Séance d ED n 5 : HTML et JavaScript

3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

Google Webmaster Tools

Module BD et sites WEB

Ajax, RIA et HTML Prise en charge d Ajax

Publier dans la Base Documentaire

Attaques de type. Brandon Petty

Formulaire pour envoyer un mail

RAPPORT AUDIT SEO. Élaboré à l'attention de : Monsieur Greber Élaboré par : Cédric Peinado

Académie Google AdWords

NAMEBAY PRO. votre site de revente de noms de domaine en marque blanche. Documentation technique

2 LES BASES DU HTML 19 Qu est-ce que le HTML? 20 De quand date le HTML? 20 Écrire son propre code HTML 22

Introduction. Passage de sites statiques à des sites dynamiques

PHP et les Bases de données - Généralités

Compte Rendu d intégration d application

Document Object Model (DOM)

NOTICE TELESERVICES : Demander un état hypothécaire

RÉALISATION D UN SITE DE RENCONTRE

Activités HTML. Code: act-html

Pack Fifty+ Normes Techniques 2013

Normes techniques 2011

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

Utilisation de GalaxShare

STID 2ème année : TP Web/PHP

Stockage du fichier dans une table mysql:

Assistance à distance sous Windows

Armand PY-PATINEC 2010

API SMS CONSEIL HTTP V2.01. Sommaire. Documentation V1.0 au 21/05/2011

Démarrer avec Ajax et le php: exemple d'application

Optimiser les s marketing Les points essentiels

Bonnes pratiques de développement JavaScript

Programmation Web. Madalina Croitoru IUT Montpellier

Démonstration de la mise en cache via HTML 5 sur iphone

Les solutions de paiement CyberMUT (Crédit Mutuel) et CIC. Qui contacter pour commencer la mise en place d une configuration de test?

Programmation Web. Introduction

Initiation aux techniques du Web. Cours L2 sciences cognitives séance 2 Charif HAYDAR: alchiekc@loria.fr

Solution de gestion de newsletter 12all Version 1.0 p.montier

PHP CLÉS EN MAIN. 76 scripts efficaces pour enrichir vos sites web. par William Steinmetz et Brian Ward

Installation de Concrete 5

Tutorial et Guide TeamViewer

EXTENSION de Microsoft Dynamics CRM Réf FR 80452

1 ère Université WEB. Courbevoie Samedi 21 octobre Votre site interactif sur internet.

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

Table des Matières. Pages 3-4. A propos d emblue. Page 5. L environnement emblue. Création d une campagne d marketing. Pages 6-15.

Sécurité des applications web. Daniel Boteanu

Présentation du Framework BootstrapTwitter

Soon_AdvancedCache. Module Magento SOON. Rédacteur. Relecture & validation technique. Historique des révisions

Mise en place d un serveur Proxy sous Ubuntu / Debian

Principales Evolutions Version

Extended communication server 4.1 : VoIP SIP service- Administration

1. La plate-forme LAMP

Rapport SVA L.I.R.T/ESP 2008 RAPPORT SVA. Par: Jean François Diokel DIOKH. Professeur: M. OUYA. Jean François Diokel DIOKH 1

Formation Webmaster : Création de site Web Initiation + Approfondissement

Drupal Contributeur. Maitrisez la publication sous Drupal. Une formation Formateur : Fabien Crépin. Drupal Contributeur.

RESUME DE CARRIERE. Alice JULIENNE. 23 ans Nationalité Française Développeur Web Front-End. Compétences

INFORM :: DEMARRAGE RAPIDE A service by KIS

Attaques applicatives

Auteur LARDOUX Guillaume Contact Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA

Karim EL KHALIFA Web developer

Les Bases. Messaoudi Khaled, Boukelal Hanane (Etudiants Informatique ) 2015.

SPECIFICATIONS TECHNIQUES : Gestion des Médicaments et des commandes de médicaments

Spécificités Techniques créations publicitaires

Publication dans le Back Office

Je suis très dynamique et extrêmement motivé car j'aime beaucoup acquérir de nouvelles connaissances et

Guide utilisateur Module Parents

Hébergement de site web Damien Nouvel

Transcription:

Application AJAX/jquery Réalisation d'un chat en AJAX Structure de la page boby>hello titi> salut rene> bonjour boby> A+ titi bye envois Zone d'afchage (<div>) Bouton de validation <input type=button> Zone de saisie du pseudo (<input>) Zone de saisie de la phrase (<input>)

AJAX / jquery Il faut rafraichir régulièrement la zone d'afchage des messages (toutes les secondes par exemple) Il existe une methode bien pratique avec la librairie prototype «PeriodicalUpdater «, Hélas,elle n'existe pas d'origine dans jquery Il faudra donc utiliser une librairie supplémentaire on peut en trouver pour jquery Ou utiliser simplement la fonction javascript setinterval : setinterval(function() { // Do something every 5 seconds }, 5000);

Application AJAX <html> <head> <script type="text/javascript" src="jquery.js"> <body> $(document).ready ( function(){ <div id='afche'>ici</div> <input type="text" id="pseudo" > <input type= "text" id="phrase" size="32" > <input type="submit" id="envois" value="envoyer" />

Application AJAX/jquery+prototype Mettre en place une table dans une base de données: chat(id,pseudo,phrase)

Application AJAX/jquery+prototype Réaliser 2 fichiers php lire.php => ce fichier doit afcher la liste des 5 dernières phrases tapées par les usagers Resultat d'afche de ce fichier : toto>hello Bob> bonjour... valider.php => ce fichier doit enregistrer dans la table chat la phrase et le pseudo passés en paramètre (pseudo et phrase) Valider.php?pseudo=toto&phrase=salut!

Application AJAX <html> <head> <script type="text/javascript" src="jquery.js"> <body> $(document).ready ( function(){ //declaration du «timer» pour raffraichir toutes les 2s la zone d'affichage (div «affiche») // utilisation de setinterval et de $(...).load pour appeler le fichier lire.php // declaration de l'évènement click sur le bouton envoyer // utilisation de $(...).click() et de $().ajax() ainsi que de $(..).val() pour appeler le fichier dire.php <div id='afche'>ici</div> <input type="text" id="pseudo" > <input type= "text" id="phrase" size="32" > <input type="submit" id="envois" value="envoyer" />

Application AJAX Amélioration : 1) vider la zone de saisie (phrase) après avoir envoyer une ligne sur le chat (utiliser $(...).val() par exemple) 2) lancer l'envois d'un phrase saisie lors de l'appuis sur la touche Enter à la place du click sur le bouton envoyer (utiliser $().keyup() par exemple et tester la touche ENTER(code ASCII 13) ) 3) protéger le systeme contre l'injection de script (à faire en php dans le fichier dire.php). 4) protéger le systeme contre le flood (à faire dans le fichier dire.php) 5) ajouter un systeme afchant la liste des connectés......

Drag&Drop avec jquery UI (http://jqueryui.com) Dans la librairie de base de jquery, il n'existe pas d'outils direct pour les drag&drop Il est donc nécessaire de faire appel à des librairies complémentaires: jquery.ui ou/et interface.js <html><head> <script type="text/javascript" src="js/jquery-1.4.4.min.js"> <script type="text/javascript" src="js/jquery-ui-1.8.9.custom.min.js"> <body > <div id="poubelle"> Poubelle </div> <div id='liste'>ici la liste des abonnes</div>

Drag&Drop avec jquery UI (http://jqueryui.com) Dans la librairie de base de jquery, il n'existe pas d'outils direct pour les drag&drop Il est donc nécessaire de faire appel à des librairies complémentaires: jquery.ui ou/et interface.js <html><head> <script type="text/javascript" src="js/jquery-1.4.4.min.js"> <script type="text/javascript" src="js/jquery-ui-1.8.9.custom.min.js"> $(document).ready ( function(){ <body > <div id="poubelle"> Poubelle </div> <div id='liste'>ici la liste des abonnes</div>

Drag&Drop avec jquery <html><head> <script type="text/javascript" src="js/jquery-1.4.4.min.js"> <script type="text/javascript" src="js/jquery-ui-1.8.9.custom.min.js"> $(document).ready ( function(){ $("#liste").load("lister.php"); <body > <div id="poubelle"> Poubelle </div> <div id='liste'>ici la liste des abonnes</div>

Drag&Drop avec jquery Fichier lister.php: <? echo «<div id='1' class='abo' >Martin Martial</div>?> <div id='2' class='abo' >Arganini Gerald</div> <div id='3' class='abo' >ARNAUD Jean-Michel</div> <div id='4' class='abo' >ARONICAbu Aude</div> <div id='5' class='abo' >Aubert Florien</div>»; // cette liste est a generer via mysql biensur!

Drag&Drop avec jquery Declaration de la fonction qui se déclenche quand la liste est entièrement chargée <html><head> <script type="text/javascript" src="js/jquery-1.4.4.min.js"> <script type="text/javascript" src="js/jquery-ui-1.8.9.custom.min.js"> $(document).ready ( function() { $("#liste").load("lister.php", function() {... } ); <body > <div id="poubelle"> Poubelle </div> <div id='liste'>ici la liste des abonnes</div>

Drag&Drop avec jquery Declaration de la fonction qui se déclenche quand la liste est entièrement chargée <html><head> <script type="text/javascript" src="js/jquery-1.4.4.min.js"> <script type="text/javascript" src="js/jquery-ui-1.8.9.custom.min.js"> $(document).ready ( function() { $("#liste").load("lister.php", function() { $(".abo").draggable({ revert: true }) } ); //ici tous les éléments chargés avec liste.php ayant la class abo seront draggable avec //avec retour en position initial si on lache l'élément <body > <div id="poubelle"> Poubelle </div> <div id='liste'>ici la liste des abonnes</div>

Drag&Drop avec jquery <html><head> <script type="text/javascript" src="js/jquery-1.4.4.min.js"> <script type="text/javascript" src="js/jquery-ui-1.8.9.custom.min.js"> $(document).ready ( function(){ $("#liste").load("lister.php", function() { $(".abo").draggable({ revert: true }) } ); $("#poubelle").droppable({ drop: function(ev, ui) { <body > } <div id="poubelle"> Poubelle </div> <div id='liste'>ici la liste des abonnes</div>

Drag&Drop avec jquery <html><head> <script type="text/javascript" src="js/jquery-1.4.4.min.js"> <script type="text/javascript" src="js/jquery-ui-1.8.9.custom.min.js"> $(document).ready ( function(){ $("#liste").load("lister.php", function() { $(".abo").draggable({ revert: true }) } ); $("#poubelle").droppable({ drop: function(ev, ui) { alert($(ui.draggable).attr('id')); $(ui.draggable).remove(); <body > } <div id="poubelle"> Poubelle </div> <div id='liste'>ici la liste des abonnes</div>

Drag&Drop avec jquery <html><head> <script type="text/javascript" src="js/jquery-1.4.4.min.js"> <script type="text/javascript" src="js/jquery-ui-1.8.9.custom.min.js"> $(document).ready ( function(){ $("#liste").load("lister.php", function() { $(".abo").draggable({ revert: true }) } ); $("#poubelle").droppable({ drop: function(ev, ui) { <body > <div id="poubelle"> Poubelle </div> alert($(ui.draggable).attr('id')); $.ajax("supprimer.php?id="+$(ui.draggable).attr('id')); $(ui.draggable).remove(); } <div id='liste'>ici la liste des abonnes</div>

Drag&Drop avec jquery Autre ecriture possible <html><head> <script type="text/javascript" src="js/jquery-1.4.4.min.js"> <script type="text/javascript" src="js/jquery-ui-1.8.9.custom.min.js"> $(document).ready ( function(){ $("#liste").load("lister.php", function() { $(".abo").draggable({ revert: true }) } ); $("#poubelle").droppable({ drop: function(ev, ui) { $.ajax({ type: "GET", url: "supprimer.php", data: "id=»+$(ui.draggable).attr('id') $(ui.draggable).remove(); } <body > <div id="poubelle"> Poubelle </div> <div id='liste'>ici la liste des abonnes</div>

Drag&Drop avec jquery Autre ecriture possible <html><head> <script type="text/javascript" src="js/jquery-1.4.4.min.js"> <script type="text/javascript" src="js/jquery-ui-1.8.9.custom.min.js"> $(document).ready ( function(){ $("#liste").load("lister.php", function() { $(".abo").draggable({ revert: true }) } ); $("#poubelle").droppable({ drop: function(ev, ui) { $.ajax({ type: "GET", url: "supprimer.php", data: "id=»+$(ui.draggable).attr('id') $(ui.draggable).remove(); } <body > <div id="poubelle"> Poubelle </div> <div id='liste'>ici la liste des abonnes</div>

Ajax et l'avenir Beaucoup d'outils de développement s'orientent vers l'utilisation d'ajax On le voit avec les librairies de script: aculo, mootools, openrico, jquery... On le voit dans les framework (rubyonrails, cakephp qui integre des fonctionnalités AJAX) On le voit dans les outils spécifiques web comme chez adobe avec SPRY (Framework)

Ajax et jquery Element pour le TD2:exo3 a) generation de la liste des abonnes avec un id différent pour chacun b) recuperation de l'id et appel du formulaire Utilisation de $(this).attr(«id») c) regeneration de la liste lors d'une modification d'un abonné d) postionnement du div formulaire près du nom cliqué Utilisation de $(this).position() pos=$(this).position() ; Ou $(this).position().top ; puis pos.top et pos.left

Ajax et jquery Element pour le TD2:exo3 a) generation de la liste des abonnes avec un id différent pour chacun b) recuperation de l'id et appel du formulaire Utilisation de $(this).attr(«id») c) regeneration de la liste lors d'une modification d'un abonné d) postionnement du div formulaire près du nom cliqué Utilisation de $(this).position() pos=$(this).position() ; Ou $(this).position().top ; puis pos.top et pos.left