Html5 et Flash… de l’usage de la bonne technologie

publié 22 février 2012 par dans la catégorie STJOHN'S LAB

Ou comprendre la problématique du choix de technologie entre html5 et flash…
Autant vous dire que l’article est consistant, et mérite que l’on se pose 5 minutes pour en parler !

C’est d’ailleurs un article qui me tient à cœur depuis longtemps, maintes fois repoussé pourtant, tant il est difficile de l’aborder en étant clair.. et concis !
Je prendrai d’ailleurs quelques raccourcis, certains détails techniques n’étant pas utiles à la compréhension générale.

Commençons par le commencement.

C’est quoi l’HTML5 :

Au sens strict du terme, c’est la nouvelle itération du langage HTML, succédant à l’HTML4 et à l’XHTML1.
Ce langage, poussé par le W3C (consortium régissant les technologies du web), n’est pas encore aujourd’hui un véritable standard, l’organisme prévoyant la finalisation de l’HTML5 à horizon 2014 (au mieux).

Mais le terme HTML5 est aujourd’hui d’avantage utilisé comme représentant tout un ensemble de technologies standardisées pour le web : HTML5, CSS3, SVG, Javascript.
Le terme de « nouveauté » souvent associé à cet ensemble est d’ailleurs à nuancer, SVG (graphisme vectoriel) et Javascript (langage de programmation) sont des technos âgées de plusieurs années.

L’HTML5 en tant que tel est une évolution plus que bienvenue.
Il va permettre :
- de gérer plus efficacement la structure et le contenu des pages web
- faciliter le SEO
- garantir une certaine capacité d’évolution
- offrir de nouvelles possibilités de gestion des médias (vidéo et audio).
- et bien d’autres choses (microformats, bases de données locales, …)

De même, CSS3 améliore de son côté les possibilités graphiques avec les dégradés, ombres portées, polices de caractères importées, fonds multiples, mais là encore, la liste complète serait très longue.

Ces deux technologies, à la base du web, vont tout simplement permettre de réaliser des sites internet mieux conçus et plus jolis.
L’autre grande évolution, ce sont les possibilités offertes avec la démocratisation du SVG.
Il est désormais possible, grâce à son association avec les autres technologies web, de créer des animations interactives plus ou moins poussées, voir aller jusqu’à de véritables jeux en ligne.

Toutes ces nouvelles possibilités, associées à l’inimité de certains, le lobbying d’autres, et l’absence du player flash sur un très célèbre device, ont généré ce débat désormais célèbre : HTML5 contre Flash.

Il est vrai, et c’est d’ailleurs une bonne nouvelle, qu’HTML5 et les technologies l’accompagnant vont pouvoir se substituer à Flash dans certains usages… Cette transition s’était même entamée déjà avant, dès la démocratisation de JQuery qui permet depuis plusieurs années de faire de petites animations d’excellente qualité sans Flash.
Le phénomène va juste prendre d’avantage d’ampleur, poussé il est vrai par l’absence de Flash sur iOS.

Mais au fait…

C’est quoi flash :

Au sens strict du terme, c’est un plugin pour navigateur permettant de lire des animations ‘compilées’.
La dernière version du player, la 11, introduit notamment comme nouveautés :
- d’utiliser de la 3D avec un rendu bluffant en termes de qualité et de performance.
- de lire des vidéo HD sans surcharger le système, et d’intégrer même de l’interactivité par-dessus.

Mais, comme pour l’HTML5, ça n’est pas si simple, car Flash est aussi souvent utilisé pour faire référence à toute la ‘FlashPlatform’, soit un ensemble de technologies dont notamment :
- le player web
- le langage de programmation ActionScript3
- Flex, framework utilisant Flash, dédié aux applications métiers
- AIR, permettant de publier des applications hors navigateur pour Windows, Mac, Android…
- le compilateur iOS, permettant de générer des applications natives pour iPhone et iPad
Sans oublier tous les logiciels de la suite Adobe permettant de travailler sur ces technologies.

Autant dire que l’écosystème Flash est aussi vaste que celui d’HTML5, mais aussi très différent.
D’ailleurs, pendant qu’HTML5 s’impose peu à peu sur le web, on a tendance à oublier que Flash aussi évolue, et surtout voit sa zone d’utilisation se déplacer.

Car ce que l’HTML5 va lui prendre, Flash va le récupérer ailleurs :
- jeux vidéos 3D avancés
- vidéos HD interactives
- widgets PC et Mac
- social gaming / serious gaming
- et surtout applications smartphones.
Ce sont des domaines ou HTML5 est beaucoup moins adapté pour le moment, et beaucoup moins légitime.

Bien sûr, Flash reste propriétaire, là ou d’autres ne voudraient que du standard, mais c’est aussi ça qui lui permet d’évoluer si vite.. et d’ouvrir la voie. Après tout, l’HTML5 ne serait peut-être pas ce qu’il est si Flash n’avait pas défriché tant d’usages sur le web.
Reste l’absence du player sur certaines tablettes et smartphones diront certains.
Ainsi, le jeu (ou l’animation) conçu pour le navigateur n’y fonctionnera pas.

Mais est-ce un mal ? Après tout, un jeu calibré pour la souris et le clavier ne sera que très rarement adapté pour une utilisation tactile. Alors qu’avec Flash, vous pourrez utiliser la base de votre jeu navigateur pour en faire une appli vraiment adaptée aux autres devices, et ce pour un temps de développement moindre. Et c’est bien là la nouvelle force de Flash…
L’HTML5 doit être privilégié pour le multi-écran web, Flash peut être privilégié pour le multi-écran en application.

Flash n’est donc pas mort, il a simplement changé ; cédant la place à l’html sur son pré carré d’antan, pour aller conquérir d’autres usages encore en friche aujourd’hui.

Est-ce pour autant un plaidoyer pour Flash.
Surement pas, cette technologie doit être réservée à des usages particuliers, et les standards que sont HTML5 et consort pour le reste.

Comme beaucoup de développeurs Flash, je suis très attaché à l’AS3 – le langage de programmation et à ses environnements de développement, parce que j’estime que c’est un langage très efficace et vraiment bien fichu.
Mais comme beaucoup de développeurs aussi, je considère que le choix de la technologie doit se faire après la définition du projet, et surement pas avant en tant que posture.

Cessons donc d’encenser une techno sur une autre, et cherchons plutôt à utiliser celle qui sera la plus adaptée au projet.