Exemples d applications Ajax

Documents pareils
DOM - Document Object Model

TP JAVASCRIPT OMI4 TP5 SRC

Module BD et sites WEB

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

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

Attaques de type. Brandon Petty

Programmation Web. Madalina Croitoru IUT Montpellier

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

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

Document Object Model (DOM)

Dans l'article précédent, vous avez appris

SYSTÈMES D INFORMATIONS

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

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

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

Ajax, RIA et HTML Prise en charge d Ajax

Mise en place d un serveur Proxy sous Ubuntu / Debian

Stockage du fichier dans une table mysql:

Séance d ED n 5 : HTML et JavaScript

Module http MMS AllMySMS.com Manuel d intégration

Failles XSS : Principes, Catégories Démonstrations, Contre mesures

HTML, CSS, JS et CGI. Elanore Elessar Dimar

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework

Rafraichissement conditionné d'une page en.net

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

contact@nqicorp.com - Web :

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

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

Pratique et administration des systèmes

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

FTP : File TRansfer Protocol => permets d envoyer des gros fichiers sur un serveur (ou de télécharger depuis le serveur)

Dans nos locaux au 98 Route de Sauve NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

Petite définition : Présentation :

Sécurité des applications web. Daniel Boteanu

Attaques applicatives

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

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

Les services usuels de l Internet

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

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

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

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

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

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

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

Alfstore workflow framework Spécification technique

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

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

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

21 mars Simulations et Méthodes de Monte Carlo. DADI Charles-Abner. Objectifs et intérêt de ce T.E.R. Générer l'aléatoire.

contact@nqicorp.com - Web :

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

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

A DESTINATION DES SERVICES TIERS. Editeurs d applications et ressources pédagogiques connectées à l ENT

AWS avancé. Surveiller votre utilisation d EC2

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Panel des technologies Web

CREATION d UN SITE WEB (INTRODUCTION)

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Formulaire pour envoyer un mail

Comment développer et intégrer un module à PhpMyLab?

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs

Internet. DNS World Wide Web. Divers. Mécanismes de base Exécution d'applications sur le web. Proxy, fire-wall

Optimiser les performances d un site web. Nicolas Chevallier Camille Roux

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

Formulaires et Compteurs

Hébergement de site web Damien Nouvel

Le Web de Données Dan VODISLAV Université de Cergy-Pontoise Master Informatique M2 Plan

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)

Développement des Systèmes d Information

Bases de Données et Internet

Projet en nouvelles technologies de l information et de la communication

PDO : PHP Data Object 1/13

Programmation Internet Cours 4

CHAPITRE 11. Temps réel Remy Sharp

Le serveur HTTPd WASD. Jean-François Piéronne

Joomla! Création et administration d'un site web - Version numérique

Gestion du cache dans les applications ASP.NET

L3 informatique TP n o 2 : Les applications réseau

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

Dojo Toolkit. Créer des applications AJAX/RIA en JavaScript. Thomas Corbière

Hébergement WeboCube. Un système performant et sécurisé. Hébergement géré par une équipe de techniciens

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

Stocker des données sur Amazon S3

Application Web et J2EE

Sana Sellami. Licence Professionnelle SIL

Documentation CAS à destination des éditeurs

BES WEBDEVELOPER ACTIVITÉ RÔLE

Aspects techniques : guide d interfaçage SSO

Web & Libre. Outils pour être présent sur le net librement

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

PLATE-FORMES LIBRES *AMP CYBER PAIEMENT / CYBER PLUS PAIEMENT GUIDE DE MIGRATION FACILE ET EN UNE HEURE PLATE-FORME SYSTEMPAY

1. La plate-forme LAMP

et Groupe Eyrolles, 2006, ISBN :

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

ASP.NET MVC 4 Développement d'applications Web en C# - Concepts et bonnes pratiques

Création de formulaires interactifs

Transcription:

Web 2.0 et Ajax

AJAX

Exemples d applications Ajax Complétion automatique Validation en temps réel des données d un formulaire Navigation dynamique Lecture d un flux RSS Sauvegarde automatique des documents Widgets

Principe Un objet XMLHttpRequest permet d'envoyer une requête à un serveur http, de lui transmettre des informations via les méthodes GET ou POST, et de récupérer le résultat qui peut être du XML, du HTML ou du simple texte. Spécification du W3C depuis 2006.

Etapes Création d un objet XmlHttpRequest xhr = new XMLHttpRequest(); Initialisation xhr.open(methode, url [, asynchrone, utilisateur, motdepasse]) Envoi de la requête xhr.send(contenu) Contenu = p1=v1&p2=v2.. (POST) Contenu=null (GET) Réception de la réponse xhr.responsetext xhr.responsexml

Etats d une requête AJAX readystate 0 (non initialisée) : avant open 1 : avant send 2 (envoyée) : 3 (en cours de réception) 4 (terminée) : réponse entièrement reçue.

Exemple : Mode Synchrone <title>exemple 1</title> <script> function f1(){ zone= document.getelementbyid("zone1"); xhr= new XMLHttpRequest(); xhr.open("get", "http://localhost:8111/page1.txt", false); xhr.send(null); zone.innerhtml=xhr.responsetext; </script> </head> <body> <form> </body> <input type="button" value="envoyer" onclick="f1()"/></form> <div id="zone1"> </div>

Exemple: Mode Asynchrone <title>exemple 2</title> <script> function f1(){ zone= document.getelementbyid("zone1"); xhr= new XMLHttpRequest(); xhr.onreadystatechange=function() { if (xhr.readystate==4) zone.innerhtml=xhr.responsetext; xhr.open("get", "http://localhost:8111/page1.txt"); xhr.send(null); </script> </head> <body> <form> </body> <input type="button" value="envoyer" onclick="f1()"/></form> <div id="zone1"> </div>

Exemple 0 <script type="text/javascript" language= "javascript"> var xhr = false; if (window.xmlhttprequest) { xhr = new XMLHttpRequest(); else if (window.activexobject) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); function get(datasource, dest) { if(xhr) { xhr.open("get", datasource); xhr.onreadystatechange = function() { if (xhr.readystate == 4 && xhr.status == 200) { document.f.zone1.value= xhr.responsetext; </script> xhr.send(null);

Exemple 1: traitement d'une réponse de type texte. <html> <head> <title>exemple 1</title> <script type="text/javascript" language = "javascript"> xhr = false; xhr = new XMLHttpRequest(); /* Fonction de traitement d'une requête Ajax: * Cette fonction accepte deux paramètres - url: page qui reçoit la requête - destination: objet de la page html dans lequel le résultat sera affecté. Tester cet exemple avec les fichiers suivants: ajax0.txt (Contenu: <strong>bonjour </strong> ajax.php (Contenu: <?php setlocale((lc_time,"fra"); echo '<strong>'. strftime("%a %B %Y"). '</strong> World!';?> */ function requete(url, destination) { /* Etape 1 Création d'une instance de l'objet XMLHttpRequest *************************************************************/ //Vérification si l'instance a été créée avec succès */ if(xhr) { /* Etape 2: Initilisation de la requête à l'aide de la méthode open ******************************************************************* * paramètre 1: Méthode http GET ou POST * paramètre 2: url de la page qui reçoit la requête sur le serveur http, si la requete envoie des paramètres et que la méthode http utilisée est GET alors il faut préciser aussi la valeur de ces paramètres. Exemeple http://serveur/page?p1=v1&p2=v2. paramètre 3: peut prendre deux valeurs true: la requête est envoyée en mode asynchrone (valeur par défaut). false: la requête est envoyée en mode synchrone paramètre 4: nom d'utilisateur (optionnel) paramètre 5: mot de passe (optionnel) */ xhr.open("get", url); /* Etape 3: Envoi de la requête: ******************************** * la méthode send envoie la requête au serveur http (l'équivalent de la méthode submit() d'un formulaire) elle accepte un paramètre qui peut prendre l'une des valeurs suivantes: * null : si la requête n'admet aucun paramètre ou si la méthode d'envoi est GET. * liste des paramètres de la requête */ xhr.send(null); /* Etape 4: Réception de la réponse *********************************** * Si la requête est envoyée en mode asynchrone, on doit définir un gestionnaire d'événement qui * sera appelé à chaque fois que l'état de la requête change, l'état d'une requête ajax est * défini par l'attribut xhr.readystate qui prend les valeurs suivantes 0 (requête non initialisée) : avant l'appel de la méthode open 1 (requête initilisée, mais non envoyée au serveur): avant l'appel de la méthoode send 2 (reqête envoyée) : 3 (en cours de réception) 4 (terminée) : réponse entièrement reçue. * le gestionnaire d'événement (une fonction javascript) est défini par l'attribut * xhr.onreadystatechange, dans cette exemple * une fonction javascript anonyme est utilisée. */ xhr.onreadystatechange = function() { //objet html dans lequel le résultat sera affecté. var obj = document.getelementbyid(destination); // On teste si la réponse est entièrement téléchargée (xhr.readystate==4 ) et que la page est reçue // sans erreur (xhr.status==200) if (xhr.readystate == 4 && xhr.status == 200) { /** Affichage du résultat de la requête */ obj.innerhtml = xhr.responsetext; // On peut aussi affihcer le résultat en utilisant cette instruction /* document.f.zone1.value= xhr.responsetext;*/ // fin if //fin fonction anonyme //fin if(xhr) // fin fonction get </script> </head> <body> <H1>Exemple 1</H1> <form name="f"> <input type = "button" value = "Message" onclick = "requete('http://localhost/web2/ajax0.txt', 'te')"> <input type="text" name="zone1" id="zone"> </form> <div id="te"> <p></p></div></body></html>