Les API de HTML5. Michel Gagnon École Polytechnique de Montréal

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

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

SYSTÈMES D INFORMATIONS

DOM - Document Object Model

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

Ajax, RIA et HTML Prise en charge d Ajax

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

Document Object Model (DOM)

TP JAVASCRIPT OMI4 TP5 SRC

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

Rapport de Stage Christopher Chedeau 2 au 26 Juin 2009

< Atelier 1 /> Démarrer une application web

Programmation Web. Madalina Croitoru IUT Montpellier

Description des pratiques à adopter pour la mise à jour du layout en utilisant le gestionnaire de conception de Sharepoint 2013

Paris Airports - Web API Airports Path finding

4. SERVICES WEB REST 46

Programmation Internet Cours 4

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

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

Programmation Web TP1 - HTML

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

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

PPE Installation d un serveur FTP

Optimiser pour les appareils mobiles

Construire une application marketing Facebook sur la plateforme Windows Azure

INTRODUCTION AU CMS MODX

Module : programmation site Web dynamique Naviguer entre les pages via site map

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

Les services usuels de l Internet

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

La base de données XML exist. A. Belaïd

KompoZer. Composition du site : _ une page d'accueil : index.html. _ une page pour la théorie : theorie.html. _ une page pour les photos : photos.

HTML, CSS, JS et CGI. Elanore Elessar Dimar

Module BD et sites WEB

Application Web et J2EE

Mise en œuvre des serveurs d application

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

Projet en nouvelles technologies de l information et de la communication

Introduction à. Oracle Application Express

Plateforme PAYZEN. Intégration du module de paiement pour la plateforme Magento version 1.3.x.x. Paiement en plusieurs fois. Version 1.

Les Content Delivery Network (CDN)

Petite définition : Présentation :

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

Le stockage local de données en HTML5

INF8007 Langages de script

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

Sécurité des applications web. Daniel Boteanu

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

Datalift. + + Architecture Modularité Déploiements. d j = 09/04/2015 Laurent BIHANIC

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

Sécurité des applications Web. Yannick Chevalier Université de Toulouse IUP NTIE M

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.

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5

Par KENFACK Patrick MIF30 19 Mai 2009

Généralités. javadoc. Format des commentaires. Format des commentaires. Caractères spéciaux. Insérer du code

AWS avancé. Surveiller votre utilisation d EC2

Pratique et administration des systèmes

WordPress Référencement naturel (SEO) Optimiser. son référencement. Daniel Roch. Préface d Olivier Andrieu

les techniques d'extraction, les formulaires et intégration dans un site WEB

Mise en place d un serveur Proxy sous Ubuntu / Debian

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

WordPress Référencement naturel (SEO) Optimiser. son référencement. Daniel Roch. Préface d Olivier Andrieu

BES WEBDEVELOPER ACTIVITÉ RÔLE

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

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Extended communication server 4.1 : VoIP SIP service- Administration

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

S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i

Proxies,, Caches & CDNs

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

{less} Guide de démarrage

ArcGIS for INSPIRE SIG RAIL 2011

Alfstore workflow framework Spécification technique

SQUID I- Squid, c'est quoi? II- Comment ca marche? III- Où trouver des informations?

BIRT (Business Intelligence and Reporting Tools)

Stockage du fichier dans une table mysql:

Architectures d'intégration de données

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

Informatique : Création de site Web Master 2 ANI TP 1

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs

EXPOSE. La SuisseID, qu est ce que c est? Secrétariat d Etat à l Economie SECO Pierre Hemmer, Chef du développement egovernment

Académie Google AdWords

LES GRANDES ETAPES DE CREATION D UN WEB DESIGN

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

Compte Rendu d intégration d application

Projet de Semestre. Page Web Didactique de Visualisation d Algorithme. Université de Genève - semestre de printemps 2012

Optimiser moteur recherche

CHAPITRE 11. Temps réel Remy Sharp

Bien architecturer une application REST

Play.Rules Return. Contents. October 18, Remerciements 2

Table des matières Hakim Benameurlaine 1

IFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL

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

Portabilité sur système Android d un système de borne d information

Technologies du Web. Ludovic DENOYER - ludovic.denoyer@lip6.fr. Février 2014 UPMC

HTML/CSS - Travaux Pratiques 2

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

Hébergement de site web Damien Nouvel

ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5

Transcription:

Les API de HTML5 Michel Gagnon École Polytechnique de Montréal

Cache d application L idée ici consiste à garder en cache les ressources nécessaires pour continuer à utiliser une application web même si on est hors ligne Il faut un fichier manifeste pour déterminer ce qui doit être mis en cache Au moins un des documents HTML de l application doit faire un lien avec le manifeste: <html manifest="exemple.appcache"> </html> Un document qui contient un tel lien sera automatiquement mis dans la cache d application correspondant au manifeste, avec tous les autres documents requis pour cette application, tel que spécifié par le manifeste (on dit que c est un document «maître»)

Cache d application Le processus de chargement d une page est alors modifié: Le navigateur essaie d abord de charger la page à partir de la cache d application Le navigateur vérifie alors avec le serveur si le manifeste a été modifié Si c est le cas, il recharge à nouveau la cache avec les documents spécifiés dans le manifeste Important: Si le manifeste ne change pas, et que le contenu d une ressource est modifié, la cache ne sera pas mise à jour Il faudra alors modifier le manifeste (normalement on change un numéro de version)

Fichier manifeste Type MIME: text/cache-manifest Contient 3 sections: CACHE (par défaut, la première section) : spécifie les ressources qui doivent être mises en cache NETWORK : spécifie les ressources qui doivent toujours être téléchargées du serveur FALLBACK : spécifie la ressource à utiliser en remplacement si une ressource n a pu être obtenue du serveur

Exemple de manifeste CACHE MANIFEST # v1 2011-08-14 # This is another comment index.html cache.html style.css image1.png # Fallback content FALLBACK: / fallback.html # Use from network if available NETWORK: network.html

Stockage local Deux possibilités: L information disparaît après la fin de la session, c està-dire lorsque l onglet contenant la page est fermé, ou lorsque le navigateur est fermé (objet localstorage) L information est persistante (objet sessionstorage) Dans les deux cas, on stocke des paires attribut/valeur L espace de stockage est associé au domaine du site web (deux pages du même domaine peuvent accéder à la même information du stockage local

Stockage local exemple simple <!DOCTYPE html> <html lang="en"> <head> </head> <body> <p> Cliquez <a href="/exemples/stockagelocal/autrepage.html">ici</a> pour charger une page qui partage le stockage local</p> <fieldset> <legend>stockage local</legend> <label for="localdata"> Ceci sera persistant:</label> <input id="localdata"><br> <label for="sessiondata"> Ceci sera conservé durant la session:</label> <input id="sessiondata"> </fieldset> <div> <button onclick="savedata()">sauvegarder</button> <button </div> </body> </html> onclick="loaddata()">récupérer</button>

Stockage local exemple simple <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <script> function savedata() { localstorage.setitem("localdata", $("#localdata").val()); sessionstorage.setitem("sessiondata", $("#sessiondata").val()); } function loaddata() { if (localdata!= null) { $("#localdata").val(localstorage.getitem("localdata")); } if (sessiondata!= null) { $("#sessiondata").val(sessionstorage.getitem("sessiondata")); } } </script> </head> <body> </body> </html>

Stockage local exemple simple http://michelgagnon.heroku.com/exemples/stockagelocal/ Adapté de M. McDonald, HTML5, The Missing Manual, O Reilly, 2014

AJAX Principe: communiquer avec le serveur pour obtenir des données qui seront utilisées (en général) pour modifier le document sans recharger la page Deux manières courantes de l implémenter: Utilisation de l objet XMLHttpRequest Utilisation d un élément <script> En général, le serveur envoie le contenu demandé dans un des formats suivants: texte, HTML, XML, JSON Technique asynchrone

XMLHttpRequest 1. On crée une instance de XMLHttpRequest 2. On attache un gestionnaire à l événement readystatechange 3. On ouvre la connexion (méthode open()) 4. On envoie la requête (méthode send()) 5. Dans le gestionnaire, on teste la valeur de l attribut readystate, et on traite les informations reçues lorsque la valeur de cet attribut est 4

AJAX- Méthode JSONP On utilise la balise <script> Dès qu on attribue une valeur à l attribut src, la ressource associée sera téléchargée Le serveur doit englober l objet JSON dans un appel de fonction, qui sera alors exécutée par le navigateur (cette fonction doit être déjà définie dans le navigateur) Avantage: la balise <script> n est pas soumise à la contrainte de la «même origine»

Méthode JSONP - Exemple <script type="application/javascript" src="http://serveur.exemple.com/res23?callback=moncallback"> </script> <script> function moncallback(data) { alert(data); } </script>

Méthode JSONP - Exemple <script type="application/javascript" src="http://serveur.exemple.com/res23?callback=moncallback"> </script> <script> function moncallback(data) { alert(data); } </script> On indique au serveur quelle fonction sera appelée. Il pourra retourner quelque chose comme: moncallback( { attr 1 : val 1, attr n : val n })

Méthode JSONP - Exemple <script type="application/javascript" id= "jsonp"> </script> <script> function callback(data) { alert(data); }. Quelque part dans le code, on peut fixer une valeur à l attribut src, une requête sera automatiquement envoyée au serveur. $("#jsonp").attr("src", "http://serveur.exemple.com/res23?callback=moncallback"); </script>

AJAX avec jquery Méthode load(): On lui passe une URL Le contenu envoyé par le serveur remplacera celui de l élément sur lequel la méthode est exécutée Exemple: $( #stats ).load( rapport.html ) Arguments supplémentaires possibles: Un ensemble de données à ajouter à la requête Une fonction qui sera exécutée lorsque le traitement de la requête aura été complété

AJAX avec jquery Fonction utilitaire $.getscript(): Télécharge et exécute un code Javascript Pas régi par la contrainte de la même origine Fonction utilitaire $.getjson(): Fait une requête avec l URL fournie Parse la réponse JSON et transmet l objet résultant à la fonction passée en paramètre Fonctions $.get() et $.post(): Font une requête avec la méthode correspondante Fonction générique $.ajax(): On lui passe un ensemble de données qui définissent le genre d interaction désiré