~bohwaz/blog/

Avec de vrais morceaux de 2.0 !

Flash et le web

Flash est une technologie proprio, certes, le player flash est complètement naze sous linux (plantages à répétition, bugs nombreux), oui, mais cette techno permet de faire du multimédia avec le web, c'est à dire de la vidéo et du son, sans se soucier de la présence chez le visiteur d'un plugin ésotérique. Oui Flash est aussi un plugin, mais bien implanté.

Flash mal utilisé donne des catastrophes d'accessibilité (essayez d'utiliser le site d'EDF pour voir), mais il peut être bien utilisé, en harmonie avec les standards du web, pour rendre quelque chose de relativement accessible, de propre et surtout beaucoup plus pratique à réutiliser et intégrer. A partir du moment où vous arrivez à persuader votre client que non les animations c'est ni joli, ni à la mode, ni web 2.0, et que ça ne va pas booster ses visites, vous allez pouvoir oublier Flash pour le graphisme et utiliser Flash pour des choses utiles : le son et la vidéo, les seules choses que vous ne pouvez pas faire sans Flash sur le web, enfin pour le moment.

Pour le son, vous ne pouvez pas passer à côté de SoundManager, qui est une API en javascript permettant de faire jouer des MP3 à Flash. Ici vous n'aurez rien à faire en Flash, l'API javascript se charge de tout, et cette API est très très complète, permettant des tonnes d'applications imaginables, du simple player à playlist jusqu'au sampler. Personnellement je l'utilise pour le player web d'Altermusique.org, par exemple cliquez sur "Ecouter tout l'album" sur Silence - L'autre endroit, si vous avez flash, un player en popup s'affichera. Ce player est très complet, il gère les playlists, l'enchaînement de morceaux, le positionnement dans le temps, etc etc. Et tout ça avec juste un peu de javascript, des CSS et du xhtml. Si vous n'avez pas Flash 8 (nécessaire pour SoundManager), le lien "Ecouter tout l'album" ouvrira la playlist au format M3U pour la lecture dans votre player préféré. Ainsi on a ici une solution accessible qui sait s'adapter en fonction de ce que le visiteur possède ou de ce qu'il souhaite (vous pouvez choisir explicitement de ne pas utiliser le player web). Et Flash devient ici un moyen et non un but.

Pour la vidéo je dois avouer que je ne me suis pas encore penché sur le sujet en profondeur. J'utilise le FLV Player de neolao, une superbe réalisation, disponible en différentes déclinaisons, qui de plus est libre. Je n'ai pas encore eu le temps d'essayer la version JS qui permet d'avoir un player entièrement contrôlé en javascript, et me cantonne pour le moment à la version "Maxi" dans une utilisation assez classique, à un détail près. Ce détail c'est le plein écran. Le mode plein écran de Flash ne fonctionne pas du tout sous Linux (et peut-être que c'est mieux comme ça), mais il est facile de développer une manière simple de faire du "plein écran" avec flash. Par exemple sur la partie Vidéos de mon site cliquez sur "Passer en plein écran" va simplement appeler un petit javascript qui va changer le style du 'div' contenant le lecteur vidéo, le nouveau style passant le 'div' en 'position: absolute' et le mettant à la taille de la page, ainsi on a un mode plein écran à peu de frais qui me semble relativement propre, et comme on ne fait que changer la class du 'div', la vidéo ne s'arrête pas quand on passe de plein écran à normal et vice-versa (sauf sous Firefox, ça fait redémarrer la vidéo, si quelqu'un peut m'expliquer le pourquoi). Ainsi ce n'est qu'un petit exemple mais je pense qu'on peut arriver à faire un peu tout ce qu'on veut avec un player vidéo contrôlé en javascript, et arriver également à une utilisation ou flash n'est qu'un moyen technique comme un autre.

Et ça change tout, parce qu'utiliser Flash en y pensant comme à un palliatif technique à quelque chose qui n'est pour le moment pas possible autrement, ça construit une autre démarche de conception web, une démarche plus respectueuse des standards et d'une logique de simplicité et propreté que tout développeur et concepteur web devrait déjà avoir adopté.

Écrire un commentaire
(facultatif)
(facultatif)
(obligatoire)
     _                 _   
  __| |_   ___   _____| |_ 
 / _` | | | \ \ / / _ \ __|
| (_| | |_| |\ V /  __/ |_ 
 \__,_|\__,_| \_/ \___|\__|
                           
(obligatoire)

Les adresses internet seront converties automatiquement.
Tags autorisés : <blockquote> <cite> <pre> <code> <var> <strong> <em> <del> <ins> <kbd> <samp> <abbr>

Alain

Bonjour!

Je ne dirais pas que Flash est la seule issue pour jouer musique et vidéo en ligne :) . Je programme en Java et c'est possible en Java, entres autres. En fait, si Sun avait été un peu plus malin, Java devrait dominer le Web du côté client (pour le côté serveur je préfère moi-même PHP !). Le problème pour java est une approche inadaptée: quand j'ai fait mon premier "jeu" en ligne, j'ai utilisé Java3D. Grave erreur :) : plugin difficile à installer, qui plante sur certains PCs... Maintenant je programme en 2D, et là encore c'est pas la joie : il faut être très expérimenté pour faire des choses de bases. Rien qu'aujourd'hui j'ai remplacé mon double-buffer maison (une image de fond copiée à chaque frame) par le vrai double-buffer, et ce dernier était beaucoup plus... lent !!! Tah-Dah ! Parce qu'il ne supportait pas le "page flipping". C'est, euh, comment dire, ..., complètement idiot. Il devrait au moins être aussi rapide que ma méthode. C'est ce genre d'erreurs que Flash n'apporte pas. Java est très puissant, mais par défaut n'expose qu'une fraction de cette puissance. Les dernières versions commencent à apporter une gestion multimédia correcte, mais c'est trop tard (la musique en streaming c'est possible, je l'ai utilisé avec mon deuxième jeu, mais l'API officielle est récente et un peu merdique (j'ai moi-même utilisé une vieille API plus simple mais incomplète)). Par contre, certains sites utilisent Java très bien et c'est vraiment transparent (sauf que les versions 1.6 du plugin plantent plus que les anciennes :| ). Comme ici: www.univ-lemans.fr/enseig... (pas de site avec musique ou vidéo sous la main. Bon pour la vidéo je ne suis même pas sûr que Java soit très capable)

Par contre, il y a des plugins comme Blink3D ( www.pelicancrossing.com/P... ) qui sont bien sympas.

La vraie force de Flash, c'est l'installation du plugin (contrairement à l'installation du SDK, je n'ai jamais réussi à installer la démo :) ), et une claire orientation multimédia (et non fourre-tout comme Java). Flash a réussi à devenir une part intégrante du Web, quand Java est toujours un peu séparé.

Sinon 100% d'accord :) C'était juste une petite remarque! (mais longue)

Torajio Bangani

Hey :) !

Avec la sortie du HTML5 que le W3C a annoncé il y a un petit moment, Flash pourra être remplacé (je ne dis ça que pour le côté audio/vidéo ;)) par de simples éléments HTML ! Les lecteurs seront par défaut dépendants du navigateur, mais personnalisables si je ne me trompe pas :D .

Il est vrai qu'il est un peu utopique d'espérer que les spécifications soient terminées avant 2010.

Surtout que, le temps que tout le monde se mette à jour (je pense particulièrement à IE), il va falloir attendre encore un peu (beaucoup ?) de temps après la fin des spécifications avant de pouvoir utiliser toutes les nouveautés de ce langage sans trop de risques...

> Quelques liens :

* une liste très exhaustive des éléments HTML5 :

simon.html5.org/html5-ele...

* l'élément <audio>, qui pourra remplacer les lecteurs Flash tel que dewplayer (je ne conteste pas, il est superbe : www.alsacreations.fr/dewp... )) :

www.whatwg.org/specs/web-...

* L'élément <video>, qui pourra également remplacer les lecteurs Flash tel que celui de neolao que tu as cité (j'ai regardé, et je confirme, il est excellent et nettement plus rapide que ceux des grands sites, comme Youtube ou Dailymotion :-°) :

www.whatwg.org/specs/web-...