Javascript et les applications Web



Documents pareils
Formation : WEbMaster

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

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

Mobilité Comment Drupal peut-il nous aider? Jean-Baptiste Guerraz - jbguerraz@gmail.com

Programmation Web. Madalina Croitoru IUT Montpellier

Géolocalisation. Remy Sharp

CONFÉRENCE WEB 2.0. UPDATE ASBL Michaël Barchy 23 janvier 2013

Firefox pour Android. Guide de l utilisateur. press-fr@mozilla.com

Perspectives en matière de portails géographiques et de 3D

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

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

Le touristonaute en mobilité

App vs. WebApp Best Of Mobile 5 avril 2012

Les tablettes numériques en EPS. Repères. Les différents types de tablettes et leurs caractéristiques.

Point sur les solutions de développement d apps pour les périphériques mobiles

Solution de publication digitale sur smartphones et tablettes pour tous vos documents. Document édité par Forecomm - Avril 2013

WordPress, thèmes et plugins : mode d'emploi

Optimiser pour les appareils mobiles

Le jeu vidéo : tour d'horizon

BES WEBDEVELOPER ACTIVITÉ RÔLE

Mode d emploi. Félicitations pour votre achat de la tablette Viewpia TB-107. Nous vous remercions pour votre confiance d acheter notre produit!

ArcGIS 10 Christophe Tourret Gaëtan Lavenu

Optimiser les s marketing Les points essentiels

Applications smartphones : enjeux et perspectives pour les communautés de l'eglise Catholique. Application Smartphone 1

Créateur de sites Internet. Développeur de logiciels.

Le stockage local de données en HTML5

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

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

APPLICATIONS MOBILES Catalogue de services Econocom-Osiatis

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

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

PLAN D ACTIONS Présentation des projets du Service informatique et télématique SITEL 1

Echosgraphik. Ce document sert uniquement à vous donner une vision sur ma manière de travailler et d appréhender un projet

Espace de travail collaboratif

Service d Audio et Visioconférence

TABLETTE MPMAN MP724 : EMPORTEZ LE MONDE AVEC VOUS

workshop javascript crm

Édu-groupe - Version 4.3

INTERNET ET RÉSEAU D ENTREPRISE

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

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

Avanquest Software présente la nouvelle gamme WebEasy 8

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

Mises en garde. - Tenir l appareil à distance de lieux présentant des températures, une humidité élevées ou poussiéreux.

RESPONSIVE WEB DESIGN

Content Management System V.3.0. BlackOffice CMS V3.0 by ultranoir 1

... Cahier des charges Site Internet Office de Tourisme Lesneven - Côte des Légendes MAITRE D OUVRAGE

ANICOTTE Guillaume GUFFROY Matthieu LIMA Juliette SALLOUH Chamsseddine CAHIER DES CHARGES SI 28

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

IPHONE BANNIÈRE CLASSIQUE DIMENSIONS. Standard : 320 x 53 (portrait) 20Ko Jpeg/Gif/Png. HD : 640 x 106 (portrait) 20Ko Jpeg/Gif/Png DESCRIPTION

APPROFONDISSEMENT LOGICIELS DU WEB

Système de vidéosurveillance Guide de configuration

Bureautique Initiation Excel-Powerpoint

Notice succincte pour ordinateurs Windows - IPC-10 AC

GeniusTim_Labo Version 1.0

Webmaster / Webdesigner / Wordpress

TigerPro CRM Application mobile

Qualité web : les bonnes pratiques front-end

Android 4 Les fondamentaux du développement d'applications Java

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

CENTRALE DE SURVEILLANCE EMBARQUEE MULTIMEDIA

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

Aide Webmail. L environnement de RoundCube est très intuitif et fonctionne comme la plupart des logiciels de messagerie traditionnels.

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

+33 (0) Sarl ISB Altipolis2 av. Du Général Barbot Briancon - France

Comment choisir sa tablette?

MANUEL D UTILISATION POUR APPAREILS ANDROID

VidZone, qu est-ce que c est? INSTALLATION DE VidZone

Notes pour l utilisation d Expression Web

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

LES OUTILS COLLABORATIFS

VISIOCONFÉRENCE AVEC RENATER

Windows 8 : une petite révolution? 9. Démarrer Windows Accéder au Bureau à la connexion 13. Ouvrir ou activer une nouvelle session 13

.ARCHITECTURE ET FONCTIONNEMENT

A. L audit de l ergonomie 11. B. Quand réaliser un audit de l ergonomie? 11. C. Notions élémentaires Utilisabilité 12 2.

Zeendo est la nouvelle manière de créer unseul site Web pour n importe quel dispositif

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

CHOIX ET USAGES D UNE TABLETTE TACTILE EN ENTREPRISE

Soyez accessible. Manuel d utilisation du CMS

WINDEV MOBILE. ios SMARTPHONE SUPPORT: IOS, ANDROID, WINDOWS PHONE 8.

Sage CRM. Sage CRM 7.3 Guide du portable

Système de Stockage Sécurisé et Distribué

Dopez votre site Joomla! Les meilleures extensions pour les versions 2.5 et 3.0

Webinar. Découvrez Rubedo, la première solution CMS open-source tirant profit des atouts de Zend Framework et du NoSQL. avec la participation de

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

Foire aux questions sur Christie Brio

LS 162e. Profitez-en! WiFi Car DVR

Vos données : Un capital à valoriser. ADD S.A. Chemin des Chalets 1279 CHAVANNES-DE-BOGIS

AU PROGRAMME. Tour de table

Journée technique "Matériels routiers et normalisation" 1

WysiUpStudio. CMS professionnel. pour la création et la maintenance évolutive de sites et applications Internet V. 6.x

Création outil multimédia de restitution du projet «l intergénérationnel : un levier pour un levier pour créer du lien social en milieu rural

Offres de stages 2011/2012

PROGRAMME DE LA 1ERE JOURNEE DE FORMATION : QUALITE WEB ET REFERENCEMENT NATUREL

Perspectives pour l entreprise. Desktop Cloud. JC Devos IBM IT Architect jdevos@fr.ibm.com IBM Corporation

Tour d horizon des CMS. Content Management System

Les tablettes. Présentation tablettes Descriptif Fournisseurs Caractéristiques Comparatifs Conseils Perspectives Démonstration

Créer et animer une boutique en ligne avec Wordpress (environnement PC et MAC)

Comment utiliser RoundCube?

Transcription:

Javascript et les applications Web APIs récentes ou en cours d adoption Télécom ParisTech Jean-Claude Moissinac Octobre 2014 Avec l aide de Jean-Claude Dufourd Et Thomas Bertrand Mastère CPD

Javascripts, API récentes 2 30/10/2014 Modèle de présentation Télécom ParisTech

Plan du cours Tour d horizon des API Développements HTML5 Accès aux capteurs (accéléromètre, gyroscope et géolocalisation) Détection online/offline Web Storage (local et session storage) Mode offline 3

Tour d horizon des API 4

Audio et vidéo Permettre de lire des sons et des vidéos. Complèter les balises <audio> et <video> Possibilité de créer manuellement les commandes des lecteurs multimédia, on obtient un lecteur avec une charte graphique personnalisée. Cf cours de Cyril Concolato 5

Géolocalisation Déterminer la position de l utilisateur : Par le GPS, A défaut par la localisation IP moins précise (3G et fixe). Interagir de façon simplifiée avec les API de cartographie (Google Maps) et possibilité de centrer la carte sur l utilisateur. Ex: http://html5demos.com/geo 6

if (navigator.geolocation) { navigator.geolocation.getcurrentposition(success, fail); } function success(position) { alert('latitude: '+ position.coords.latitude + ', Longitude: '+ position.coords.longitude); } 7 30/10/2014 Modèle de présentation Télécom ParisTech

Accès aux capteurs Accéder aux capteurs présents sur les smartphones, tablettes et PC. Accéléromètre, Gyroscope Micro, Caméra (http://www.w3.org/tr/html-mediacapture/) (cf Cyril Concolato) Rapprochement fort avec les applications natives car on accède désormais à presque tout. 8

Web storage Stockage du côté du client => pas visible du serveur Stocker des données dans une mémoire du navigateur (jusqu à 5Mo extensibles). localstorage stockage des données pérennes sous format textuel sessionstorage stockage des données le temps de la session sous format textuel IndexedDB stockage des données pérennes comme une base de données 9

Mode offline Permettre de rendre un contenu web totalement accessible de manière déconnectée. Utiliser un manifest fichier dans lequel on référence tous les fichiers à sauvegarder dans une mémoire du navigateur : l appcache API importante pour créer des webapps. 10

Mode offline Fonctionnement de l appcache Source : : http://blog.caplin.com/2011/02/14/taming-the-app-cache/ 11

Gestion d historique Permettre de contrôler l historique de navigation du site. Eviter les erreurs dues aux aller-retour lors de la navigation notamment quand les pages utilisent AJAX pour recharger des blocs sans changer de page. On peut ainsi afficher l ancien affichage des blocs sans pour autant quitter la page. 12

Gestion de fichiers Offrir au JS la capacité d interagir avec les fichiers. Analyse des fichiers (poids, dimensions, type ). Préparation des fichiers en vue d un upload sur le serveur. Possibilité de créer des fichiers comme des vignettes d images. 13

WebSockets Permettre de simplifier et d améliorer la technologie AJAX. Unifier les codes entre tous les navigateurs. Utiliser la méthode push : le serveur envoie les données le navigateur est en attente pour les récupérer. (nous y reviendrons) 14

WebWorkers et Messaging Le JS fonctionne avec 1 seul processus. Les webworkers sont des processus JS parallèles au processus principal qui vont pouvoir exécuter des traitements complexes et ainsi alléger le travail de ce dernier. L API Messaging se charge des échanges entre les workers et le programme principal. Cela évite le blocage du reste de la page par un traitement lourd. 15

Contenus éditables Rendre tout élément HTML modifiable sans pour autant être un champ de formulaire. Possibilités Mettre en oeuvre des sortes de formulaires créer un éditeur de texte pourvu des commandes traitement de texte classiques. http://www.w3.org/tr/html5/editing.html Ex : http://html5demos.com/contenteditable 16

Plein écran Activer un mode plein écran sur tous les éléments HTML souhaités. Très utile quand on crée ses propres commandes pour le lecteur vidéo. Permet aussi de mettre au premier plan des blocs de pages. (working draft) http://www.w3.org/tr/fullscreen/ 17

Drag n drop Définir des zones «draggables» et «droppables». Le JS s adapte au système sur lequel il se trouve et est capable de gérer les surfaces tactiles qui étaient jusqu alors très difficiles à utiliser pour le drag n drop. Ex : http://html5demos.com/drag http://www.w3.org/tr/2011/wd-html5-20110525/dnd.html 18

Dessin 2D et 3D Créer des formes géométriques 2D ou 3D au sein de la nouvelle balise <canvas>. Pour la 3D, l API utilise les spécifications WebGL auxquelles les navigateurs accèdent. Concurrence directe des jeux flash. Ex : playcanvas.com 19

Développements HTML5 20

Sélecteurs CSS Accéder au éléments HTML pour les modifier et interagir avec eux. //En HTML 4 seule la sélection par ID est possible var element = document.getelementbyid('identifiant'); //En HTML 5 la sélection se fait par ID, classe ou balise var element = document.queryselector('#identifiant'); var element = document.queryselector('.classe'); var element = document.queryselector('balise'); //Avec jquery var element = $('#identifiant'); var element = $('.classe'); var element = $('balise'); 21

Accès aux capteurs Accéléromètre window.addeventlistener("devicemotion", function(event) { //event.acceleration et event.rotationrate }, true); Gyroscope window.addeventlistener("deviceorientation", function(event) { //event.alpha, event.beta and event.gamma }, true); GPS ou autre positionnement navigator.geolocation.getcurrentposition(function(positio n) { //position.coords.latitude et position.coords.longitude }, errorhandler); 22

Détection online/offline Détecter si le navigateur (et donc l appareil) est connecté à internet. Navigator.onLine; //Retourne True si le navigateur est en ligne Utile si l on veut échanger avec un serveur en ligne. 23

Web Storage localstorage Sauvegarde les données même si l on ferme le site (format chaine de caractères). sessionstorage Sauvegarde les données de la session courante (format chaine de caractères). //Stockage de valeurs classiques localstorage['clé'] = 'valeur'; var valeur = localstorage['clé']; //Stockage de valeurs classiques localstorage['clé'] = JSON.stringify(object); var objet = JSON.parse(localStorage['clé']); 24

Mode offline Enregistrer la webapp dans l Application Cache (appcache) avec un manifest et tester son accessibilité en mode offline. 1. Modifier la balise <html> de ses pages <html manifest="manifest.appcache"> 2. Créer un fichier.htaccess et ajouter la ligne suivante pour indiquer que le.appcache correspond au manifest du mode offline AddType text/cache-manifest.appcache http://www.w3.org/tr/2011/wd-html5-20110525/offline.html 25

Mode offline 3. Créer le fichier manifest.appcache et ajouter tous les fichiers à mettre en cache un à un (seules les parties CACHE MANIFEST ET CACHE sont obligatoires). CACHE MANIFEST # Version 01/01/2012 V1 # Lise des entrées à mettre en cache CACHE: index.html styles/style.css js/script.js images/loading.gif # Ressources nécessitant obligatoirement un mode online NETWORK: mail.php # Ressources affichées à la place des éléments non chargés # Ici offline.html s affichera à la place de tous les fichiers html FALLBACK: *.html /offline.html 26

Pour aller plus loin Working draft de la spécification HTML5 W3C : http://www.w3.org/tr/html5/ WHATWG : http://www.whatwg.org/specs/web-apps/current-work/multipage/ Sites présentant le HTML5 et ses API http://www.html5rocks.com http://slides.html5rocks.com http://www.html5-css3.fr/ http://bleedinghtml5.appspot.com/ http://html5demos.com/ Comparatifs et tests de compatibilité des API HTML5 selon les navigateurs web http://caniuse.com/ http://findmebyip.com/litmus/ http://html5test.com/ Site présentant l évolution du support du HTML5 http://html5readiness.com/ 27