6
6
66 flash informatique
6
631 JANVIER 2012 - N°1
flash informatique
La balise <video>
Jusqu’à présent il n’était pas possible avec HTML d’afficher une
vidéo sans avoir recours à un plugin tel que Flash. HTML 5 intro-
duit une nouvelle balise <video> réglant ce problème. Il reste ce-
pendant une difficulté de taille: l’encodage. Pour pouvoir publier
une vidéo sur le Web, il faut en effet l’encoder dans un format
spécifique. Il n’existe cependant aucun format supporté par tous
les navigateurs du marché.
Google propose VP8, un format ouvert utilisé par Google Chrome,
Firefox et Opera. Pour des raisons essentiellement commerciales
Internet Explorer et Safari utilisent un autre format, propriétaire
celui-ci, H.264.
Pour s’assurer que tous les navigateurs puissent lire une vidéo il
faut donc obligatoirement l’encoder dans les deux formats. La
balise <video> permet à cet effet de spécifier plusieurs sources
différentes, une pour chaque format. Il est également possible
d’inclure un lecteur Flash afin de supporter les anciens naviga-
teurs. Voici un exemple concret:
<video width="320" height="240"
controls="controls">
<!-- vidéo encodée avec VP8 pour Google Chrome,
Firefox et Opera -->
<source src="/movie.webm" type="video/webm" />
<!-- vidéo encodée avec H.264 pour Safari &
Internet Explorer -->
<source src="/movie.mp4" type="video/mp4" />
<!-- lecteur Flash pour le support des anciens
navigateurs -->
<object data="/movie.swf" type="application/x-
shockwave-flash" width="320" height="240">
</object>
</video>
Les attributs width et height de la balise <video> définissent
respectivement la largeur et la hauteur de la fenêtre affichant le
contenu. L’attribut controls ajoute à la vidéo des boutons de
contrôles tels que Lecture, Pause, Stop, etc.
La balise <audio>
Comme pour la vidéo, il n’était pas possible de jouer de l’audio
sans plugin avant HTML 5. La nouvelle balise <audio> règle le
problème, mais encore une fois, l’encodage pose des difficultés.
Google Chrome, Firefox et Opera utilisent Vorbis, un format
ouvert, alors qu’Internet Explorer et Safari utilisent MP3, un
format propriétaire. Comme pour la vidéo, il est donc nécessaire
d’encoder son audio dans les deux formats et de le préciser à
l’aide de la balise <source>. Exemple:
<audio controls="controls">
<!-- audio encodé avec Vorbis pour Google
Chrome, Firefox et Opera -->
<source src="/song.ogg" type="audio/ogg" />
<!-- audio encodé avec MP3 pour Safari &
Internet Explorer -->
<source src="/song.mp3" type="audio/mpeg" />
<!-- lecteur Flash pour le support des anciens
navigateurs →
<object data="/song.swf" type="application/x-
shockwave-flash">
</object>
</audio>
Les formulaires
HTML 5 améliore nettement les formulaires en proposant plu-
sieurs nouveaux types de champs, parmi les principaux citons:
date Une date, le navigateur affichera un calendrier per-
mettant une sélection facile
number Un numéro, il est possible de définir les valeurs mini-
males et maximales admises avec les attributs min
et max
range Une plage de valeurs numériques
email Une adresse email ou une liste d’adresses email
tel Un numéro de téléphone
color Un code couleur (par exemple #000000 pour le noir)
Exemple:
Date de naissance: <input type="date" />
Email: <input type="email"/>
En connaissant précisément le type de données, le navigateur peut
utiliser des composants graphiques plus adaptés, par exemple un
calendrier pour la sélection d’une date. Autre exemple, l’iPhone
affiche uniquement le clavier numérique pour les champs de type
“number” et “tel”. Les navigateurs récents peuvent également
valider les formulaires, en contrôlant par exemple la syntaxe
d’une adresse email. Les anciens navigateurs traitent les types de
champs qu’ils ne connaissent pas comme étant du texte simple
(type=”text”).
HTML 5 introduit également de nouveaux attributs pour les
champs, notamment:
placeholder Permet de définir une valeur par défaut lorsque
le champ n’a pas encore été rempli, par exemple
Indiquez ici votre email
required Indique que le champ doit être rempli, le navi-
gateur pourra afficher un message d’erreur si ce
n’est pas le cas
pattern Permet de définir une expression régulière à
respecter pour la valeur du champ, par exemple
d{4} pour un code postal suisse (4 chiffres, pas
de lettres)
Exemple:
Code postal: <input type="number" pattern="d{4}"
placeholder="(4 chiffres)" required>
Le cache offline
Avec HTML 5 il est possible de spécifier au navigateur une liste de
ressources (feuille de style CSS, scripts, icônes, etc.) à télécharger
dans le cache afin de rendre les accès ultérieurs au site plus rapide.
Ce mécanisme permet également de rendre le site disponible en
mode offline, ce qui est particulièrement utile pour les applica-
tions mobiles.
La première étape consiste à créer un cache manifest. Il s’agit
simplement d’un petit fichier texte que vous déposerez sur votre
HTML 5, une introduction