SlideShare une entreprise Scribd logo
HTML5 en production
   Maintenant

   solutions pratiques
    de IE6 à nos jours



                    Jean-pierre VINCENT
Qui ça ?
    Jean-pierre VINCENT

      braincracking.org
      @theystolemynick


Je sers le Web et c'est ma joie :
   houra.fr, Yahoo!, Kelkoo
     Time of my Life.com
HTML5 en production
   Maintenant

   solutions pratiques
    de IE6 à nos jours



                    Jean-pierre VINCENT
Le poids des mots

HTML5 : 2022
(Ian Hickson, éditeur HMTL5)
Le poids des mots

HTML5 : 2022
(Ian Hickson, éditeur HMTL5)


“I don't think it's ready for production yet“
(Philippe Le Hégaret, chef HTML5)
2022 ? pas peur
●
2022 ? pas peur
●   CSS 2.1 : candidate recommandation

●
2022 ? pas peur
●   CSS 2.1 : candidate recommandation

●Selector API 2 : Draft, mais utilisé
par 90% des développeurs grâce à
jQuery

●
2022 ? pas peur
●   CSS 2.1 : candidate recommandation

●Selector API 2 : Draft, mais utilisé
par 90% des développeurs grâce à
jQuery

●HTML4 : 1999, CSS: 1996
implémentations variées ...
Production

       !==

Recommandation W3C
Production

   ===

Accès facile
+ stabilité
 + besoin
Web Storage
Stockage


7 implémentations !
Stockage
 Depuis
● IE 6-7 !
Web Storage
●   UserData
Web Storage
● UserData
● GlobalStorage
Web Storage
● UserData
● GlobalStorage

● Flash shared object
Web Storage
● UserData
● GlobalStorage

● Flash shared object

● Hack window.name
Web Storage
● UserData
● GlobalStorage

● Flash shared object

● Hack window.name




Et enfin
             Web Storage
Web Storage
● UserData
● GlobalStorage

● Flash shared object

● Hack window.name




Et enfin
 Web Storage (3 implémentations)
Web Storage
Développeur           Librairie
Librairies
IE UserData :
  • jQuery jStorage     (jstorage.info)
  • YUI3 Storage lite   (bit.ly/lib_store1)
Librairies
IE UserData :
  • jQuery jStorage     (jstorage.info)
  • YUI3 Storage lite   (bit.ly/lib_store1)

Flash shared object :
  ✓ YUI2 Storage        (yhoo.it/lib_store2)
Librairies
IE UserData :
  • jQuery jStorage     (jstorage.info)
  • YUI3 Storage lite   (bit.ly/lib_store1)

Flash shared object :
  ✓ YUI2 Storage        (yhoo.it/lib_store2)

window.name :
 • sessionstorage       (bit.ly/lib_store3)
Web Storage
          Conclusion


 ✓ OK pour la prod (je l'ai fait)



IE fiable < 64k ou 100k
HTML5
          Conclusion


 ✓ OK pour la prod (je l'ai fait)



IE fiable < 64k ou 100k
quel HTML5 ?
Officiel :       Associé :
• Balises       ● Geolocation


• Microdata     ● SVG


• Forms         ● Upload


• Multimédia
• Canvas
• Web Storage
• Drag & Drop    Buzz :
• WebSockets    ● CSS3 ...
HTML5
Découper, enrober, servir chaud
découpons HTML5

●   Sémantique


●   APIs
Balises
Balises


        <!doctype html>




bit.ly/HTML5_fr   bit.ly/XHTML5_fr
Balises

✓ Migration HTML5 OK

      Merci :)
Balises (avant)
<div>
  <div>...</div>
</div>
<div>
  <div>...<span> ...
  <p>
  <div>...</div>
</div>
<div>...</div>
Balises (avant)
<div>
  <div>...</div>
</div>
<div>
  <div>...<span> ...
  <p>
  <div>...</div>
</div>
<div>...</div>
Balises (après)
Balises
Balises
<meter value=25 max=100>
Balises
<meter value=25 max=100>

<progress value=25 max=100>
Balises
<meter value=25 max=100>

<progress value=25 max=100>


<figure>
<figcaption>
Balises
<meter value=25 max=100>

<progress value=25 max=100>


<figure>
<figcaption>
Balises - Bilan
● Standard
● Facile à comprendre




                 ===

● Bénéfices référencement (bientôt)
● Maintenable

● Accessible
Balises

    ✓ Production
Dépendance JS pour IE6-8




  bit.ly/HTML5_shiv
Microdata
Microdata
 Balisage sémantique avec
vocabulaire personnalisé


 Concurrent de :
● Microformats

● RDFa
Microdata
Intérêt immédiat : Google




          bit.ly/data-google
Microdata
●   Sémantique standardisée

===

● Référencement
● Accessibilité

● Exploitation par le navigateur
Microdata


✓ Utilisable en production
Formulaires
Formulaires - types
<input
  type=email />

●   Clavier approprié

●   Pré-remplissage

●   Interface
Formulaires - types
<input
  type=url />

●   Clavier approprié

●   Pré-remplissage
Formulaires - types
<input
  type=date />


●   Interface appropriée
Formulaires - types
 <input
    type=color />
● Interface appropriée
Formulaires - types

    Non reconnu ?
Formulaires - types

    Non reconnu ?
          =
     type=text
Formulaires - types

     Non reconnu ?
            =
       type=text
            =
   ✓ fonctionnalité OK
Formulaires - types


       ✓ Production
Accepter styles et Widgets natifs
</semantique>

<script src=HTML5/API >
découpons HTML5
Officiel :        Associé :
 ✓ Balises       ● Geolocation


 ✓ Microdata     ● SVG

 ✓ Forms         ● Upload


• Multimédia
• Canvas
 ✓ Web Storage    Buzz :
• Drag & Drop    ● CSS3 ...

• WebSockets
Spécifications

     !==

 innovation
Standardiser


Standardiser l'existant
Comment on faisait ?
Comment on faisait ?
●   Geolocation ?   Adresse IP
Comment on faisait ?
● Geolocation ?        Adresse IP
● Drop de fichiers ?   Applet java
Comment on faisait ?
● Geolocation ?        Adresse IP
● Drop de fichiers ?   Applet java
● Forms 2 ?            Javascript
Comment on faisait ?
● Geolocation ?        Adresse IP
● Drop de fichiers ?   Applet java
● Forms 2 ?            Javascript
● <video> ?            Flash
Comment on faisait ?
● Geolocation ?        Adresse IP
● Drop de fichiers ?   Applet java
● Forms 2 ?            Javascript
● <video> ?            Flash
● Drag & Drop ?        IE
Comment on faisait ?
● Geolocation ?        Adresse IP
● Drop de fichiers ?   Applet java
● Forms 2 ?            Javascript
● <video> ?            Flash
● Drag & Drop ?        IE
● Online ?             IE
Comment on faisait ?
● Geolocation ?        Adresse IP
● Drop de fichiers ?   Applet java
● Forms 2 ?            Javascript
● <video> ?            Flash
● Drag & Drop ?        IE
● Online ?             IE
● 2D ?                 VML, flash
Développeur   Librairie
Formulaires
Forms - comportement




    bit.ly/form2_demo
Forms - comportement
Emulation :

●   H5F
          bit.ly/lib_H5F
● Webforms2


          bit.ly/lib_WF2


          bit.ly/form2_demo
Forms - comportement
   Déclaratif et standardisé
Forms - comportement
     Déclaratif et standardisé

<input type=number




/>
Forms - comportement
     Déclaratif et standardisé

<input type=number
  placeholder="Combien ?"



/>
Forms - comportement
     Déclaratif et standardisé

<input type=number
  placeholder="Combien ?"
  required


/>
Forms - comportement
     Déclaratif et standardisé

<input type=number
  placeholder="Combien ?"
  required
  autofocus

/>
Forms - comportement
     Déclaratif et standardisé

<input type=number
   placeholder="Combien ?"
   required
   autofocus
   max=10
 />
Forms - comportement
Gain ?

             Standard
                ===
           Accessibilité
         Facilité de codage
Forms - bilan

✓ OK pour création
Forms - bilan

✓ OK pour création
✓ OK pour enrichissement
Forms - bilan

✓ OK pour création
✓ OK pour enrichissement
  Modification : au cas par cas
Geolocation
       Vous êtes ici
Geolocation




bit.ly/geoloc_demo
Geolocation
Natif               Détection IP



             4km



        bit.ly/geoloc_demo
Geolocation

 Alternative :
● Achat de bases d'IP




 Librairie :
● YQL-Geo-Library

   • bit.ly/lib_geo
Geolocation


✓ Utilisable en production
découpons HTML5
Officiel :        Associé :
 ✓ Balises        ✓ Geolocation
 ✓ Microdata     ● SVG

 ✓ Forms         ● Upload


• Multimédia
• Canvas
 ✓ Web Storage
• Drag & Drop
• WebSockets
Plus de démos ?
Je vais conclure
Utilisez les standards
●   Gains immédiats

●   Accessibilité

●   Référencement

●   Utilisabilité

●   Maintenance
Utilisez les librairies
           ●   Accès facile

           ●   Maintenance

           ●   Suivi des Specs

           ●   Contribuez
Maintenant
●   Testez
                            2022
●   Jouez

●   Déployez

●   Partagez
Questions ?



            braincracking.org
Remerciez timeOfMyLife.com

Contenu connexe

PDF
HTML5 maintenant partie 2 : APIs
PDF
HTML5 maintenant partie 3 : multimedia
PDF
HTML5 maintenant partie 1 : la sémantique
ODP
Html5 bonnes-pratiques
PDF
10 conseils pour booster les performances de votre site sous WordPress
PDF
64 conneries que font les référenceurs avec WordPress
PDF
Bien débuter dans la conception d'un thème WordPress
PDF
Le meilleur pour votre site WordPress
HTML5 maintenant partie 2 : APIs
HTML5 maintenant partie 3 : multimedia
HTML5 maintenant partie 1 : la sémantique
Html5 bonnes-pratiques
10 conseils pour booster les performances de votre site sous WordPress
64 conneries que font les référenceurs avec WordPress
Bien débuter dans la conception d'un thème WordPress
Le meilleur pour votre site WordPress

Tendances (16)

PDF
Etendre le Web avec les Web Components
PDF
Comment réussir une migration de site web en seo ?
PDF
Web performance - appliquer les règles de base
PDF
Magento et SEO : le combo parfait pour développer son e-commerce
PDF
Plus belle la vie avec HTML5 et CSS3 - Paris Web 2010
PDF
Retours sur le concours Webperf 2010
PPTX
HTML5, le web de demain - BNSA
PPTX
L’envers du décor d’un site WooCommerce | WP Tech Nantes
PDF
ENIB 2013-2014 - CAI Web #3: J’ai besoin d’une appli web rapidement
PDF
WebExtensions - it's now / c'est maintenant
PDF
Solutions multilingues pour WordPress
PPTX
Formation html5 css3 java script
PPTX
A la découverte du Responsive Web Design par Mathieu Parisot - Soat
KEY
HTML5 - Sémantique, structure et nouveaux éléments
PPTX
Accélérez le développement de vos interfaces web
PDF
JCertif 2013 - Vers un web moderne pour l'Afrique ?
Etendre le Web avec les Web Components
Comment réussir une migration de site web en seo ?
Web performance - appliquer les règles de base
Magento et SEO : le combo parfait pour développer son e-commerce
Plus belle la vie avec HTML5 et CSS3 - Paris Web 2010
Retours sur le concours Webperf 2010
HTML5, le web de demain - BNSA
L’envers du décor d’un site WooCommerce | WP Tech Nantes
ENIB 2013-2014 - CAI Web #3: J’ai besoin d’une appli web rapidement
WebExtensions - it's now / c'est maintenant
Solutions multilingues pour WordPress
Formation html5 css3 java script
A la découverte du Responsive Web Design par Mathieu Parisot - Soat
HTML5 - Sémantique, structure et nouveaux éléments
Accélérez le développement de vos interfaces web
JCertif 2013 - Vers un web moderne pour l'Afrique ?
Publicité

Similaire à Html5 now light (20)

KEY
Nouveaux apis
PPTX
HTML5 vu par Ekino
PDF
HTML5
PPTX
HTML 5 et CSS3, créez, animez et enrichissez vos sites Web
PPTX
Les dernières avancées html5 & css3 en action !
PPTX
Les dernières avancées HTML5 & CSS3 en action !
PDF
HTML5... La révolution maintenant!
PDF
HTML5... La révolution maintenant!
PDF
ENIB 2015 2016 - CAI Web S02E01- Côté Navigateur 2/3 - HTML5 / CSS3 / Twitter...
PDF
ENIB 2015-2016 - CAI Web - S01E01- Côté navigateur 2/3 - HTML5, CSS3, Twitte...
PPTX
Les apports d'HTML5 pour l'interopérabilité des applications géospatiales
PDF
Enib cours c.a.i. web - séance #1 - html5 css3-js - 2
PPT
HTML5 en Entreprise
PPTX
Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
PDF
HTML5 & SilverLight 5
PPT
Ch5. APIs HTML5.pptjsytigfgfvnb gfvbghbvghbv
PDF
Confoo - 2012-02-27 au 2012-02-28 - HTML5 workshop
PPTX
cours-introduction-dfggghhha-html-5.pptx
PDF
Les nouveautés d'HTML 5
PPTX
HTML5 W3C Conference Euratechnologie
Nouveaux apis
HTML5 vu par Ekino
HTML5
HTML 5 et CSS3, créez, animez et enrichissez vos sites Web
Les dernières avancées html5 & css3 en action !
Les dernières avancées HTML5 & CSS3 en action !
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!
ENIB 2015 2016 - CAI Web S02E01- Côté Navigateur 2/3 - HTML5 / CSS3 / Twitter...
ENIB 2015-2016 - CAI Web - S01E01- Côté navigateur 2/3 - HTML5, CSS3, Twitte...
Les apports d'HTML5 pour l'interopérabilité des applications géospatiales
Enib cours c.a.i. web - séance #1 - html5 css3-js - 2
HTML5 en Entreprise
Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
HTML5 & SilverLight 5
Ch5. APIs HTML5.pptjsytigfgfvnb gfvbghbvghbv
Confoo - 2012-02-27 au 2012-02-28 - HTML5 workshop
cours-introduction-dfggghhha-html-5.pptx
Les nouveautés d'HTML 5
HTML5 W3C Conference Euratechnologie
Publicité

Plus de Jean-Pierre Vincent (15)

PPTX
Mesurer la performance : onload, pages
PPTX
Les Performance de rendu sur mobile
PDF
La performance sur mobile
PDF
Performances web - quoi de neuf ?
PDF
Accélération des pages Web : les bases en exemple
PDF
Introduction à la webperf
PPTX
Techniques accélération des pages web #kiwiparty
PDF
Techniques d'accélération des pages web
ODP
Le monitoring de la performance front
PDF
Les performances Web mobile
PDF
Function oop - bonnes pratiques ms tech days
PDF
Fondamentaux portée - contexte - function ms tech days
PDF
Javascript : fondamentaux et OOP
ODP
Télés connectées et développement Web
PDF
Inclure du Javascript de manière performante
Mesurer la performance : onload, pages
Les Performance de rendu sur mobile
La performance sur mobile
Performances web - quoi de neuf ?
Accélération des pages Web : les bases en exemple
Introduction à la webperf
Techniques accélération des pages web #kiwiparty
Techniques d'accélération des pages web
Le monitoring de la performance front
Les performances Web mobile
Function oop - bonnes pratiques ms tech days
Fondamentaux portée - contexte - function ms tech days
Javascript : fondamentaux et OOP
Télés connectées et développement Web
Inclure du Javascript de manière performante

Dernier (7)

PDF
Modems expliqués- votre passerelle vers Internet.pdf
PDF
FORMATION EN Programmation En Langage C.pdf
PPTX
Souveraineté numérique - Définition et enjeux pour les entreprises et les dév...
PDF
Tendances tech 2025 - SFEIR & WENVISION.pdf
PDF
presentation_with_intro_compressee IEEE EPS France
PPTX
Presentation_Securite_Reseaux_Bac+2.pptx
PDF
FORMATION COMPLETE EN EXCEL DONE BY MR. NYONGA BRICE.pdf
Modems expliqués- votre passerelle vers Internet.pdf
FORMATION EN Programmation En Langage C.pdf
Souveraineté numérique - Définition et enjeux pour les entreprises et les dév...
Tendances tech 2025 - SFEIR & WENVISION.pdf
presentation_with_intro_compressee IEEE EPS France
Presentation_Securite_Reseaux_Bac+2.pptx
FORMATION COMPLETE EN EXCEL DONE BY MR. NYONGA BRICE.pdf

Html5 now light