Adopter une nouvelle version d’un langage est toujours un effort. Effort plus ou moins justifié par les nouvelles fonctionnalités offertes. HTML5 définit un ensemble de fonctionnalités très attendues.
Sémantique
HTML5 propose un ensemble de nouveaux tags qui permettent une structuration sémantique des contenus : nav, header, footer, section, article, aside. Chacun des nouveau tags définis permet d’indiquer dans le code le rôle / sens du contenu à l’intérieur du document.
Un des avantages évidents de cette évolution est l’amélioration considérable des possibilités d’analyse d’un document par une machine. Les crawlers des moteurs de recherche seront en mesure de mieux comprendre le contenu des documents.
Lire un aperçu de ces nouveaux éléments sur Alsacréation.
HTML5 défini un ensemble de nouvelles valeurs pour l’attribut rel d’un lien (link ou a). Cette attribut vise à décrire la nature de la relation entre la page source et la page cible du lien. En savoir plus sur l’attribut rel, ou une définition plus concise de l’attribut rel sur w3schools. Nouveaux attributs rel proposés sur whatwg.
Stockage sur le poste client
Local storage (Stockage local) ou session storage, permet de stocker des informations sur le poste de l’utilisateur.
Une API Web SQL Database permet la manipulation d’une base de données locale stockée sur le poste du client.
Interactions
Le drag and drop (glisser déposer) est spécifié dans HTML5 et permet une mise en place simple.
Multimedia
Les nouveau tags audio et vidéo permettent l’intégration de contenus audio / vidéo sans passer par des plugins spécifiques (lecteur flash ou Quicktime par exemple). Reste un problème important d’homogénéité du support des différents codecs par les navigateurs. Une démonstration de vidéo qui explose réalisée à partir des tags video et canvas.
L’API Canvas fourni au développeur les outils pour dessiner en 2D et 3D dans le navigateur et interagir avec l’image.
Communication
Les Worker threads permettent l’exécutions de tâches de fonds en javascript pendant (récupérer des données avec XML HTTP Request – Ajax par exemple). L’exécution des Worker threads est conçue pour que les tâches qu’ils exécutent ne viennent pas bloquer le fonctionnement de l’application. Un article sur l’utilisation des Worker threads sur mozilla.org.
Les notifications constituent un moyen d’envoyer un message depuis le serveur vers le client.
Les web sockets offrent la possibilité d’établir une communication bi-directionnelle entre le client et le serveur. Dans une situation telle que l’affichage d’un graphique qui doit être mis à jour en temps réel, l’utilisation des web sockets constitue une alternative intéressante aux rechargements de page. Lire un article sur les web sockets. Un exemple d’utilisation des web sockets (non testé – anglais).
L’API de géolocalisation permet de récupérer la position géographique de l’Internaute. Il existe différentes manière de déterminer la position d’un internaute : adresse IP, connexion à un antenne du réseau téléphonique sans fil, position par rapport à un satellite (GPS ou autre), etc. En fonction de la technologie disponible sur la plateforme de l’internaute la position déterminée sera plus ou moins précise.
Formulaires
Un ensemble de nouveaux types de contrôles de formulaire permettront (dès qu’ils seront pris en charge par les navigateurs) de créer des formulaires plus riches en utilisant les fonctionnalités natives du navigateur. Lire la présentation de ces nouveaux contrôles de formulaires.
Une prise en charge partielle
HTML5 est actuellement à l’état de work in progress ce qui signifie 2 choses :
- il n’est que partiellement supporté par un nombre limité de navigateurs
- les spécifications peuvent changer avant leur publication définitive
En attendant un support large de ces nouvelles fonctionnalités, des solutions de fallback sont nécessaires.
Pour vous faire une idée de la prise en charge des fonctionnalités HTML5 dans les différents navigateurs, démos HTML5.
Aperçu des possibilités
- Vidéo de démonstration des nombreuses possibilités de HTML5 sur Google IO, à partir de Chromabrush une application de dessin développée en HTML5 pour l’occasion.
- Démonstration vidéo des nouvelles fonctionnalités HTML5 sur whatwg.org.
En conclusion, pourquoi il faut passer à HTML5
HTML5 fourni un ensemble de fonctionnalités de marquage sémantique utiles pour l’interopérabilité et applicable en particulier au référencement.
HTML5 selon un certain nombre d’intervenants (cf. vidéo Google ci-dessus) promet de combler le fossé entre les applications web et desktop.
HTML5 rend obsolètes un certain nombre de plugins et librairies (lecteurs vidéo, composants d’interface javascript, etc.). HTML5 rattrape le retard pris par le standard par rapport aux besoins actuels.
Il est indispensable de passer à HTML5 maintenant pour ses possibilités nombreuses et intéressantes. Utiliser HTML5 maintenant favorisera une adoption large et rapide du standard par les éditeurs de navigateurs.