| |
avr 19

Made in Montréal
Outil d’exploration basé sur une application RIA utilisant la technologie Flash d’Adobe.
MadeinMTL.com regorge d’informations sur les bons coins de Montréal.
Le site n’est pas tout jeune, il a été ouvert en 2003, et une nouvelle version de leur application à vu le jour récemment.
Quand on regarde la partie « A propos« , nous observons :
MadeinMTL permet l’exploration virtuelle de Montréal, â travers plus de 15 000 photos, 400 textes, 50 heures de vidéo, 40 capsules sonores et 25 courts-métrages, intégrés dans un environnement organique, qui traduit l’expérience véritable que nous avons d’une ville en y habitant ou en la visitant.
PS : L’article était en brouillon sur mon blog depuis 2008.
Mots-clefs : ActionScript, Adobe, Application, Deezer, Flash, google, Montreal, Référencement, RIA
sept 09
Actionscript Developer’s Guide to Robotlegs est le premier ouvrage sur le Framework AS3 Robotlegs,
Pour ceux qui ne connaisse pas Robolegs, voici la description officielle :
Robotlegs is a pure AS3 micro-architecture (framework) with a light footprint and limited scope.
Simply put, Robotlegs is there to help you wire your objects together. It provides the glue that your application needs to easily function in a decoupled way.
Through the use of automated metadata based dependency injection Robotlegs removes boilerplate code in an application.
By promoting loose coupling and avoiding the use of Singletons and statics in the framework Robotlegs can help you write code that is highly testable.
Description
Le livre a été écrit par deux développeurs de Robotlegs : Stray & Joel Hooks.
Les 138 pages sont simple à lire. L’anglais est purement technique et ne sera pas une barriere à votre compréhension. Les exemples sont nombreux ainsi que les schemas qui aident énormément à la compréhension des liaisons entre les différents composants.
Les chapitres
- Robotlegs is a lightweight framework for ActionScript
- The Robotlegs dream
- Anatomy of a Robotlegs application
- Automated Dependency Injection
- The Robotlegs context in action
- The CommandMap in action
- Models and Services – how are they different?
- Connecting views with Mediators
- Working with Robotlegs: Rich Examples
- Testing your Robotlegs application
- Power-ups
- Appendix A: Troubleshooting tips
- Appendix B: Swiftsuspenders – the power behind the Robotlegs injector
Conclusion
Si vous avez déjà une expertise sur Robotlegs, je vous conseils malgré cela cette lecture. En effet, les 138 pages se lisent tres rapidement. De plus, la confrontation avec d’autres méthodes de travail est toujours constructive.
Pour une description plus détaillée du livre, aller voir le blog de Stray.
Vous povuez l’acheter directement sur Amazon.
Mots-clefs : ActionScript, Adobe, Flash, Formation, Learning, Livre, Programmation, Ressource, Robotlegs
juin 20
Mise en situation :
- Application_A.swf est une application autonome qui utilise les Flashvar.
- Application_Preloader.swf est un preloader qui va charger Application_A.swf.
L’objectif c’est de pouvoir utiliser les Flashvar avec Application_Preloader.swf pour qu’elles soient transmises à Application_A.swf.
Pour cela, nous allons utiliser une instance de URLVariables que l’on passera à URLRequest.
var _urlRequest : URLRequest = new URLRequest ( "http://www.domain.tld/Application_A.swf" );
var _urlVariables : URLVariables = new URLVariables ();
var _loader : Loader = new Loader ();
for (var property : String in loaderInfo.parameters )
{
_urlVariables[property] = loaderInfo.parameters[property];
}
_urlRequest.method = URLRequestMethod.GET;
_urlRequest.data = _urlVariables;
_loader = new Loader ();
_loader.load ( _urlRequest );
Mots-clefs : ActionScript, Adobe, Application, Astuce, Flash, Flashvar, Paramètre
mar 30
Cette article fait suite à une incapacité technique de ma part à comprendre les comportements concernant le fonctionnement du domaine d’application.
Voici l’énoncer du problème, nous avons deux fichiers SWF présents sur deux domaines différents.
Nous souhaitons simplement pouvoir utiliser une librairie partagée entre ces deux SWF et donc utiliser des définitions de classes communes.
L’objectif est donc d’utiliser un seul domaine d’application pour les deux SWF.
D’après la méthode officielle,
var _loader : Loader = new Loader ();
var _request : URLRequest = new URLRequest ( "http://www.example.com/foo.swf");
var _context : ContextLoader = new ContextLoader ();
_context.applicationDomain = ApplicationDomain.currentDomain;
_loader.load ( _request, _context );
Le problème a été retourné dans tout les sens.. nous n’avons jamais eu les mêmes domaines d’applications pour l’enfant et le parent.
De plus, il est simple de vérifier si deux SWF utilise le même domaine d’application.
trace ( String ( __loader.contentLoaderInfo.applicationDomain == ApplicationDomain.currentDomain ) ) ;
//false systématiquement
Les crossdomain sont présents sur les deux serveurs, et les utilisations de Security.allowDomain (« * »); n’ont pas été oubliées.
Aussi, le soucis reste le même lorsque nous travaillons en local et que l’on charge le SWF avec un chemin relatif.
Ce qui est étrange, c’est que dans ce cas les définitions de classes sont utilisables et donne l’impression d’un seul domaine d’application.
Du coups, j’y perds totalement mon latin. A savoir que nous avons tester avec le player 10.2.152 et 10.1
Mots-clefs : ActionScript, bug, Domain, Jira, Problème, Shared
sept 09
Pour annoncer la sortie de Flash Media Server 4. Voici un petit tutoriel présentant l’installation de FMS 4 sur Debian Lenny.
Cette version sera disponible pour un plus grand nombre de machine avec le support du 64Bits. Elle permettra de réduire considérablement les coûts de bande passante pour la VoD grâce au P2P mais aussi pour le live grâce au Multicast.
Installation
L’installation se déroule sur une Debian 5.0 où il n’y a que le système de base.
FMS 4 nécessite la librairie libnspr4.
apt-get install libnspr4-dev
Ensuite, récupérer FMS 4 pour Linux.
Dé-zipper le fichier : FlashMediaServer_4_all.zip fraichement téléchargé.
Il existe deux versions pour Linux, la 32bits et la 64bits. A vous de choisir celle qui convient à votre architecture.
Pour décompresser et extraire l’archive.
tar -xzvf FlashMediaServer4.tar.gz
Lancer le script d’installation FMS qui se trouve dans le répertoire où vous avez extrait l’archive du dessus.
A un moment, on vous demandera un licence. Nous souhaitons utiliser la version de développement, donc nous passons cette étape en appuyant sur ENTREE et en répondant non à la question :
You have not entered a serial number. Falling back to
the Adobe Flash Media Development Server!
Would you like to try again?
Options par défaut
- Répertoire d’installation : /opt/adobe/fms
- Adobe FMS Server port : 1935 & 80
- Adobe FMS Admin Server port : 1111
Mots-clefs : ActionScript, Adobe, Didacticiel, P2P, Serveur, Tutoriel, Video
nov 17
Suite au commentaire de webstorming sur l’article : Flash – Restreindre l’instanciation d’une classe par un seul objet.
Voici l’implémentation du pattern singleton en Flash.
public class PatternSingleton
{
private static var _instance : Object;
public function PatternSingleton () : void
{
if (_instance)
throw new Error ("Pattern Singleton : only one instance is permit");
_instance = this;
}
public function sayHello () : String
{
return "Hello World";
}
public static function get instance () : PatternSingleton
{
if (!_instance)
new PatternSingleton ();
return PatternSingleton (_instance);
}
}
Nous avons donc une class ne pouvant être instanciée qu’une seule fois, et accessible de n’importe où au sein de notre application.
trace (PatternSingleton.instance.sayHello ());
Wikipédia
L’implémentation que l’on trouve sur Wikipédia est différente de celle ci-dessus.
En effet, elle utilise la définition d’une constante globale sans modification du constructeur.
Le problème induit, c’est que l’instanciation multiple n’est pas interdite au sein de l’application. Et la compréhension par un débutant est moins aisée.
Mots-clefs : ActionScript, Astuce, Code, Flash, Pattern, Singleton
sept 09
Les conventions de nommage font parties de la vie d’un développeur qui souhaite faire du bon boulot.
En effet, cela permet une meilleur compréhension visuelle. Ce qui est pratique pour détecter certains problèmes évidents.
Bref, la convention de nommage concernant les classes est celle-ci :
- 1ère lettre en majuscule
- Mélange de minuscule, majuscule avec la première lettre de chaque mot en majuscule
- Donner des noms simples et descriptifs
- Éviter les acronymes : hormis ceux commum (XML, URL, HTML, …)
Analyse du contexte Flash
var _monText : String = "Hello world";
var _monNombre : int = 42;
var _monGrandNombre : int = int.MAX_VALUE;
En Flash, il existe deux types int et uint tout deux primitifs comme String ou Number. Ces types ont deux constantes de classe (MAX_VALUE, et MIN_VALUE).
Il s’agit donc de Classes, alors pourquoi la convention de nommage n’a pas été respectée ?
Après une recherche – très rapide grâce aux membres de mediabox – il en ressort que int et uint appartient à Number.
Si on analyse le code ci-dessous, on peut se rendre compte que le constructeur d’une variable de type int ou uint est Number.
var n_num: Number = 12.3;
trace(n_num["constructor"]); // [class Number]
var n_int: int = 12;
trace(n_int["constructor"]); // [class Number]
var n_uint: uint = 12;
trace(n_uint["constructor"]); // [class Number]
trace(n_num["constructor"] == n_int["constructor"]); // true
trace (typeof (n_num) + " " + typeof (n_int) + " " + typeof (n_uint)); //number number number
Grâce à cette démonstration par le code, nous pouvons constater que Flash respect bien la convention de nommage sur les classes, car int et uint ne sont que de « simples » appels à Number.
Maintenant, QUID de la gestion mémoire ?
PS: Autre blog, autre temps, troyworks s’est posé la même question sous une autre forme. Assez perturbant tout cela.
Mots-clefs : ActionScript, Convention, Développement, Explication, Flash, Normes
avr 20
J’arrive certainement après la guerre, mais moi qui voulait être sur le coups lors de la sortie du livre de Thibault Imbert, et bien je l’ai découvert à la FNAC comme un mal propre

En tout cas, bonne nouvelle pour les passionnés du développement Flash, ou simplement des gens qui souhaitent se mettre à ActionScript 3, car Pratique d’ActionScript 3 est disponible en version papier !
Disponible chez Pearson ou Amazon
Mots-clefs : ActionScript, Flash, Livre, Timbault Imbert
jan 29
Légèrement médiatisé, Adobe a sorti une nouvelle version de son logiciel de rapide learning : Captivate 4.
Vous créez rapidement du contenu e-learning professionnel [...] sans posséder de compétences particulières en programmation ou en multimédia. [...] Vous pouvez diffuser massivement vos contenus via des systèmes LMS.
Les nouveautés au programme :
- Annotation de fichiers SWF
- Modèles de projet professionnels
- Widgets personnalisables
- Flux de production PowerPoint circulaire
- Table des matières et agrégateur
- Fonctions de synthèse vocale
- Variables et actions avancées
- Options de sortie étendues
- Prise en charge des calques Adobe Photoshop
- Flux de production simplifiés et ergonomie optimisée
Et maintenant, l’exportation SWF se fait en AS3 avec l’AVM2.
Rappelez-vous lorsque vous vouliez importer votre animation Captivate dans une interface Flash développé en AS3, il fallait utiliser un bridge pour faire communiquer les deux.
Avec cette nouvelle exportation, il va être possible d’importer du Captivate dans des projets Flex pour enrichir vos présentations.
Avez-vous des retours d’expériences sur cette version 4 ?
Mots-clefs : ActionScript, Captivate, Elearning, Flex, Version
|
|
Commentaires récents