
OSMF (Open Source Media Framework) est, comme son nom l’indique, un framework open source (qui a dit qu’Adobe proposait que des solutions propriétaires ?
) qui permet aux développeurs de réaliser des lecteurs vidéos et des applications basées sur la solution Adobe® Flash® Platform.
Pour un dev Flash, c’est n’est pas très compliqué de faire un player vidéo tant que les fonctionnalités restes basiques : play, pause, stop, scrub, volume… Mais ça se complique sérieusement dés qu’on veut ajouter des fonctionnalités plus poussées comme : sous-titres, playlists, HD, publicités et surtout du vrai streaming… C’est là que vient se positionner OSMF. Adobe à pour objectifs de proposer une solution robuste et éprouvée qui permet d’accélérer le temps de développement.
La finalité de cet outil c’est de définir des « standards » de développement s’intégrant à Open Screen Project.
L’intérêt que je vois à utiliser OSMF c’est de pouvoir intégrer rapidement et facilement un player vidéo riche à mes développements grâce à une API simple est claire. Je vais faire quelques tests pour voir si ça tient ses promesses.
[Edit] Le site dédié.

Robotlegs est un framework AS3 basé sur une micro-architecture MVC-S 100% AS3 pour Flash, Flex et Air. Il y a eu beaucoup de buzz sur Twitter de la part de la communauté Flash/Flex (merci à @Palleas) concernant Robotlegs du coup je m’y suis intéressé.
Ce framework m’a tout de suite fait penser à PureMVC mais en plus accessible. Contrairement à PureMVC, Robotlegs utilise le model événementiel intégré à l’AS3 pour communiquer entre les éléments MVC. RobotLegs utilise l’injection de dépendances pour « lier » les objets entre eux à travers des tags spécifiques ([Inject], …). L’inconvénient de ces tags c’est que le compilateur de l’IDE de Flash ne sait pas les interpréter du coup il faut privilégier un workflow avec le compilateur de Flex. L’utilisation de l’IDE Flash reste cependant possible mais j’avoue ne pas avoir encore tout compris
.
Le diagramme de l’implémentation MVC-S de RobotLegs (ici un exemple de slideshow).

Ce diagramme est tiré de slides d’une conférence disponible ici, à lire pour tout comprendre

Une mise-à-jour importante de mon outil de développement préféré est disponible. Il s’agit de la version 3.1.0 RTM, voici la liste des changements :
* Real MXML completion implemented* Flash Player 10.1 and Flex 4 support added
* Initial simple refactoring support added
* Global excluded directories added to Tasks
* Embed generation now added for all filetypes
* Proper file encoding behaviour without BOM added
* HTML ZenCoding implementation added (Control + B)
* Output panel is now searchable (Highlight, F3 and Shift+F3)
* Simple multiproject support with batch compiling added (1*)
* Compiler constants and timestamp added now automaticly
* Code completion is now fed with classes from SDK sources
* Japanese localization added (Settings -> SelectedLocale)
* HaXe on demand completion added (patch from filt3r)
* Additional keyword groups added to the config
* Code completion improvements and bug fixes
* General UI improvements and bug fixes
On notera la création d’un outil de refactoring (faut que je teste ça vite) et la compilation en batch de plusieurs projets.
Dans les tuyaux il reste toujours le debugger et le profiler. Et une bonne nouvelle pour les linuxiens, il semblerait qu’une version Mono/Qt soit sur les rails.
Edit: On me souffle dans l’oreillette qu’une version expérimentale est dispo pour tester le debugger et le profiler ici.

Petite astuce pour optimiser le poids d’un SWF grâce aux modes de fusion.
Récemment, sur un projet, j’ai du réaliser une petite anim en Flash sur la home page du site Cavissima. J’avais une grosse contrainte de poids, j’ai optimisé à fond les éléments graphiques mais ce n’était pas suffisant. L’élément graphique le plus lourd était un PNG transparent représentant une vigne.
La solution que j’ai mise en place est d’exporter la vigne sur fond blanc (donc pas de transparence) et de mettre le MovieClip qui contient l’image dans le mode de fusion « Darken ».
Vu que j’ai un fond claire, le Player Flash va « aplatir » mon image sur le fond en fusionnant les pixels de teintes claires. Cela fonctionne dans mon cas parce que j’ai un fond claire, si il avait été foncé cela n’aurait pas fonctionné.
J’ai fait un petit exemple :
- fichier swf avec PNG transparent —> 85 Ko
- fichier swf avec PNG sur fond blanc en mode fusion « darken » —> 36 Ko
This movie requires Flash Player 9
Fichiers source de l’exemple ici.

Pour utiliser les classes du pakage fl (fl.transitions.Tween, fl.motion.easing, …) dans un projet FlashDevelop avec le compilateur Flex et CS4, il faut dire à FlashDevelop où elles sont stockées. Pour ce faire, il suffit d’aller dans les settings –> AS3Context –> User Classpath et de copier/coller le chemin aux classes. On peut aussi aller dans Tools –> Global Classpaths…
Voici ce qu’on peut trouver dans mes « Global Classpaths » pour une config avec CS4 et Windows 7 64 bits :
C:\Program Files (x86)\Adobe\Adobe Flash CS4\Common\Configuration\Component Source\ActionScript 3.0\User Interface
C:\Program Files (x86)\Adobe\Adobe Flash CS4\Common\First Run\Classes
C:\Program Files (x86)\Adobe\Adobe Flash CS4\Common\Configuration\ActionScript 3.0\projects\Flash\src
C:\Program Files (x86)\Adobe\Adobe Flash CS4\Common\Configuration\Component Source\ActionScript 3.0
Attention pour CS3 les chemins sont un peut différents, si je me trompe pas ça doit être un truc du genre :
C:\Program Files (x86)\Adobe\Adobe Flash CS3\en\Configuration\ActionScript 3.0\Classes

Une mise à jour de MonsterDebugger est dispo, il s’agit de la version 2.51. Pour ceux qui ne le serrait pas, MonsterDebbuger est un outil assez intéressant si vous codez en ActionScript 3. Fait en Air et OpenSource, il offre la possibilité de tracer de façon détaillée vos variables, on peut aussi avoir une vue arborescente d’une application. En plus de ça, il est aussi possible d’éditer et donc de modifier les valeurs des propriétés à l’exécution, les méthodes de vos classes peuvent être aussi testées en « live ».
Voici le log :
Version 2.5.1 changes:
* Added constants that where accidentally removed in 2.5
Version 2.5 changes:
* Focus on a live application node refreshes the node
* Quotes are now displayed correctly
* Multidimensional Vectors now work properly
* Minimum display size is smaller
* Added a shift modifier to the numberic stepper
* Added auto scroll the traces datagrid
* Added auto clear the traces on connect
* Added auto update for the inspector
* Added a new overview in the memory monitor
* All event listeners are now weak references
* All methods are protected instead of private
* Messages are now bufferd and send on connect
Je me sers professionnellement de ce debugger depuis maintenant 6 mois et j’en suis très satisfait. Vue qu’il est OpenSource, on peut facilement le modifier avec FlahBuilder.
Pour info, j’ai fais remonté, via twitter, à l’équipe de De Monster une petite boulette qui s’était glissée dans la version 2.5 (suppression des constantes public static const COLOR_NORMAL…). Ils ont très vite réagit en déployant la version 2.5.1.
Bravo l’équipe des monstres de De Monster !t

Encore une mise à jour de FlashDevelop 3. Elle est dispo ici, voici le log :
* Whole word option added to the quick find control
* Added an option to force FlashDevelop render controls only with system colors
* You can now find and replace files in ProjectManager directories and classpaths via context menu
* ASCompletion fixes, regex engine fix and and small user interface fixes
Aller hop, on update.

Je suis tombé sur ce framework un peu par hasard (merci twitter). The HYPE framework met en avant le fait que l’actionscript gagne en maturité ce qui est très bien mais qui à comme effet pervers de le rendre moins accessible notamment pour les créatifs.
Le principal intérêt de HYPE est de permettre aux personnes qui ne sont pas hard coder ou aux néophytes de pouvoir faire mumuse de façon créative sans être bridé par une connaissance un peu limite en AS3.
Je trouve ce framework assez intéressant, la façon dont il a été pensé fait qu’il n’est pas seulement destiné aux créatifs ou aux débutants. C’est une très bonne base qu’on peut facilement compléter en ajoutant ses propres améliorations.
Je vais suivre de près son évolution, affaire à suivre !

Il est enfin possible d’intégrer correctement le Chromeless player youtube dans une appli Flash/Flex en AS3. Jusqu’à maintenant il fallait utiliser un wrapper pour intégrer l’API AS2, c’etait vraiment pas propre.
J’ai fais un test rapide, ça marche très bien :
http://www.trinidev.fr/tests/youtube-chromeless/
Lire la suite…

Mike Chambers à trouvé une astuce bien sympa qui permet de charger et d’afficher des images 24Bit BMP dans le player Flash. Bon je sais, vouloir charger du BMP dans Flash, ça n’arrive pas tous les jours mais cet exemple met en évidence l’utilité de charger les données au format binaire.
Lire la suite…
Commentaires récents