Ce midi j’étais invité sur le plateau d’Adobe Live (dans le cadre de la Creative Week) à m’exprimer sur Flash vs. HTML5. Le moins que l’on puisse dire, c’est que le sujet est encore d’actualité (lire à ce sujet mon article publié en début d’année dernière : Pourquoi HTML5 et Flash ne peuvent être comparés), ou plutôt que la confusion règne encore entre ce qu’HTML5 est censé apporter et ce que Flash permet de faire en complément. il faut dire que la dispute entre Adobe et Apple l’année dernière n’a rien fait pour éclaircir ce débat plutôt technique.
Je profite donc de l’occasion pour apporter quelques éléments de réponse :
- Flash est un complément d’HTML, les sites “Full Flash” sont en fait des modules Flash encapsulés dans des pages HTML ;
- Une très grosse partie des bannières publicitaires utilisent Flash, pas de Flash = pas de revenus publicitaires = pas de contenus gratuits ;
- Depuis près de 12 ans qu’il existe, Flash est devenu un standard de facto ;
- Les spécifications d’HTML n’ont pas évolué en 10 ans, les intégrateurs ont donc compensé ce déficit d’innovation par une utilisation accrue de Flash ;
- Même si l’on peut diffuser de la vidéo via des lecteurs HTML5, les lecteurs vidéos en Flash ou Silverlight sont beaucoup plus performants (adaptive streaming, incrustation de zones interactives, manipulations…) ;
- Flash est présent sur 99% des ordinateurs, soir un taux de pénétration supérieur à celui de javascript.
C’est très certainement ce dernier point qui peut mettre tout le monde d’accord : le marché n’est pas encore prêt pour un déploiement massif d’HTML5 car les navigateurs d’ancienne génération sont encore majoritaires (Internet Explorer représente encore 48% de parts de marché). La société Periscopic a ainsi publié récemment une très belle infographie sur le sujet : Our Research into Flash and HTML5: Which One is Right For Your Project?. Les statistiques parlent d’elles-mêmes :
Ces chiffres sont confirmés par d’autres sources comme Stat Counter :
Ceci étant dit, ce n’est pas parce qu’un navigateur ne supporte pas HTML5 qu’il ne peut pas afficher une page en HTML5. Il existe ainsi des librairies javascript pour adapter le code à la volée et proposer un rendu acceptable. “Acceptable” veut dire que vote page HTML5 va s’afficher avec quelques petits défauts de mise en page et sans les possibilités de CSS3 (typo spécifiques, coins arrondis, transparence, transitions…). Afficher une page HTML5 dans un navigateur n’est donc pas un problème technique, par contre, cela peut provoquer des désagréments que les internautes peuvent mal interpréter. J’ai ainsi récemment fait les choix de refondre tous mes blogs en HTML5 / CSS3 et j’ai reçu de nombreux messages de lecteurs me disant “Votre site ne s’affiche pas bien“. Si, mes sites s’affichent très bien dans des navigateurs modernes, à eux de faire la mise à jour !
HTML5 et CSS3 offrent ainsi de nombreuses possibilités pour remplacer Flash par du code standard (HTML 5 + CSS 3 = une révolution pour les interfaces web), mais il faudra avant cela régler le problème de fragmentation des navigateurs : Les navigateurs modernes n’utilisent pas le même moteur graphique et génèrent des différences en terme de rendu. L’étude de Periscopic également ce problème de compatibilité :
Donc au final : Adopter HTML5 revient donc à faire un pari sur l’avenir car le rendu des différents navigateurs n’est pas encore stabilisé et car il y a encore de nombreux conflits de standardisation (WebGL, H.264…). Mais de toute façon, personne ne vous force à choisir entre HTML4, HTML5 et Flash. Vous pouvez ainsi réaliser un site en HTML5 intégrant la contrainte de dégradation élégante et proposant des modules enrichis en Flash s’ils sont pertinents.
N’allez pas penser que je suis partisan d’un camp ou l’autre : Je crois aussi bien en l’avenir et l’utilité de Flash qu’au potentiel d’HTML5 (qui j’utilise inconditionnellement pour mes blogs). Je suis surtout intimement persuadé que Flash et HTML5 ne sont pas concurrents et qu’ils vont continuer à se compléter. Vous pourrez donc profiter d’Angry Birds en HTML5 et Civilization World en Flash.
MàJ (06/06/2011) : La vidéo de la table ronde est ici :
–
angry birds utilise webgl ….pour moi ce n’est pas vraiment du html5, c’est pas comme si c’était la balise canvas ….
@ JourDePluie > 100% des navigateurs intègrent un moteur javascript, mais 10% des utilisateurs le désactive (pour une raison qui m’échappe).
@ Guillaume Roussel > Il a fallu 10 ans au W3C pour passer de HTML4 à HTML5. Il en faudra au minimum 5 de plus pour passer à HTML6, pendant ce temps Flash va continuer à évoluer et prouver son intérêt aussi bien pour le grand public que pour les pros.
@ jonathanulco > Pareil, je ne sais pas qui a dit qu’un site en HTML5 coute deux fois plus cher, mais c’est une belle ânerie. Pour avoir avoir mis en oeuvre de l’HTML5 sur mes blogs, je peux vous garantir que le surcoût est négligeable (une librairie js à rajouter pour assurer la rétro-compatibilité et qq tests en plus).
@ Guillaume > Très juste, un titre comme “Pourquoi opposer Flash et HTML5 est un non-sens” aurait été mieux approprié. Ceci étant dit, la généralisation des navigateurs modernes va permettre de recoder en HTML5 ce qui était injustement fait en Flash (transitions, typo personnalisées, lecteur vidéo basique…). De ce point de vue là, HTML va récupérer des parts de marché qu’il n’aurait pas du perdre.
@ Etienne Delagrave > “La grande majorité des mobiles ne supporte pas Flash”, heu… pas tout à fait car Android le supporte parfaitement et que les autres OS y travaillent d’arrache-pied pour pouvoir opposer cet argument à Apple (l’irréductible).
@ Yvan > Tout à fait, Angry Birds utilise WebGL et Flash, nous sommes donc loin d’un jeu en HTML5.
On est d’accord sur le principe que l’avénement du HTML5 ne va pas détruire Flash. Par contre, je ne suis pas tout a fait d’accord avec l’idée HTML5 et Flash ne sont pas concurrents.
HTML5 permet de réaliser des choses qui n’étaient jusqu’alors que faisable en Flash. C’est une solution différente donc concurrente qui a ses avantages (moins de consommation du ressources, adapté pour les mobiles…). Mais en Flash on a un meilleur taux de pénétration sur le marché et d’avantages de possibilité d’utiliser pleinement la puissance du terminal.
Les deux solutions sont complémentaires certes, mais concurrentes sur de nombreux points.
99 %, comme déjà dit par d’autres est un chiffre, si tant est qu’il soit réel, cache misère.
– Flash peut être désactivé (tout comme javascript)
– Sous Mac, linux et selon les navigateurs, Flash est une horreur car provoque des plantages, est capable de faire tourner à 100% un cpu (pas mal pour un petit plugin comme celui ci)
– enfin et toujours au sujet de ces 99% tellement vendeurs, quelle proportions selon les différentes versions installées, et donc des possibilités (on retrouve le même problème que html4 vs html5) ? Dans de nombreuses entreprises, la mise à jour des navigateurs ne se fait que très lentement (on observe encore du IE6, demandez à la RATP, et j’ai vu de grosses structures ne basculer vers IE7 que l’année dernière. Nul doute que les plugin ne sont eux aussi pas à jour, alors flash, oui mais si c’est en version 5…
Ce chiffre n’est que de la poudre aux yeux pour vendre un produit.
@fred
Pour le javascript, sa désactivation trouve sa justification pour diverses raisons parmi lesquelles la question de l’accessibilité (désactivation volontaire ou due aux outils utilisés), sécurité (en entreprise ou en mode “parano”), lecture en mode texte uniquement etc. On arrive ainsi à un pourcentage non négligeable. (je n’ai pas de chiffres / études sur le pourcentage de chaque mais ce sont des choses que j’ai pu parfois observer, tout comme la désactivation de Flash.
Après on peut aussi relancer une discussion sur les gros défaut de Flash (accessibilité, référencement, lourdeur) mais il faudrait un autre article, un peu plus réaliste sur les apports de cette techno propriétaire qui va à l’encontre de bien des fondements du web, lesquels sont ceux qui font justement tourner la baraque et sans lesquels Flash n’existerait pas (ou alors peut être au sein du MSN que voulait Microsoft au départ…)
Hello,
C’est moi qui ait dit à ReMix qu’un site coutait environ 2 fois plus cher à produire en HTML5 qu’en Flash à rendu équivalent. C’est suite à une discussion que j’ai eu avec Adrien Leygues qui a d’ailleurs publié un article sur ce sujet : http://www.bootleygues.net/index.php?post/2011/05/25/Le-couts-des-sites-web-HTML5-vers-Flash
Cela me parait important de le préciser car il ne faut pas juste opposer les 2 approches de manière technique mais également en terme de coût dans les prises de décisions.
Bye,
David Rousset
@ Olivier > Au risque de me répéter, Flash est la technologie qui propulse les bannières publicitaires qui ont financées le développement du web tel que nous le connaissons. si vous faite le procès de Flash qui va à l’encontre des fondements du web, il vous faut aussi ajouter au banc des accusés Facebook, Google, Apple… bref tous les acteurs qui font le web.
@yvan Alors il existe peut être une version en WebGL, mais en tout cas http://chrome.angrybirds.com/ marche sur ma version de Safari 5.0.5 qui n’a pas le WebGL activé ;) (gwt inside, canvas on est bien dans HTML 5 ;) ) même le son ne semble pas nécessité de flash sur mon navigateur : http://chrome.angrybirds.com/angrybirds112/audio/Blocks/Ice_Blocks/Ice_Collision_7.mp3
Bon article.
Je me pose la question quand je fais un site en fullflash aujourd’hui de savoir si ce n’est pas caduque à terme et s’il ne vaut pas mieux s’orienter vers les nouvelles spécifications. Sans aller jusqu’au HTML5, il est possible de créer de belles interfaces animées avec CSS3 que les navigateurs intègrent de plus en plus.
Il reste du chemin à faire cela dit.