À quoi sert Flash ?

flash

À force de militer contre Flash, beaucoup pensent que je suis absolument contre cette technologie. Mais ce n’est pas totalement vrai. Je vais expliquer ici ce que je reproche à ce plugin et dans quel cas on devrait ne pas l’utiliser. Évidemment, tout cela n’engage que moi, même si beaucoup partagent le même avis. Pour faire bref, je ne suis pas réfractaire à la technologie, mais simplement à la mauvaise utilisation qu’il en est fait :

Fondamentaux

Le web est constitué de pages HTML diffusées à travers Internet et affichées par un navigateur. Une page HTML est un média texte pouvant être agrémenté d’autres médias structurés sémantiquement pour former un document d’informations consultable par n’importe quel moyen. Ce document contient du texte et des références vers des images, des vidéos, des sons, des applets Java ou Flash… L’important, c’est que le contenu, le fond, l’information de ce document soit dissociée du contenant, de la forme, de son apparence. Ce blog est parfaitement lisible sans navigateur web, son contenu peut être récupéré par un programme pour être transformé et tout ça, même si je change le design ou que je modifie sa structure.

Flash est donc un média contenant des animations vectorielles. Quand on utilisera jpeg pour afficher une image en bitmap, ou mp4 pour afficher une vidéo, on utilisera Flash pour afficher une animation vectorielle. Et comme on n’utilisera jamais mp4 pour afficher une image bitmap ou jpeg pour afficher un son ni même Powerpoint pour diffuser une blague, on n’utilisera Flash que pour afficher une animation vectorielle.

Flash est excellent pour proposer des animations vectorielles qui ne pourraient être proposé avec les autres médias que sont le texte, l’image, la vidéo ou le son. Par contre, il faut que son utilisation s’arrête à ce domaine uniquement. On ne fait pas un site entièrement en Flash, tout comme on ne fait pas un site en images, ni en PDF, ni en DOC…

Applicatif

Au fil de son évolution, le web est devenu de plus en plus applicatif. On a accès à des sites web de services en plus de sites d’informations. Des webapp, applications web, qui permettent d’effectuer le même genre d’action que le feraient des applications de bureau. Parmi celles-ci, on retrouve l’interface d’administration de votre blog, des jeux vidéo, des réseaux sociaux, des outils professionnels… Ces outils-là ne sont pas destinés à être écrits sous forme de pages web. Ils auraient pu être écrit en c++, en java… ou en Flash ! C’est d’ailleurs le cas de nombreuses applications web. Sous cet aspect applicatif où le navigateur doit simplement proposer une interface graphique à l’utilisateur, le choix de la technologie se fera à la discrétion de son éditeur. Choisir HTML permet de toucher un plus grand nombre de clients et d’être sûr de la pérennité du produit sur la durée. Choisir Flash permet d’améliorer l’esthétique de l’interface, de passer outre certaines limitations de sécurité des navigateurs et de ne pas perdre ses cheveux avec Internet Explorer. Choisir un autre IDE et proposer une application native enlèvera encore plus de limites de sécurité, et proposer la plus grande liberté sur l’interface, mais en contrepartie, ne tournera que sur certains OS et sera plus difficile à faire installer par l’utilisateur.

Flash est un bon choix pour de l’applicatif léger et rapide à exécuter. Cependant, il faut être conscient des contraintes que cette technologie apporte et l’équilibrer avec les bénéfices que ne pourraient pas apporter une autre technologie.

Pérennité

Flash est un logiciel propriétaire. Pour écrire une applet Flash, il faut le logiciel Adobe Flash à 839€. Certes, certains logiciels libres, gratuit, ou moins cher, permettent aussi de générer du flash. Mais il faut aussi que soit installé sur le système du client, le plugin Flash. Celui-ci est tout autant fermé et n’est disponible qu’auprès d’Adobe. Et c’est la plus grosse source de problèmes qui vaut en ce moment un énorme dégout de Flash de la part de gros acteurs du secteur tels que Apple, Nokia ou Google. Car pour que le plugin Flash soit disponible pour un OS, il faut qu’Adobe ait décidé que le marché soit rentable et ait demandé à ses équipes de développer une version spécifique du plugin. Si le plugin n’est pas optimisé et gaspille les ressources de la machine, comme c’est le cas pour la version Mac, pas d’autre choix que de pleurer auprès d’Adobe et d’attendre qu’il daigne mettre à jour leur logiciel. Et si on veut une version adaptée à une plateforme précises, comme par exemple sous Linux en 64 bits, toujours la même rengaine. Là où un logiciel libre peut être amélioré, optimisé, modifié, adapté… par n’importe quel développeur indépendant, n’importe quelle société, n’importe quel éditeur de logiciel, pour Flash, on est lié à un seul et unique interlocuteur qui n’arrive pas à suivre la demande.

HTML5, lui, est un standard accepté par un consortium composé de la majorité des sociétés du secteur : le W3C. C’est à dire que n’importe qui est capable de produire un logiciel interprétant de la même façon que les concurrents une page web. Grâce à ce standard, une page web sera affichée de la même façon sur n’importe quel navigateur qui respecte cette norme documentée et disponible à tous. Ainsi, si Nokia décide de créer son propre système d’exploitation pour une nouvelle tablette de sa création, elle pourra elle-même écrire le navigateur qui l’accompagnera. Cependant, elle devra se battre pour qu’Adobe accepte de produire une version pas forcément adaptée de son logiciel Flash. En pratique, Apple a écrit son propre navigateur web : Safari, pendant que la communauté du libre contribue à Firefox pour qu’il tourne sur les dernières versions de Linux. Cependant, Flash n’est pas disponible en version complète sur les mobiles, n’est disponible qu’en version alpha depuis 2 ans sous Linux en 64 bits et la version présentée par Adobe pour iPhone a été jugée trop gourmande en ressources et en autonomie pour être distribuée. Il n’est surement pas disponible non plus sous BeOS, mais c’est juste pour l’exemple 😉

Accessibilité

Quand on utilise un logiciel, on aime quand il fonctionne de la même façon que les autres logiciels qu’on a l’habitude d’utiliser. Quand on peut facilement utiliser la souris ou le clavier pour naviguer, c’est plus confortable et moins frustrant. Moi par exemple, quand j’ai mes mains sur le clavier et que je lis une page web, j’aime pouvoir appuyer sur les flèches haut et bas, ou barre d’espace pour scroller. J’aime aussi passer d’un onglet à un autre en appuyant sur ctrl+tab, d’ailleurs ce tab m’est bien utile pour passer d’un champ à un autre quand je remplis un formulaire, plutôt que de prendre la souris, cliquer dans le premier champ, revenir au clavier, taper du texte, revenir à la souris, cliquer dans le champ suivant etc. Fastidieux et improductif. Et tout cela est propre à votre environnement de travail. Les touches et les raccourcis seront différents si vous êtes sur Mac, Windows ou Linux, mais ils seront adaptés à vos habitudes.

Malheureusement, l’un des gros reproches fait à Flash, c’est qu’on perd cette accessibilité car le plugin prend le focus sur le navigateur. En gros, quand une applet Flash prends le focus (quand vous interagissez avec elle), vous n’êtes plus dans le navigateur mais dans une autre application qui aura sa propre ergonomie, telle que le flasheur l’aura décidée. Et le flasheur, généralement, décide par rapport à son environnement personnel. Combien d’applet Flash gère mal la tabulation par exemple ? Combien ne gèrent pas la molette et empêche donc de scroller ? Ne parlons pas des applets aux dimensions fixes qui vous empêcheront de zoomer le texte si vous avez du mal à lire la police très moche qui aura été choisie. Et pour couper le son ? Si le flasheur n’a pas prévu ça, il vous faudra couper le son global de votre système. Tant pis pour vous si vous étiez en train d’écouter de la musique sur iTunes. Et pour finir, une fois que vous êtes dans une applet Flash, pour en sortir, le clavier vous sera inutile. La seule solution est de cliquer dans la page web avec la souris. Une page web avec du flash est donc définitivement inutilisable sans souris.

Séparation des contenus

La plus grosse bêtise dans l’utilisation de Flash est de confondre contenant et contenu. C’est à dire que le document contient à la fois l’information et les éléments qui vont mettre en page cette information. Là où HTML permet (et exige !) de séparer le contenu (HTML), le contenant (CSS) et le moteur dynamique (Javascript), Flash est un binaire compilé qui contient tout. Si mon blog était en Flash, si je voulais simplement changer la couleur de la police, il faudrait que je recompile l’ensemble du site web et que vous le retéléchargiez en entier. Tandis qu’en html/css, je n’ai qu’a modifier mon fichier CSS, et c’est cet unique fichier qui sera uploadé et que vous téléchargerez. Attention, cette erreur peut se retrouver dans n’importe quel environnement. On a même vu des sites web sous forme d’application iPhone 😉

Flash, c’est bien mais…

Pour conclure, Flash est un très bon outil quand il est utilisé pour ce à quoi il est destiné. Même si la plupart des fois où je croise du flash sur le web, je râle et j’ai envie de vomir, je m’étonne de temps en temps de voir un site utilisant du Flash de façon tellement intelligente et bien intégrée que je les félicite d’avoir choisi cette techno. Quand vous développez pour le web, pensez avant tout à l’utilisateur final. N’oubliez pas que quand vous touchez plusieurs (centaines de) milliers d’utilisateurs différents via le web, ce sont donc des (centaines de) milliers de système/environnement/habitudes/cultures/… différentes que vous touchez en même temps. Approche totalement différente d’un éditeur de MMORPG par exemple qui pourra cibler sa clientèle qui sera composée d’utilisateurs avancés de Windows avec une grosse config.

La meilleure utilisation de Flash, c’est quand on ne s’aperçoit pas qu’il est là. Sur Overblog par exemple, l’upload de fichier utilise une applet Flash pour passer outre une limitation de sécurité des navigateurs qui empêche de connaitre l’état d’avancé d’un upload de fichier. Seul Flash permet d’offrir cette fonctionnalité, mais il faut vraiment chercher pour se rendre compte que c’est du Flash. Deezer est un excellent contre-exemple : ils auraient dû limiter l’utilisation de Flash au simple lecteur audio.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *