SlideShare une entreprise Scribd logo
La révolution HTML5


DUVAL Alain                                    Twitter : @aduval93
Directeur Technique Objectif                   Blog : http://www.objectif-informatique.fr/weblog
Email : aduval@objectif-informatique.fr
BEURTHERET Cédric                              Twitter : @cbe317
Responsable Java Objectif                      Blog : http://www.objectif-informatique.fr/weblog
Email : cbeurtheret@objectif-informatique.fr
Agenda
 Genèse & Principes fondateurs
 Nouveautés
 Révolution!
 Retour d’expérience projet
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
Principes fondateurs




       1 - Simplicité
http://t2.gstatic.com/images?q=tbn:ANd9GcToNcLrfcgw4qq6cY1NB_6bTvRupJD6IGIfcB3NY5WjvFlMLrGo
Principes fondateurs




        2 - Compatibilité
http://www.masternewmedia.org/browser-compatibility-testing-guide-the-best-tools-and-services/
Principes fondateurs




       3 - Utilité
http://t2.gstatic.com/images?q=tbn:ANd9GcToNcLrfcgw4qq6cY1NB_6bTvRupJD6IGIfcB3NY5WjvFlMLrGo
Révolution ?
« tout changement ou innovation qui
 bouleverse l'ordre établi de façon
 radicale dans un domaine
 quelconque » (wikipedia)
HTML 5 ?
 Sémantique
+CSS 3
+ API Javascript
+ WebGL
+ SVG
= HTML 5
Sémantique: Déclaration simplifiée

      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
   Transitional//EN http://www.w3.org/TR/html4/loose.dtd



             <!DOCTYPE html>

 <meta http-equiv="Content-Type" content="text/html;
 charset=utf-8">



          <meta charset="utf-8">
Sémantique: Structure standard
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"
Formulaires
Formulaires
   Nouveaux inputs

    <input id="email" name="email" type="email"
    placeholder="example@domain.com" required />

   Nouveaux attributs

    <input type="range" min="1" max="99" name="slider1">
    Value: <output id="age" onformchange="this.value =
    form.slider1.value"></output>

   Mécanisme de validation client
    validateData(document.querySelector("#email"))

    function validateData (elt) {
               var valCheck = elt.validity;
               if (valCheck.valid==true) …
    }
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])
    });
Geolocation
Geolocation
 navigator.geolocation.getCurrentPosition(updateLocation,
 handleLocationError);

 function updateLocation(position) {
           var latitude = position.coords.latitude;
           var longitude = position.coords.longitude;
           var accuracy = position.coords.accuracy;
           … // Afficher une map Google
 }


 function handleLocationError(error) {
          switch(error.code){
          …
 }
Cross Window Messaging
Cross Window Messaging
 Appelant
 window.postMessage(“Hello, world”, “portal.example.com”);


 Appelé
 window.addEventListener(“message”, messageHandler, true);

 function messageHandler(e) {
         if(checkWhiteList(e.origin)) {
                  processMessage(e.data);
         } else {
         // ignore messages from unrecognized origins
         }
 }
Web Workers
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();
Audio & Vidéo
Audio & Vidéo
 <audio id="audio" src="../public/sound.mp3"
 controls></audio>


 <video id="video" width="400" height="200"
 src="http://slides.html5rocks.com/src/chrome_japa
 n.webm" controls="controls" ></video>
Canvas
Mais aussi…
 Web sockets
 Speech Input
 Mode déconnecté
 Microdata
 Device API
 File API
Révolutionnaire!
 Browser as a platform




 http://www.barbafan.de/html5video?video=tron   http://www.somethinghitme.com/projects/canvasinvaders/
Révolutionnaire!
 HTML5 = Le java « mobile »
  × Write Once, Run everywhere




 OpenAppMkt = Market HTML5 Mobile
Pourquoi faut il y aller ?

  1 - C’est un standard ouvert…



  … qui va faire mal à
Pourquoi faut il y aller ?

  2 – HTML5 vise un
  maximum d’intéropérabilité
Pourquoi faut il y aller ?

  3 – Le monde pousse sur HTML 5
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)
Ressources
 http://dev.w3.org/html5/spec/Overview.html
 http://www.html5rocks.com
 http://html5doctor.com
 http://html5test.com
 http://html5demos.com
 http://www.chromeexperiments.com/
 Pro HTML 5 Programming (P. Lubbers)
 HTML 5 Up & Running (M. Pilgrim)
Questions

Contenu connexe

Tendances

Vue.js, même un dev java peut en faire !
Vue.js, même un dev java peut en faire !Vue.js, même un dev java peut en faire !
Vue.js, même un dev java peut en faire !
Bruno Bonnin
 
Vue, j’avais pas vu !
Vue, j’avais pas vu !Vue, j’avais pas vu !
Vue, j’avais pas vu !
Bruno Bonnin
 
Html5 bonnes-pratiques
Html5 bonnes-pratiquesHtml5 bonnes-pratiques
Html5 bonnes-pratiques
Jean-Pierre Vincent
 
Alphorm.com Formation PCSoft(version20) GDS et Centres de contrôle
Alphorm.com Formation PCSoft(version20) GDS et Centres de contrôleAlphorm.com Formation PCSoft(version20) GDS et Centres de contrôle
Alphorm.com Formation PCSoft(version20) GDS et Centres de contrôle
Alphorm
 
Bonnes pratiques de developpement en PHP
Bonnes pratiques de developpement en PHPBonnes pratiques de developpement en PHP
Bonnes pratiques de developpement en PHP
Pascal MARTIN
 
Présentation html5
Présentation html5Présentation html5
Présentation html5
Kénium
 
Ajax intro 2pp
Ajax intro 2ppAjax intro 2pp
Ajax intro 2pp
RYMAA
 
Prsentationhtml5 html5 ii twebteck
Prsentationhtml5 html5 ii twebteckPrsentationhtml5 html5 ii twebteck
Prsentationhtml5 html5 ii twebteckTECOS
 
Real-Time applications avec la spécification Java (JSR 356) et le protocole W...
Real-Time applications avec la spécification Java (JSR 356) et le protocole W...Real-Time applications avec la spécification Java (JSR 356) et le protocole W...
Real-Time applications avec la spécification Java (JSR 356) et le protocole W...
Ouadie LAHDIOUI
 
Alphorm.com Formation React Package Manager : npm et yarn
Alphorm.com Formation React Package Manager : npm et yarnAlphorm.com Formation React Package Manager : npm et yarn
Alphorm.com Formation React Package Manager : npm et yarn
Alphorm
 
Do you speak technique ?
Do you speak technique ?Do you speak technique ?
Do you speak technique ?
JEAN-GUILLAUME DUJARDIN
 
Faites-des sauvegardes-WordPress-Backup-WC-Montreal-2016
Faites-des sauvegardes-WordPress-Backup-WC-Montreal-2016Faites-des sauvegardes-WordPress-Backup-WC-Montreal-2016
Faites-des sauvegardes-WordPress-Backup-WC-Montreal-2016
Jasmine Brien
 
MongoDB day Paris 2012
MongoDB day Paris 2012MongoDB day Paris 2012
MongoDB day Paris 2012
FastConnect
 
Cours 1/3 "Architecture Web"
Cours 1/3 "Architecture Web"Cours 1/3 "Architecture Web"
Cours 1/3 "Architecture Web"
Adyax
 
Alphorm.com Formation PowerShell : Niveau Initiation
Alphorm.com Formation PowerShell : Niveau InitiationAlphorm.com Formation PowerShell : Niveau Initiation
Alphorm.com Formation PowerShell : Niveau Initiation
Alphorm
 
A la découverte de vue.js
A la découverte de vue.jsA la découverte de vue.js
A la découverte de vue.js
Bruno Bonnin
 
Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs Web
Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs WebUne visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs Web
Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs Web
Frédéric Harper
 
"Performance Web : vers la Speed Update, un pas après l’autre", Boris Schapir...
"Performance Web : vers la Speed Update, un pas après l’autre", Boris Schapir..."Performance Web : vers la Speed Update, un pas après l’autre", Boris Schapir...
"Performance Web : vers la Speed Update, un pas après l’autre", Boris Schapir...
Boris SCHAPIRA
 

Tendances (19)

Vue.js, même un dev java peut en faire !
Vue.js, même un dev java peut en faire !Vue.js, même un dev java peut en faire !
Vue.js, même un dev java peut en faire !
 
Vue, j’avais pas vu !
Vue, j’avais pas vu !Vue, j’avais pas vu !
Vue, j’avais pas vu !
 
Html5 bonnes-pratiques
Html5 bonnes-pratiquesHtml5 bonnes-pratiques
Html5 bonnes-pratiques
 
Alphorm.com Formation PCSoft(version20) GDS et Centres de contrôle
Alphorm.com Formation PCSoft(version20) GDS et Centres de contrôleAlphorm.com Formation PCSoft(version20) GDS et Centres de contrôle
Alphorm.com Formation PCSoft(version20) GDS et Centres de contrôle
 
Bonnes pratiques de developpement en PHP
Bonnes pratiques de developpement en PHPBonnes pratiques de developpement en PHP
Bonnes pratiques de developpement en PHP
 
Présentation html5
Présentation html5Présentation html5
Présentation html5
 
Php
PhpPhp
Php
 
Ajax intro 2pp
Ajax intro 2ppAjax intro 2pp
Ajax intro 2pp
 
Prsentationhtml5 html5 ii twebteck
Prsentationhtml5 html5 ii twebteckPrsentationhtml5 html5 ii twebteck
Prsentationhtml5 html5 ii twebteck
 
Real-Time applications avec la spécification Java (JSR 356) et le protocole W...
Real-Time applications avec la spécification Java (JSR 356) et le protocole W...Real-Time applications avec la spécification Java (JSR 356) et le protocole W...
Real-Time applications avec la spécification Java (JSR 356) et le protocole W...
 
Alphorm.com Formation React Package Manager : npm et yarn
Alphorm.com Formation React Package Manager : npm et yarnAlphorm.com Formation React Package Manager : npm et yarn
Alphorm.com Formation React Package Manager : npm et yarn
 
Do you speak technique ?
Do you speak technique ?Do you speak technique ?
Do you speak technique ?
 
Faites-des sauvegardes-WordPress-Backup-WC-Montreal-2016
Faites-des sauvegardes-WordPress-Backup-WC-Montreal-2016Faites-des sauvegardes-WordPress-Backup-WC-Montreal-2016
Faites-des sauvegardes-WordPress-Backup-WC-Montreal-2016
 
MongoDB day Paris 2012
MongoDB day Paris 2012MongoDB day Paris 2012
MongoDB day Paris 2012
 
Cours 1/3 "Architecture Web"
Cours 1/3 "Architecture Web"Cours 1/3 "Architecture Web"
Cours 1/3 "Architecture Web"
 
Alphorm.com Formation PowerShell : Niveau Initiation
Alphorm.com Formation PowerShell : Niveau InitiationAlphorm.com Formation PowerShell : Niveau Initiation
Alphorm.com Formation PowerShell : Niveau Initiation
 
A la découverte de vue.js
A la découverte de vue.jsA la découverte de vue.js
A la découverte de vue.js
 
Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs Web
Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs WebUne visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs Web
Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs Web
 
"Performance Web : vers la Speed Update, un pas après l’autre", Boris Schapir...
"Performance Web : vers la Speed Update, un pas après l’autre", Boris Schapir..."Performance Web : vers la Speed Update, un pas après l’autre", Boris Schapir...
"Performance Web : vers la Speed Update, un pas après l’autre", Boris Schapir...
 

En vedette

Mtl apptalks ux mobile et ucd - janvier 2014
Mtl apptalks   ux mobile et ucd - janvier 2014Mtl apptalks   ux mobile et ucd - janvier 2014
Mtl apptalks ux mobile et ucd - janvier 2014
Loic Nunez
 
Présentation GWT et HTML 5 pour l'Offline
Présentation GWT et HTML 5 pour l'OfflinePrésentation GWT et HTML 5 pour l'Offline
Présentation GWT et HTML 5 pour l'Offline
DNG Consulting
 
Jump Camp - HTML5
Jump Camp - HTML5Jump Camp - HTML5
Jump Camp - HTML5
chaudavid
 
Html5
Html5Html5
HTML 5, CSS 3 au service du web | Semaine du web Alger (Algérie)
HTML 5, CSS 3 au service du web | Semaine du web Alger (Algérie)HTML 5, CSS 3 au service du web | Semaine du web Alger (Algérie)
HTML 5, CSS 3 au service du web | Semaine du web Alger (Algérie)
Khaled Djebloun
 
HTML5
HTML5HTML5
HTML5
Klee Group
 
DocDokuPLM: Domain Specific PaaS and Business Oriented API
DocDokuPLM: Domain Specific PaaS and Business Oriented APIDocDokuPLM: Domain Specific PaaS and Business Oriented API
DocDokuPLM: Domain Specific PaaS and Business Oriented API
DocDoku
 
HTML 5 - intro - en francais
HTML 5 - intro - en francaisHTML 5 - intro - en francais
HTML 5 - intro - en francaisVlad Posea
 
Ergonomie web & interface tactile
Ergonomie web & interface tactileErgonomie web & interface tactile
Ergonomie web & interface tactile
IdnetInfo
 

En vedette (10)

Mtl apptalks ux mobile et ucd - janvier 2014
Mtl apptalks   ux mobile et ucd - janvier 2014Mtl apptalks   ux mobile et ucd - janvier 2014
Mtl apptalks ux mobile et ucd - janvier 2014
 
Présentation GWT et HTML 5 pour l'Offline
Présentation GWT et HTML 5 pour l'OfflinePrésentation GWT et HTML 5 pour l'Offline
Présentation GWT et HTML 5 pour l'Offline
 
Jump Camp - HTML5
Jump Camp - HTML5Jump Camp - HTML5
Jump Camp - HTML5
 
Html5
Html5Html5
Html5
 
HTML 5, CSS 3 au service du web | Semaine du web Alger (Algérie)
HTML 5, CSS 3 au service du web | Semaine du web Alger (Algérie)HTML 5, CSS 3 au service du web | Semaine du web Alger (Algérie)
HTML 5, CSS 3 au service du web | Semaine du web Alger (Algérie)
 
INITIATION_HTML_NAB_2009
INITIATION_HTML_NAB_2009INITIATION_HTML_NAB_2009
INITIATION_HTML_NAB_2009
 
HTML5
HTML5HTML5
HTML5
 
DocDokuPLM: Domain Specific PaaS and Business Oriented API
DocDokuPLM: Domain Specific PaaS and Business Oriented APIDocDokuPLM: Domain Specific PaaS and Business Oriented API
DocDokuPLM: Domain Specific PaaS and Business Oriented API
 
HTML 5 - intro - en francais
HTML 5 - intro - en francaisHTML 5 - intro - en francais
HTML 5 - intro - en francais
 
Ergonomie web & interface tactile
Ergonomie web & interface tactileErgonomie web & interface tactile
Ergonomie web & interface tactile
 

Similaire à HTML5... La révolution maintenant!

L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8
davrous
 
La mobilité dans Drupal
La mobilité dans DrupalLa mobilité dans Drupal
La mobilité dans Drupal
Adyax
 
Confoo - 2012-02-27 au 2012-02-28 - HTML5 workshop
Confoo - 2012-02-27 au 2012-02-28 - HTML5 workshopConfoo - 2012-02-27 au 2012-02-28 - HTML5 workshop
Confoo - 2012-02-27 au 2012-02-28 - HTML5 workshopFrédéric Harper
 
HTML5 & SilverLight 5
HTML5 & SilverLight 5HTML5 & SilverLight 5
HTML5 & SilverLight 5
Frédéric Harper
 
Les apports d'HTML5 pour l'interopérabilité des applications géospatiales
Les apports d'HTML5 pour l'interopérabilité des applications géospatialesLes apports d'HTML5 pour l'interopérabilité des applications géospatiales
Les apports d'HTML5 pour l'interopérabilité des applications géospatiales
Gaëtan LAVENU
 
HTML5 en projet
HTML5 en projetHTML5 en projet
HTML5 en projet
Normandy JUG
 
Drupal & Mobilité
Drupal & MobilitéDrupal & Mobilité
Drupal & Mobilité
Jean-Baptiste Guerraz
 
Présentation welcom la webperf by object23
Présentation welcom la webperf by object23Présentation welcom la webperf by object23
Présentation welcom la webperf by object23
Brigitte Marandon
 
Html5 & ie
Html5 & ieHtml5 & ie
Html5 & ie
Hafid Denguir
 
Nouveautés html5 et css3 dans internet explorer 10
Nouveautés html5 et css3 dans internet explorer 10Nouveautés html5 et css3 dans internet explorer 10
Nouveautés html5 et css3 dans internet explorer 10
davrous
 
HTML5 W3C Conference Euratechnologie
HTML5 W3C Conference EuratechnologieHTML5 W3C Conference Euratechnologie
HTML5 W3C Conference Euratechnologie
wyggio
 
Morning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesMorning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slides
Oxalide
 
Oxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceOxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performance
Ludovic Piot
 
Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?
GreenIvory
 
Introduction à web assembly
Introduction à web assemblyIntroduction à web assembly
Introduction à web assembly
Jérémy Buget
 
Html5 par Florent Garin, au Toulouse JUG
Html5 par Florent Garin, au Toulouse JUGHtml5 par Florent Garin, au Toulouse JUG
Html5 par Florent Garin, au Toulouse JUGJUG Toulouse
 
Vert.x
Vert.xVert.x
Vert.x
Xavier MARIN
 
Création des sites web pour débutant
Création des sites web pour débutantCréation des sites web pour débutant
Création des sites web pour débutantKorteby Farouk
 
HTML 5 et CSS3, créez, animez et enrichissez vos sites Web
HTML 5 et CSS3, créez, animez et enrichissez vos sites WebHTML 5 et CSS3, créez, animez et enrichissez vos sites Web
HTML 5 et CSS3, créez, animez et enrichissez vos sites Web
Microsoft
 

Similaire à HTML5... La révolution maintenant! (20)

L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8
 
La mobilité dans Drupal
La mobilité dans DrupalLa mobilité dans Drupal
La mobilité dans Drupal
 
Confoo - 2012-02-27 au 2012-02-28 - HTML5 workshop
Confoo - 2012-02-27 au 2012-02-28 - HTML5 workshopConfoo - 2012-02-27 au 2012-02-28 - HTML5 workshop
Confoo - 2012-02-27 au 2012-02-28 - HTML5 workshop
 
HTML5 & SilverLight 5
HTML5 & SilverLight 5HTML5 & SilverLight 5
HTML5 & SilverLight 5
 
Les apports d'HTML5 pour l'interopérabilité des applications géospatiales
Les apports d'HTML5 pour l'interopérabilité des applications géospatialesLes apports d'HTML5 pour l'interopérabilité des applications géospatiales
Les apports d'HTML5 pour l'interopérabilité des applications géospatiales
 
HTML5 en projet
HTML5 en projetHTML5 en projet
HTML5 en projet
 
Drupal & Mobilité
Drupal & MobilitéDrupal & Mobilité
Drupal & Mobilité
 
Présentation welcom la webperf by object23
Présentation welcom la webperf by object23Présentation welcom la webperf by object23
Présentation welcom la webperf by object23
 
Html5 & ie
Html5 & ieHtml5 & ie
Html5 & ie
 
Nouveautés html5 et css3 dans internet explorer 10
Nouveautés html5 et css3 dans internet explorer 10Nouveautés html5 et css3 dans internet explorer 10
Nouveautés html5 et css3 dans internet explorer 10
 
HTML5 W3C Conference Euratechnologie
HTML5 W3C Conference EuratechnologieHTML5 W3C Conference Euratechnologie
HTML5 W3C Conference Euratechnologie
 
Morning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesMorning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slides
 
Oxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceOxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performance
 
Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?
 
Introduction à web assembly
Introduction à web assemblyIntroduction à web assembly
Introduction à web assembly
 
Html5 par Florent Garin, au Toulouse JUG
Html5 par Florent Garin, au Toulouse JUGHtml5 par Florent Garin, au Toulouse JUG
Html5 par Florent Garin, au Toulouse JUG
 
Nouveaux apis
Nouveaux apisNouveaux apis
Nouveaux apis
 
Vert.x
Vert.xVert.x
Vert.x
 
Création des sites web pour débutant
Création des sites web pour débutantCréation des sites web pour débutant
Création des sites web pour débutant
 
HTML 5 et CSS3, créez, animez et enrichissez vos sites Web
HTML 5 et CSS3, créez, animez et enrichissez vos sites WebHTML 5 et CSS3, créez, animez et enrichissez vos sites Web
HTML 5 et CSS3, créez, animez et enrichissez vos sites Web
 

Plus de CARA_Lyon

Kanban un tour d'horizon
Kanban un tour d'horizonKanban un tour d'horizon
Kanban un tour d'horizonCARA_Lyon
 
Smartphone : et l'informatique devint mobile...
Smartphone : et l'informatique devint mobile...Smartphone : et l'informatique devint mobile...
Smartphone : et l'informatique devint mobile...
CARA_Lyon
 
BDD (Behavior Driven Development) - Une voie vers l'agilité
BDD (Behavior Driven Development) - Une voie vers l'agilitéBDD (Behavior Driven Development) - Une voie vers l'agilité
BDD (Behavior Driven Development) - Une voie vers l'agilité
CARA_Lyon
 
Test du futur avec Spock
Test du futur avec SpockTest du futur avec Spock
Test du futur avec Spock
CARA_Lyon
 
Building complex and modular RIAs with OSGi and Flex
Building complex and modular RIAs with OSGi and FlexBuilding complex and modular RIAs with OSGi and Flex
Building complex and modular RIAs with OSGi and Flex
CARA_Lyon
 
Les outils de l'ergonome agile
Les outils de l'ergonome agileLes outils de l'ergonome agile
Les outils de l'ergonome agile
CARA_Lyon
 
Comment j'ai mis ma suite de tests au régime en 5 minutes par jour
Comment j'ai mis ma suite de tests au régime en 5 minutes par jourComment j'ai mis ma suite de tests au régime en 5 minutes par jour
Comment j'ai mis ma suite de tests au régime en 5 minutes par jour
CARA_Lyon
 
Fable du Product Owner et de la Maîtrise d'Ouvrage (MOA)
Fable du Product Owner et de la Maîtrise d'Ouvrage (MOA)Fable du Product Owner et de la Maîtrise d'Ouvrage (MOA)
Fable du Product Owner et de la Maîtrise d'Ouvrage (MOA)
CARA_Lyon
 
20110519 cara tests_agiles_grenoble_all
20110519 cara tests_agiles_grenoble_all20110519 cara tests_agiles_grenoble_all
20110519 cara tests_agiles_grenoble_all
CARA_Lyon
 

Plus de CARA_Lyon (9)

Kanban un tour d'horizon
Kanban un tour d'horizonKanban un tour d'horizon
Kanban un tour d'horizon
 
Smartphone : et l'informatique devint mobile...
Smartphone : et l'informatique devint mobile...Smartphone : et l'informatique devint mobile...
Smartphone : et l'informatique devint mobile...
 
BDD (Behavior Driven Development) - Une voie vers l'agilité
BDD (Behavior Driven Development) - Une voie vers l'agilitéBDD (Behavior Driven Development) - Une voie vers l'agilité
BDD (Behavior Driven Development) - Une voie vers l'agilité
 
Test du futur avec Spock
Test du futur avec SpockTest du futur avec Spock
Test du futur avec Spock
 
Building complex and modular RIAs with OSGi and Flex
Building complex and modular RIAs with OSGi and FlexBuilding complex and modular RIAs with OSGi and Flex
Building complex and modular RIAs with OSGi and Flex
 
Les outils de l'ergonome agile
Les outils de l'ergonome agileLes outils de l'ergonome agile
Les outils de l'ergonome agile
 
Comment j'ai mis ma suite de tests au régime en 5 minutes par jour
Comment j'ai mis ma suite de tests au régime en 5 minutes par jourComment j'ai mis ma suite de tests au régime en 5 minutes par jour
Comment j'ai mis ma suite de tests au régime en 5 minutes par jour
 
Fable du Product Owner et de la Maîtrise d'Ouvrage (MOA)
Fable du Product Owner et de la Maîtrise d'Ouvrage (MOA)Fable du Product Owner et de la Maîtrise d'Ouvrage (MOA)
Fable du Product Owner et de la Maîtrise d'Ouvrage (MOA)
 
20110519 cara tests_agiles_grenoble_all
20110519 cara tests_agiles_grenoble_all20110519 cara tests_agiles_grenoble_all
20110519 cara tests_agiles_grenoble_all
 

Dernier

Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
OCTO Technology
 
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
Université de Franche-Comté
 
Les écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptxLes écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptx
abderrahimbourimi
 
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Laurent Speyser
 
COURS D'ADMINISTRATION RESEAU SOUS WINDOWS
COURS D'ADMINISTRATION RESEAU  SOUS WINDOWSCOURS D'ADMINISTRATION RESEAU  SOUS WINDOWS
COURS D'ADMINISTRATION RESEAU SOUS WINDOWS
AlbertSmithTambwe
 
Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
UNITECBordeaux
 
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptxPRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
AlbertSmithTambwe
 
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
Horgix
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
OCTO Technology
 

Dernier (9)

Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
 
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
 
Les écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptxLes écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptx
 
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
 
COURS D'ADMINISTRATION RESEAU SOUS WINDOWS
COURS D'ADMINISTRATION RESEAU  SOUS WINDOWSCOURS D'ADMINISTRATION RESEAU  SOUS WINDOWS
COURS D'ADMINISTRATION RESEAU SOUS WINDOWS
 
Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
 
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptxPRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
 
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
 

HTML5... La révolution maintenant!

  • 1. La révolution HTML5 DUVAL Alain Twitter : @aduval93 Directeur Technique Objectif Blog : http://www.objectif-informatique.fr/weblog Email : aduval@objectif-informatique.fr BEURTHERET Cédric Twitter : @cbe317 Responsable Java Objectif Blog : http://www.objectif-informatique.fr/weblog Email : cbeurtheret@objectif-informatique.fr
  • 2. Agenda  Genèse & Principes fondateurs  Nouveautés  Révolution!  Retour d’expérience projet
  • 3. 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!
  • 4. Genèse Mainframe Html1 Html4 Xml Ajax Reprise Des travaux Client / Serveur HTML Css 1960 1990 1993 1996 1998 2004 2009
  • 5. Principes fondateurs 1 - Simplicité http://t2.gstatic.com/images?q=tbn:ANd9GcToNcLrfcgw4qq6cY1NB_6bTvRupJD6IGIfcB3NY5WjvFlMLrGo
  • 6. Principes fondateurs 2 - Compatibilité http://www.masternewmedia.org/browser-compatibility-testing-guide-the-best-tools-and-services/
  • 7. Principes fondateurs 3 - Utilité http://t2.gstatic.com/images?q=tbn:ANd9GcToNcLrfcgw4qq6cY1NB_6bTvRupJD6IGIfcB3NY5WjvFlMLrGo
  • 8. Révolution ? « tout changement ou innovation qui bouleverse l'ordre établi de façon radicale dans un domaine quelconque » (wikipedia)
  • 9. HTML 5 ? Sémantique +CSS 3 + API Javascript + WebGL + SVG = HTML 5
  • 10. Sémantique: Déclaration simplifiée <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN http://www.w3.org/TR/html4/loose.dtd <!DOCTYPE html> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta charset="utf-8">
  • 12. 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"
  • 14. Formulaires  Nouveaux inputs <input id="email" name="email" type="email" placeholder="example@domain.com" required />  Nouveaux attributs <input type="range" min="1" max="99" name="slider1"> Value: <output id="age" onformchange="this.value = form.slider1.value"></output>  Mécanisme de validation client validateData(document.querySelector("#email")) function validateData (elt) { var valCheck = elt.validity; if (valCheck.valid==true) … }
  • 15. 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
  • 16. 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]) });
  • 18. Geolocation navigator.geolocation.getCurrentPosition(updateLocation, handleLocationError); function updateLocation(position) { var latitude = position.coords.latitude; var longitude = position.coords.longitude; var accuracy = position.coords.accuracy; … // Afficher une map Google } function handleLocationError(error) { switch(error.code){ … }
  • 20. Cross Window Messaging  Appelant window.postMessage(“Hello, world”, “portal.example.com”);  Appelé window.addEventListener(“message”, messageHandler, true); function messageHandler(e) { if(checkWhiteList(e.origin)) { processMessage(e.data); } else { // ignore messages from unrecognized origins } }
  • 22. 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();
  • 24. Audio & Vidéo <audio id="audio" src="../public/sound.mp3" controls></audio> <video id="video" width="400" height="200" src="http://slides.html5rocks.com/src/chrome_japa n.webm" controls="controls" ></video>
  • 26. Mais aussi…  Web sockets  Speech Input  Mode déconnecté  Microdata  Device API  File API
  • 27. Révolutionnaire!  Browser as a platform http://www.barbafan.de/html5video?video=tron http://www.somethinghitme.com/projects/canvasinvaders/
  • 28. Révolutionnaire!  HTML5 = Le java « mobile » × Write Once, Run everywhere OpenAppMkt = Market HTML5 Mobile
  • 29. Pourquoi faut il y aller ? 1 - C’est un standard ouvert… … qui va faire mal à
  • 30. Pourquoi faut il y aller ? 2 – HTML5 vise un maximum d’intéropérabilité
  • 31. Pourquoi faut il y aller ? 3 – Le monde pousse sur HTML 5
  • 32. 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/
  • 33. 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
  • 34. 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)
  • 35. Ressources  http://dev.w3.org/html5/spec/Overview.html  http://www.html5rocks.com  http://html5doctor.com  http://html5test.com  http://html5demos.com  http://www.chromeexperiments.com/  Pro HTML 5 Programming (P. Lubbers)  HTML 5 Up & Running (M. Pilgrim)