Flash Optimizer, le 'régime minceur' pour vos SWF
Par Contributeur - Publié le
Réduire le poids de vos fichiers Flash
Flash Optimizer facilite cela en proposant des procédures simplifiées et des outils propres à Eltima pour optimiser les fichiers SWF, et les compresser. Ce gain de poids peut se révéler fort utile pour un site Web dont certains visiteurs ne bénéficient pas d’une connexion haut débit. Il sera également bienvenu pour tous ceux qui ont des limites de bande passante à ne pas dépasser sous peine de devoir payer plus cher l’hébergement de leur site internet. Enfin, l'intérêt le plus manifeste quel que soit le type d’hébergement ou les vitesses de connexion, reste la diminution du temps de chargement des pages contenant des fichiers Flash, grâce à l’optimisation des MC (Movie Clips). Pour peu qu'ils incorporent des vidéos, de la musique et des fontes exotiques, ils peuvent être très longs à charger.
Une réduction de leurs tailles réduit donc la frustration des visiteurs du site, coincés devant leur écran tristounet qui égrène le pourcentage téléchargé du fichier SWF à la vitesse d’une tortue neurasthénique sous psychotropes.
L'optimisation d'un SWF dans lequel j'avais utilisé du texte en japonais a permis de lui faire gagner presque 50 % de son poids. Chose très appréciable, car la taille originale était de 6 Mo, dont 90 % était occupé par la police japonaise placée par Flash dans le fichier, comme l'Inspecteur de Flash Optimizer me l'a révélé. Flsh Optimizer fournit même des informations, consultables dans le log, sur les erreurs rencontrées en analysant le SWF.
D'un usage aisé
Développé depuis 2005, Flash Optimizer est d'un usage aisé grâce à une série de réglages (« sets » ) fournis par l’éditeur : Compression de base, sans perte de qualité, Compression importante avec réduction de la qualité du SWF, Compression moyenne procurant une bonne qualité, Bonne compression mais qualité moyenne et un préréglage pour les SWF incorporant beaucoup d’images (optimisation des 'Sprites' notamment). Plus la compression est haute, plus la place gagnée est importante. Mais également, plus la qualité visuelle ou sonore du SWF s’en ressent. Cette série d’options préréglées permet de prendre rapidement en main le logiciel, même pour les débutants en Flash.
Une optimisation aisée grâce à des préréglages
Cependant, rapidement, on s’aperçoit que si les Sets proposés sont une excellente base de départ, il est souvent nécessaire de peaufiner les réglages soi-même. En effet, Flash Optimizer permet de configurer les différentes options et éléments du fichier SWF sur lesquels l’optimisation va porter.
Flash Optimizer a plusieurs cordes à son arc. Il utilise d'une part les moyens de réduire le poids des fichiers déjà présents dans Flash, mais qu'Adobe a soigneusement éparpillés dans différents menus et sous-menus et préférences, alors qu'ils sont regroupés et placés logiquement dans l'interface du programme d'Eltima. D'autre part, il fournit une série d'outils qui lui sont propres pour améliorer la cure d'amaigrissement. Le programme utilise donc 3 méthodes pour optimiser les SWF : la première agit sur les vecteurs qui composent une grande partie des SWF (fontes, images, Shapes...) en supprimant les points inutiles et en simplifiant leurs tracés. La deuxième consiste à nettoyer les fichiers de data qui sont inutiles et n'apparaissent pas à l'écran (métadonnées, tags divers, symboles présents dans la librairie, mais pas utilisés dans le MC...). La troisième méthode s'intéresse plus à réduire le poids des données audio ou vidéo principalement en les comprimant. Elle offre une grande variété de paramètres, et comme ceux-ci sont subjectifs (jusqu'à quel point va-t-on accepter de voir la qualité d'une vidéo baisser ?), elle demande souvent à utilisateur de faire le choix du degré de perte de qualité qu'il est prêt à accepter au profit d'une taille du fichier réduite.
Sans aller jusqu'à décrire en détail les algorithmes spécialisés, ce que fait d'ailleurs très bien le menu Aide du logiciel (en Anglais, bien que le reste du logiciel soit traduit en Français), Flash Optimizer propose une série de réglages que l’on sélectionne facilement, en les cochant ou en les décochant : compression Zlib (mais le fichier généré demandera au moins la version 6 du Player Flash) et simplification des vecteurs utilisés par les Shapes, optimisation des 'Morphs' et des polices de caractères en remplaçant les courbes vectorielles les constituant par des versions plus concises.
De nombreux biais d'optimisation
Le programme a dans sa trousse à outils une série d'autres techniques pour compresser la taille des fichiers. Il permet de simplifier les procédures et fonctions des Movies Clips (Scales Optimisation). Il recherche les objets comportant des points qui ne sont pas indispensables (Zero-point optimisation) pour les éliminer. Il sait aussi supprimer les tags non utilisés ainsi que les objets invisibles et inutilisés. Il s’attaque enfin à la réduction du poids des médias intégrés dans le SWF, tant les images (suppression des métadonnées des images JPEG, conversion automatique des images en format JPEG, réduction de la taille des images, des vidéos et/ou de leur degré de compression JPEG…) que les sons (optimisation des sons streamés, conversion des sons stéréo en mono, modification du Bitrate et du Sample Rate pour gagner de la place...) et de la vidéo ( taille de la vidéo et réduction du Bitrate initial du clip vidéo). Pour chacune de ces options, Flash Optimizer propose même d’accéder à des réglages encore plus fins et détaillés. Si la plupart des utilisateurs se passeront sans doute de cette possibilité de pousser les réglages de façon encore plus précise, les codeurs Flash professionnels apprécieront ce degré supplémentaire de liberté qui leur ait laissé pour peaufiner les réglages de l'optimisation de leurs codes.
Des préréglages à la possibilité de tout personnaliser
Pourquoi cette multiplication d’options et de réglages laissée à l‘utilisateur ? L’idéal serait bien sûr un bouton unique à cliquer, qui s’occuperait tout seul de l’optimisation du fichier SWF. Mais les fichiers Flash peuvent être d’une telle variété et contenir une telle diversité de médias qu’il est impossible de proposer une compression automatique, optimale pour n’import quel type de fichiers SWF. Autrement dit, il est aisé d’obtenir une diminution honnête de son fichier SWF via les préréglages proposés. Mais pour peu que l’on cherche à vraiment tirer le maximum des capacités de réduction de poids de Flash Optimizer, il faudra se lancer dans les essais en tentant de modifier les réglages proposés de telles ou telles options. Cela dit, les 5 sets de pré-réglages proposés par Eltima sont simples à sélectionner et à mettre en œuvre. S’ils ne donnent pas forcément l’optimisation optimale, ils permettent aux plus débutants de bénéficier en un tour de main d’un excellent gain de place.
Eltima a même simplifié la vie de l'utilisateur souhaitant aller un peu plus loin. Si ce dernier essaie de customiser un set prédéfini pour l’adapter à son fichier SWF particulier, il trouvera les différents critères d’optimisations regroupés de façon logique et pratique. De même, il pourra aisément voir le gain potentiel que tel ou tel choix de compressions apportera, car on peut réaliser une optimisation du fichier SWF sans sauvegarder le résultat. Cette option ouvre une fenêtre affichant les caractéristiques du SWF original et celles du SWF optimisé, mettant en avant le temps passé pour le processus d’optimisation, le pourcentage de place gagné total et par type d’objets présent dans le fichier (formes vectorielles, morphing, fontes, code AS, images, sons, vidéo, compression Zlib…). L’inspecteur affiche même 2 petites reproductions des 2 SWF (original et optimisé) permettant de vérifier que le déroulement du code fonctionne bien après la cure d’amaigrissement subie, et de comparer par rapport à l’original une éventuelle diminution de la qualité des éléments (augmentation de la compression JPEG, baisse de la taille des images/vidéos…). La possibilité de prévisualiser les SWF dans Flash Optimizer ne fonctionne cependant pas pour tous les SWF, pou peu qu'ils soient un peu 'exotiques' ou complexes. Et il faut parfois sauvegarder la version SWF optimisée pour la tester réellement avec un player Flash externe.
Cent fois sur le métier, tu remettras ton ouvrage...
Les essais peuvent être nombreux, car si l‘on pousse certaines optimisations un peu loin, il arrive que l’on brise le fonctionnement du code Action Script. Pour éviter les mauvaises surprises, il est conseillé de commencer par analyser son fichier SWF grâce à l’inspecteur de Flash Optimizer. Il détaille les éléments composants le fichier (Shapes, Morphs, Fonts, actions, Pictures, Sound, Video…) et donnent leurs tailles en bytes et en % du fichier total. Il permet ainsi d’avoir rapidement une idée sur la composition du fichier, sur les éléments les plus volumineux et donc sur le type de réglages à leur appliquer.
L’étape suivante consiste à appliquer un des préréglages proposés. Puis, si l‘on veut pousser l’optimisation encore un peu plus loin, poursuivre en modifiant les réglages de cette option, les uns après les autres, via une série d’essais allant de plus en plus loin. Si l’on s’aperçoit que le dernier réglage effectué empêche le fichier SWF de fonctionner, ou diminue sa taille au détriment un peu trop marqué de la qualité visuelle ou sonore, il est temps de revenir aux réglages d’optimisation précèdent et de s'arrêter là ou d'essayer de modifier un autre type de réglages.
Evidemment, les fichiers SWF trouvés sur le web, et déjà optimisés par leurs créateurs ne donnent pas un gain de place très important.
Une interface simple et claire
L’interface de Flash Optimizer est assez simple : elle est composée d’une fenêtre principale comportant une rangée d’icônes dans sa partie supérieure. Au milieu de la fenêtre se trouvent 2 emplacements destinés à afficher une version réduite du SWF original et de la version optimisée pour comparer leur qualité, et des icônes reprenant les commandes habituelles de contrôle de vidéos (Stop, Pause, Avance rapide, Retour rapide…). Enfin, la partie la plus basse de la fenêtre accueille la liste des fichiers SWF à optimiser.
Pour y placer un nouveau fichier SWF, on peut avoir recours à la commande ‘Open’ du menu ‘File’ ou se servir d’un Glisser/Déposer depuis le Finder. À la droite de la liste des fichiers SWF à traiter se trouve un petit aperçu affichant le contenu du SWF sélectionné. Il permet de vérifier rapidement s’il s’agit bien de la bonne version du fichier que l’on souhaite optimiser, ce qui est bien pratique quand on se retrouve avec un dossier rempli de versions successives d’un fichier SWF.
La rangée d’icônes en haut de la fenêtre fournit l’interface pour sélectionner les paramètres à optimiser et pour lancer la procédure. La première icône en forme de dossier ouvert est une autre façon que le simple Glisser/Déposer de placer le nom d'un fichier SWF dans la liste des fichiers à traiter. Les 2 icônes suivantes en forme de disquette permettent d’effectuer la sauvegarde (‘Save’ ou ‘Save as…‘) du fichier optimisé. Les 2 icônes qui suivent permettent de faire une optimisation sans exécuter de sauvegarde, pour avoir une idée du gain obtenu avec les modifications que l’on vient de faire aux paramètres, ou bien de lancer une optimisation en batch de tous les fichiers SWF se trouvant la liste. Cette possibilité est très pratique lorsqu’on a une série de fichiers SWF aux paramètres et contenus très proche. Il suffit alors de faire les réglages de compression/optimisation pour l’un d’entre eux, et de laisser Flash Optimizer s’occuper tout seul comme un grand de tous les fichiers pendant que l’on vaque à d’autres occupations. Un fichier Log est créé à chaque optimisation, avec le détail des opérations, que l‘on peut sauvegarder. L’avant-dernière icône avec un « i » dans une bulle donne accès à une fonction indispensable; l'Inspecteur. Après avoir sélectionné un fichier SWF à optimiser, cette icône affiche une fenêtre qui fournit des informations sur les éléments qui le composent. Enfin, la dernière icône en forme de rouage donne accès à l‘autre fenêtre principale : celle des paramètres de la compression/optimisation.
Gains et rapidité d'exécution
Le site d'Eltima annonce des gains de réduction du poids des fichiers de l'ordre de 60 à 70 % de leur taille initiale. La réalité est plus variée, même si c'est souvent le cas. On peut comparer Flash Optimizer à un régime amaigrissant. De même qu'il est difficile de donner le chiffre précis de perte de poids que l'on peut espérer d'un tel régime tellement la corpulence, l'âge, le poids et l'activité physique des gens varient, de même l'extrême diversité des médias sonores ou visuels présents dans un fichier SWF, et les différences de dextérité des codeurs rendent la diffusion d'un telle estimation hasardeuse. Le chiffre moyen fourni n'a qu'un intérêt très relatif, vu l'importance des différences qui peuvent exister. Une personne sportive aura beau suivre le même régime qu'un individu plus "enveloppé" et moins porté sur l'exercice, elle verra sans doute moins de changement de poids, ayant moins de calories à perdre... Cela dit, les tests que j'ai faits (avec mon niveau de débutant en développement Flash) montre qu'effectivement, dans la plupart des cas, on peut espérer une compression tournant autour de 50 % pour peu que le fichier SWF comporte des médias un peu volumineux et/ou variés. Mais, là encore tout dépend des fichiers SWF. Dans certains cas (fichiers très légers ou développés par des codeurs ayant déjà préparé les données multimédias intégrées afin qu'elles occupent un poids minimal), le gain peut être négligeable, voire nul...
J'ai testé Flash Optimizer sur un MacBook Pro (2,4 GHz 4 Go de RAM). La rapidité du logiciel est très bonne : les fichiers sont analysés et optimisés rapidement, et même ceux qui occupent jusqu'à 5 ou 6 Mo ne prenaient pas plus de 2 minutes trente pour être traités. Question matériel, Flash Optimizer demande au minimum un G4 sous OS 10.3 avec 128 Mo de Ram pour tourner, et un G4 (ou mieux) à 1 MHz, avec 512 Mo de RAM est recommandé. Le programme (Universal Binary) est parfaitement compatible avec Leopard. La stabilité du logiciel ne m'a pas non plus posé de problèmes. Si j'ai eu quelques (très rares) expériences du programme quittant en cours de traitement d'un fichier SWF, tout me porte à croire qu'il venait plus des fichiers Flash un peu "exotiques" que je lui soumettais ou de mon système customisé, bourré de gadgets, de plugs-in et de hacks à faire blêmir un ingénieur d'Appleu.
Alors, elle arrive la conclusion ?
Alors, Flash Optimizer vaut-il ses 89,95 € ? Cela dépend évidemment de l'utilisation que l'on fait de Flash. S'il s'agit d'une utilisation professionnelle, Flash Optimizer est définitivement un outil à envisager. Pour une utilisation personnelle, les choses sont moins évidentes, mais la simplicité apportée ne serait ce que pour quelques bannières et sites web faisant largement appel à Flash, peut suffire à justifier l'achat. Eltima propose 3 licences : une licence personnelle, valable pour un ordinateur unique, ou une Busines Licence (259,95 €) qui permet d'installer le programme dans les ordinateurs de la société dans un seul site géographique. Enfin la 'Unlimited Business Licence' à 429,95 €, étend les possibilités de la Business Licence en permettant d'installer des licences sur toutes les machines des employés de la société quelque soit l'emplacement des filiales, et quelques soit les OS employés puisque Flash Optimizer existe également sous Windows. Pour permettre à ses clients potentiels d'évaluer le logiciel, il est téléchargeable librement sur le site de l'éditeur. Tant qu'une licence n'a pas été acquise, il agit en tant que démo : toutes les fonctions du logiciel sont disponibles, mais le fichier SWF optimisé est en noir & blanc. Quel que soit ce que l'on peut penser du prix demandé, une chose reste sure : Flash Optimizer tient ses promesses. Il est simple d'emploi, et permet une utilisation immédiate grâce aux préréglages, tout en donnant l'accès à des optimisations plus poussées.
Flash Optimizer, prix : 89,95 €