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



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

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

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

HTML. Notions générales

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

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

Programmation Internet Cours 4

TP JAVASCRIPT OMI4 TP5 SRC

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

Responsive Web design, périphériques mobiles et accessibilité

Programmation Web. Madalina Croitoru IUT Montpellier

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

Présentation du Framework BootstrapTwitter

L envoi d un formulaire par courriel. Configuration requise Mail Texte Mail HTML Check-list

Pratique et administration des systèmes

PPE Installation d un serveur FTP

{less} Guide de démarrage

Préparation d un serveur Apache pour Zend Framework

Optimiser pour les appareils mobiles

Installation Iconito École Numérique 2010 sous Windows WampServer

PHP 5.4 Développez un site web dynamique et interactif

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

Guide Reseller Onbile

Proxies,, Caches & CDNs

LES GRANDES ETAPES DE CREATION D UN WEB DESIGN

Extended communication server 4.1 : VoIP SIP service- Administration

But du papier : Paramétrer WSUS pour récupérer les mises à jour et administrer le serveur WSUS

Activité sur Meteor. Annexe 1 : notion de client-serveur et notion de base de données

Installation locale de JOOMLA SEPIA

CRÉER SON SITE INTERNET. Créer son site Internet. Méd de Roanne. FG 16/09/08

Rapports d activités et financiers par Internet. Manuel Utilisateur

Spétechs Mobile. Octobre 2013

Livret 1 Poste de travail de l utilisateur :

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

Guide d installation de Gael

Modules InnovationCRM

Placez vous au préalable à l endroit voulu dans l arborescence avant de cliquer sur l icône Nouveau Répertoire

MANUEL WORDPRESS. Objectif: Refonte d un site web sous Wordpress I PRE-REQUIS: 1 / Créer un backup (sauvegarde) du site:

Accès au Serveur de PAIE «SPV» par INTERNET Paramétrage du poste de travail «Windows»

HTML, CSS, JS et CGI. Elanore Elessar Dimar

Dispositif e-learning déployé sur les postes de travail

Stockage du fichier dans une table mysql:

CAHIER DES CHARGES SITE WEB : Steve Mind Magicien Close-up & Mentaliste - 1 -

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

ENVOI EN NOMBRE DE Mails PERSONNALISES

Guide d implémentation. Réussir l intégration de Systempay

Notice d installation et d utilisation du blog nomade avec un nouveau blog

Académie Google AdWords

TIC. Réseau informatique. Historique - 1. Historique - 2. TC - IUT Montpellier Internet et le Web

Spétechs Mobile. D e r n i è r e m i s e à j o u r : a o û t 2014

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

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

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

contact@nqicorp.com - Web :

Sauvegarder la base de données de Drupal avec le module Backup and Migrate

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

Remote Cookies Stealing SIWAR JENHANI (RT4) SOUHIR FARES (RT4)

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

Mise en place d un serveur Proxy sous Ubuntu / Debian

Google Merchant Center

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

CREG : versailles.fr/spip.php?article803

Documentation CAS à destination des éditeurs

ENVOI EN NOMBRE DE Mails PERSONNALISES

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

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

Aspects techniques : guide d interfaçage SSO

cbox VOS FICHIERS DEVIENNENT MOBILES! POUR ORDINATEURS DE BUREAU ET PORTABLES WINDOWS ÉDITION PROFESSIONNELLE MANUEL D UTILISATION

Logiciels de référencement

SUPPORT DE COURS / PHP PARTIE 3

Architectures en couches pour applications web Rappel : Architecture en couches

BTS Services informatiques aux organisations Session E4 Conception et maintenance de solutions informatiques Coefficient 4

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

Mysql avec EasyPhp. 1 er mars 2006

Maarch V1.4

EXEMPLES DE PROCEDURE POUR METTRE A JOUR LES CERTIFICATS BANQUE _

1 / Introduction. 2 / Gestion des comptes cpanel. Guide débuter avec WHM. 2.1Créer un package. 2.2Créer un compte cpanel

Initiation à html et à la création d'un site web

Formulaire pour envoyer un mail

GUIDE D'UTILISATION: Comment installer la Renault Media Nav Toolbox? GUIDE D'UTILISATION: Comment créer une empreinte digitale de votre appareil sur

POVERELLO KASONGO Lucien SIO 2, SISR SITUATION PROFESSIONNELLE OCS INVENTORY NG ET GLPI

AIDE A LA REDACTION CAHIER DES CHARGES DE REALISATION DE SITE INTERNET

Comment accéder à d Internet Explorer

INTRODUCTION AU CMS MODX

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)

CHAPITRE 11. Temps réel Remy Sharp

RÉALISATION D UN SITE DE RENCONTRE

Formation : WEbMaster

cbox VOS FICHIERS DEVIENNENT MOBILES! INTERFACE WEB MANUEL D UTILISATION

Une famille d'applications permettant à toute organisation d'optimiser le suivi et la gestion de ses ressources internes vous présente

Hébergement de site web Damien Nouvel

SYSTÈMES D INFORMATIONS

cbox VOS FICHIERS DEVIENNENT MOBILES! POUR CLIENT MAC OS X MANUEL D UTILISATION

HTML5, CSS3 et JavaScript Développez vos sites pour les terminaux mobiles

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

Transcription:

Last update: 2011/08/18 21:46 wiki:devmobile:webapp:html5:presentation Démonstration de la mise en cache via HTML 5 sur iphone Overview Parmi les nouveautés du HTML 5, l une d elles est très intéressent pour les applications web. Appelée «cache d application hors connexion», elle permet aux utilisateurs d exécuter une application, même lorsqu ils ne sont pas connectés à internet. Le principe de fonctionnement est le suivant : lorsqu un utilisateur accède à votre application web, le navigateur télécharge et stocke tous les fichiers requis pour afficher les pages (HTML, CSS, JavaScript, php, images etc ). La prochaine fois que l utilisateur accédera à l application web, le navigateur reconnaîtra l URL et fournira les fichiers contenus dans le cache d application local, au lieu de les télécharger depuis le réseau. Nous allons vous présenter les différents concepts impliqués dans un simple exemple d application. Tutorial Arborescence de l application : html5 -html index.html images icon.png startup.png javascript cache.js.htaccess cache.manifest Le fichier.htaccess Le fichier.htaccess est un fichier de configuration du serveur web Apache sur lequel vous hébergé votre application. AddType text/cache-manifest.manifest Cette permet d associer l extension.manifest avec le type MIME text/cache-manifest. De ce fait, notre fichier cahe.manifest sera reconnu par le serveur. Certains serveurs web ne reconnaissent pas les fichiers.htaccess ou le type MIME. http://wiki.openwebtech.fr/ Printed on 2012/02/16 11:49

wiki:devmobile:webapp:html5:presentation Last update: 2011/08/18 21:46 Il est donc nécessaire de se renseigner au préalable sur cette caractéristique. Le fichier cache.manifest Le fichier de manifeste est un simple document texte placé sur le serveur web. Il contient la liste des fichiers que le périphérique utilisateur doit télécharger pour fonctionner. La moindre erreur typographique dans ce manifeste l invaliderait et empêcherait l application de fonctionner hors connexion. CACHE MANIFEST # version 1.0 CACHE: html/index.html images/icon.png images/startup.png javascript/cache.js Les lignes 4 à 7 contiennent l ensemble des fichiers de l application. On remarque que le fichier.htaccess et cache.manifest ne sont pas présent. La ligne 2 sert à signaler quand une mise à jour est disponible. En effet, l ensemble des fichiers seront téléchargés une nouvelle fois dès que le manifeste aura changé. En ajoutant un commentaire au fichier, grâce au «#», il suffit de changer le numéro de version pour modifier le manifeste et donc provoquer la mise à jour de l application. Les autres options du manifest : CACHE MANIFEST # version 1.0 CACHE: html/index.html images/icon.png images/startup.png javascript/cache.js NETWORK: FALLBACK: Il est possible de forcer le navigateur à accéder à certaines ressources sur le serveur. Le navigateur ne mettra pas en cache au niveau local les fichiers de la partir NETWORK. Ces ressources ne seront donc pas visibles lorsque l utilisateur sera hors connexion. Grâce à la partie FALLBACK, nous pouvons préciser des fichiers de remplacement dans le cas ou l utilisateur n a pas d accès internet. Le fichier html Printed on 2012/02/16 11:49 http://wiki.openwebtech.fr/

Last update: 2011/08/18 21:46 wiki:devmobile:webapp:html5:presentation Considérons dans notre exemple la structure suivante : <!DOCTYPE html> <html manifest="manifest.php"> <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/> <meta content="yes" name="apple-mobile-web-app-capable" /> <link rel="apple-touch-icon" href="images/icon.png" /> <link href="images/startup.png" rel="apple-touch-startup-image" /> <meta content="text/html; charset=utf-8" http-equiv="content-type" /> <meta content="minimum-scale=1.0, width=device-width, maximum-scale=0.6667, user-scalable=no" name="viewport" /> <script src="cache.js" type="text/javascript"></script> <title>contact</title> </head> <body onload="init()"> </body> </html> <center> </center> <B>Mon application offline!</b> La ligne 1 permet d utiliser le HTML 5. La ligne 2 fait référence au fichier cache.manifest précédemment créé. Les lignes 5 et 6 permettent d ajouter une icône et une image de démarrage à l application. La ligne 7 appel le fichier cache.js pour pouvoir utiliser la fonction init() à la ligne 10. La ligne 14 est le contenu qui sera affiché à l écran du périphérique utilisateur. NB : Par soucis de clarté, nous n avons pas représenté les balises <meta> nécessaire pour la visualisation de l application sur l iphone. Le fichier cache.js Une fois les fichiers téléchargés pour la première fois, le mobile ouvre en priorité les fichiers du cache et non ceux du serveur. Quand une mise à jour est disponible, les fichiers sont téléchargés mais pour qu ils prennent effet, il faut relancer l application. Le fichier cache.js permet d utiliser quelques fonctions JavaScript qui permettent d avertir l utilisateur par un popup quand une nouvelle version de l application est disponible. Cela l invite à relancer l application afin de visualiser la nouvelle version. // variable du cache géré par le fichier MANIFEST http://wiki.openwebtech.fr/ Printed on 2012/02/16 11:49

wiki:devmobile:webapp:html5:presentation Last update: 2011/08/18 21:46 var webappcache = window.applicationcache; function init() { // METTRE A JOUR LE CACHE SI UNE MAJ EST DISPO. webappcache.addeventlistener("updateready", updatecache, false); // FORCER LA VISITE MEME SI LE CACHE N'A PAS PU ETRE MIS A JOUR webappcache.addeventlistener("error", initvisite, false); webappcache.addeventlistener("idle", initvisite, false); function updatecache() { // METTRE A JOUR LE CACHE webappcache.swapcache(); // DEMANDER A L'UTILISATEUR DE RELANCER L'APP POUR VOIR LA NOUVELLE VERSION alert("une mise à jour est disponible. Veuillez relancer l'application!"); function initvisite() { // CODE OU COMMENCER LA VISITE ET CHARGER LE PREMIER PANO Le manifest dynamique Il est très intéressant de créer dynamiquement le fichier manifeste pour plusieurs raisons. Lorsque l application utilise un nombre important de fichiers, il serait fastidieux de les lister manuellement. De plus, lors d ajout de fichiers à l application, il faudrait éditer à chaque fois le manifeste. Générer dynamiquement la liste des fichiers est donc un avantage très intéressant. Il est également astucieux de générer dynamiquement un commentaire au manifeste lorsqu un ou plusieurs fichiers ont été modifiés pour ne pas avoir à éditer manuellement ce dernier pour activer la mise à jour de l application. Pour ce faire, Il est nécessaire d activer la dernière version php du serveur web grâce au.htaccess afin que les fonctions utilisées pour le fichier manifeste soient reconnues. AddType text/cache-manifest.manifest SetEnv PHP_VER 5 La ligne 2 nous permet d activer la version 5 du php de notre serveur web. Nous allons donc remplacer le fichier cache.manifest par le fichier manifest.php. Il faut donc modifier l appel du manifest dans le fichier index.html Remplacer la ligne 2 : <html manifest="cache.manifest"> Printed on 2012/02/16 11:49 http://wiki.openwebtech.fr/

Last update: 2011/08/18 21:46 wiki:devmobile:webapp:html5:presentation Par : <html manifest="manifest.php"> Passons à la création du fichier manifest.php. <?php header('content-type: text/cache-manifest'); echo "CACHE MANIFEST\n"; $hashes = ""; $dir = new RecursiveDirectoryIterator("."); foreach(new RecursiveIteratorIterator($dir) as $file) { if ($file->isfile() && $file!= "./manifest.php" && substr($file->getfilename(), 0, 1)!= ".") { echo $file. "\n"; $hashes.= md5_file($file); echo "# Hash: ". md5($hashes). "\n";?> Les lignes 5, 15 et 19 permettent d analyser le hachage de chaque fichier nécessaire au fonctionnement de l application et de créer une chaîne de 32 caractères qui sera passée en commentaire. La moindre modification d un ou de plusieurs fichiers sera donc répercutée sur la chaîne de caractère ce qui modifiera la manifeste et donc la mise à jour de l application sera proposé à l utilisateur. Les autres lignes permettent de lister l ensemble des fichiers présent sur le serveur web. Téléchargement L'ensemble des scripts disponibles en téléchargement ont été réalisés par mes soins, faites en bonne usage! Lien : html5.zip From: http://wiki.openwebtech.fr/ - openwebtech http://wiki.openwebtech.fr/ Printed on 2012/02/16 11:49

wiki:devmobile:webapp:html5:presentation Last update: 2011/08/18 21:46 Permanent link: Last update: 2011/08/18 21:46 Printed on 2012/02/16 11:49 http://wiki.openwebtech.fr/