Flash et HTML5 ne sont pas concurrents

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 :

flash_html5_ios-2393143 Taux de pénétration des différentes technologies

Ces chiffres sont confirmés par d’autres sources comme Stat Counter :

browser_versions_2011-04-1079342 Parts de marché des navigateurs

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é :

browser_feature-3893586 Les différences de rendu entre les versions des navigateurs

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 :

Voir les 35 commentaires