Présentation de la société
OBJECTIF
× Spécialiste de l’ingénierie projet JAVA EE
× 60 collaborateurs
× Grand Compte Banque / Assurance
× Sponsor Paris Jug
× Offre Android, Gwt, Software Factory,
Performance
On recrute
× Des gens comme vous!
Genèse
Mainframe
Html1
Html4
Xml
Ajax
Reprise
Des travaux
Client / Serveur HTML
Css
1960 1990 1993 1996 1998 2004 2009
Sémantique: Nouveaux sélecteurs
querySelector & querySelectorAll
Retourne des le (les) élement(s) matchant avec une
règle type CSS
document.querySelector('#myheader')
//returns the element with ID=myheader
document.querySelector('#myform
input[type="radio"]:checked')
//selects the checked radio button within "#myform"
Storage
Valeur en SessionStorage
× Persistance: Durée de vie de la fenêtre/onglet
× Visibilité: Limitée à la fenêtre/onglet de création
Valeur en LocalStorage
× Persistance: Durée de vie du navigateur
× Visibilité: Toutes les fenêtres & onglets
Valeur en DBStorage (WebSqlDb ou
IndexedDb)
× Persistance: Jusqu’à suppression explicite
× Visibilité: Toutes les fenêtres & onglets
Storage
Session Storage: Get / Set de valeur
window.sessionStorage.setItem(‘myFirstKey’, ‘myFirstValue’);
window.sessionStorage.getItem(‘myFirstKey’);
Db Storage: Création base
db = openDatabase("maBaseDeDonnees", "1.0", "Ex de bdd avec
HTML5", 200000);
Db Storage: Exécution ordre SQL
db.transaction(function (tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS foo (id unique, text)');
tx.executeSql('INSERT INTO foo (id, text) VALUES (1, "synergies")');
tx.executeSql('INSERT INTO foo (id, text) VALUES (?, ?)', [id, userValue])
});
Web Workers
Lancement de tâche de fond
worker = new Worker("echoWorker.js");
Communication avec le worker
worker.postMessage(‘test’);
c
Fin du worker
worker.terminate();
Adoption
IE 9 FIREFOX 4 SAFARI 5 CHROME 10 OPERA 11
Eléments HTML5
Canvas
SVG
Applications déconnectées Non
Stockage local
Base de données locale Non
Web workers Non
Géolocalisation
Cross Window Messaging
Web sockets Non
Server Sent Events Non Non
Drag-Drop Non
Codec Vidéo H264, WebM WebM, Ogg Mpeg, H264 H264, Ogg WebM, Ogg
Theora Theora, WebM Theora
Codec Audio Mp3, AAC, Pcm, Ogg Pcm, Mp3, Pcm, Mp3, Pcm, Ogg
WebM Vorbis, WebM AAC AAC, Ogg Vorbis, WebM
Vorbis, WebM
http://www.html5test.com/
Des projets avec HTML5 ? … OUI
Application de gestion de la relation client à usage des commerciaux
Application nomade devant supporter le mode déconnecté
Architecture 3 niveaux avec réplication de données
Web Worker + Local Storage + Cross Window Messaging
Tablet PC
Internet
Tablet PC Network
3G Edge
Tablet PC AS/400
TOMCAT DB2/400
SQL SERVER
CHROME
GWT 2 + HTML 5
Bilan projet
Pré requis HTML5: Maîtrise du navigateur
Bénéfices
× Mode déconnecté
× Performance (- de roundtrip avec le serveur,
synchronisation en // avec le web worker)
× Modularité du code
Attention!
× Sécurité des données (cryptage)