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

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

Browser_versions_2011-04

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

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 :

http://playertv-admin-adobe.pad-playertv.brainsonic.com/playertv-src//sources/20110414200320_player_noir.swf

35 commentaires sur “Flash et HTML5 ne sont pas concurrents

  1. L’exemple d’Angry Birds est peut être un contre exemple car il utilise Flash pour toute la partie sonore (grosse lacune au niveau des navigateurs).

  2. Mise au point utile, qui change du “Un site en HTML5 coûte 2 fois plus cher à produire qu’un site en Flash” du remixparis.

  3. peux tu changer la qualité de tes images stp, Les différences de rendu entre les versions des navigateurs et les statistiques des navigateurs sont illisibles.

    Sinon bon article

  4. “Flash est présent sur 99% des ordinateurs, soir un taux de pénétration supérieur à celui de javascript.”

    en même temps, 99% des développeurs utilisent une librairie javascript de type swfobject pour afficher du flash dans leurs pages, alors… :/

    sinon, d’accord dans l’ensemble avec l’article :)

  5. @ Antoine, En fait je crois utiliser un librairie js qui affiche en premier une version dégradée de l’image pour accélérer le chargement puis une version plus propre une fois la page entièrement chargée. Mais là ça n’a pas l’air de bien fonctionner…

  6. Je suis pour ma part defenseur du format flash qui m’a permit simplement de créer exactement les interfaces web intératives, ludiques et esthétiques.

    Si les stats montrent bien la diffusion du player flash… il est vrai que la part grandssante de l’accès au web par les smartphones qui pour la plupart ne supporte pas le flash et le succès de l’ipad et des tablettes font que la question est toujours d’actualité lorsqu’il faut créer un service… est-ce que je vais créer un site qui ne sera pas visible sur les tablettes dernier cri?

    a suivre l’initiative de Adobe qui permet maintenant de créer des applications multiécrans (iOs, android, playbook)

  7. @Michael d’accord avec toi javascript est très bien intégré dans les navigateurs aujourd’hui.

    Je pense vraiment que Flash a du soucis à se faire coté grand public car je ne vois pas trop ce qu’il peut faire que HTML5 ne pourra pas faire: les jeux on a vu avec angrybirds, les bannières citées dans cet article ce n’est pas un problème on peut également faire ça très rapidement en HTML5. C’est vrai qu’aujourd’hui peut de navigateur supporte le HTML 5 mais ce n’est qu’une question de temps.

    Là où Flash a moins de soucis à se faire selon moi c’est plutôt dans le domaine pro. Pas mal d’application sont fait en Flash et là ce n’est plus dans le domaine de l’HTML 5.

    Apparemment Silverlight abandonne de plus en plus le coté grand public pour se concentrer sur l’aspect applicatif pro, je pense que ce n’est pas pour rien.

    Je serai ravis d’en discuter avec ceux que ça intéresse sur twitter par exemple @Michael_Alves

  8. Il me semble qu’il y ai une petite coquille. Le taux de pénétration de Javascript est proche de 100% (voir même de 100%) car tous les navigateurs intègre un moteur JS depuis bien longtemps. A vérifier

  9. Quel sera l’intérêt de Flash quand HTML5 permettra de faire la même chose mais en mieux (meilleur compatibilité sur terminaux mobiles, langage non propriétaire, contenu accessible aux moteurs…) ? Le fait que les sites full flash ou les bannières publicitaires utilisent actuellement cette technologie ne veut pas dire qu’ils sont condamnés à l’utiliser ad vitam aeternam. Le point à améliorer c’est clairement la compatibilité des navigateurs, pour le reste c’est à mon avis l’avenir (Flash RIP).

  10. Très bon article.
    J’ajouterais que l’outillage est primordial, on voit EXT se lancer à fond dans l’animation CSS, et ce que prépare Adobe sur le sujet est également intéressant.

    En tout cas, le parti pris de dire “je développe des technos récentes, à l’internaute de s’adapter” ne date pas d’hier :) Je le trouve très important pour que ces mêmes technos se diffusent largement. La course à la compatibilité parfaite m’a toujours fatigué !

    Et à moyen terme en tout cas, l’avenir de l’un ne dépend pas de l’avenir de l’autre…. enfin à mon avis.

  11. Merci pour cette analyse tempérée.
    Google a lancé il y a deux jours le bêta de son service musical : certains sites disent que Flash est utilisé pour le lecteur audio, d’autres disent que c’est du html5. Savez-vous ce qu’il en est ? Merci.

  12. Juste un point sur les possibilités d’html5 et des possibilités CSS3 concernant les typographies. @font-face était une propriété css2 (recommandation depuis 1998) qui fut abandonnée par les navigateurs dit “modernes” contrairement à Internet Explorer qui l’utilise depuis IE4 (mais le format est .eot)

    @Gilles “Mise au point utile, qui change du « Un site en HTML5 coûte 2 fois plus cher à produire qu’un site en Flash » du remixparis.”

    En quoi un site en html5 ou en html4 serait plus cher à produire ? Html5 c’est jamais plus que “html4 avec une veste”. La seule ressource qui peut devenir cher c’est le concepteur javascript qui fera du canvas (ressource encore relativement rare par rapport à un flasheur).

  13. @ Michael, totalement en accord avec ta remarque. L’inclusion de Flash dans une page Web étant tellement différente d’un navigateur à l’autre que tous les développeurs utilisent swfobject. Donc au final, si le gars n’a pas JavaScript d’activé, aucun Flash ne s’affichera.
    @ Jonathan, les développeurs ont utilisé Flash pour l’audio car tous leurs sons sont encodés en MP3, codec non libre donc non inclus nativement dans Firefox et Opera. Ils doivent remédier à ça prochainement en encodant également en Ogg Vorbis pour utiliser le tag sur tous les navigateurs.

  14. c’ets très bien tout cela… mais cela mériterait des explications réellement complètes:

    si le rendu html5 n est pas parfait, c est aussi parce que html5 n’est pas encore défini en terme de standards (les commentaires sont possibles jusqu’à dimanche 14 mai!)

    flash présent sur 99% des ordinateurs cela reste à démontrer. Adobe n’a jamais réussi… Par ailleurs, beaucoup de PC sont équipés de flash.. et d’extension du type no-flash à la fois. C’ets là toute l’ambiguité..

    flash comme nous le connaissaons aujourd’hui (pour ses fonctionnalités princiaples aux yeux de 99% (je reprends votre chiffre): c’est pour la vidéo, le son et les animations. Avec html5 cela n’aura plus vraiment de raison d’être… Adobe l’a reconnu en expliquant quels seront les développements supplémentaires: des approfondissements (improved features) de html5, du suivi (tracking), etc..

    Bref tout cela pour dire que votre titre est trompeur: html5 et la flash d’aujourd’hui sont bien en concurrence (pour autant qu’une norme puisse l’être avec un produit commercial). Mais demain html5 et le flash de demain devront être complémentaires (comme aujourd’hui html4 / flash d’aujourd’hui).

    Ce n’est pas que de la nuance… mais je sais bien qu’un titre doit aussi attirer l’oeil

  15. Je ne suis pas sur de bien comprendre la phrase suivante :

    “Flash est présent sur 99% des ordinateurs, soir un taux de pénétration supérieur à celui de javascript.”

    Le moteur d’interprétation du javascript est le browser cela voudrait dire qu’il y a des machines où flash est installées mais où l’on a pas de browser ?

    D’autre part, les usages du web ce faisant de plus en plus en mobilité, et la tendance allant vers un dépassement des accès web via mobile comparé au desktop, ne parler que du desktop est très réducteur. L’avantages de HTML5 étant justement de pouvoir produire une interface web commune sur plusieurs plateformes mobiles distinctes est-ce qu’au final une interface HTML5 ne sera pas plus visible qu’une interface Flash très mal supportée et très forte consommatrice de ressources sur ces plateformes ?

  16. Si c’est un article qui compare flash et html5, je ne vois pas ce que vient faire l’argument que Flash est plus présent sur les navigateurs que Javascript.
    De plus, il faut tout de même prendre en compte que flash plante souvent et a des bugs. Avec certaines versions de flash, je ne l’avais pas fonctionnel sur tous mes navigateurs.
    Enfin, en video sur HTML5, il est assez facile de faire des zones interactives comme sous flash. Un peu de CSS et hop le tour est joué :-)

    Par contre, je suis 100% d’accord sur le manque de compatibilité avec IE … Mais on se rapproche du but avec le switch vers chrome/Firefox et IE9 !

  17. Même avis concernant la partie mobile.

    On a beaucoup de projets de sites web mobile, et comme en France on a un micro climat d’hégémonie iPhone (comme on a toujours celui de Google pour la recherche sur internet), développer du flash pour mobile, ce n’est juste pas possible !

    De fait, je constate dans mon travail qu’on abandonne de plus en plus la plateforme Flash au profit de javascript pour les site web.

    Je préfère toutefois toujours Flex à javascript pour des back-office cent fois plus beaux, sexy, ergonomiques, et rapides à développer et facile à maintenir.

    Mais pour que tout s’affiche le mieux possible sur iPhone et Android, apprendre jQuery devient la base !

  18. Merci Étienne pour corriger cet article qui lèche les bottes de Adobe.

Les commentaires sont fermés.