SlideShare une entreprise Scribd logo
1  sur  97
Nouveaux APIs (HTML5, CSS3, JS)
      23 février 2012 - Rémy Savard
Nouveaux APIs


• HTML5

• APIs

• Stratégie
HTML5

"This logo represents HTML5, the cornerstone for
            modern Web applications."




         W3C - http://www.w3.org/html/logo/faq.html#logo-represent
HTML5

"HTML5 is the next major revision of the HTML
   standard, currently under development."




           Wikipedia - http://en.wikipedia.org/wiki/HTML5
HTML5



HTML
HTML5



HTML + CSS
HTML5



HTML + CSS + JavaScript =
HTML5



HTML + CSS + JavaScript =
APIs
Microdata   APIs
Web Storage

Microdata        APIs
Offline Web applications

   Web Storage

Microdata        APIs
Offline Web applications

   Web Storage          Web Workers

Microdata        APIs
Offline Web applications

   Web Storage          Web Workers

Microdata        APIs        Geolocation
Offline Web applications

   Web Storage          Web Workers

Microdata        APIs        Geolocation

                        Drag & Drop
Offline Web applications

   Web Storage          Web Workers

Microdata        APIs        Geolocation

                        Drag & Drop
                    Video/Audio
Offline Web applications

   Web Storage            Web Workers

Microdata        APIs         Geolocation

                          Drag & Drop
                    Video/Audio
                 Canvas
Offline Web applications

   Web Storage             Web Workers

Microdata         APIs         Geolocation

                           Drag & Drop
            SVG      Video/Audio
                  Canvas
Offline Web applications

   Web Storage             Web Workers

Microdata         APIs         Geolocation

    CSS3                   Drag & Drop
            SVG      Video/Audio
                  Canvas
Microdata

"[...] people understand when they read the web
      pages. But search engines have a limited
 understanding of what is being discussed [...]"




               http://www.schema.org/docs/gs.html
Microdata
Microdata
Microdata
Microdata
Personnes



Événements




Applications


               http://www.schema.org/docs/gs.html
Microdata


Auteurs, critiques, musique, recettes,
 applications, produits, événements
           personnes, etc.
Stockage



• Web Storage

• Offline Web
  applications
Web Storage

 "[...] used for storing data in a web browser. Web
storage supports persistent data storage, similar to
      cookies, as well as window-local storage."




               http://en.wikipedia.org/wiki/Web_Storage
Web Storage

• Stockage clé-valeur dans le navigateur
• 0 info stocké dans la requête HTTP
• 5 Mo de stockage (IE=10 Mo)
• Seulement les strings peuvent être
  stocké (Conversion en JSON pour
  stockage des objets JavaScript)
Web Storage

• Local Storage
 • Données disponibles sur le domaine
 • Persistées après fermer le navigateur


• Session Storage
 • Durée de vie de la fenêtre/onlget
Web Storage
Web Storage
Offline Web
                 Applications

"[...] store resources to be used by the browser when
it’s offline, granting your users partial access to your
                 web site or application."




             http://html5doctor.com/go-offline-with-application-cache/
Offline Web
         Applications



• Méthodes pour fonctionner sans
  connexion réseau
• Contrôlé par le fichier appelé manifeste
Offline Web
        Applications

• CACHE
 • Liste en cache (URLs externe compris)
• FALLBACK
 • Tentative d'accès fichier pas en cache
• NETWORK
 • Disponibles uniquement en ligne
Offline Web
Applications
Offline Web
Applications
Web Workers




"[...] API for running scripts, [...] in the background
  independently of any user interface scripts. [...]"


                 http://en.wikipedia.org/wiki/Web_Workers
Web Workers

• Scripts de longue durée pas
  interrompus par les scripts qui
  réagissent aux autres interactions des
  utilisateurs
• Coût élevé des performances de
  démarrage et de la mémoire par
  instance
Web Workers
Web Workers
Geolocation


"[...] interface to retrieve the geographical location
        information for a client-side device.[...]"




                 http://en.wikipedia.org/wiki/Web_Workers
Geolocation
• Emplacement du
  périphérique grâce
  à la consultation de
  serveurs
  d'informations de
  localisation

• Adresse IP, Wi-Fi,
  Adresse MAC,
  Bluetooth, etc.
Geolocation
Geolocation
Drag & Drop




"[...] event-based mechanism, JavaScript API, and
 additional markup for declaring [...] element be
                draggable on a page."


             http://www.html5rocks.com/en/tutorials/dnd/basics/
Drag & Drop


• Mécanisme basé sur des événements
• API JavaScript
• Balisage supplémentaire pour déclarer
  qu'un élément est déplaçable
Drag & Drop
Drag & Drop
Video / Audio




"[...] Often presented as an alternative to flash in the
media, the video tag actually goes beyond that. [...]"



             http://www.html5rocks.com/en/tutorials/video/basics/
Video / Audio
• Plug-in:
 • Aide à combler les trous sur le web
 • Ne sont pas ouverts
 • Pas créés par la communauté
 • Sous le contrôle des entreprises
• <video> et <audio> sont natifs de
  votre navigateur
Video / Audio
Video / Audio
Canvas




"[...] dynamic, scriptable rendering of 2D shapes and
  bitmap images. [...] Canvas consists of a drawable
                       region [...]"



               http://en.wikipedia.org/wiki/Canvas_element
Canvas



• Région défini en HTML
• Rendus dynamiques d'images bitmap
  via des scripts
Canvas
Canvas
Scalable Vector
             Graphics




"[...] two-dimensional vector graphics, [...] they can
   be searched, indexed, scripted and, if required,
                  compressed. [...]"



             http://en.wikipedia.org/wiki/Scalable_Vector_Graphics
Scalable Vector
         Graphics

• Décrit des graphiques vectoriels
• Basé sur XML
• Peuvent être dynamiques et interactifs
• Des modifications peuvent être décrites
  dans le temps avec JavaScript
Scalable Vector
   Graphics
Scalable Vector
   Graphics
CSS3
CSS3
Media Queries
CSS3
Typograhpie
CSS3
Texte
CSS3
Couleurs
CSS3
Fonds et bordures
CSS3


 Transitions, transformations 2D,
animations, système de colonnes,
    dégradés, sélecteurs, etc.
APIs


Indexed Database, Forms, Device orientation,
    WebSockets, Gestion de l'historique,
      nouveaux sélecteurs JavaScript,
         XMLHttpRequest2, etc.
Stratégie
Support


Stratégie
Support


Stratégie
  Détection
Polyfills               Support


     Stratégie
            Détection
Support
Support
Support
Support




 "10 years ago a browser was born. Its name was
Internet Explorer 6. Now that we’re in 2012, in an
  era of modern web standards, it’s time to say
                    goodbye."

               Microsoft - http://www.theie6countdown.com/
Support
Support
Support
Support
Support




We, as developers, should be able to develop with
 the HTML5 apis [...]. Developing in this future-
  proof way means as users upgrade, your code
doesn't have to change but users will move to the
        better, native experience cleanly."
                    Paul Irish - Google
Support



<!DOCTYPE HTML>
Support
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {

      margin: 0;

      padding: 0;

      border: 0;

      font-size: 100%;

      font: inherit;

      vertical-align: baseline;
}



/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {

      display: block;
}
Support




caniuse.com
Détection
Détection

Créer chaque élément en JavaScript pour Internet
                Explorer 6, 7 et 8
Détection
Polyfills


"So here we're collecting all the shims, fallbacks, and
 polyfills in order to implant html5 functionality in
    browsers that don't natively support them."




        The All-In-One Entirely-Not-Alphabetical No-Bullshit Guide to HTML5 Fallbacks
Polyfills

     The All-In-One
Entirely-Not-Alphabetical
       No-Bullshit
         Guide to
    HTML5 Fallbacks
  The All-In-One Entirely-Not-Alphabetical No-Bullshit Guide to HTML5 Fallbacks
Conclusion
caniuse


Conclusion
caniuse


Conclusion
  Modernizr
Polyfills               caniuse


   Conclusion
            Modernizr
Merci

• caniuse.com
• html5boilerplate.com
• html5rocks
• <html>5 doctor
• Dive into HTML5
• wikipedia (HTML5)
Nouveaux APIs (HTML5, CSS3, JS)
      23 février 2012 - Rémy Savard

Contenu connexe

En vedette

Résultats de recherche améliorés avec les microdonnées HTML5
Résultats de recherche améliorés avec les microdonnées HTML5Résultats de recherche améliorés avec les microdonnées HTML5
Résultats de recherche améliorés avec les microdonnées HTML5Rémy Savard
 
Devenez le plus heureux des Front-end avec Gulp.js
Devenez le plus heureux des Front-end avec Gulp.jsDevenez le plus heureux des Front-end avec Gulp.js
Devenez le plus heureux des Front-end avec Gulp.jsRémy Savard
 
Responsive Typography with Sass
Responsive Typography with SassResponsive Typography with Sass
Responsive Typography with SassJames Steinbach
 
CSS3 - Possibilite creatives
CSS3 - Possibilite creativesCSS3 - Possibilite creatives
CSS3 - Possibilite creativesRémy Savard
 
Bonnes pratiques intégration robuste
Bonnes pratiques intégration robusteBonnes pratiques intégration robuste
Bonnes pratiques intégration robusteRomy Duhem-Verdière
 
Introduction au Web 2.0
Introduction au Web 2.0Introduction au Web 2.0
Introduction au Web 2.0Jibril Touzi
 
CSS Grid Layout, le futur de vos mises en page
CSS Grid Layout, le futur de vos mises en pageCSS Grid Layout, le futur de vos mises en page
CSS Grid Layout, le futur de vos mises en pagematparisot
 
2015 nouveaux outilsdevweb
2015 nouveaux outilsdevweb2015 nouveaux outilsdevweb
2015 nouveaux outilsdevwebPhilippe Antoine
 
Petit Déjeuner : HTML5 et CSS3, les interfaces de demain.
Petit Déjeuner : HTML5 et CSS3, les interfaces de demain.Petit Déjeuner : HTML5 et CSS3, les interfaces de demain.
Petit Déjeuner : HTML5 et CSS3, les interfaces de demain.Makina Corpus
 
Cascade et héritage : concevoir, organiser, optimiser…
Cascade et héritage : concevoir, organiser, optimiser…Cascade et héritage : concevoir, organiser, optimiser…
Cascade et héritage : concevoir, organiser, optimiser…Romy Duhem-Verdière
 
Front End Best Practices
Front End Best PracticesFront End Best Practices
Front End Best PracticesHolger Bartel
 
Modern Front-End Development
Modern Front-End DevelopmentModern Front-End Development
Modern Front-End Developmentmwrather
 

En vedette (20)

Maquette fenetres angélique
Maquette fenetres angéliqueMaquette fenetres angélique
Maquette fenetres angélique
 
Résultats de recherche améliorés avec les microdonnées HTML5
Résultats de recherche améliorés avec les microdonnées HTML5Résultats de recherche améliorés avec les microdonnées HTML5
Résultats de recherche améliorés avec les microdonnées HTML5
 
Sass et compass
Sass et compassSass et compass
Sass et compass
 
Devenez le plus heureux des Front-end avec Gulp.js
Devenez le plus heureux des Front-end avec Gulp.jsDevenez le plus heureux des Front-end avec Gulp.js
Devenez le plus heureux des Front-end avec Gulp.js
 
Responsive Typography with Sass
Responsive Typography with SassResponsive Typography with Sass
Responsive Typography with Sass
 
Apprendre sass
Apprendre sassApprendre sass
Apprendre sass
 
Xhtml et Css
Xhtml et CssXhtml et Css
Xhtml et Css
 
Bien composer le texte web
Bien composer le texte webBien composer le texte web
Bien composer le texte web
 
La programmation fonctionnelle en javascript / PF
La programmation fonctionnelle en javascript / PFLa programmation fonctionnelle en javascript / PF
La programmation fonctionnelle en javascript / PF
 
CSS3 - Possibilite creatives
CSS3 - Possibilite creativesCSS3 - Possibilite creatives
CSS3 - Possibilite creatives
 
Bonnes pratiques intégration robuste
Bonnes pratiques intégration robusteBonnes pratiques intégration robuste
Bonnes pratiques intégration robuste
 
Introduction au Web 2.0
Introduction au Web 2.0Introduction au Web 2.0
Introduction au Web 2.0
 
CSS Grid Layout, le futur de vos mises en page
CSS Grid Layout, le futur de vos mises en pageCSS Grid Layout, le futur de vos mises en page
CSS Grid Layout, le futur de vos mises en page
 
2015 nouveaux outilsdevweb
2015 nouveaux outilsdevweb2015 nouveaux outilsdevweb
2015 nouveaux outilsdevweb
 
Bonnes pratiques graphiques
Bonnes pratiques graphiquesBonnes pratiques graphiques
Bonnes pratiques graphiques
 
CSS3 - nouveautes
CSS3 - nouveautesCSS3 - nouveautes
CSS3 - nouveautes
 
Petit Déjeuner : HTML5 et CSS3, les interfaces de demain.
Petit Déjeuner : HTML5 et CSS3, les interfaces de demain.Petit Déjeuner : HTML5 et CSS3, les interfaces de demain.
Petit Déjeuner : HTML5 et CSS3, les interfaces de demain.
 
Cascade et héritage : concevoir, organiser, optimiser…
Cascade et héritage : concevoir, organiser, optimiser…Cascade et héritage : concevoir, organiser, optimiser…
Cascade et héritage : concevoir, organiser, optimiser…
 
Front End Best Practices
Front End Best PracticesFront End Best Practices
Front End Best Practices
 
Modern Front-End Development
Modern Front-End DevelopmentModern Front-End Development
Modern Front-End Development
 

Similaire à Nouveaux apis

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 8davrous
 
HTML5 W3C Conference Euratechnologie
HTML5 W3C Conference EuratechnologieHTML5 W3C Conference Euratechnologie
HTML5 W3C Conference Euratechnologiewyggio
 
Les défis d’une application mobile multi-périphériques avec HTML5
Les défis d’une application mobile multi-périphériques avec HTML5Les défis d’une application mobile multi-périphériques avec HTML5
Les défis d’une application mobile multi-périphériques avec HTML5davrous
 
Mobiz - 2012-11-15 - HTML5, une révolution à plusieurs niveaux
Mobiz - 2012-11-15 - HTML5, une révolution à plusieurs niveauxMobiz - 2012-11-15 - HTML5, une révolution à plusieurs niveaux
Mobiz - 2012-11-15 - HTML5, une révolution à plusieurs niveauxFrédéric Harper
 
Investir sur son API web (in French)
Investir sur son API web (in French)Investir sur son API web (in French)
Investir sur son API web (in French)Restlet
 
Node.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptNode.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptKhalid Jebbari
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!CARA_Lyon
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!CARA_Lyon
 
HTML5 et Internet Explorer 9, est-ce réellement compatible?
HTML5 et Internet Explorer 9, est-ce réellement compatible?HTML5 et Internet Explorer 9, est-ce réellement compatible?
HTML5 et Internet Explorer 9, est-ce réellement compatible?Frédéric Harper
 
La mobilité dans Drupal
La mobilité dans DrupalLa mobilité dans Drupal
La mobilité dans DrupalAdyax
 
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 10davrous
 
Glossaire web pour les profanes - Webdesign
Glossaire web pour les profanes - WebdesignGlossaire web pour les profanes - Webdesign
Glossaire web pour les profanes - WebdesignRelax In The Air
 
Webinar HTML5 Microsoft Intel
Webinar HTML5 Microsoft IntelWebinar HTML5 Microsoft Intel
Webinar HTML5 Microsoft Inteldavrous
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !VISEO
 
Introduction à web assembly
Introduction à web assemblyIntroduction à web assembly
Introduction à web assemblyJérémy Buget
 
Programmer en html5, css 3 et java script (70 480)
Programmer en html5, css 3 et java script (70 480)Programmer en html5, css 3 et java script (70 480)
Programmer en html5, css 3 et java script (70 480)Chamseddine Ouerhani
 
Pourquoi rails est génial? (version longue)
Pourquoi rails est génial? (version longue)Pourquoi rails est génial? (version longue)
Pourquoi rails est génial? (version longue)Camille Roux
 

Similaire à Nouveaux apis (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
 
HTML5 W3C Conference Euratechnologie
HTML5 W3C Conference EuratechnologieHTML5 W3C Conference Euratechnologie
HTML5 W3C Conference Euratechnologie
 
Html5 now light
Html5 now lightHtml5 now light
Html5 now light
 
Les défis d’une application mobile multi-périphériques avec HTML5
Les défis d’une application mobile multi-périphériques avec HTML5Les défis d’une application mobile multi-périphériques avec HTML5
Les défis d’une application mobile multi-périphériques avec HTML5
 
Mobiz - 2012-11-15 - HTML5, une révolution à plusieurs niveaux
Mobiz - 2012-11-15 - HTML5, une révolution à plusieurs niveauxMobiz - 2012-11-15 - HTML5, une révolution à plusieurs niveaux
Mobiz - 2012-11-15 - HTML5, une révolution à plusieurs niveaux
 
Investir sur son API web (in French)
Investir sur son API web (in French)Investir sur son API web (in French)
Investir sur son API web (in French)
 
Drupal & Mobilité
Drupal & MobilitéDrupal & Mobilité
Drupal & Mobilité
 
HTML5 & SilverLight 5
HTML5 & SilverLight 5HTML5 & SilverLight 5
HTML5 & SilverLight 5
 
Node.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptNode.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascript
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!
 
HTML5 et Internet Explorer 9, est-ce réellement compatible?
HTML5 et Internet Explorer 9, est-ce réellement compatible?HTML5 et Internet Explorer 9, est-ce réellement compatible?
HTML5 et Internet Explorer 9, est-ce réellement compatible?
 
La mobilité dans Drupal
La mobilité dans DrupalLa mobilité dans Drupal
La mobilité dans Drupal
 
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
 
Glossaire web pour les profanes - Webdesign
Glossaire web pour les profanes - WebdesignGlossaire web pour les profanes - Webdesign
Glossaire web pour les profanes - Webdesign
 
Webinar HTML5 Microsoft Intel
Webinar HTML5 Microsoft IntelWebinar HTML5 Microsoft Intel
Webinar HTML5 Microsoft Intel
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
 
Introduction à web assembly
Introduction à web assemblyIntroduction à web assembly
Introduction à web assembly
 
Programmer en html5, css 3 et java script (70 480)
Programmer en html5, css 3 et java script (70 480)Programmer en html5, css 3 et java script (70 480)
Programmer en html5, css 3 et java script (70 480)
 
Pourquoi rails est génial? (version longue)
Pourquoi rails est génial? (version longue)Pourquoi rails est génial? (version longue)
Pourquoi rails est génial? (version longue)
 

Nouveaux apis

Notes de l'éditeur

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n
  83. \n
  84. \n
  85. \n
  86. \n
  87. \n
  88. \n
  89. \n
  90. \n
  91. \n
  92. \n