Nouveau standard internet

HTML5: engouement marketing ou révolution?

| Mise à jour
par Sascha Corti/Microsoft Suisse

HTML5 est aujourd’hui synonyme de technologie moderne sur internet. Avec le risque que le terme soit galvaudé et associé à un engouement marketing passager, aux dépens de la technologie révolutionnaire sous-jacente. Qu’est-ce qui se cache derrière la façade de HTML5?

L'auteur, Sascha P. Corti, travaille en tant que Developer & Platform Evangelist chez Microsoft Suisse.
L'auteur, Sascha P. Corti, travaille en tant que Developer & Platform Evangelist chez Microsoft Suisse.

Si l’on jette un coup d’œil aux spécifications HTML5 du World Wide Web Consortium (W3C), on est confronté à 1100 pages de description sur les tags HTML et XHTML recommandés ainsi qu’aux API correspondantes. Tout ce que comprend aujourd’hui la notion «HTML5» repose sur des douzaines de ces spécifications élaborées par différents groupes de travail du W3C dans les domaines HTML, CSS, applications web/API, SVG ou géolocalisation ainsi que sur ECMA Script 262 du consortium ECMA. Bon nombre de ces spécifications n’en sont encore aujourd’hui qu’au stade d'ébauche. C’est le cas de la spécification HTML5, qui, après conclusion du stade de working draft, est passée en phase last call en mai 2011. Une étape importante, car le dernier appel est le moment où aucune autre fonctionnalité n’est ajoutée, où la spécification est stabilisée et les erreurs éliminées. 
Selon un communiqué de presse du W3C du mois de février dernier, le stade finalisé recommandation HTML5 ne sera atteint qu’en 2014.

Quelles sont les nouveautés?

Bon nombre des nouvelles balises définies dans HTML5 sont minimes et ne seront d’emblée probablement pas perceptibles pour l'utilisateur.  Dans le navigateur, un «<div id=“navigation“>» classique avec le formatage correspondant par CSS est similaire à un nouvel élément «HTML5-<nav>». Et c’est normal. Mais si l’on considère le web sémantique, de multiples nouveaux éléments HTML5 permettent d’organiser plus clairement les contenus et améliorent sensiblement la lisibilité des pages web pour les machines, à l’instar du screen- reader pour les malvoyants ou des services d’agrégation qui recherchent les pages en fonction de la pertinence de l’information.
D’autres balises comme <video>, <audio> ou <canvas> sont en revanche plus marquantes. Elles permettent d’insérer directement des contenus multimédias dans les pages web et de réaliser des applications interactives et animées sans passer par des plug-in comme Flash, Silverlight ou Quicktime. Un grand progrès à une époque où une partie de la consommation sur la toile migre de l'ordinateur vers des terminaux mobiles comme les tablettes ou les smartphones, sur lesquels ces technologies plug-in ne sont guère supportées.

La formule magique: «Same Markup»

Presque tous les éditeurs de navigateurs web sont conscients de l'importance des nouveaux standards et les supportent dans les versions actuelles de leurs logiciels de navigation. Il s’avère toutefois problématique que bon nombre de spécifications ne définissent pas clairement la façon exacte dont un élément doit être représenté. Ce qui laisse une marge de manœuvre indésirable et peut conduire à ce que la présentation d'une page web varie avec les différents navigateurs, bien que ces derniers interprètent tous «correctement» les balises. Un effet indésirable, aussi bien pour les développeurs que pour les consommateurs, qui pourraient, dans le pire des cas, voir renaître les badges «Best viewed in Browser X (Version Y)».
En outre, bon nombre de technologies labellisées HTML5 connaissent, aujourd’hui encore, de profondes mutations. Il faut ainsi s’attendre à ce que les spécifications qui n’ont pas atteint le stade last call subissent encore des modifications significatives, voire, dans le cas extrême, disparaissent complètement. Malgré tout, il existe déjà à ce jour des navigateurs implémentant des spécifications dès les premiers stades, comme par exemple Web Sockets (possibilité de communiquer via un protocole binaire avec le backend), Index-DB (base de donnée clients simple) ou Web Workers (processus asynchrones côté client). Des implémentations utiles à des fins de test, mais qui peuvent conduire à ce que des pages web misant trop tôt sur les nouvelles spécifications occasionnent d’énormes dépenses pour maintenir leur compatibilité avec des spécifications changeantes.
Toutefois, aussi longtemps que d’anciennes versions de navigateurs seront encore en usage, les pages web ne pourront pas miser exclusivement sur ces nouveaux standards et devront déterminer pour chaque nouvel élément si le navigateur actuel les supporte (via la fonction feature detection) et offrir une alternative (variante fallback). Heureusement, il existe des assistants comme, par exemple, Modernizr, une librairie Javascript qui, liée à un site web, offre une grande partie de cette compatibilité et, souvent, les alternatives fallback nécessaires.

L’ère de l’éternel navigateur bêta?

De la sorte, les fabricants de navigateurs sont contraints de lancer constamment de nouvelles versions de leurs navigateurs sur le marché afin de suivre les modifications de spécifications – une version bêta permanente en quelque sorte. Un phénomène certes utile pour le particulier, mais qui rend le déploiement d’un nouveau navigateur pratiquement impossible au niveau de l’entreprise. Pour quelle version bêta devrait-on en effet opter? Sans compter le problème des tests de compatibilité du navigateur avec les applications internes qui peuvent prendre des mois.
Dans un monde parfait, où tous les navigateurs présenteraient tous les contenus web de manière correcte et identique, il serait bien égal à l'internaute d'utiliser tel ou tel navigateur. Pour les éditeurs de navigateurs se pose naturellement la question de leur démarcation de la concurrence et de comment persuader les utilisateurs d'opter pour leur navigateur, incontestablement le «meilleur» de tous.
Initialement, la différenciation reposait sur l’interface utilisateur du navigateur (Browser User Interface), qu’il fallait rendre aussi pompeuse possible, avec son lot d’extensions, barres d’outils et autres add-on. Une tendance qui a conduit à des navigateurs longs à démarrer et occupant une part de l’espace bien trop importante pour leur propre interface utilisateur, au détriment de l’affichage des pages web. Heureusement, les nouveaux navigateurs ont plutôt tendance à proposer une interface utilisateur minimaliste, dans laquelle le contenu web se trouve autant que possible au premier plan – un mouvement initié par Goole Chrome et appliqué aujourd'hui par tous les éditeurs.
La vitesse et la sécurité constituent également depuis toujours des critères de différenciation: certains navigateurs offrent aujourd’hui des moteurs Javascript à haute performance et l’affichage de contenus de pages web accéléré au niveau du matériel. Un aspect important, sans lequel moult nouveautés de HTML5, à l’instar de <canvas> et <video>, mais aussi des transformations CSS-2D (et bientôt 3D) et des animations ne seraient pas implémentables.
Il existe également d’autres différenciations innovantes comme la navigation par onglet et la synchronisation des marques-pages de Firefox, Googles Chrome Web Store ou la fonctionnalité «Pinned Site» sur Internet Explorer 9, qui permet, avec un minimum de tags <meta>, d’ancrer des pages web et des applications avec des menus de contexte dans la barre de tâches de Windows 7 et d’adapter l’apparence du navigateur au design du site web.

Solution plug-in ou HTML5?

HTML5 annonce-t-il le déclin des technologies plug-in? En aucun cas. Dans certains domaines, le temps est venu de remplacer les plug-in. Ainsi, on peut aujourd’hui attendre d’un navigateur web qu’il reproduise des contenus multimédia sans que l'utilisateur ne doive installer un plug-in. Dans le cas cité précédemment des smartphones et des tablettes, la migration vers  HTML5 est inéluctable dès lors qu’ils ne supportent pas de plug-in.
Toutefois, le développement d’applications web de nouvelle génération (Rich Internet Applications) d’une part, pouvant télécharger dynamiquement des données du serveur, les sauvegarder en mémoire tampon et réagir de manière interactive aux groupes d’utilisateurs et le développement de Javascript d’autre part, constituant le langage de programmation également utilisé en HTML5, sont à la fois longs et coûteux. Dans ces cas, les technologies plug-in gagneront en importance à l'avenir. Avec leur capacités croissantes dans des domaines comme l’impression, l’accès aux fonctions et périphériques proches du système, l’offline-caching, l’accès aux données dans une architecture multi-couches ou les puissants contrôles DataGrid, elles ont même le potentiel de supplanter de nombreuses applications traditionnelles (fat client), vu qu’elles sont multi-plateformes, ne requièrent aucune installation et sont beaucoup plus efficaces en termes de gestion.
Celui qui souhaite néanmoins construire des pages HTML5 riches a actuellement à sa disposition certaines bibliothèques Javascript, lui permettant de simplifier des scénarios standard. On peut à cet égard mentionner jQuery, une bibliothèque facilitant la recherche d’éléments de code, le traitement d’évènements et les animations, et la bibliothèque Easel.js, qui offre des concepts de programmation come Sprite ou Sparkles.

HTLM5: la solution à tous les problèmes sur le marché hétérogène des smartphones?

Les développeurs d’applications destinées aux smartphones souffrent aujourd’hui de l’hétérogénéité des plateformes. Pour offrir sa solution sur iOS, Android, Blackberry et Windows Phone 7, le programmeur doit la réécrire pour chacune des plateformes. HTML5, qui possède par exemple une API de géolocalisation, se prête particulièrement à l’utilisation en tant que plateforme d'applications mobile multiplateforme. Néanmoins ce sont aujourd’hui surtout des apps qui sont installées sur les terminaux mobiles. D’une part, certainement parce que l’app se trouve plus facilement via App Store ou Marketplace, mais aussi sûrement parce que l'expérience utilisateur de l'app est souvent meilleure que celle d'une solution HTML5. On pense en particulier au démarrage rapide, aux frameworks optimisés pour les interfaces tactiles et à l’interaction directe offerts par une solution locale.
Il est intéressant de noter que l’on voit apparaître les premiers frameworks permettant de générer automatiquement des apps sur différentes plateformes mobiles à partir de solutions HTML5. Ces solutions sont cependant pour l’heure relativement plus lentes que leurs pendants applicatifs.

L’internet du futur

Il faudra encore un certain temps avant que HTML5 ne devienne un standard établi, et encore bien plus longtemps avant que l’on puisse partir du principe que le navigateur web avec lequel l'utilisateur moyen surfe sur internet est compatible avec HTML5.
On ne peut toutefois que recommander à tous les développeurs de se pencher dès aujourd'hui sur HTML5 et d'évaluer quelles pourraient être les composantes intéressantes pour leurs projets. HTML5 sera incontestablement le socle de l’internet du futur.
Néanmoins, faire à court ou à moyen terme de HTML5 le fossoyeur de toutes les technologies plug-in ou des plateformes applicatives pour smartphones et tablettes, participe plus d’un d’engouement marketing que d’une vision réaliste de la situation actuelle.

 

Kommentare

« Plus