SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
MISE EN BOUCHE A
HTML5
PETIT TOUR RAPIDES DES PRINCIPALES API (WEB-WORKERS,
AUDIO/VIDEO, CANVAS)
LaurentTonon/@laurent_tonon
HTML5 C'EST QUOI?
UN RAPIDE HISTORIQUE
HTML telqu'on le connaissaitne suffisaitplus au besoins du
web...
XHTML pointaitson nez mais n'apportaitaucune solution...
En 2004, Des professionels du web, le WHATWG (Web
HypertextApplication WorkingGroup) commence atravailler
sur HTML5
Etsontrejointpar le W3C en 2006
2008: Premier "workingdraft"pour HTML5
LES ACTEURS MAJEURS
WHATWG(groupes de personnes travaillantpour Apple,
Mozilla, Google etOpera): Developpementetcollaboration
avec les navigateurs
W3C etplus particulierementle HTML workinggroup:
Specification HTML5
IETF(InternetEngineeringTask Force): Protocoles (Web
sockets par exemple)
UNE RAPIDE DEFINITION
Successeur de HTML 4.01
Dans le langage courant:
HTML 5 + CSS3 + JavaScript
Nouveaux elements etAPIs (Audio, Video, Canvas, etc...)
Nouvelles fonctionalites JavaScript(Web Workers, Web
Sockets, etc...)
Nouvelles fonctionalites CSS3 (Transforms, web fonts, etc...)
NOTRE EXEMPLE
Des bookmarks video
DEMO
AUDIO, VIDEO (DISCO)
Nous avons les plugins (Flash parmile plus connu), mais ces
derniers peuvent:
Etre indisponible sur l'OS cible
Etre impossible ainstaller dans un contexte d'entreprise
Presenter des problemes d'affichage
AUDIO ET VIDEO (TAGS)
Supportnatif avec les tags <audio> et<video>
Simplement
<videosrc="myvideo.webm"width="320"height="240"controls=""></video>
Ou bien
<videowidth="640"height="360"controls="">
<sourcesrc="myvideo.MP4"type="video/mp4">
<sourcesrc="myvideo.OGV"type="video/ogg">
<objectwidth="640"height="360"type="application/x-shockwave-flash"data="__FLASH__
<param...="">
<param...="">
<param...="">
</object>
</video>
AUDIO ET VIDEO (API)
Pimp myplayer!
Attributs: autoplay, loop, mute, preload, control, etc…
Events: play, pause, seeking, timeupdate, ended, etc…
Methods: play(), pause(), load(), etc…
DEMO
RESOURCES
Video for everybody:
Video.js:
MediaElement.js:
http://camendesign.com/code/video_for_everybody
http://videojs.com
http://mediaelementjs.com
STOCKAGE (LOCAL)
Cookies
Limitations
Taille (env4Ko)
Sontenvoyes achaquerequete HTTP
20 cookies par domaine
Pas d'API de type "CRUD"
LOCALSTORAGE ET SESSIONSTORAGE
Partagentlameme API
interfaceStorage{
readonlyattributeunsignedlonglength;
getterDOMStringkey(inunsignedlongindex);
getteranygetItem(inDOMStringkey);
settercreatorvoidsetItem(inDOMStringkey,inanydata);
deletervoidremoveItem(inDOMStringkey);
voidclear();
};
DEMO
CANVAS
PLEIN LES YEUX
Des applications de dessin:
Une magnifique demo base sur Twitter API:
Un globe avec WebGL:
Gaming
ImpactJS:
JSGlib (Adrien Gueret):
http://muro.deviantart.com/
http://9elements.com/io/projects/html5/canvas/
http://data-arts.appspot.com/globe-
search
http://impactjs.com/
http://jsglib.no-ip.org/
RAPIDE PRESENTATION DE L'API
Toutcommence ici... dans le code HTML
<canvaswidth="500px"height="300px"id="myCanvas">
<!--Fallbackgoeshereifcanvasisnotsupported-->
</canvas>
Interagir avec le canvas
varcanvas=document.getElementById('myCanvas');
varctx=canvas.getContext('2d');
POSSIBILITES DU CANVAS
Donnez libre cours avotre imagination ;)
Lignes, Rectangles, Cercles
Courbes complexes (courbes de Bezier par exemple)
Transformation (translation, rotation, echelonnage)
Manipulation de pixel
Image cropping
Convertion en image
DEMO
WEB WORKERS
Web Workers alarescousse
WEB WORKERS: DEFINITION
Un web worker c'est:
Un thread quis'execute en parallele du main thread (UI)
Un fichier contenantles intructions JavaScriptaexecuter
Le thread UI etle worker communiquententre eux
UN SIMPLE WEB WORKER
Dans votre code JavaScript:
varmyWorker=newWorker('myWorker.js');
myWorker.postMessage('HelloWebWorker');
myWorker.onmessage=function(e){
console.log(e.data);
};
Dans votre Web Worker:
self.onmessage=function(e){
self.postMessage('Yousaid:'+e.data);
};
WEB WORKERS: CAS D'UTILISATIONS
"Toute"longue operation
“Workers (as these background scripts are called
herein) are relatively heavy-weight, and are not
intended to be used in large numbers. For
example, itwould be inappropriate to launch
one worker for each pixel of afour megapixel
image... Generally, workers are expected to be
long-lived, have ahigh start-up performance
cost, and ahigh per-instance memory cost...”
WEB WORKERS: LIMITATIONS
Le Web Worker n'apas acces
au DOM
al'objectwindow
al'objectdocument
al'objectparent
DEMO
PLUS D'HTML5
HTML5 estassez vaste
Geo localisation
Web Sockets
Web application offline
Forms API
Server sentevents
Etbien plus :)
RESOURCES
Dive into HTML5: (Mark Pilgrim)
HTML5 demos:
HTML5 rocks:
HTML5 please:
Modernizr (feature detection):
HTML5 test:
http://diveintohtml5.org/
http://html5demos.com/
http://www.html5rocks.com/
http://html5please.com
http://modernizr.com/
http://html5test.com/
Mise en bouche a html5

Weitere ähnliche Inhalte

Ähnlich wie Mise en bouche a html5

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
 
L'Open Web en tant que pierre angulaire du développement multi-objets
L'Open Web en tant que pierre angulaire du développement multi-objetsL'Open Web en tant que pierre angulaire du développement multi-objets
L'Open Web en tant que pierre angulaire du développement multi-objetsThomas Bassetto
 
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
 
Conférence Titanium + Alloy au JUG Montpellier
Conférence Titanium + Alloy au JUG MontpellierConférence Titanium + Alloy au JUG Montpellier
Conférence Titanium + Alloy au JUG MontpellierDamien Laureaux
 
Flash vs-html5-adrien-leygues-pw-2011
Flash vs-html5-adrien-leygues-pw-2011Flash vs-html5-adrien-leygues-pw-2011
Flash vs-html5-adrien-leygues-pw-2011Adrien Leygues
 
Client riche et nouvelles technologies
Client riche et nouvelles technologiesClient riche et nouvelles technologies
Client riche et nouvelles technologiesSébastien Letélié
 
Gtug2 Mobile app with web technlogy
Gtug2 Mobile app with web technlogyGtug2 Mobile app with web technlogy
Gtug2 Mobile app with web technlogySacha Leprêtre
 
TypeScript for dummies
TypeScript for dummiesTypeScript for dummies
TypeScript for dummiesMicrosoft
 
Node, Grunt et leurs copains qui font de l’accessibilité tout seuls !
Node, Grunt et leurs copains qui font de l’accessibilité tout seuls !Node, Grunt et leurs copains qui font de l’accessibilité tout seuls !
Node, Grunt et leurs copains qui font de l’accessibilité tout seuls !vincent aniort
 
Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
Codedarmor 2012 - 06/03 - HTML5, CSS3 et JavascriptCodedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascriptcodedarmor
 
Ma stack d'outils agiles, tout un programme !
Ma stack d'outils agiles, tout un programme !Ma stack d'outils agiles, tout un programme !
Ma stack d'outils agiles, tout un programme !Cédric Leblond
 
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...ENSIBS
 
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et Mobile
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et MobileNouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et Mobile
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et MobileIppon
 
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilité
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilitéNouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilité
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilitéJulien Dubois
 
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
 
Présentation de CakePHP, 22/04/2010
Présentation de CakePHP, 22/04/2010Présentation de CakePHP, 22/04/2010
Présentation de CakePHP, 22/04/2010Guillaume Sautereau
 

Ähnlich wie Mise en bouche a html5 (20)

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!
 
Gdd07 Gwt Dig
Gdd07 Gwt DigGdd07 Gwt Dig
Gdd07 Gwt Dig
 
L'Open Web en tant que pierre angulaire du développement multi-objets
L'Open Web en tant que pierre angulaire du développement multi-objetsL'Open Web en tant que pierre angulaire du développement multi-objets
L'Open Web en tant que pierre angulaire du développement multi-objets
 
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
 
Conférence Titanium + Alloy au JUG Montpellier
Conférence Titanium + Alloy au JUG MontpellierConférence Titanium + Alloy au JUG Montpellier
Conférence Titanium + Alloy au JUG Montpellier
 
Flash vs-html5-adrien-leygues-pw-2011
Flash vs-html5-adrien-leygues-pw-2011Flash vs-html5-adrien-leygues-pw-2011
Flash vs-html5-adrien-leygues-pw-2011
 
Client riche et nouvelles technologies
Client riche et nouvelles technologiesClient riche et nouvelles technologies
Client riche et nouvelles technologies
 
Gtug2 Mobile app with web technlogy
Gtug2 Mobile app with web technlogyGtug2 Mobile app with web technlogy
Gtug2 Mobile app with web technlogy
 
TypeScript for dummies
TypeScript for dummiesTypeScript for dummies
TypeScript for dummies
 
Node, Grunt et leurs copains qui font de l’accessibilité tout seuls !
Node, Grunt et leurs copains qui font de l’accessibilité tout seuls !Node, Grunt et leurs copains qui font de l’accessibilité tout seuls !
Node, Grunt et leurs copains qui font de l’accessibilité tout seuls !
 
Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
Codedarmor 2012 - 06/03 - HTML5, CSS3 et JavascriptCodedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
 
Ma stack d'outils agiles, tout un programme !
Ma stack d'outils agiles, tout un programme !Ma stack d'outils agiles, tout un programme !
Ma stack d'outils agiles, tout un programme !
 
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
 
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et Mobile
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et MobileNouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et Mobile
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et Mobile
 
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilité
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilitéNouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilité
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilité
 
Drupal & Mobilité
Drupal & MobilitéDrupal & Mobilité
Drupal & Mobilité
 
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
 
Présentation de CakePHP, 22/04/2010
Présentation de CakePHP, 22/04/2010Présentation de CakePHP, 22/04/2010
Présentation de CakePHP, 22/04/2010
 

Mise en bouche a html5