Player FLASH en Javascript

le 14/01/2010 à 21:30
Player FLASH en Javascript
Le titre peut surprendre, mais cela fonctionne...

Tobias Schneider a réalisé un script javascript pour lire les fichiers FLASH (SWF).Pour se faire, il utilise  javascript, le langage HTML 5 et propose l'application sous licence MIT.

Actuellement ce nouveau player fonctionne avec les dernières versions des navigateurs comme Firefox, Chrome et Safari. et permet aussi de visualiser les fichiers Flash sur les téléphones 3G.

Il propose 3 démos qui montrent les possibilités de son player expérimental.

- Player FLASH en Javascript

A lire également

Las, Adobe vient d'annoncer par la voix de Mike Chambers, son responsable des relations développeurs concernant Flash, la fin des efforts visant à permettre la mise au point d'applications iPhone depuis ses propres outils. L'option qui permet d'exporter vers iPhone OS un développement réalisé sous Flash CS5 est conservée, mais elle ne fera plus l'objet d'efforts particuliers de la part de l'éditeur.

Guerre d'usure

Flash et l'iPhone, c'est une histoire qui traine en longueur. Dès 2008, Adobe fait part de son intention de proposer une déclinaison iPhone de son environnement d'exécution Flash, qui présente pour les développeurs l'intérêt de pouvoir s'affranchir des contraintes liées à chacun des systèmes d'exploitation mobiles présents sur le marché.

Immédiatement, Apple fait savoir qu'il est hors de question d'accueillir Flash sur iPhone et Steve Jobs lui-même prend la parole pour dénigrer cette technologie, pourtant réclamée à corps et à cris par une partie des utilisateurs d'iPhone. Selon lui, la version standard de l'environnement d'exécution d'Adobe est trop lourde pour fonctionner sur un téléphone. La version mobile de Flash serait quant à elle trop pauvre sur le plan fonctionnel pour apporter une quelconque valeur ajoutée à l'iPhone.

Conscient que sur ce point, il serait difficile d'obtenir gain de cause, Adobe finit par changer son fusil d'épaule et annonce, fin 2009, que l'outil de développement Flash intégré à la Creative Suite 5 permettra la compilation d'applications conçues à l'aide de Flash en vue d'une exécution sur iPhone OS. La solution est élégante : elle autorise en effet les développeurs à partir de Flash pour leurs développements, en partant du principe qu'ils toucheraient ainsi l'iPhone, mais aussi d'autres plateformes mobiles, l'univers des PC ou le Web "fixe".

Nouveau rebondissement en forme de coup de Jarnac début avril, trois jours avant que n'arrive sur le marché la Creative Suite 5, avec la modification du contrat de licence associé au programme de création de logiciels destinés à l'App Store. "Les applications ne pourront utiliser que les interface de programmation, en accord avec les prescriptions formulées par Apple, et ne devront pas utiliser ou faire appel à une quelconque interface de programmation privée", indique la clause 3.3.1 du nouveau contrat de licence, dotée d'une ultime mention sans équivoque : "les applications liées aux interfaces de programmation documentées par l'intermédiaire d'un portage, ou d'un outil ou d'une couche de compatibilité, sont prohibées".

Apple 1 - Adobe 0 ?

Par cette modification, Apple interdit explicitement aux applications qui auraient été conçues à partir de Flash le chemin de l'App Store. Pour Adobe, qui n'est d'ailleurs pas seul concerné, c'en est trop. « Nous allons conserver la possibilité de cibler l'iPhone et l'iPad avec Flash CS 5. Cependant, nous n'investirons plus, pour l'instant, dans le développement de cette fonctionnalité », explique Mike Chambers, ajoutant ce conseil quelque peu désabusé adressé aux développeurs : « Si vous voulez développer pour l'iPhone, vous devez être préparé à un rejet ou une restriction de la part d'Apple à tout moment, et apparemment sans raison tangible ».

En dépit de parts de marché moindres, les faveurs d'Adobe iront maintenant à Android, indique encore Chambers. L'éditeur dit à ce sujet collaborer avec Google pour que soient bientôt proposés sur Android des versions dédiées de Flash Player 10.1 et de l'Adobe Integrated Runtime (AIR) 2.0.

Apple, mauvais cheval ? « Certains prennent le problème à l'envers », a défendu mardi Trudy Muller, porte-parole d'Apple. « Le HTML 5, les CSS, JavaScript et le H.264, qui tous sont pris en charge par l'iPhone et l'iPad, sont ouverts et se posent comme des standards, tandis que le Flash d'Adobe est fermé et propriétaire ».

Reste à voir si à vouloir conserver un riche environnement d'applicatifs exclusifs à sa plateforme mobile, Apple ne risque pas de se couper d'une partie de la population des développeurs, qui verraient sans doute d'un bon oeil la possibilité de pouvoir facilement mutualiser leurs productions. C'est peut-être dans leur camp que se situe la balle.
En matière de technologies web, le déploiement progressif du HTML 5 a donné naissance à d'innombrables débats et notamment en ce qui concerne la pertinence des technologies existantes telles que Flash d'Adobe ou Silverlight de Microsoft. C'est ainsi qu'en parlant du prochain Internet Explorer 9, qui prendra en charge les spécificités du HTML5, Tristan Nitot, président de Mozilla Europe, expliquait au mois de mars : "Microsoft a tout intérêt à miser sur cette technologie et à abandonner complètement Silverlight ; je croise les doigts".

Il faut dire que le HTML 5, lorsqu'il sera véritablement implémenté par l'ensemble des navigateurs, présentera plusieurs nouvelles possibilités qui redonneront véritablement un coup de jeune au HTML. De leur côté les technologies d'Adobe et de Microsoft présentent plusieurs inconvénients. D'une part qu'il s'agisse de Flash Player, d'Adobe AIR ou de Silverlight, dans tous les cas, l'utilisateur devra installer un composant tiers. Certes, le plugin Flash player est très répandu à l'heure actuelle (près de 98% des machines) seulement les choses en vont autrement pour Adobe AIR et Silverlight (environ 500 millions d'installations).

Faut-il pour autant sacraliser le HTML 5 et dénigrer les plateformes Flash et Silverlight ? Les produits d'Adobe ou de Microsoft seront-ils vite obsolètes ? Clubic s'est penché sur la question et s'est entretenu avec Thibault Imbert et Frédéric Massy, respectivement consultant avant-vente Créa Pro Web et directeur marketing chez Adobe ainsi que Bernard Ourghanlian, directeur technique et sécurité chez Microsoft France.

L'état du marché

Pour l'heure, la part de marché des navigateurs compatibles avec le HTML5 reste relativement faible. Selon les dernières statistiques de StatsCounter, Firefox atteindrait 30% de part de marché, Chrome frôle les 8%, Safari dépasse les 4% et Opera stagne aux alentours de 1,8%. Il est bon d'ajouter que si le lecteur Flash est bien implémenté sur l'ensemble du marché, pour l'instant l'implémentation du HTML5 reste hétérogène au sein des différents moteurs de rendu de chacun des logiciels ; la chose étant d'autant plus vrai pour le CSS3. Lors d'une conférence organisée par le W3C le mercredi 7 avril 2010, Philippe Le Hégaret, chargé du groupe W3C Architecture Domain expliquait qu'il faudrait entre 5 et 7 ans pour que le HTML5 soit véritablement répandu et que les parts de marché d'Internet Explorer 6, 7 et 8 deviennent minimes.

Alors finalement, étant donné l'état actuel des choses, le débat a-t-il véritablement lieu d'être ?

Frédéric Massy : On voit fleurir régulièrement des débats comme ça où on veut opposer Flash à un killer. Il y a 2 ans c'était Ajax. Aujourd'hui la question que l'on doit se poser c'est quel est le niveau de maturité de HTML5 ? Nous pensons qu'il y a énormément de possibilités d'évolution à venir sur le web. D'ailleurs nous prenons part aux groupes de réflexion du W3C. Pour le HTML5, le gros défi qui reste c'est la fragmentation. On le voit déjà avec les codecs vidéo. De notre côté nous offrons une technologie cross platform qui a de beaux jours devant elle.

Thibault Imbert : On ne peut pas comparer ce qui n'est pas comparable ; Flash et HTML5 sont complémentaires. Il faut savoir que les standards évoluent très lentement. La réalité du marché c'est que l'on nous demande encore aujourd'hui des sites Internet pour IE6. Les gens qui pensent au HTML5 se rendent vite compte qu'il va falloir complètement changer leur manière de travailler tout en faisant face à des problèmes que nous avons déjà résolus il y a longtemps. Aujoud'hui la solution du plugin reste la meilleure.

Bernard Ourghanlian : HTML5 n'est pas fini. On peut considérer qu'il y encore beaucoup de travail. Il va falloir du temps avant la finalisation de la normalisation.

Quelques aspects techniques

Parmi les nouveautés du HTML5 les balises et permettront par exemple de s'affranchir du lecteur Flash d'Adobe ou du plugin Silverlight pour les clips vidéos compatibles. Par ailleurs, les technologies Web Storage et Indexed Database autoriseront la mise en cache de certaines données. A l'heure actuelle, l'application la plus populaire tirant parti de cette technologie reste véritablement le site mobile de Gmail. De leurs côtés les interfaces de programmation pour le protocole Web Sockets seront utilisées par les développeurs afin de délivrer un système de notification. L'on imagine par exemple, une application de messagerie instantanée qui enverra des alertes via HTTP au navigateur afin de prévenir l'utilisateur de la réception d'un nouveau message.

Toujours au sein du HTML5, la balise permet de représenter sur une page web des éléments en 3D à partir d'images vectorielles (SVG) et de JavaScript et ce, toujours sans intégrer des applets Flash. Les nouveautés offerts par le CSS3 sont également très nombreuses. En dehors des fameux border-radius chers aux web designers qui se voient obligés de jongler entre des images de fond pour Internet Explorer et des préfixes -moz et -webkit chez Firefox, Safari et Chrome, certaines propriétés devraient faciliter la mise en page pour obtenir un agencement dynamique de cette dernière en fonction de la taille de l'écran de l'internaute. Certaines animations et transitions qui jusqu'alors nécessitaient un plugin ou du JavaScript seront également possibles simplement grâce à quelques lignes au sein de la feuille de style. Enfin entre le format Web Open Font (WOFF) qui regroupe des polices de caractères spécialement optimisées pour un usage sur le web et la propriété CSS @font-face, le développeur devrait bénéficier de nouvelles possibilités en matière de typographie. Même si certaines fonctions du CSS3 devraient pouvoir supplanter l'utilisation du JavaScript, ce dernier continuera donc d'occuper une place essentielle dans les possibilités du HTML5.

Bernard Ourghanlian : Si on compare le HTML5 à Silverlight dans le domaine de l'audio et de la vidéo, la balise vidéo du HTML5 est limitée. Alors que sur Silverlight on peut avoir du streaming an HD, on a une fonction magnétoscope, un déplacement par image, Smooth streaming... Par ailleurs, en ce qui concerne les DRM, je ne sais pas si tout le monde sera ravi de publier son contenu en HTML5 sans sécurité.

Thibault Imbert : Pour en revenir au codec vidéo. Aujourd'hui Chrome et Safari ont choisi le H264, mais qu'en est-il des autres ? Firefox et IE9 ? Il y a déjà une fragmentation alors que nous offrons une solution unifée depuis Flash 6.

Bernard Ourghanlian : La sémantique et la syntaxe du JavaScript ne permet pas de faire du vrai parallélisme et de tirer parti des ordinateurs multicoeurs. De son côté Silverlight se base sur le .Net framwork. Concernant l'accélération graphique et le support de la 3D, Firefox 3.7 utilise WebGL. Seulement WebGL nécessite JavaScript. Pour un rendu dynamique en Canvas 3D la tâche est donc compliquée puisque le calcul vectoriel est opéré par le JavaScript, cela nous montre donc les limites de WebGL. Enfin en JavaScript si on veut écrire du code compliqué, c'est difficile à faire, par exemple pour une application telle que Google Wave. En réalité elles sont écrites en Java ou en Go puis compilées en JavaScript par la suite. Nous avons donc une faible productivité.

Technologies libres ou propriétaires

Récemment Steve Jobs s'est exprimé au sujet de l'absence du Flash au sein des iPhone, des iPod Touch et des iPad. Le PDG d'Apple expliquait ainsi que tous les standards relatifs au Web devaient être ouverts et non propriétaires comme Flash ou Silverlight, d'où l'adoption de HTML5, CSS et JavaScript. L'usage de plugins venant se greffer au navigateur reste également problématique en matière de sécurité. A plusieurs reprises, Adobe Flash Player fut le vecteur d'attaques rendues possibles par certaines failles, et notamment le cross-scripting.

Frédéric Massy : Il ne faut pas systématiquement opposer propriétaire et standard. Quand une société essaie d'innover, la technologie n'est pas forcément fermée. Si vous prenez PDF, la technologie est restée propriétaire pendant longtemps. Ensuite, lorsque nous l'avons jugé arrivée à maturité nous en avons fait un standard. Aujourd'hui la technologie évolue moins vite. Ici nous sommes dans la même logique.

Thibault Imbert : Vous savez n'importe quel navigateur peut avoir des failles. Nous on prend ça très au sérieux. C'est vrai qu'avec JavaScript il y a moins de risques mais qu'en est il de la sécurité de Chrome ou Firefox ? En 13 ou 14 ans d'existence nous n'avons pas eu énormément de failles.

Frédéric Massy : A partir du moment ou l'on exécute du code on est plus facilement la cible d'attaques. Aujourd'hui on lit plus d'attaques opérées sur PDF que via le lecteur Flash. Et comme je le rappelais plus haut PDF est désormais un standard et évolue moins vite.

Bref nous l'aurons compris, pour Adobe et Microsoft le HTML5 ne se montre pas encore assez convaincant du moins pas pour supplanter leurs technologies respectives. Par ailleurs, le décalage du niveau maturité et du déploiement des fonctionnalités risque également de perdurer à mesure que Microsoft et Adobe renforcent leurs efforts. Le débat serait-il alors sans fin ? Finalement peut-être faudrait-il percevoir ces technologies complémentaires les unes avec les autres et s'interroger sur le devenir du JavaScript notamment au regard des progrès du CSS.

Commentaires

Ecrire

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours