Paris Web vu par un étudiant (6/12)
Pour finir la journée de Jeudi en beauté, la conférence que tout le monde attendait, futur du HTML, ou en est-on ? exposée par Daniel Glazman. Inutile de préciser que cette présentation était tout bonnement excellente, et, qui plus est, vivante.

Alors, tout d’abord, Daniel Glazman a commencé par un historique et une analyse de la situation actuelle. Le constat est le suivant : HTML 4 est sorti en 1998 et son pseudo-remplaçant, XHTML 1.0 en 2000. Depuis, plus rien. Plus rien dans le sens ou XHTML 1.1 est quasi mort-née et XHTML 2.0 est ce que Daniel Glazman appelle le dead duck (quand on coupe le <head>, le <body> bouge encore).
Devant l’attente des développeurs, un groupe de travail, le WHAT WG (ou WTF pour What The Fucking) s’est formé autour de Mozilla, Opéra et Apple en 2004. Ce groupe de travail ouvert, spécifie depuis la nouvelle version de HTML, à savoir HTML 5. De son côté, devant le harcèlement des développeurs, le W3C s’est lui aussi mis au travail pour la conception à partir d’Octobre 2006.
HTML 5 doit répondre à de nombreux problèmes et attentes. Tout d’abord son rôle sera d’harmoniser le rendu entre les différents navigateurs. Pour cela il embarque notamment son propre Document Object Model (DOM pour les intimes) qui permettra d’uniformiser le code généré par les navigateurs.
Autre évolution de taille, HTML5 met le SGML aux oubliettes et conserve un parseur entièrement basé sur le XML (à l’image des différentes révisions de XHTML). Ensuite, la gestion des erreurs est implémentée dans les spécifications de HTML 5. Une bonne chose à première vue, mais cela pose plusieurs questions sur lesquelles je reviendrai plus tard.
Enfin, le groupe de travail est entièrement ouvert, et nous verrons que là aussi ce n’est pas forcément un bien.
Bon venons en à ce que tout le monde attendait (et ce que vous attendez surement), les nouvelles balises ! Aujourd’hui 23 nouvelles balises sont de la partie. Afin de mieux les identifier, Daniel Glazman les a réparties en 3 catégories.
La première catégorie contient 8 balises, que l’on pourrait qualifier comme balises de structure (de la page), les voici:
- <article>: Il s’agira de blocs de contenu indépendants
- <aside>: Elle permettra de baliser un contenu en relation avec le contenu principal
- <dialog>: Il s’agit juste d’un élément
- un peu spécialisé
- <figure>: Une balise intéressante comprenant un objet externe (par exemple une image) et sa légende
- <footer>: Pour le pied de page bien sur
- <header>: Comme
- <nav>: Et oui, fini les <div class=”nav”>, enfin une balise pour la navigation
- <section>: Un bloc avec un titre et du contenu
La seconde catégorie regroupe 7 balises que l’on pourrait identifier comme des balises de médias:
- <audio>: Bientôt tout les sites pourront polluer votre environnement sonore !
- <embed>: La balise made in Microsoft enfin dans la spécification officielle
- <m>: Permet de mettre en valeur un élément, une balise inutile à jeter d’après Daniel Glazman
- <meter>: Permet de créer des gauge, à première vue un élément génialissime, malheureusement la spécification est très farfelue (il serait possible de spécifier des chose comme 10% mais aussi un contenu textuel éventuellement impossible à parser comme “carotte”
- <source>: Spécifie plusieurs source pour un élément externe (très utile pour préciser la source d’une vidéo selon le débit ou les codecs par exemple)
- <time>: Une spécification de 8 pages pour une simple balise permettant d’afficher une date
- <video>: Et oui !!!
Enfin dernière catégorie est un bazar de balises inclassables :
- <canvas>: Bientôt des bitmap en HTML
- <command>: Drôle de balise, élément de base des éléments de type UI
- <datagrid>: une balise permettant de faire des arbres et autres listes hiérarchiques (déroulantes) en HTML !
- <details>: Permet de spécifier des éléments supplémentaires
- <datalist>: Un nouvel élément de formulaire (peu de détails dessus)
- <event-source>: Permet de cibler des événements distants (là aussi un peu flou)
- <output>: La quintessence de l’incompréhensibles (ne m’en demandez pas plus)
- <progress>: Une progressbar en HTML mais là aussi la spécification reste très étrange
D’autres nouveautés, tout aussi sympathiques vont faire leur apparition avec HTML 5. On aura notamment des inputs intelligents, capables de vérifier la saisie à la volée. Les attributs class, dir, lang et title s’appliqueront désormais à toutes les balises. contenteditable, designMode, contextmenu, draggable, tabindex rentrent enfin dans la spécification. Enfin, il sera possible de préciser des styles scopés, mais un exemple vaut mieux qu’un long discours :
1 2 3 4 5 6 7 8 | <section>
<style scoped="true">
p { color : grey; }
</style>
<h4>Mon titre</h4>
<p>Le texte</p>
</section>
<p>Un autre texte</p> |
Dans cet exemple, seul le premier paragraphe, dans la balise
Bon, passons maintenant aux problèmes, car des problèmes, il y en a. A commencer par la spécification complètement illisible, d’ou ma première question, était-il indispensable d’ajouter la gestion des erreurs dans celle-ci, si ce n’est pour l’alourdir ? Ensuite, second problème, et de taille, celui des copyright. En effet, à l’heure ou Daniel Glazman nous a présenté HTML 5 (et depuis rien à changé), la spécification n’est pas estampillée W3C mais Apple Computer, Inc., Mozilla Foundation, et Opera Software ASA, de plus celle-ci n’a qu’un seul auteur (!!!).
Microsoft ne fait pas parti du WHAT WG ; j’en vois beaucoup jubiler derrière leurs écrans, mais on ne peut pas le nier, Microsoft reste le roi incontesté des OS grands publics et son absence dans le groupe de travail est un vrai problème.
De plus, le WHAT WG part dans tous les sens, du fait qu’il soit ouvert, de nombreux jeunes fanatiques rendent l’écriture de la spécification très compliquée et les conflits avec le W3C sont permanents. Enfin, et c’est là que ça fait mal, HTML 5 n’est pas prévu avant 2010 (sick) !
HTML 5 apporte également, en plus de ces problèmes, son lot de bizarreries et autres plaisirs. A commencer par un attribut irrevelant bien étrange et un attribut disabled pour les balises link et style bien util. Les éditeurs WYSIWYG devront impérativement inclure une balise meta précisant celui-ci dans le header, on se demande bien pourquoi.
La gestion des sessions sera simplifié avec des éléments session et offline (peu de précisions dessus). Il sera possible de créer des templates (absolument délicieux). Un undo manager est désormais implémenter (!). SVG n’est toujours pas pris en charge. Et, le meilleur (ou plutôt, le pire) pour la fin : la prise en compte de l’accessibilité par HTML 5 est minable !
Alors que dire. Tout d’abord merci Daniel, pour cette superbe présentation. Ensuite, il faut bien l’avouer certaines nouveautés de HTML 5 sont délicieuses et d’autres vraiment très étranges. Ma crainte principale et sur la sortie de cette nouvelle version. 2010, c’est tard, très tard (trop tard ?), et d’ici là, la spécification ne sera-t-elle pas déjà dépassée ?
Je crains qu’à cause de l’immobilisme du W3C durant près de 10 ans, les solutions propriétaires (à commencer par celles d’Adobe) n’est enterré HTML 5 qui ne fera que rattraper son retard. Voilà, toujours est-il que les possibilités semblent être immenses et tout bonnement géniales, il ne nous reste plus qu’à patienter en suivant tout ça de près (très près pour ma part).

Commentaires
25 novembre
Gaets86
Sympa, merci pour les infos.
Laisser un commentaire