Flash vs. HTML5

Depuis que Steve Jobs a publié ses « pensées sur Flash » en avril 2010, beaucoup de technophiles prédisent régulièrement la mort de Flash. J’abuse moi-même volontiers du hash #flashisdead quand je poste des sites ou démos particulièrement impressionnants en HTML5 sur Twitter.

Mais j’ai beau détester Flash de manière quasi-viscérale, que ce soit en tant que développeur web ou simple utilisateur, je sais bien que Flash n’est pas prêt de mourir. Des gens continueront à faire des sites en Flash, à diffuser des vidéos en Flash et à faire des animations en Flash pendant au moins les 10 prochaines années. Ça ne signifie pas pour autant que Flash va rester techniquement pertinent. Aujourd’hui encore, des gens continuent de faire des sites en tableaux, en frameset, avec des Gifs animés partout. Ce n’est certainement pas parce que c’est un choix techniquement pertinent.

Certaines personnes refusent d’opposer techniquement Flash à HTML5, en affirmant que les 2 sont complémentaires et doivent être utilisés conjointement à bon escient. C’est vrai aujourd’hui, avec le marché actuel des navigateurs et leur prise en charge de toutes les nouveautés de HTML5. Mais si on se projette 3 ans en avant, au rythme actuel, nous serons sur IE12, Chrome 41 et Firefox 34. En étant optimiste, toutes les fonctionnalités de HTML5 et CSS3 seront déjà largement intégrées et parfaitement fonctionnelles dans ces navigateurs. Quand vous devrez faire des animations, vous aurez donc le choix d’utiliser des outils libres (Canvas, SVG, etc…) ou alors Flash. Le choix ne sera plus un choix technique, mais un choix philosophique.

Et je pense que c’est là le gros avantage de HTML5, totalement sous estimé et trop peu abordé dans les débats entre Flasheurs et intégrateurs. Le débat entre Flash et HTML5 n’est pas pas un débat technique.

Il ne s’agit pas de ce qu’il est possible de faire.
Il s’agit de le faire.

Depuis que j’ai commencé à tweeter sur @HTeuMeuLeu en février 2010, je suis le premier étonné chaque jour de l’hyperactivité débordante de la communauté des développeurs web à travers le monde. Récemment, j’ai beaucoup aimé Baroque.me, une animation musicale interactive sur fond de Bach. Tout a été fait en HTML5 et Javascript avec Canvas (avec du Flash pour les navigateurs supportant encore mal les balises audio). Cette animation aurait pu être faite depuis au moins 10 ans avec Flash. Mais je n’avais jamais rien vu de tel auparavant.

La communauté Flash est sympathique, mais reste intrinsèquement liée à Flash et la mentalité d’Adobe. Adobe gagne de l’argent en vendant des logiciels aidant à la création graphique. Avant de pouvoir réaliser la moindre animation Flash, vous devrez vous acquitter de 832€ pour la dernière version de Flash. D’emblée, Flash exclut toute une population de créateurs avec ce barrage payant. Flash incite à facturer à vos clients la technologie plutôt que la création. Flash pousse au code fermé et propriétaire plutôt qu’au code libre.

Avec HTML5, un tout nouveau public découvre les joies et les possibilités de l’animation pour le web. HTML5 est un standard ouvert et gratuit. Avec HTML5, vous facturez à vos clients votre création plutôt que la technologie. Avec HTML5, votre code est constamment visible et accessible aux yeux de tous.

La philosophie de Flash est exclusive; elle pousse à la créativité aux dépends de la technique, à la fermeture et à la lucrativité.

La philosophie de HTML5 est inclusive; elle pousse à la créativité en équilibre avec la technique, à l’ouverture et au libre échange.

Relisez ces deux dernières phrases, et choisissez laquelle corresponds le mieux, selon vous, à la définition du web.

  1. Calvein, le

    Je ne suis pas d’accord avec toi sur un point : « Mais si on se projette 3 ans en avant, au rythme actuel, nous serons sur IE12, Chrome 41 et Firefox 34 ».
    Certes mais on aura toujours un fort pourcentage d’IE8 (IE7 sera occulté, je l’espère), IE9/10 voir 11 et 12 ne supporteront pas le WebGL (Windows est contre, il faudra installer un plugin, comme flash au final).

    Je ne fais pas de flash, j’ai même, il y a quelques mois, refais un slideshow 3D en Flash en HTML5/CSS3 (http://calvein.github.com/CSS-3D-Slideshow/) mais je suis pas un fanboy d’HTML5 ou un hateboy de Flash. Je refuse d’opposer techniquement Flash à HTML5, en affirmant que les 2 sont complémentaires et doivent être utilisés conjointement à bon escient.

  2. Fabien Nicollet, le

    Salut,
    Travaillant quotidiennement sur des techos Adobe (flash/flex), j’ai aussi un avis un peu biaisé sur le sujet mais l’article ne me parait pas vrai à 100%.
    Il n’est pas forcement necessaire d’acheter Flash Pro pour créer du contenu Flash. D’autres logiciels, dont des gratuits comme FDT ou FlashDevelop permettent de générer des SWF (dont les specs sont ouvertes). Le problème vient plutôt du format FLA qui lui est lié à Flash Pro. Ce format s’est imposé comme format d’échange, notamment pour sa simplicité d’échange.
    Il existe aussi des IDE gratuits et payants pour éditer du contenu HTML mais aucun ne s’est vraiment imposé, le html étant non compilé, il n’y a pas de contraintes.
    Adobe vend des logiciels, de bonne qualité, c’est son business et a imposé un format de facto. Cela existe dans d’autres domaines, dans la cartographie par exemple, ESRI a imposé son format comme une référence. On pourrait en dire de même avec le PSD.
    Après, je ne vais pas me lancer sur le côté « libre » de HTML, cela deviendrait rapidement un mauvais troll :)

    Fabien

  3. PinGoo, le

    Le gros problème que pose ce débat ‘Flash vs HTML5’, c’est que les clients demandent des rendus identiques en production. Ils veulent des animations jQuery (HTML5 arrive peut à peut dans les cahiers des charges) IDENTIQUENT à ce que l’on pourrait avoir avec Flash. Et là c’est le drame car :

    1 – Ça rame sur les machines pas très performante (alors que ça tournait bien avec flash player)
    2 – Demander de réaliser une animation équivalente à une existante en Flash en utilisant cette fois jQuery/HTML5/CSS3 à un inté et là c’est le drame.

    Pour moi c’est simple : On ne peut pas comparer ces deux technos. Il faut essayer de faire comprendre aux clients leurs différences (alors que nous même nous ne les connaissons pas toutes…)

  4. Pierre Girault, le

    Sur le fond, je suis assez d’accord. Mais je pense qu’en pratique, oui, les 2 vont coexister encore longtemps (d’ailleurs, il y a un fichier SWF dans le site Baroque.me ;-) j’espère juste que la part d’usage s’inversera…

  5. Gabriel C, le

    Une phrase de ton propos me reste en tête : « En étant optimiste ».

  6. yoy, le

    Hello,

    Ayant commencé avec flash, moi aussi mon point de vue peut être un peu biaisé…

    Le discours « regardé dans 3ans… » pour moi ne tiens que si tu essaie aussi d’imaginé ce que flash sera dans 3 ans… c’est d’ailleurs l’essence même de cette différence : l’un et fermé, son évolution est imposé par l’éditeur, donc plus rapide. L’autre est ouvert, les gens qui décident de son évolution sont plus nombreux et les décision découlent de longues discussion. L’un tente des choses et l’autres a plutôt tendance à les choisir les bonnes

    Ensuite concernant le fait que Flash pousse au coté fermé… ça n’engage que toi, c’es je pense, un raccourci facile, alors en théorie, je comprends, mais dans la pratique je suis moins d’accord avec cela, y’a qu’a voir la communauté et le nombre de projets open source…

    pour moi, html5 ou flash, sont justes deux technologies, des outils et je n’y met pas plus d’affect que cela. C’est, à mon avis pour ça, que les gens ne voient ces technos comme concurrentes.

    Lionel

  7. Pauland, le

    Je suis assez content et surpris de voir que finalement tu es conscient que Flash (qu’on l’aime ou qu’on l’aime pas) est là et qui faut malheureusement faire avec.

    Flash à permis de faire beaucoup beaucoup de choses qui n’étaient pas possible de faire avant. Car oui, si flash est si populaire aujourd’hui, ce n’est pas parce que c’est bien, mais parce que c’est resté longtemps l’une des rares possibilités d’avoir du contenu riche.

    Personnellement, je souhaite effectivement que HTML5 le remplace complètement, car c’est une solution qui sera native aux navigateurs, ouverte, et standardisée.

    J’aimerai aussi dire: « Ok ce projet on le fait en full HTML5 », mais ce n’est pas très réaliste, même aujourd’hui, et ce pour plusieurs raisons:

    – le manque d’outils vraiment complets et bien fini pour html5/css3/JS (en un seul IDE et pas 3 IDE différents). Adobe, même s’il est très/trop cher, offre des solutions tout en 1.

    – un gros manque de compatibilité navigateurs (oui oui… c’est blasant et frustrant, mais il y a en encore bcp de Mme Michu sur IE7 / FF3)

    – un manque de performances, flash et html5 ont des perfs assez identique (pourtant flash est critiqué pour ce problème.. pas le HTML5…)

    Je dirai donc que hier, html5 était inutile comparé à flash, aujourd’hui, il est complémentaire, et demain, il le remplacera complètement.
    Pas de bol, on vit dans le présent…
    « Il ne s’agit pas de faire que ce l’on aimerait faire, mais faire ce que l’on peut faire.. »

    Sinon, plus personnellement entre nous, une autre question me vient
    Pour ou contre le libre finalement ? quand c’est android/iphone, tu es contre, quand c’est html5/flash, tu es pour… Je te comprends plus là. (>> ouais bon oké, je t’ai jamais vraiment compris d’ailleurs :D ;) )

  8. StopTheMadness, le

    All plugins should die… and soon enough they will be relegated to niche development.

  9. yoy, le

    Je suis toujours étonné de voir ce genre de remarque sur les plugins. D’un coté on prône l’ouverture, la liberté du web et de l’autre on utilise un discours extrémiste interdisant tout ce qui n’est pas standard… WTF!!

  10. polpaulin, le

    pour ceux qui repondent sans savoir en pretextant la non compatibilite des navigateurs anciens , c’est un faux probleme, une simple ligne en javascript suffit a faire reconnaitre a IE6 ou 7 les balises HTML5
    pour le reste il faut coder de 2 manieres , il est aberrant de croire qu’il faut attendre 10 ans, ca fait 2 ou 3 ans que je code en HTML5 et CSS3

    et il n’y a rien qu’on ne puisse faire en HTML5 et SVG sans flash

    et en plus je deteste le flash

  11. polpaulin, le

    vous confondez flash et les outils de adobe pour faire du flash , grosse confusion

    si un outil aussi performant sort pour faire du HTML5 personne en dehors de la lecture du code source pourra faire la difference

  12. yop, le

    Le plus beau compliment que l’on puisse faire a un integriste w3c c’est « bravo, on dirai du Flash ». ahah ironique n’est ce pas ?
    Ce que j’aime avec la techno flash c’est qu’elle met les creatifs sur le devant de la scene, pas besoin de se prendre la tete avec les limites et les differences entre les navigateurs, on se concentre sur l’essentiel.

    Flash n’est pas là par hasard, il repond a un besoin, c’est pour cela qu’il a un public et des fans :)