Flash, open-source ?

Posté le jeudi 19 juillet 2007 à 8 h 40, Read it in english with Google

Le format Flash devient de plus en plus utilisé. A tel point que des éditeurs non propriétaires ont fait leurs apparitions.

Pour créer du contenu Flash de nos jours, vous n’êtes en aucun cas obligé d’acheter une licence à 700$ chez Adobe pour avoir leur compilateur et leur éditeur Flash. Vous pouvez maintenant utiliser des outils open-source comme mtasc associé à swfmill et vous pourrez reproduire la même chose que ce que vous vends Adobe et gratuitement, mais, différemment.

Et c’est ce différemment qui gène. Même si, il faut se le dire, l’éditeur propriétaire Flash a vraiment une organisation à se tordre le coup pour les gros projets, il a néanmoins le mérite de nous mettre directement dans le bain. Vous voulez créer un cercle qui bouge de gauche à droite ? trop facile ! Vous voulez intégrer un contenu dynamique avec une class pour le dialogue client/serveur ? c’est déjà largement plus ardu.
Et vu l’organisation de l’espace de travaille de l’IDE Flash, ça l’est encore plus. Vous écrivez du code actionscript un peu partout, vous valsez sans cesse entre l’édition du code, du graphisme et de la barre des temps… Bref c’est pas optimisé tout ça. Alors qu’avec les outils open-source, c’est simple, un éditeur de texte suffira. Par contre vous mettrez surement 3 fois plus de temps à créer votre cercle qui bouge de gauche à droite…

Vous l’avez compris, l’éditeur Flash est fait pour les graphistes et pas pour les codeurs. Mais le format Flash n’est-il pas destiné à être un format graphique à la base ? Il semble qu’Adobe dérive de plus en plus le projet pour l’orienter coding. La version 9 propose des avancés considérables grâce à Actionscript 3 mais l’IDE n’a pas changé d’aspect.

Cependant Adobe à sorti d’autres outils entre temps. C’est le cas de Flex : un format basé sur XML associé à un éditeur et à un compilateur. Cela vous permet de créer du code qui rend du Flash, ce qui manquait relativement à l’IDE Flash historique. Mais lorsqu’un graphiste vous envoie sa toile, vous êtes bien embêté pour le convertir en format Flex.
Cependant mtasc le fait plus ou moins puisque ce compilateur peut créer un swf ou bien remplacer le code actionscript contenu dans un swf existant, mais il faudra quand même faire correspondre les identifiants des ressources (jpg flv…etc intégré par l’IDE) dans votre code. Vous vous retrouverez donc à jongler entre votre code et l’IDE, mais c’est déjà étonnement plus simple que de tout faire dans l’IDE.

Quelques bonnes nouvelles cependant : Adobe (comme bien d’autre) est très emballé par Eclipse et va bientôt sortir un plugin permettant d’éditer du Flash dans celui-ci. Espérons qu’il y aura une interface graphique et la possibilité d’importer un fichier fla.

Du coté open-source, on développe également un plugin pour Eclipse nommé FAMES :

  • F Flashout : plugin Eclipse pour visualiser les swf (non open-source)
  • A ASDT : éditeur actionscript pour Eclipse
  • M MTASC : le fameux compilateur actionscript libre
  • E Eclipse : facile !
  • S swfmill : le compilateur swf de ressource graphique (png, jpg, ttf ou swf addictionnel)

Flashout étant non open-source et, comme swfmill, n’est pas nécessairement intégré, on peut donc également nommer le plugin FAME, AME, ou AMES.

Le projet est neuf est il est encore difficile à installer. Aucun éditeur graphique (direct swf) n’est prévu, et les ressources doivent être importées grace au XML de base de swfmill. Mais cela vous simplifiera la vie pour compiler vos code, le plugin utilise Apache ANT (intégré à Eclipse) pour envoyer des commandes aux compilateur (mtasc et swfmill).
Des éditeurs d’images existent déjà dans Eclipse. On peut donc imaginer que bientôt nous n’auront plus a touchez au XML de swfmill et que l’intégration sera fera graphiquement mais attention je ne parle pas du placement de plusieurs images dans le swf…

Le point noir de l’open-source est que mtasc ne compile pas en ActionScript 3 pour l’instant et il semble peut probable qu’il le face à l’avenir. Les développeurs se sont tournés vers un autre projet : haxe. C’est une plateforme abstraite permettant à l’aide de l’actionscript (et d’un framework adapté) de produire des fichiers html, javascript et swf. Vous connaissez certainement le site miniville, et bien celui-ci à été construit grâce à haxe. C’est donc un projet très au point et très utile pour qui sait s’en servir. Mais le framework est lourd et bondé de fonctions, il vous faudra donc un bon moment avant de le maitriser.

Jusqu’à présent toutes les solutions open-source permettent uniquement de créer des swf à partir de code, mais il existe un IDE Flash open-source : f4l. Encore en version beta et uniquement disponible sous Linux, ce petit éditeur ne paye pas de mine mais est loin d’égaler l’excellent éditeur propriétaire qu’il tente malheureusement de reproduire…

En conclusion nous avons donc d’un coté Adobe, fidèle a son IDE, pourrie certes mais constant, pas de surprise c’est toujours le même; et de l’autre plusieurs projets permettant d’obtenir la même chose, voir mieux, mais de façon différente et pas forcément adapté pour certains. Haxe rend les choses encore moins faciles car si mtasc n’évolue pas, il faudra se tourner vers lui, et du coup se réadapter au framework, encore. On tombe un peu dans ce que j’appellerais le virus de l’open-source, c’est libre du coup il y a plein de projet et trop de manières différentes de faire les choses. Ainsi on arrive pas à se fixer sur un projet pour le maitriser à fond car un autre arrive et semble plus pratique. On perd donc son temps a maitriser tout ces frameworks et au final je doute que l’on y gagne.
Si vous désirez développer de gros projets dynamique, je vous recommande fortement une solution open-source, haxe en particulier car compatible AS3, mais si vous voulez faire des pubs, tournez vous vers l’IDE d’Adobe.

référence : JIDE blogosflashAdobe

5 réponses à “Flash, open-source ?”

  1. luce

    Bonjour,

    Petite parenthèse, on peut être codeur et faire du flash !!!
    Les « soft », même opensource sont pour les graphistes, mais pour les codeurs php, il faut pas oublier qu’il existe une lib pour ça !

    Certes, on ne l’a voit pas beaucoup sur les hébergeurs « CPANEL », apparament c’est incompatible, mais des hebergeurs l’ont installé (ovh, wdmedia-heberbement….)
    C’est MING !!!
    http://ming.sourceforge.net/

    Une fois que l’on commence a bien comprendre la lib, c’est assez facile, et pour apprendre, il y a de bon exemple ici :
    http://www.gazbming.com/

    Voila, à vous !

  2. blog.geturl.net contient sur le sujet :

    [haXe] – Présentation à 24C3…

    Si vous avez ne savez pas ce qu’est haXe ou Neko, ou encore que vous avez besoin de savoir un peu plus avant d’y consacrer du temps, ce qui suit devrait vous intéresser. Nicolas Cannasse était en Allemagne fin décembre pour présenter son bébé….

    le mardi 22 janvier 2008 @ 16 h 27
  3. lex

    Haxe (digne successeur de mtask) et Open Laszlo sont des outils open source tres concurentiels de Flash et Flex. Cependant ils sont clairement orienté développeur, comme la plupart des softs open source flash.

    Si vous ne faites pas partie de cette « élite » ou bien si vous désirez nous aider à rendre le pouvoir de créer des sites en Flash à des non-programmeurs, utilisez SILEX, le seul CMS en Flash qui soit open source.

    a+ sur http://silex-ria.org/

  4. jean-michel

    je pense qu’on peut utliser des classes AS3 dans mtasc bien sur il faut un peu les modifier
    ce qui je pense à déja été fait par certains
    en effet les fonctions existent dans le flash player je ne vois pourquoi on ne pourrait pas les utiliser
    personnellement j ai (re ) commencé ça compile mais j ai quelques soucis

  5. jean-michel

    salut je n ai finalement pas réussi avec mtasc
    mais j’ai appris depuis que swfc de swftools.org et as3compile du meme site faisait l’as3
    voici qques exemples http://jeanmiche.gens.free.fr/swfc

Laissez un commentaire :