Introduction au HTML 5
Le HTML 5 est la prochaine version importante du HTML. Bien qu’étant en compétition avec le XHTML 2, le HTML 5 fait davantage parler de lui parce qu’étant plus facilement implémentable et plus pragmatique dans l’utilisation des nouvelles balises qu’il introduit.
Quoi de neuf chez les balises ?
J’avais déjà parlé du HTML 5 l’an dernier, en parlant notamment des balises visant à structurer le contenu. Mais l’intérêt du HTML 5 se trouve surtout dans ces balises qui vont grandement faciliter la création d’applications web.
- <canvas>
Une balise dans laquelle on peut dessiner avec du JS. A priori on peut faire beaucoup plus avec.
Exemples : dessiner, labyrinthe ou encore mieux : Bespin par Mozilla, un éditeur de code utilisant canvas et JS - <video>
La vidéo est aujourd’hui implémentée sur le web grâce à différents plugins (Silverlight, Quicktime, WMP et surtout Flash). Pourquoi ne pas utiliser une simple balise <video> ?
Exemples : YouTube et Dailymotion font déjà des tests avec cette balise <video>, et Mozilla en parle. - Geolocation
La géolocalisation grâce à l’API de l’HTML 5.
Exemple : Where Am I géolocalise en utilisant Google Maps (il faut Firefox Beta). - App Cache
Ca permet de sauvegarder des informations en local, pour travailler offline notamment.
Exemple : des Post-It accessibles offline (il faut Safari Beta). - Workers
Un outil qui permet de mieux gérer la surcharge de JavaScript. En gros, plus de problème de ralentissement à cause d’un JS trop gourmand.
Exemple : 2 scripts qui calculent le plus grand nombre premier. Le premier fait crasher le navigateur (j’ai testé…), alors que l’autre y arrive très bien.
Tous les exemples proviennent de la Google Keynote.
Qui s’y intéresse ?

Google, le plus grand acteur chez les applications web, mise gros sur le HTML 5. Au départ, Google ne croyait pas que les applications web pouvaient rivaliser avec les applications de bureau. Mais avec le grand succès de Google Maps, leur état d’esprit a changé. Comme le dit le VP of Engineering Vic Gundotra :
We knew then that the web had won. What was once thought impossible is now commonplace.
La sortie de Google Chrome est un signe important. Le principal atout de ce navigateur est sa rapidité, grâce à son moteur JS très performant. Et en voyant les applications web utiliser massivement du JS, ce n’est pas un hasard.
Il y a aussi la sortie récente des Google Web Elements qui introduit l’idée de widgets exportables où l’on veut. Avec le HTML 5, ceci risque d’être encore plus simple.
La version Chrome d’Android supportera aussi le HTML 5.
Et puis, YouTube y porte aussi un certain intérêt.
Mozilla

Mozilla est le plus actif pour implémenter les nouveautés HTML 5 dans Firefox, suivi de près par Safari et Opera, si l’on considère cette liste d’implémentation du HTML 5 dans chaque navigateur.
La vidéo en HTML 5 par Dailymotion ne fonctionne que sous Firefox Beta. On peut ajouter un skin autour, mettre la vidéo en flou, ajouter un “edge effect” par dessus… Ca rame sur mon netbook mais c’est sympa.
Avec le sortie de JetPack, on peut imaginer un bel avenir pour le combo JS + HTML 5.
Palm

Michael Abbot, le Senior Vice President de Palm, en charge des applications et des services, mise aussi sur le HTML 5 sur le WebOS de Palm :
You as a developer don’t need to leave your prior knowledge at the door to develop for the phone.
Pour faire des applis iPhone, il faut s’y connaître en Objective-C. Pour faire des applis Palm, il faudra s’y connaître en HTML 5 et JS. Je ne sais pas à quel point ça pourra rivaliser en termes de qualité d’applications, mais je veux bien voir.
Apple
![]()
Je viens de voir sur la Worldwide Developers Conference 2009 que Safari Mobile supportait le HTML 5. C’est pas un détail anodin. Après le succès des app iPhone, celui des app web mobiles sur iPhone ?
Les développeurs web ?
Je ne suis pas développeur web mais j’imagine que je pourrais m’y intéresser si les possibilités sont importantes tout en gardant des technologies simples d’accès et performantes. Un avis de développeur JS sur la question ?
Comment implémenter du HTML 5 aujourd’hui
Ok, c’est bien beau toutes ces nouvelles balises, mais je fais comment pour l’utiliser aujourd’hui ?
Applications Web : oui mais…
Pour les balises axées “applications web” (canvas, geolocation, video, appcache…), quelques navigateurs en version beta offrent la possiblité d’utiliser ces nouvelles balises. Avec du JS, c’est déjà possible d’en tirer profit.
Structure : OK
En ce qui concerne les balises de “structure” (header, section, article…), il est d’ores et déjà possible de les utiliser. En fait, si les navigateurs ne comprennent pas forcément ces balises “inconnues” mais ne renvoient pas d’erreur. C’est juste que ces balises ne sont pas stylées et qu’elles sont considérées comme “inline”. Un display:block fait l’affaire.
Pour IE6, il faut rajouter un script pour que le style s’applique à ces nouvelles balises.
- <script>
- document.createElement(‘header’);
- document.createElement(‘footer’);
- document.createElement(’section’);
- document.createElement(‘aside’);
- document.createElement(‘nav’);
- document.createElement(‘article’);
- </script>
La concurrence : Flash, XHTML 2 et… Windows ?
Je pense que le HTML 5 va surtout concurrencer les plugins de navigateur, et notamment Flash/Silverlight. En fait, l’intérêt de ces deux derniers est avant tout de palier à un manque, surtout au niveau de la gestion du multimédia dans le web (la vidéo en premier). Le HTML 5 peut sans doute gérer ça de manière plus légère, plus sémantique et plus accessible. C’est plutôt le combo HTML 5 + JS qui sera intéressant.
En parallèle du développement du HTML 5, il y aussi celui du XHTML 2. Actuellement, je mets toutes mes Doctype en XHTML 1.0 Strict, parce que j’ai peu de problème de compatibilité avec (Quirks Mode sous IE6 notamment). Après, j’ai pas trop suivi l’avancée du XHTML 2. Peut-être qu’on arrivera à “merger” les deux à un moment donné ?
Enfin, est-ce que le HTML 5 peut rivaliser avec Windows (et plus généralement les OS) ? Haha, ça a l’air très marrant comme supposition, mais certains y croient vraiment. Depuis des années, Google se positionne sur ça : faire du web l’outil de travail principal.
Google Docs + Chrome + Calendar + Notebook + Picasa + Mail + Talk = Web Desktop ?
Le problème des applis web par rapport aux applis de bureau sont principalement :
- la rapidité d’exécution
- les fonctionnalités
- la nécessité d’être connecté pour travailler
Le HTML 5 va aider à résoudre le 3ème point, avec la possiblité de sauvegarder des informations en local (voir AppCache plus haut).
Pour le 2nd point, j’utilise rarement les fonctionnalités avancées de Word, et sur ce point, Google Docs me sufflit largement.
Pour le 1er point, un outil aussi basique qu’un tableur ou qu’un traitement de texte nécessite relativement peu de ressources.
Etant très souvent connecté, j’utilise uniquement Google Docs et plus du tout Microsoft Word/Excel. Avec le HTML 5, j’aurais sans doute même plus besoin d’être connecté.
J’imagine un OS qui sera uniquement un navigateur web. Peut-être pour la Crunchpad ?
Conclusion
Le HTML 5 est résolument axé “application web”. Couplé avec du JS, les résultats sont très intéressants. Ca me fait penser à du Jetpack pour un site (et non pas un navigateur). Il est surtout intéressant pour les développeurs du web de s’y pencher plutôt qu’un web designer comme moi. Parce qu’au final, les balises de structure (header, section…), ça facilite légèrement l’intégration et ça ajoute de la sémantique mais c’est pas révolutionnaire, alors que la video/audio, la géo localisation, le appcache… ont énormément de potentiel.
Le problème actuel est qu’il faut encore attendre 2010 avant de profiter vraiment du HTML 5. Mais en réalité, les développeurs n’attendent pas. Comme le dit Dave Clark :
The technology is here even if the standards committees haven’t caught up
We reject: kings, presidents, and voting. We believe in: rough consensus and running code.
Le mot d’ordre serait donc d’être pragmatique. Ne pas attendre les standards mais s’amuser à utiliser ce qu’on peut déjà utiliser pour avoir de l’avance et faire avancer la standardisation justement.
Le plus gros acteur du web, Google, s’y intéresse. Il y a donc forcément du potentiel dans le HTML 5…
Par rapport au problème de la rapidité d’exécution, bientôt la plupart des foyés seront équipés de fibre optique alors ça devrait le faire ^^
A mon avis pour la rapidité d’exec il s’agit de la vitesse d’execution de Javascript par rapport a du C++ / C# / Java (je met volontairement pas flash, qui est lent aussi).
Le runtime genre V8 améliore un peu le truc mais on est quand même loin des langages compilés. Les IDE genre Eclipse, Netbeans, VS etc. c’est déjà assez lourd comme ça sans en ajouter une couche.
Ca poserais aussi pas mal de prob d’ergonomie.
Exemple, je veux mettre une image dans mon texte sous mon word-like, je fais un glisser / déposer, ah ben non ça marche pas, faut up l’image d’abord…
(Les applets Java permettent de faire ça, mais faut passer par un certificat pour faire sortir le bouzin de sa sandbox, et ça c’est chiant).
Et sur le plan économique, bonjours le gouffre. Faut pas se leurrer les éditeur de solutions totalements online vont facturer un abonnement au mois ou un truc du genre. Chacun va aussi créer son propre format de stockage, comme ça une fois engagé plus possible de se casser.
Et sur le plan de la fiabilité… le cloud computing c’est bien, mais de tant en temps ça crach, et la c’est TOUS les clients de la solution qui sont coincés (C’est arrivé a salesforce l’année derniere).
Là j’ai surtout parlé technique en effet. Pour la commercialisation, c’est le même problème que les web app actuelles. Regarde Basecamp, c’est un abonnement en effet. Je trouve ça pas trop mal, parce que côté client le prix passe mieux en $29/mois qu’un gros $1299 d’un coup.
Niveau fiabilité, j’ai pas suivi l’histoire de salesforce mais faut être mauvais pour planter tout le bouzin sachant que tout le monde a le même. Les mauvais développeurs y en a pour le desktop, y en a pour le web (bon ok, surtout pour le web).
Au moins, t’es sûr qu’une web app, si elle foire, toute la boîte va se bouger le cul pour la remettre en route. Une desktop app, faut que t’attendes la prochaine maj tranquillement…
Je suis content quand Gmail foire de savoir que le monde entier a le même problème que moi.
Alors que lorsque mon Photoshop plante, j’ai plus qu’à tabasser mon ordi.
tu parles de HTML5… et de IE.
je penses que là il va falloir sérieusement penser à mettre un ENORME warning du genre “désolé mais ce site n’est pas dispo pour IE6″.
je pense que c’est ce que je vais faire sur mes prochains projets perso (et bloquer totalement l’accès au site pour ce navigateur).
Faut être mauvais ? Pas forcement, plus t’as de machines à maintenir, et plus c’est compliqué. Si tout les app se mettent à fonctionner en ligne il va falloir avoir des fermes de serveurs.
Quand ton photoshop plante, ça n’emmerde que toi. Ça freeze pas toute la boite en attendant que quelqu’un, dans une autre boite sur laquelle tu ne contrôle rien, trouve ce qui merde.
[...] C’est en fait la concurrence Flash vs HTML/Ajax (et bientôt HTML 5). [...]
Ch’ais pas si c’est moi, mais je trouve pas mal de choses incorrectes ou sans rapport. Par exemple:
Le W3C qui travaillait sur XHTML2 a rejoint HTML5 il y a … au moins un an. Non?
Que peuvent bien tester Dailymotion et Youtube? Ils n’ont qu’une balise à changer. C’est aux navigateurs de gérer ça.
À par une carte, quel rapport entre la géolocalisation et Where Am I? C’est pas Google qui va gérer ça dans les navigateurs, sinon je vois déjà les concurrents râler!
Pour Dailymotion et YouTube, ça peut impliquer d’autres choses. Peut-être qu’avoir un player Flash est plus lourd à entretenir qu’un lecteur intégré au navigateur. Pour l’encodage des vidéos, il y a d’autres formats à envisager. Et niveau intéraction avec le reste de la page, il y a beaucoup de possibilités.
Le problème c’est que ces deux sites sont mainstream, mais pas le HTML 5.
Et pour Where Am I, c’est l’application qui te géocalise, pas Google Maps. Là en l’occurence, l’appli fait appel à GMaps a posteriori. Elle peut faire autre chose avec tes infos de géolocalisation.
Le Mainstream? un courant de jazz?
OK pour le format des vidéos et la localisation. C’est même dommage pour les vidéos, le Flash étant tellement répandu.
Mainstream = littéralement “courant dominant” = “grand public”
[...] A vrai dire, pas grand chose car c’est dans la logique des choses. Depuis quelques mois, le HTML 5 n’arrête pas de faire parler de lui. Les navigateurs commencent à bien l’implémenter (Safari 4, Opera et le tout récent Firefox 3.5). Et il a un gros potentiel. Pour en savoir plus, vous pouvez lire ma petite introduction au HTML 5. [...]
[...] A cette question, le site bbxdesign.com répond de manière plutôt pragmatique : “ça dépend” : http://bbxdesign.com/2009/06/08/introduction-au-html-5/ [...]
[...] qui se lance? Apple, Mozilla, Google et quelques autres sont déjà dans la course! Categories: HTML, XHTML Tags: Commentaires (0) Trackbacks [...]
Just wanted to tell you all know how much I appreciate your postings guys.
Found you though google!
[...] compléter avec Introduction au HTML 5 paru chez bbxdesign qui apporte des précisions sur l’adoption des specs par les acteurs du [...]
Le site HTML5Doctor utilise déjà les éléments de structure. Voir cet exemple d’application de l’élément footer : http://html5doctor.com/the-footer-element/ mais aussi comment sont structurés les commentaires de cette page.
[...] http://bbxdesign.com/2009/06/08/introduction-au-html-5 This entry was posted in HTML & CSS, Intégration web, Javascript & PHP, Navigateurs and tagged DOM, Firefox2, HTML5, IE6, IE7, Javascript, Namespace. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL. « Optimiser le linkbaiting pour votre site web [...]
[...] http://bbxdesign.com/2009/06/08/introduction-au-html-5/ [...]
[...] http://bbxdesign.com/2009/06/08/introduction-au-html-5 [...]