GIS and Media fusion

"The explosive growth of the GeoWeb and geographic information has made GIS powerful media for the general public to communicate, but perhaps more importantly, GIS have also become media for constructive dialogs and interactions about social issues." - Sui & Goodchild

User Tools

Site Tools


ajax:sol

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
ajax:sol [2011/06/29 20:31]
oertz
ajax:sol [2018/05/15 17:18] (current)
Line 1: Line 1:
 ====== Corrigé de l'​examen final ====== ====== Corrigé de l'​examen final ======
 +{{:​ajax:​ajax_enonce.pdf|Enoncé}} de l'​examen.
 +
 ===== Question 1 ===== ===== Question 1 =====
 **Quels sont les différents ingrédients qui composent le modèle d'​application web dit AJAX ?** **Quels sont les différents ingrédients qui composent le modèle d'​application web dit AJAX ?**
Line 15: Line 17:
  
 Chaque ingrédient a son utilité et une utilisation précise dans un dialogue AJAX caractéristique qui peut se découper en 5 étapes : Chaque ingrédient a son utilité et une utilisation précise dans un dialogue AJAX caractéristique qui peut se découper en 5 étapes :
-  - une application est chargée dans le navigateur web de l'​utilisateur avec toute la description HTML et CSS de l'IHM et tous les comportements JavaScript enregistrés pour la gestion des interactions. Une interaction utilisateur a lieu, déclenchant ... +  - une application est chargée dans le navigateur web de l'​utilisateur avec toute la description HTML et CSS de l'IHM et tous les comportements JavaScript enregistrés pour la gestion des interactions. Une interaction utilisateur a lieu, déclenchant ​une fonction JavaScript du moteur AJAX. 
-  - +  - cette fonction invoque un service par une requête HTTP asynchrone grâce à l'​objet XMLHTTPRequest et enregistre une fonction de rappel qui traitera le résultat de la requête (cfpoint 4). Le cas échéant, des informations sont envoyées avec la requête au serveur
 +  - le service appelé traite la requête selon les informations reçues (si disponibles) et formule la réponse. Celle-ci est renvoyée au client. 
 +  - la fonction JavaScript de rappel enregistrée au point 2 se déclenche à reception de la réponse du serveur. Celle-ci traite les informations et les préparent pour l'​étape suivante. 
 +  - l'​interface HTML/CSS est modifiée par le DOM pour signifier, généralement visuellement,​ les informations reçues du serveur. 
 + 
 +===== Question 2 ===== 
 +**Mais alors pourquoi cela ne fonctionne pas ?**  
 + 
 +La contrat "Same Origin Policy"​ liée aux navigateurs web interdit toute communication directe d'une application web avec un autre serveur que celui d'​origine de cette application. 
 + 
 +Mon collègue est précisément dans ce cas interdit, car il communique avec un serveur, celui de Panoramio, qui n'est le serveur d'​origine de son application (à moins de travailler chez Panoramio ;-) !). 
 + 
 +**Quelle démarche faut-il entreprendre pour profiter tout de même de ce service Panoramio ?​** 
 + 
 +Pour contourner ce contrat, je lui conseille d'​utiliser un proxy intermédiaire sur le serveur d'​origine. Celui-ci devra gérer la communication avec le serveur Panoramio en relayant la requête cliente (la communication serveur à serveur n'est pas contrainte). 
 + 
 +===== Question 3 ===== 
 +**Ecrire l'​instruction jQuery la plus précise qui correspond à un tel appel AJAX.** 
 + 
 +<​code>​ 
 +$.post("​subscribe.php",​  
 +       { 
 +        lastname:"​Talon",​  
 +        firstname:"​Achille",​  
 +        birthdate: "​07/​11/​1963"​ 
 +       },  
 +       ​successCallback,​  
 +       "​json"​ 
 +); 
 +</​code>​ 
 + 
 +Sachant que la fonction de rappel //​successCallback//​ recevra un objet JavaScript que jQuery aura automatiquement décodé.
ajax/sol.1309372271.txt.gz · Last modified: 2018/05/15 17:17 (external edit)