HTML est en constante évolution depuis son introduction sur Internet au début des années 1990. Certaines des modifications de ses caractéristiques ont été introduites dans des spécifications, tandis que d'autres ont été apportées avec la sortie de logiciels éditeurs de ce langage.
La dernière spécification de HTML, HTML4, a été publiée en 1999 ; et depuis le W3C s'est tourné vers XHTML. Mais XHTML 2 suscite la controverse, outre le fait qu'il est incompatible avec les précédents standards, on lui reproche son orientation purement document alors que le Web devient 2.0 et a besoin de plus en plus d'applications et utilise des médias variés. De cette opposition naît en 2004 un groupe de travail indépendant soutenu par Apple, Mozilla et Opera, le « WHATWG » qui entreprend la définition d'un successeur au HTML. Le 3 Mars 2007, le W3C annonce qu'il reprend le travail sur HTML pour lui donner un successeur.
HTML 5 définit donc la cinquième révision majeure du langage cœur du World Wide Web avec pour but de remplacer à la fois HTML4 et XHTML, tout en gardant une compatibilité partielle avec eux. Le 22 janvier 2008 est publié le « W3C Working Draft », qui pose les bases de HTML5. Le W3C estime que la recommandation pour ce langage sera disponible pour 2010.
Ce nouveau format ne se veut plus être un simple format de document, mais aussi un support pour les applications Web courantes telles que forum, wiki, recherches, e-mail, etc. et veut faciliter l'interopérabilité. Il a deux formats en un : HTML et XHTML. Il intègre également DOM Level 2. La syntaxe est telle que la page puisse être parsée comme un document XML si elle est conçue pour cela, mais elle conserve des particularités HTML incompatibles, telles que les balises sans contenu qui se terminent par ">" et non pas "/>" (les deux étant reconnus). Les possibilités de HTML 5 incluent également le graphisme et l'image, ce qui permettra de faire des pages animées, des jeux en ligne multi-joueurs, etc.
HTML5 devient incompatible avec les caractéristiques SGML, pour se rapprocher un peu plus de modèle XML, et il est possible d'utiliser deux syntaxes: l'une proche du HTML actuel, l'autre conforme à une syntaxe XML. Le langage subit des modifications au niveau des éléments et des attributs (ajout, suppression, modification), ainsi que des extensions (ajout d'APIs). Il intégrera, on outre, une autre spécification en cours: Web Forms 2.0.
La plupart de ces nouvelles fonctionnalités n'étant pas encore implémentées dans les navigateurs actuels, la description détaillée des ces nouveautés à été mise en annexe. On remarque toutefois l'apparition d'éléments permettant une meilleure structure du document HTML5 tels que canvas (objet sur lequel on peut dessiner/ajouter de nouveaux éléments graphiques), section (section d'un document ou d'une application), header (en-tête d'une section), footer (pied de page d'une section), ou encore dialog (qui permet de baliser une conversation). Il y a également l'apparition des balises audio et video qui fournissent une API permettant de coder sa propre interface utilisateur, la modification de l'élément script qui permettra d'exécuter du code de manière asynchrone, ou encore la disparition des attributs de présentation (align, background, bgcolor, etc.) qui sont mieux pris en charge pas CSS.
L'extension du langage par des APIs est une des innovations majeures de HTML5. En plus du DOM qui est repris dans sa version 2 (dont HTML5 étend l'interface HTMLDocument), des APIs permettant de dessiner en 2D, de faire du drag'n'drop, ou encore d'activer les applications web hors connexion seront ajoutées.
Actuellement, seuls Safari 1.3, Firefox 1.5, Firefox 2 et Opera 9 implémentent quelques unes des spécifications du HTML5, notamment le support 2D de l'élément canvas. Google à développé un module, ExplorerCanvas, qui permet à Internet Explorer de gérer l'élément canvas. Voici la liste des éléments officiellement supportés actuellement :
<canvas> | Konqueror, Safari, Opera, Firefox - un exemple ici |
getElementsByClassName() | Firefox |
<a ping> | Firefox |
Cross-document messaging | Opera |
Audio interface | Opera |
Server-sent DOM events | Opera |
Web Forms 2.0 | Opera - un exemple ici |
Aucun outil particulier n'est nécessaire au développement en HTML5, on peut donc se contenter d'un simple éditeur de texte. Son fonctionnement est le même que ses prédécesseurs, c'est le navigateur web qui interprète les balises HTML et s'occupe de générer le rendu graphique.
I | Attachment | Action | Size | Date | Who | Comment |
---|---|---|---|---|---|---|
![]() |
nouveautees.pdf | manage | 300.1 K | 2008-04-11 - 14:50 | UnknownUser | Le détail des nouveautés de HTML5 |