Flash : pourquoi il faut encore vous y faire

Arnaud de la Grandière |
skitched

Après la défection de Flash sur les plateformes mobiles, les partisans du HTML5 ont en ligne de mire le champ de bataille suivant : les ordinateurs (lire Occupy Flash : pour un web meilleur… et inversement). Cependant les choses sont loin d'être gagnées d'avances, car Flash conserve quelques avantages auxquels le HTML5 ne peut encore prétendre.

Ubiquité du moteur d'exécution

Si Flash a bénéficié d'une adoption aussi rapide sur les navigateurs et les sites web, c'est qu'il offrait une solution à un véritable casse-tête pour les développeurs web : il offrait un moteur d'exécution unique et universel sur tous les navigateurs, alors que le HTML nécessite souvent une adaptation à chaque navigateur. C'est le fameux "write once, run anywhere" (écrivez une seule fois, exécutez n'importe où) qui fut autrefois la promesse de Java, pleinement remplie par Flash, du moins jusqu'à l'apparition des plateformes mobiles.

Précisément, l'adoption massive de WebKit comme moteur de rendu sur les plateformes mobiles a rendu le même service pour les développeurs web. Pour peu que la version mobile d'un site s'affiche correctement sur un OS mobile donné, celle-ci fonctionnera à peu près de la même manière sur toutes. Et comme précisément Flash manquait à l'appel sur iOS, c'est donc le HTML5 qui fit œuvre de passerelle par le biais de WebKit.

La donne est cependant bien différente sur ordinateurs, dont les différents navigateurs se partagent entre plusieurs moteurs de rendu : WebKit pour Safari et Chrome, Gecko pour Firefox et nombre de ses déclinaisons, et Trident pour Internet Explorer. Il ne s'agit là cependant que d'un moteur de rendu, auquel il faut également ajouter le moteur d'exécution JavaScript qui diffère encore de navigateur en navigateur, tant en fonctionnalités qu'en rapidité d'exécution, y compris parmi ceux qui partagent le même moteur de rendu. Sans oublier que les navigateurs ne supportent le HTML5 que de manière encore parcellaire (Safari 5.1.2 s'en tire avec un score de 308 sur 450, contre 342 pour Chrome sur le haut du podium)

En somme, Flash a encore de nombreux services à rendre, ne serait-ce que pour simplifier la tâche des développeurs web.

Cauchemar audiovisuel

Les choses ne s'en tiennent pas là malgré tout. Bien que le HTML5 ajoute le support de la vidéo et du son, ceux-ci ne font pour l'heure qu'augmenter le casse-tête.

En effet, le W3C n'est pour l'heure pas parvenu à imposer un standard de format de fichier, les entreprises comme Apple et Microsoft pesant de tout leur poids pour soutenir le couple H.264/AAC qui sont propriétaires, et les partisans des formats libres, de la fondation Mozilla jusqu'à Google, soutiennent Ogg Theora, Ogg Vorbis, et WebM.

Chaque navigateur, selon les prises de position de ses instigateurs, ne soutiendra qu'un seul des deux camps, et compliquent la tâche des éditeurs de sites web. Ainsi, pour qu'une vidéo soit lisible nativement en HTML5 tant par Chrome que par Internet Explorer, il faudra l'encoder dans les deux formats. Là encore Flash fait œuvre de solution universelle, puisqu'il permet à n'importe quel navigateur de lire les vidéos, qu'elles soient encodée en H.264 ou en WebM.

Si le HTML permet de basculer sur une solution de repli pour l'affichage d'une vidéo en cas d'absence de la technologie visée par défaut (ou "fallback"), dans les faits cette capacité est encore peu mise en pratique, et dans la majorité des cas c'est Flash qui conserve la priorité. Ainsi, la version d'une page compatible iOS ne sera chargée que sur détection de l'agent utilisateur correspondant, et non sur le test de la présence du plugin Flash. Ainsi, YouTube comme DailyMotion permettent d'afficher leurs vidéos en HTML5, mais seulement sur demande explicite de l'utilisateur, et non en cas d'absence de Flash. Un petit nombre d'utilisateurs de Mac a choisi de retirer Flash (dont la version Mac est très décriée pour ses lourdeurs), en s'appuyant de manière occasionnelle sur le moteur Flash embarqué dans Chrome lorsque le besoin s'en fait sentir, mais nombre de sites qui disposent pourtant d'un contenu compatible HTML5 ne le présenteront que sur iOS, à moins de modifier l'agent utilisateur dans le menu développeur.

D'autre part, Flash intègre une fonctionnalité cruciale pour les éditeurs de contenus et les ayants-droits qui manque toujours à l'appel pour le HTML5 : le support de mesures techniques de protection (DRM). En effet, la diffusion de certaines œuvres audiovisuelles sur le web ne peut se faire contractuellement que si elles sont protégées par de telles mesures, et sans elles les services de télévision de rattrapage n'auraient tout simplement pas pu voir le jour par exemple.

Mais d'autres services en ligne dépendent d'autres fonction exclusives de Flash pour la vidéo, notamment la possibilité de faire de la vidéoconférence. Le support de Skype dans Facebook, la version web d'AIM, ou encore Chatroulette ne peuvent exister que grâce à Flash. Si HTML5 permet de diffuser de la vidéo en direct côté serveur par le biais notamment du HTTP Live Streaming (qui repose sur le H.264 et qui se limite pour l'heure à Safari sur Mac et iOS), il ne peut cependant pas accéder à une webcam ni au microphone côté client. Le W3C travaille actuellement à ce problème avec les Media Capture API, encore à l'état de brouillon.

Enfin, le support du son est également encore incomplet dans le HTML5 : s'il est possible de lancer la lecture d'un son sur un événement utilisateur (clic de la souris ou pression d'une touche du clavier), il est encore difficile d'en faire autant de manière purement programmatique. Le mixage en temps réel de plusieurs pistes sonores consomme beaucoup trop de ressources, à tel point qu'Apple a désactivé le son dynamique sur iOS (officiellement pour éviter les abus de bande passante en 3G). Ainsi, nombre d'applications web réalisées en HTML s'appuient encore sur un module Flash pour gérer le son, par le biais d'une communication avec JavaScript. La performance tient donc plus de la démonstration technique que d'une réelle mise en application, car quitte à ce que Flash soit indispensable pour réaliser une application web, autant qu'elle soit intégralement développée en Flash. Au prix de lourds efforts, il reste possible de réaliser un jeu tout à fait correct entièrement en HTML, c'est en tous cas ce qu'Opera Software a démontré avec Emberwind, un jeu originellement sorti sur Windows, Mac OS X et iOS, dont les 100 000 lignes de code en C ont été portées entièrement en JavaScript.

D'autre part, s'il existe des API de bas niveau permettant de réaliser toute une panoplie d'effets sur le son en temps réel directement en JavaScript, celles-ci sont plus ou moins bien supportées (Web Audio API ne fonctionne que sur Chrome et les Nightly Builds de WebKit, tandis que Firefox supporte son propre système, bien évidemment incompatible, nommé Audio Data API).

La bataille de la 3D

Avec Flash 11, Adobe attaque le marché de la 3D en ligne, qui était jusqu'ici la chasse gardée de Shockwave dans son catalogue. L'annonce est de taille car Flash bénéficie toujours d'une base installée conséquente, à tel point que Unity, qui disposait jusqu'ici de son propre plugin, a décidé d'intégrer une sortie vers Flash à son IDE. Plus significatif encore, Epic Games a annoncé le portage du moteur Unreal Engine 3 en Flash.



Si HTML5 n'intègre pas de gestion de la 3D, un autre standard, WebGL, géré par le Khronos Group, permet d'exploiter les cartes 3D dans une page HTML. Depuis la finalisation de la version 1 en mars dernier, seuls Firefox (depuis la version 4) et Chrome (depuis la version 9) intègrent le support de WebGL en standard. Safari 5.1 n'en est qu'à un support expérimental qui est désactivé par défaut, Opera ne supporte WebGL que dans la beta de la version 12, et Microsoft n'a pas pour l'heure prévu de supporter cette technologie dans son navigateur. En cause, une sérieuse faille de sécurité (lire WebGL, maillon faible de la sécurité), suffisamment préoccupante pour que Microsoft n'envisage pas de s'y mettre (lire Apple et Microsoft jettent le doute sur la sécurisation de WebGL).

D'autre part, Flash propose d'ores et déjà une fonction appréciable qui manque toujours au HTML : le basculement en plein écran. Par ailleurs Adobe a également annoncé l'arrivée prochaine de la capture du curseur, une fonction indispensable pour nombre de contenus en 3D.

Protection des éléments

Le propre d'une page HTML c'est de contenir le lien HTTP vers chacun des éléments qu'elle contient : images, sons, vidéos, textes, code javascript et autres. Cela rend la protection des données et du code plus complexe, puisque par défaut il suffit d'afficher le code source de la page dans le navigateur pour retrouver ces éléments et les télécharger (lire Pas à pas : télécharger du contenu web).

JavaScript, le langage de programmation du HTML, et ActionScript, le langage de programmation de Flash, ont en commun de devoir être exécutables sur n'importe quelle famille de processeurs : le code ne peut donc être distribué sous forme compilée. C'est le moteur d'exécution (dans un cas le navigateur lui-même et dans l'autre le plugin Flash) qui interprétera le code pour envoyer les commandes nécessaires aux API du système et au processeur. L'inconvénient c'est que le code source doit être accessible au moteur d'exécution, ce qui l'expose potentiellement aux regards indiscrets.

Les développeurs JavaScript qui ne tiennent pas à dilapider leur savoir-faire ne peuvent recourir qu'à l'obfuscation du code. Ce procédé rend la lecture du code difficile pour un humain tout en étant exécutable par le navigateur, par le biais d'outils dédiés. Difficile, mais pas impossible, d'autant moins qu'il existe des "deobfuscateurs". Quant aux ressources tierces telles que les images, il est possible d'en empêcher le chargement en dehors de la page pour laquelle elles sont prévues, mais là encore au prix d'un développement supplémentaire côté serveur, et d'une exposition potentielle du secret partagé côté client.

Les choses sont plus simples concernant Flash, puisque le format SWF ne permet pas d'inspecter son contenu, du moins en théorie. Le code et les médias que les fichiers Flash recèlent sont relativement à l'abris des regards indiscrets, à ceci près qu'il existe également des outils permettant la "décompilation" des SWF. Il s'agit d'un abus de langage puisque le SWF n'est pas à proprement parlé compilé : le code est converti en langage intermédiaire (ou bytecode). Il est possible de convertir ce bytecode en ActionScript qui soit lisible, mais il ne sortira pas pour autant sous sa forme originale et sera plus ou moins exploitable tel quel.

En tout état de cause, rien n'empêche un concurrent indélicat de copier-coller votre code JavaScript dans sa propre page pour bénéficier de vos développements sans bourse délier, alors que la gestion cross-domain de Flash permet d'éviter ce problème. De manière générale Flash offre plus de latitudes pour protéger les investissements des développeurs et des ayants droits, puisqu'il permet d'ajouter une couche de protection supplémentaire par rapport au JavaScript : qu'on bloque les requêtes HTTP directes au fichier SWF, et tous les éléments seront hors d'accès. Il est également possible d'empêcher le stockage du fichier SWF dans le cache du navigateur.

En somme, les développements qui nécessitent de lourds investissements seront protégés avec Flash, et ouverts aux quatre vents en HTML. Une différence suffisante pour dissuader certains développeurs d'abandonner Flash.

Eco-systèmes

Les outils de développement dédiés au HTML5 sont encore relativement confidentiels. On peut citer notamment Hype, Sensha Animator, ou encore Adobe Edge actuellement en cours de développement. Du côté des jeux certains moteurs facilitent leur mise en œuvre comme par exemple Impact Engine. Mais nul ne rivalise encore avec le confort et la souplesse de Flash, d'autant moins qu'une quantité d'outils supplémentaires a vu le jour avec l'ouverture du format de fichier SWF.

skitched

D'autre part, les développeurs web eux-mêmes ont un savoir-faire incomparable avec Flash pour créer des contenus dynamiques et interactifs, alors qu'encore peu de développeurs ont eu l'occasion d'obtenir une réelle expérience en HTML5 au delà de la simple démo technique, sans oublier que chaque implémentation dans chaque navigateur fait figurer un certain nombre de bugs qu'il faut apprivoiser. Si l'on ajoute à cela le fait que c'est bien l'absence de Flash qui a motivé les investissements dans le HTML5 pour le mobile, il n'en va pas de même pour les ordinateurs : Flash reste le chemin de moindre résistance sur cette plateforme. Un jour prochain, la part des OS mobile, et la maturité du HTML5, pousseront sans doute certains sites à reconsidérer le double développement entre Flash et le HTML, mais il y a encore loin d'ici là.

Tags
avatar Martin_a | 
C'est la qu'on réalise l'erreur MASSIVE d'adobe de ne pas avoir changé de cap à la sortie de l'iPhone...
avatar PePeLaJoie | 
Oui! Fort bien! Mais pour les animations simples et moyennes et bannières qui forment 98% des animations des sites on pourra utiliser un outil comme Adobe Edge. Flash restera très présent dans les jeux et des applications spécifiques. J'en suis convaincu après avoir assisté à une présentation lors du User Group InDesign de Genève par Branislav Millic
avatar PePeLaJoie | 
Il avait dit: "les stats sont indéniables: les gens consomment de plus en plus sur leur appareil mobile et plus sur l'ordinateur de bureau. Et si l'ipad et l'iphone sont tellement présents et interdisent Flash, alors les développeurs vont d'emblée créer des anims en HTML5 et seront donc lisibles sur toutes les machines." Car c'est bien vrai, 98% de Flash c'est pour les anims et banners sur des pages web.
avatar PePeLaJoie | 
"En tout état de cause, rien n'empêche un concurrent indélicat de copier-coller votre code JavaScript dans sa propre page pour bénéficier de vos développements sans bourse délier." Pourtant on peut brouiller un code JavaScript non?
avatar wizardkillyou | 
@ Martin_A +100
avatar jbwawa | 
En gros, plus de html5 = moins de branlettes sur chatroulette... L'évolution a du bon, non?
avatar PePeLaJoie | 
Chatroulette, c'est là que sévissent les flasheurs !
avatar oonu | 
[quote=PePeLaJoie]Pourtant on peut brouiller un code JavaScript non?[/quote] Et... ? "brouiller" ou non, le code source reste "copie-collable".
avatar aleios | 
Ah on va encore avoir droit au commentaires basiques du style: steeve avait raison, le flash c'est tout pourri. Bah quand on pourra ne serait-ce que lire une video en html 5 sans attendre 10sec qu'elle se charge vous me rappellerez! En attendant flash a encore de beaux jours devant lui a condition qu'adobe ne lache rien et continue son travail d'optimisation.
avatar Jiminy Panoz | 
N'empêche que quand on voit ce genre de choses : http://tympanus.net/codrops/category/tutorials/ Niveau code, c'est quand même très loin d'être compliqué. Chemin de la moindre résistance ou pas, y'a quand même tout intérêt à voir dégager les sites full-flash par exemple.
avatar BioSS | 
Jiminy, la plupart des exemples BASIQUES en CSS animé que tu montres sur ton site rament sur mon iMac 3ghz 4 cœurs… En revanche des sites flash super fluide avec des effets complexes, j'en connais à la pelle.
avatar BenUp | 
Cette histoire de flash c'est quand même à cause d'Apple qui a tout fait pour bloquer Adobe.
avatar BenUp | 
Mais Adobe c'est aussi reposé sur leurs lauriers ;-)
avatar Almux | 
Très bel article. J'ai été un grand admirateur de Flash, par le simple fait que je suis arrivé au web APRES mon amour de l'imagerie. Flash offre (offrait) cette possibilité de présenter ses oeuvres de manière parfaitement visuelle, avec des effets et tout, et tout... Mais le web est sillonné d'un nombre de plus en plus énorme de surfeurs et il faut alléger tout ça!
avatar nicolas | 
@BioSS Moi ça marche très bien sur mon iPad2 Vérifie que t'es pas resté bloqué sur Firefox 2...;-)
avatar jean_claude_duss | 
"En attendant flash a encore de beaux jours devant lui a condition qu'adobe ne lache rien et continue son travail d'optimisation." ----> ils,ont déjà commencé à laisser tomber ! Pas flash mais flash plugin, pour les sites web. En 2011 il est chaud de faire un site incompatible smartphones et tablettes... Mais en 2012 et 2013, ça sera impensable ! Flash va se ressentrer : sites de jeux, formation, applications spécifiques... Mais plus "sites web" Flash va devenir rapidement une plateforme crédible pour le dev ios et android ... Y'a 6'mois cétiat de la merde, et maintenant ça marche plutôt,très bien !!
avatar Goldevil | 
Mon plus grand problème avec HTML (4 ou 5) ce n'est plus trop les problèmes de compatibilité entre navigateurs qui s'amenuisent peu à peu mais plutôt les grandes différences de performances. Dans les applications sur lesquelles nous travaillons, nous utilisons massivement des datagrid c'est-à-dire un tableau de données. Il y a pas mal de démonstrations avec différentes librairies AJAX (ExtJS ou JQuery par exemple) et elles sont convaincantes. Néanmoins dans le monde réel, on ne met pas 30 ou même 100 lignes dans un tableau mais des milliers. Et alors on a des différences de performances énormes qui vont de lent (avec Chrome par exemple) à inutilisable (avec IE8 par exmple). La seule solution est l'applet Java (très lourd à programmer) ou Flash, plus précisément le framework Flex (Flash Builder anciennement Flex Builder). De plus, une fois l'application écrite il est trivial de la compiler pour le navigateur ou en tant qu'application native (Adobe Air). De plus, Flex recèle un petit bijou qui s'appelle le protocole AMF3 qui est binaire et plus performant que JSon qui vient du monde Javascript. En résumé, si pour la vidéo ou les bannières de pub je ne vois plus l'intérêt de Flash (même s'il a rendu de bons et loyaux services dans le passé), il reste quand même très intéressant pour les domaines plus professionnels.
avatar momo-fr | 
@Alios "Ah on va encore avoir droit au commentaires basiques du style: steeve avait raison" Je n'irais pas jusqu'à dire que Steve avait raison, mais sa vision était la bonne… Lol
avatar Macleone | 
[quote]le couple H.264/AAC qui sont propriétaires[/quote] Ce sont des standards ouvert. Payant certe, mais ouvert quand même. [edit]Au temps pour moi. Apparemment, la définition de "standard ouvert" diffère entre les US et l'Europe, ou en Europe elle inclus la notion de gratuité[/edit]
avatar Anonyme (non vérifié) | 
Trois cases qui résument à peu près tout : http://imgs.xkcd.com/comics/standards.png
avatar Gueven | 
@BioSS Comment est ce possible ? C'est super fluide sur mon iPad ...
avatar San_Pellegrino | 
Moi j'espère qu'on va garder le Flash. Imaginez : HTML5 Gordon en lieu et place de Flash Gordon, ça le fait pas.
avatar laurange | 
@Kinky "Qu'on aime ou pas, ça fait vivre des milliers de personnes, et probablement le site que vous lisez actuellement." Qu'on aime ou pas, les standards industriels changent et il faut s'adapter ou mourir, pourquoi un dev Flash ne se ferait pas en html5 avec les mêmes personnes ? Quand le plugin flash aura disparu des mobiles, il ne sera plus question de se demander flash ou pas flash, ça sera trop tard, les utilisateurs iront où ils verront proprement les infos ... sur les autres sites. @PePeLaJoie et san_pellegrino : lol
avatar bratak67 | 
Il n'y a pas que l'iphone au monde ...et heureusement ...
avatar jokoe | 
@BioSS Soit tu as un problème avec ta machine ou ton navigateur, soit tu fais preuve d'une mauvaise foi incommensurable : sur ma machine mono-coeur à 2,2 Ghz, les animations sont très fluides (Firefox 8)
avatar Lemmings | 
Merci ! Très bon article, enfin une vision autre que juste "flash c'est le mal". ça rejoint un peu un ancien article que j'avais fait : http://www.bheller.com/2011/11/09/adobe-abandonne-flash-sur-android-steve-jobs-avait-il-raison/
avatar Jiminy Panoz | 
@BioSS Bizarre, ils tournent ultra bien sur mon iMac early 2008… Par contre, des sites FLASH de designers ou boîtes de com me le met à genoux au point où Safari décide lui-même de fuir la peste. autant je te concède que des choses avancées (genre animations 3D, le bocal Microsoft en HTML5, animation eau sur des fresques 8 bits en full HTML5) rament grave : on est à 20 fps grand max. Autant si les anims de mon lien te font ramer ton iMac alors qu'elles passent sans problème sur un iMac qui va sur ses 4 ans, tu dois avoir un problème avec ton matos…
avatar Jiminy Panoz | 
@Kinky Je ne dis pas le contraire. Perso, je pense que Flash et HTML5 vont être complémentaires un certain moment. Après, le problème, c'est toujours l'utilisation qui en est faite. Y'en a qui pètent littéralement les plombs. Exemple : un site de designer en full-flash où t'as une anim de type slider et des menus déroulants… et hop, plus possible d'activer text-to-speech, pas de reflowable text, etc. Après, avec le pool commun jquery qui se fout en place, j'en vois pas beaucoup ne pas choisir l'intégration et faire du sur-mesure en partant de rien. Bon, après, y'a tellement de "pros" qui voient des utilisations ubuesques de Flash (voir exemple précédent) qu'on en est arrivé à une nouvelle tendance : le one-page website en HTML5… Et c'est pas plus mal. Après, honnêtement, pour des choses "simples", et ça commence même à venir pour les animations, un profane comme moi qui connait la logique HTML/CSS peut sortir quelque chose de valable assez rapidement. En plus, y'a un nouvel enjeu sur HTML5, et y'a beaucoup de pognon à se faire à l'avenir dans ce domaine-là : connaissance HTML5 + jquery + CSS3, c'est la base d'EPUB3. Donc catalogues et ce genre de choses, ça passera en "livre numérique", livres d'art, livres photos aussi (avec fixed-layout), etc. Et avec des frameworks comme Baker, tu peux même faire de l'app iOS avec du HTML5 (magazines, etc.) Quand on sait que Gallimard a lâché 110.000 euros en global sur "L'herbier des fées", un livre enrichi pour enfants, les designers ont beaucoup à gagner à se former à HTML5 et mettre FLASH un peu de côté…
avatar BioSS | 
Genre ça chez vous c'est fluide et animé ? http://tympanus.net/Tutorials/LateralOnScrollSliding/ Et ça ? http://tympanus.net/Tutorials/TypographyEffects/index2.html Ce sont pourtant des trucs hyper basiques en flash qui tourneraient à 60 fps constant
avatar lmouillart | 
@BioSS sur un chrome 16 macbook 2009 ça tourne bien (acceleration materiel non activée).
avatar BioSS | 
C'est vraiment de la mauvaise foi ou vous distinguez pas quand c'est en-dessous les 15 fps ? Je dois faire une vidéo pour prouver mes dires ? Coder un benchmark avec compteur de FPS et vous coder l'équivalent en Flash pour montrer à quel point les moteurs de rendu actuels sont nazes dans les navigateurs ?
avatar Zed-K | 
Très bon article, objectif et bien documenté. Flash va continuer sur sa lancée, à savoir être là pour combler les lacunes des standards, qui rattrapent enfin leur retard. Que le W3C fasse évoluer les normes de l'HTML et des CSS est une très bonne chose. Maintenant, ce que j'attends, c'est : 1) la validation de ces standards afin qu'ils soient figés et pleinement opérationels (même si on continuera très probablement à taper sur IE qui sera à la traîne comme d'habitude... Microsoft si tu me lis, prove me wrong) 2) une évolution de JavaScript. Parce qu'il devient de facto LE langage côté client universel, et qu'il fait pâle figure à côté de l'AS3. Voire à côté de n'importe quel langage un minimum évolué. On trouvera toujours des trolls comme sur la première page de commentaire pour nous affirmer avec aplomb qu'Adobe s'est branlé la nouille ([i]"j'y connais rien mais c'est Steve qui l'a dit"[/i]), j'invite ces personnes à se renseigner un minimum avant de passer pour des gros cake, qui plus est sur un article qui leur prouve que Flash a encore une longueur d'avance sur des points non négligeables du web moderne (streaming et accès aux webcams/micro pour les fonctionnalités les plus "mainstream"). En attendant, Flash aura plus fait évolué le web (et bien plus vite) que le W3C, qui ne fait ici que rattraper son retard. Le nier serait prouver sa méconnaissance totale du web (à moins d'être nostalgique des 36 plugins différents pour une seule fonctionnalité, qui plus est non compatibles entre navigateurs/plateformes...) Maintenant une page se tourne, et j'ai hâte de voir comment les standards vont évoluer. Mais, par pitié, un "vrai" langage moderne pour le web, et pas un truc infâme basé sur le prototypage inutilisable pour un projet un tant soit peu sérieux sans passer par des bibliothèques tierces... ou des bidouilles atroces pour combler ses lacunes niveau POO. EDIT: Ou le choix. De la même façon que le Flash Player depuis sa version 9 embarque 2 machines virtuelles pour l'éxécution du code AS1/AS2 et AS3, il serait agréable que les navigateurs intègrent une alternative au JavaScript (qui reste très adapté pour certaines utilisations, mais un véritable cauchemar pour d'autres). Sans demander des miracles, un simple langage basé sur des classes et pas des prototypes serait déjà une avancée considérable.
avatar Zed-K | 
@BioSS : Ça rame aussi sur mon PC du boulot (Win7 64 bits, FF8, C2D 2.93Ghz/4Go de RAM). Mais je pense qu'il faut arrêter les comparaisons de performances entre Flash et HTML5/CSS3/JS. 1) les performances pour le Flash Player varient d'un OS à l'autre ; 2) les performances pour l'HTML5 varient d'un navigateur (et d'une version de navigateur) à l'autre ; 3) Flash est établi depuis longtemps, permet depuis la version 11 du player de faire du rendu aussi bien 2D que 3D en tirant parti de l'accélération matérielle, alors qu'HTML5 est encore très jeune. 4) l'AS3 et le JS sont des langages tellements différents que l'on ne peut pas comparer à proprement parler 2 codes faisant la même chose, tant le code en lui-même et les optimisations pour l'un et pour l'autre sont différentes.
avatar BioSS | 
Peu importe comment les codes font la chose. Les performances se comparent sur le résultat. Le fait est que pour scroller une page animer trois images / divs, ça rame, alors que je peux t'animer 200 movieclips de façon fluide en Flash.
avatar Augustin Caron | 
More websites are now using jQuery than Flash: http://appendto.com/jquery-overtakes-flash
avatar Augustin Caron | 
Je suis développeur web et Flash ne simplifie en rien ma tâche. Bien au contraire, ce serait un casse tête — en plus des problèmes avec les mobiles, quid de l'accessibilité ? quid du référencement ? —, si ne ne l'avais pas complètement exclu de mes utilisations pour lui préférer html5 et les bibliothèques javascript.
avatar joneskind | 
@BioSS Bon, connaissant lmouillart, c'est pas le dernier à taper sur le dos d'Apple, donc à défendre flash contre HTML5. Arrête un peu de nous traiter de fanboy de mauvaise foi, il semble vraiment que tu aies un problème matériel. Après tu peux choisir de garder tes oeillères ou te renseigner. Ou alors c'est toi qui est de mauvaise foi et tu trolles comme un fennec.
avatar Oliange | 
@joneskind : se baser sur quelqu'un qu'on ne connait pour étayer, si j'ose dire, ton argumentation, enfin tu essaies mais bon, c'est vraiment bidon comme argument. Fais toi ton idée au lieu de regarder les autres. Pour avoir fait le test, ça fonctionne mais la fluidité est très moyenne voire faible...
avatar rom54 | 
La grosse erreur que beaucoup font c'est de croire qu'une technologie comme Flash ou HTML5 se substitue a un développement d'applicatif. Dans les exemples donnes comme "charoulette" ou l'intégration de service type Skype sur des sites Internet, ils s'agit d'incongruités. De meme sur les critiques de gestion des ressources matérielles (webcam...): un site internet n'a pas a prendre le contrôle du matériel! Il faut rappeler que HTML5 c'est une extension de HTML, soit le standard de gestion de contenu du WEB. Il ne s'agit en aucun ças de remplacer un logiciel natif! Si on veut créer un jeu, faire tourner un soft de chat, diffuser une video interactive et propriétaire ou jouer sur un flux sonore, c'est le rôle d'une application optimisée exploitant les spécificité de la machine, ou dans une moindre limite il s'agit d'un développement en Java. Flash est une perversion du web (et un paquet de failles de sécurité majeures) du fait justement de permettre la confusion entre WEB et application. Apple avait aussi fait cette erreur au départ d'iOS en ne permettant pas d'applications natives et a du revenir sur ce choix incohérent. Flash va disparaitre des sites web a terme, c'est maintenant une évidence pour toute personne raisonnable, mais cela ne veut pas dire pour autant que la technologie Flash n'a pas d'avenir: Flash peut servir de moteur de jeu et c'est un superbe outil d'authoring. L'erreur de Macromedia puis d'Adobe c'est d'avoir cede aux sirènes de l'industrie de publicité. Alors il est certain que pour les publicitaire la chute de Flash devient une catastrophe, et il en va de meme pour les sites exploitant Flash pour contourner les lois de protection des mineurs... Ou encore pour les sites d'arnaques commerciales utilisant des animations Flash... Pour tout le reste, HTML5 remet le WEB sur les rails de ses origines: diffuser la connaissance et l'information et permettre un echange libre de celles-ci entre utilisateurs. Les vitrines commerciales et autres sites marchand, soit se satisferont des possibilités d'HTML, soit passeront sur les applications natives. Et le Web sera ainsi moins polue et l'utilisateur plus libre de ses choix
avatar lmouillart | 
@BioSS vérifie si ton navigateur est à jour si oui regarde si l'accélération 2D est activée, dans la plupart des cas cela améliore bien les performances mais certains pilotes buggués ralentissent les performances. Ca vaut ce que ca vaut mais chez moi Flash dernière version est plus lent que le rendu software 45fps contre 80 : http://themaninblue.com/writing/perspective/2010/03/22/
avatar Lemmings | 
@BioSS : Chrome 17 sous XP (désolé machine du boulot) avec un Pentium Dual Core à 2.2 ghz, ça rame grave. Enfin quand on compare les chiffres de Jquery et Flash je rigole un peu, on peut inclure JQuery sur une page sans en utiliser quoi que ce soit ou presque derrière. J'ai déjà vu des intégrateurs foutre JQuery DE BASE dans toutes leurs intégrations, même si il n'y a AUCUN contenu dynamique. Sans parler de ceux qui font ça pour accéder aux $('#quelquechose') en place de getElementById...
avatar Quintus | 
@rom54 à bon, flash ne peut se substituer à un développement applicatif, première nouvelle, va donc voir du côté de Flex et de la qualité des applications produites et on en reparlera, d'ailleurs de plus en plus d'applications IOS utilisent la techno flash sans même le savoir car le runtime est packagé avec l'application. Pour info aussi, PhoneGap permet lui de faire de l'applicatif à partir de HTML5. Bref si flash est à oublier côté site web pur, pour le reste c'est loin d'être terminé.
avatar lmouillart | 
@Quintus sur Android c'est encore bien maintenu, il y a une nouvelle version toutes les 3 semaines, reste à voir pendant encore combien de temps.
avatar Quintus | 
@lmouillart plus très longtemps malheureusement car même si ce n'est pas la panacée, ça rend service et avec les terminaux de plus en plus puissants, on seraient probablement arrivé à une utilisation tout à fait performante, mais bon, c'est le choix d'Adobe et un site full flash c'est souvent une performance artistique qui s’accommode mal des terminaux mobiles.
avatar tollirom | 
J'ai lu votre discussions d'expert : passionnant !! il n'empêche un truc simple = si on veut démocratiser la création de site par le plus grd nombre (n' y connaissant rien mais ayant des idées je m'y attelle!!), en faisant à la fois simple et en se laissant une petite marge de manoeuvre pour faire au minimum 'dynamique' (ex sliders simples & sympas en page d'accueil), quelle solution choisir?. Il existe pas mal d'éditeurs en ligne, dt certains se mettent à compiler du flash et du html5 (Aquafadas par ex). Webaccapella est pas mal mais on est vite à devoir faire du code... Mon préféré va pour l'instant à WIX qui permet de créer un site 100% flash, mais illisible tel quel sur mobile; il faut alors partir sur une version mobile qui est tt à fait différente, et bcp trop light à mon sens - WIX qui fait bcp de pub sur les sites prônant d'ailleurs le html5, amusant ;-)))-, Bref Wix permet pour un néophyte de créer un 'beau' site accessible mac et pc en flash, avec ce problème majeur à mon sens d'être illisible en l'état ds l'environnement Apple Iphone/Ipad...alors que ces dernières tablettes se développent à vitesse grand V !! Question : quel éditeur SIMPLE permet aujourd' hui d' arriver à créer en ligne un site en HTML5, en laissant de la latitude en terme de création, sans rentrer ds le code (comme le fait à merveille WIX) ?? j ai testé aussi différents outils comme Joomla et Wordpress (mais la, il ft encore connaitre un peu..), et Weebly (bcp + accessible mais très limité vs WIX ...) Quelqu' un a t il un site miracle permettant de "faire comme WIX en HTML5 " ??!!!
avatar Anonyme (non vérifié) | 
Total, Nespresso, Volkswagen, ... des milliers d'entreprises, célèbres ou pas, utilisent Flash à bien + de 50% sur leurs sites. [b]Dire qu'il ne sert que pour des bannières (...) à 98%[] ... c'est de la bêtise. Développer en Flash, c'est tellement plus simple pour éviter des problèmes d'incompatibilités, exploiter la 3D, les vidéos, ... Souvent je galère avec HTML + CSS + JAVASCRIPT pour mettre en forme telle ou telle page, car l'affichage n'est pas le même d'un navigateur à l'autre. Alors qu'en Flash, quasiment pas de soucis de ce côté là. L'expression "HTML5 vs FLASH", je trouve que c'est nul. Flash a besoin d'une base HTML pour exister sur le web et comme c'est indiqué dans cet article, on est loin d'arriver à faire en HTML5 ce qu'on peut faire en FLASH. Ce ne sont pas les quelques projets expérimentaux (manque de fluidité, d'optimisation, incompatible avec un navigateur) qui me feront mentir. Surtout qu'il n'est pas mentionné le nombre d'heures passées pour arriver à un résultat équivalent à FLASH. Je suis pour la standardisation à fond. Donc si on me propose une alternative à Flash, je l'abandonne immédiatement. Mais même si les choses évoluent vites, HTML 5 a débuté en 2007 et ne sera pas finalisé avant 2015... C'est plutôt long. Surtout qu'il faut encore que TOUS les navigateurs respectent les spécifications... Ce qui ne risque pas d'arriver.
avatar Anonyme (non vérifié) | 
[quote=rom54]Dans les exemples donnes comme "charoulette" ou l'intégration de service type Skype sur des sites Internet, ils s'agit d'incongruités. De meme sur les critiques de gestion des ressources matérielles (webcam...): un site internet n'a pas a prendre le contrôle du matériel![/quote] Mais ouais, carrément ! C'est quoi toutes ces facilités d'usage qu'on veut donner aux gens ? Chatroulette aurait été beaucoup plus fun s'il avait fallu installer une application (et d'ailleurs une application c'est beaucoup plus sûr : aucun risque qu'il y ait un malware caché dedans). Youtube permet de s'enregistrer directement et c'est aussi une hérésie. C'est quand même mieux si l'utilisateur doit trouver comment enregistrer la webcam et uploader le fichier résultant. Ou à la limite, qu'ils créent une application YouTube recorder/uploader. Le web c'était mieux avant, en mode texte. Une image vaut 1000 mots mais 1000 mots se téléchargent plus vite, prennent moins de ressources et impliquent moins de risques. Un bon vieux Lynx et de l'email en ASCII, c'est ça le vrai web.
avatar Quintus | 
@sunjohn bien sûr, avec de tels discours, on se retrouve à l'age des cavernes, n'importe quoi ! "Back to the trees said uncle Vania".
avatar iNabil | 
certains problèmes que vous citez contre le html5 sont plutôt des points positifs, je pense surtout aux DRM qui n'ont rien à faire dans le web, qui est une zone sensée être dépourvue de toutes ces aberrations le html5 n'est pas mature mais il progresse vite
avatar BioSS | 
Bien sûr que les DRM sont importants sinon Deezer / Spotify et autres n'auraient jamais existés…

Pages

CONNEXION UTILISATEUR