Jonathan Gay, le créateur de Flash n'est pourtant pas un inconnu du monde Apple : il débuta dans la programmation de plusieurs jeux et programmes sur Apple II puis Macintosh et Lisa (Space Invaders, Superpaint, Airborne ou Dark castle, rien que ça ! ). À son simple logiciel de dessin Smartsketch, il ajouta en 1995 l'animation pour obtenir Future Splash Animator, qui fut racheté en 1996 par Macromedia pour donner naissance à Flash 1 et à l'animation vectorielle pour le web. Les versions suivantes le verront doté d'une interactivité de plus en plus riche et d'un langage de programmation de plus en plus évolué : ActionScript. Aujourd'hui le lecteur Flash est de loin le plug-in de navigateur le plus répandu et vient même empiéter sur les plates-bandes des lecteurs vidéo...
Mais passons à la revue des nouveautés de cette huitième évolution.
La version fournie par Macromedia France pour ce test est en fait la boîte du Studio 8 complet contenant Dreamweaver 8, Flash Professional 8, Fireworks 8, Contribute 3 et FlashPaper 2, le tout sur 2 CD d'installation à la fois Mac et PC, et un manuel papier général de 388 pages qui survole la création d'un site web avec ces outils. On peut installer aussi bien la suite complète que chaque logiciel séparément, sur tout Mac équipé au moins d'un G3 600 MHz, d’OS 10.3 et de 256 Mo de RAM. Pour ce test, nous disposons d'un Powermac G5 bi-2GHz 2,5Go de RAM et d'un Powerbook alu 15" G4 1,33GHz 512 Mo de RAM , le tout sous Mac OS X 10.4.5. Le numéro de série est à saisir lors du premier lancement du logiciel, qui affiche rapidement l'interface, un panneau de démarrage avec différents types de documents à ouvrir et des liens vers le site Macromedia pour plus d'informations.

L'interface
La fenêtre de document contient la scène et une partie scénario qui gère à la fois l'aspect temporel de l'animation et à la fois l'empilement des objets sur des calques du premier plan à l'arrière-plan. La grande nouveauté ici, c'est l'apparition d'onglets lorsqu'on a plusieurs documents ouverts, comme dans Safari, et bien sûr le raccourci clavier bien pratique pour passer rapidement d'un document à un autre [pomme]+[<] ou [pomme]+[maj]+[>]. Il y a également de nombreuses palettes flottantes organisables selon ses besoins et dont on peut mémoriser autant de dispositions qu'on veut. Une grande surface d'affichage, voire plusieurs moniteurs, augmente bien sûr significativement le confort d'utilisation.
La bibliothèque
Chaque fichier de travail possède sa bibliothèque contenant tous les objets que l'on a créés pour ce projet. Si on ouvre les bibliothèques de plusieurs fichiers, ça peut occuper beaucoup de place à l'écran et source de confusion si on réduit la largeur de la palette et que le nom de la bibliothèque n'apparaît pas complètement. Dans Flash 8, il n'y a plus qu'une unique palette bibliothèque, qui possède un menu déroulant listant toutes les bibliothèques ouvertes, ce qui prend évidemment moins de place.

La palette outils
Elle a été réorganisée et la principale nouveauté est l'apparition pour les outils de dessin d'une option dessin d'objet. Jusqu'alors, quand on dessinait dans Flash une forme sur une autre dans un même calque, celle du dessus risquait, si on la désélectionnait, de "manger" celle du dessous, ce qu'on pouvait éviter soit en groupant les dessins déjà faits, soit en faisant un objet, soit en évitant la superposition de ces tracés en dessinant à côté. Désormais, cette option permet de tracer une forme n'importe où, forme qui sera déjà "groupée", bloquant ainsi toute interférence avec ce qui est déjà dessiné. On voit bien la différence d'aspect du dessin sélectionné : le tracé classique sélectionné est tramé, le tracé avec option dessin d'objet sélectionné a un cadre de sélection comme pour les objets et les tracés groupés.

Le nuancier accessible depuis les sélecteurs de couleur de fond et de contour se voit doté d'un niveau de transparence alpha qui n'était disponible auparavant que dans les réglages de la palette mélangeur.

La palette des propriétés se retrouve avec 3 onglets : Propriétés, Filtres et Paramètres. Seul le deuxième onglet est une réelle nouveauté, et pas des moindres puisqu'il s'agit d'effets similaires aux styles de calques de Photoshop : Ombre portée, Flou, Rayonnement, Biseau, Rayonnement dégradé, Biseau dégradé, et Régler la couleur.
Une nouvelle propriété importante fait également son apparition pour les objets Clip, il s'agit de Mélange, l'équivalent des modes de fusion de Photoshop !
Tous ces filtres et les modes de mélange sont paramétrables, dynamiques, et peuvent surtout être animés par interpolation de mouvement. Par contre, ils sont plutôt gourmands en ressources processeur, il ne faut donc pas en abuser si on veut garder une certaine fluidité sur les petites configurations et ne pas non plus sombrer dans une lourdeur visuelle...


L'interpolation de forme
Les interpolations de mouvement sont une méthode d'animation qui permet par exemple de déplacer un objet donné en une durée donnée, ou d'une manière générale, de modifier son état. La vitesse de cette animation est par défaut linéaire, et un réglage d'accélération permet soit de l'accélérer soit de la décélérer. Flash 8 introduit un contrôle plus fin et variable dans son déroulement grâce à une courbe vectorielle.

La typographie
Une autre des grandes nouveautés de Flash 8, est la refonte de la gestion des textes, avec un nouveau moteur de rendu enrichi nommé FlashType. Dans Flash MX 2004, on avait la possibilité d'activer ou désactiver le lissage des polices, en général pour améliorer leur lisibilité en petit corps. Flash 8 propose maintenant plusieurs réglages dont un totalement paramétrable pour doser le lissage : Utiliser les polices de périphérique va utiliser une police installée sur la machine de l'internaute ; Texte bitmap (sans anti-alias) affiche donc un texte pixélisé, mais très fluide ; Anti-alias pour l'animation affiche un texte lissé légèrement qui utilise peu de ressources vidéo pour une meilleure fluidité ; Anti-alias pour la lisibilité affiche un texte lissé d'une très grande finesse, mais forcément plus gourmand en ressources ; enfin Anti-alias personnalisé... permet de peaufiner un lissage sur mesure, bref de quoi combler les utilisateurs ! À noter encore que Flash est gourmand en ressources processeur pour le calcul d'affichage, et notamment il est bien sûr conseillé d'utiliser un lissage moindre sur des textes animés et garder un beau lissage pour des textes fixes.

La vidéo
C'est un gros cheval de bataille pour Macromedia qui espère bien imposer Flash comme lecteur vidéo face aux ténors Quicktime, Media Player et Real, avec l'avantage d'être d'ores et déjà plus répandu qu'eux. Les précédentes implantations de la vidéo dans Flash laissaient à désirer, lourde, saccadée, des soucis de synchronisation son / image, bref peu crédible. Depuis l'arrivée du format .flv qui intègre la vidéo traitée en dehors de l'animation .swf qui l'appelle, la plupart de ces problèmes sont réglés. On bénéficie d'un streaming basique même sans faire appel à un serveur FlashComm spécifique et hors de prix.
La vidéo se voit dotée d'une application d'encodage dédiée indépendante de Flash : Flash 8 Video Encoder, qui assure le traitement par lot des vidéos pour la création de fichiers vidéo flash .flv.
Il y a une série de réglages prédéfinis en fonction de la qualité voulue, et un panneau de paramètres avancés avec trois onglets : Codage, Points de repère, et Recadrer et réduire.
Codage regroupe les paramètres de compression de la vidéo : choix du codec, activation de la couche alpha qui permet de jouer sur la transparence ou la translucidité de la vidéo (ce qui offre des effets inédits d'intégration de la vidéo dans un document flash), les réglages de qualité, débit, fréquence, dimension, images-clés, ainsi que les paramètres généraux du son, qui est encodé en MP3, ne laissant que le choix du débit sur des pistes mono ou stéréo.

Points de repère sert à définir des points précis dans le déroulement de la vidéo, qui vont déclencher des événements programmés, par exemple l'apparition d'un message, d'une illustration complémentaire, le lancement d'une animation, bref tout ce qu'on nomme le "rich media", une vidéo enrichie d'éléments visuels, textuels, sonores, bref du multimédia.

Recadrer et réduire sert donc à spécifier des dimensions de vidéo différentes que celles de la source, et réduire sa durée en changeant le point d'entrée et de sortie de la vidéo, autrement dit en éliminant une portion au début et/ou à la fin.
L'encodage ponctuel de vidéo peut bien sûr toujours se faire via Flash. Le menu Fichiers > Importer > Importer de la vidéo... ouvre un panneau qui nous guide pas à pas : sélection de la vidéo source à encoder, choix du type de déploiement avec indication des caractéristiques, avantages et contraintes de chaque format, choix des paramètres d'encodage où l'on retrouve exactement la même interface que celle de Flash 8 Video Encoder, puis enfin choix de l'interface de contrôle qui apparaîtra dans l'animation Flash. Cette interface étant un .swf externe, il est tout à fait possible d'en réaliser une personnalisée avec les contrôles et le design voulu, il suffit d'entrer l'URL de ce fichier.



ActionScript
ActionScript, le langage de programmation de Flash n'a cessé de s'enrichir, d'évoluer, depuis les prémisses qui ne permettaient que quelques contrôles de l'animation, à aujourd'hui avec un langage puissant et structuré, respectant des normes comme ECMA-262 pour l'ActionScript 1 et ECMAscript 4 pour l'ActionScript 2. L'évolution ne s'est pas toujours faite en douceur, et les remises en cause des connaissances acquises par les graphistes flasheurs ont souvent été difficiles. À l'origine, évoquer la programmation Flash devant un informaticien lui faisait afficher au mieux une moue dubitative, au pire le voyait partir dans de grands rires moqueurs. Aujourd'hui, la programmation Flash est considérée comme un métier de programmeur à part entière, en complémentarité du métier de graphiste ou d'animateur. ActionScript 2 a en outre apporté la POO, programmation orientée objet, façon très différente de concevoir ses projets, assez déroutante car d'une logique intellectuelle tout à fait originale, parfois difficile à appréhender pour un graphiste qui aurait appris à coder "sur le tas", et évidemment plus abordable pour un programmeur informaticien de formation. Il en résulte toutefois pour le débutant une certaine difficulté à acquérir la manière de penser nécessaire à une programmation rationnelle, et l'étendue des possibilités peut apparaître comme une étendue des difficultés...
Pourtant l'intérêt de coder, c'est qu'une animation bien réalisée par programmation est plus légère à charger et peut être mieux optimisée au niveau de la charge processeur qu'une animation faite entièrement "en dur". Flash est très gourmand sur ce point-là. Les possibilités créatives sont surtout beaucoup plus vastes. Une fois qu'on s'est mis à la programmation, on se rend compte qu'on peut difficilement revenir en arrière et se contenter des outils d'animation, à moins de ne vouloir faire que du film sans aucune interactivité, et là encore, la programmation peut ouvrir des champs d'expérimentation passionnants : application de formules physiques et mathématiques, programmes aléatoires, débuts d'intelligence artificielle, moteurs 3D temps réel...).
On peut aussi rendre ses projets Flash dynamiques, dans le sens où leur contenu est variable, avec par exemple un contenu pioché dans une base de données selon des critères définis au moment de la lecture, comme c'est le cas pour de plus en plus de sites HTML. La maintenance et l'édition du contenu s'en trouvent facilitées et déléguées à un non-flasheur. On peut également faire communiquer une animation Flash avec un serveur en temps réel pour par exemple développer des applications multi-utilisateurs (jeux, vidéo, chat...).
En survol des nouveautés ActionScript, on trouve toutes les actions correspondant aux nouvelles capacités d'effets bitmaps de Flash 8 ainsi qu'à sa nouvelle gestion de la typographie et de la vidéo. Flash permettait déjà de créer par programmation des objets vectoriels manipulables, désormais il y a aussi une classe BitmapData qui permet de créer par programmation des objets pixélisés et manipulables. La classe ColorTransform permet de manipuler les couleurs d'un clip de manière plus efficace que l'ancienne classe Color qu'elle remplace. La classe FileReference permet de charger ou télécharger des fichiers entre l'internante et le serveur. La classe Locale permet de gérer des sites multilingues et le changement d'une langue à une autre, associée à une structure des contenus en XML. Il y en a d'autres, ainsi que beaucoup de nouvelles méthodes ajoutées aux classes existantes, facilitant et enrichissant le développement...
Flash MX 2004 a apporté la possibilité d'externaliser le code dans des fichiers textes as rédigés avec n'importe quel éditeur de texte compatible Unicode, ce qui permet par exemple de déléguer le développement sur une équipe, ou de réutiliser facilement du code dans différents fichiers Flash... Ces fichiers externes sont alors réintégrés lors de la compilation en .swf.
La fenêtre de code ActionScript dans Flash se voit à nouveau réorganisée : elle combine désormais le mode normal qui avait disparu dans MX 2004, revu et corrigé sous la forme d'un assistant de script, avec le mode expert. On a donc une "page blanche" dans laquelle le code s'affiche avec une coloration syntaxique facilitant la lecture et l'écriture, un dictionnaire ActionScript sur le côté et une aide à la rédaction. On peut bien sûr modifier l'apparence de cette page, changer la police de caractère et toutes les couleurs.

Les grosses lacunes de Flash en général, et la programmation ActionScript n'y change que peu, résident dans l'accessibilité. Rien n'est fait pour faciliter, par exemple, la vie aux malvoyants en rendant plus aisées la lecture des contenus ou la navigation au clavier. Rien n'est prêt en standard dans Flash pour cela, ou si peu, et tout dépend donc de la volonté du programmeur de développer de telles possibilités sur son site Flash. C'est d'autre part, et ce reproche date depuis le début, l'impossibilité de référencer du Flash par les moteurs de recherche, car ces derniers ne peuvent pas lire les textes contenus dans un .swf. Il ne reste que les métadonnées dans la page .html, ce qui est assez limité.
Flash ne se limite pas aux animations exécutées sur micro-ordinateur. Il permet également des réalisations à destination des appareils mobiles, téléphones portables notamment avec les contenus iMode par exemple. Le plug-in est différent, il s'agit de Flash Lite, qui arrive aujourd'hui en version 1.1. La programmation pour Flash Lite est basée sur la syntaxe de l'ancien Flash 4, plus réduit et plus léger que l'ActionScript actuel.
Quelques tests
Voici quelques essais pour se faire une petite idée, réalisés à partir d'un travail récent : un fichier .fla de 8,9 Mo et une vidéo .Mo à compiler. Ils n'ont pas valeur de véritable test de performance quant à la différence de puissance des machines, le niveau d'optimisation supposé des logiciels ou la différence de vitesse entre Flash MX 2004 et Flash 8 et peuvent varier suivant les configurations matérielles et systèmes de chacun. L'interface de Flash 8 est moins buggée, ce qui améliore franchement le confort de travail et la productivité.
Sur le plan des performances, Flash 8 est globalement plus rapide que Flash MX 2004 si on compare en pourcentage, mais en pratique, si on compare en durée réelle, le gain ne va pas augmenter la productivité significativement puisque ça joue en général sur des temps plutôt courts. C'est sur les gros calculs de vidéo qu'on voit apparaître de grosses différences. Au niveau matériel déjà, le G5 semble digérer la vidéo deux fois plus vite que le portable, ce qui, rapporté aux puissances respectives, n'est pas une performance extraordinaire. Le résultat étonnant sur l'import de la vidéo dans un .fla puis export en .flv depuis la bibliothèque qui donne Flash MX 2004 bien plus rapide que Flash 8, n'est pas essentiel car il est rare voire déconseillé avec Flash 8 de gérer la vidéo directement dans les .fla. Le format compilé .swf est limité en nombre d'images-clés (soit 10 min de vidéo à 25 i/s) et surtout souffre d'un problème de désynchronisait du son et de l'image. Le format .flv est désormais vivement recommandé pour sa souplesse.

Conclusion
Cette nouvelle version est une mise à jour importante, voire essentielle tant elle est riche. Des nouveautés et des améliorations qu'on attendait depuis longtemps, une stabilisation du logiciel sur notre plate-forme avec des performances en légère hausse, hélas pas encore égales à celles de la version PC. Il y a de fortes chances pour que la prochaine version optimisée processeurs Intel apporte un gain de puissance très important sur ce point et on se prend à rêver d'être plus rapides sur MacIntel que sur Wintel. Par contre, pour ce qui est des possibilités du logiciel, il semble qu'on atteigne une certaine maturité sur les aspects graphiques et formalisme du code. Flash peut encore beaucoup progresser comme on l'a vu sur l'accessibilité, le référencement et la performance, aussi bien du logiciel, que de la lecture d'animations dans un navigateur, surtout sur Mac. On pourrait aussi imaginer voir arriver la gestion d'objets 3D comme en bénéficie Director depuis des années, et probablement d'autres choses encore. En attendant, j'espère que cette présentation aura donné envie à ceux qui ne connaissent pas Flash de le découvrir, et aux autres, si besoin en était, de franchir sa nouvelle dimension...