10 septembre 2007

Nouveau job! Nouveau collègue?

Le niçois que j'étais viens de se perdre à Paris pour s'y installer, et autant dire que le choc thermique a été important! :P J'ai pris depuis mes fonctions en tant que Lead Dev Flash au sein du groupe DDB, et là j'ai bien vu que le jeu en valait la chandelle... Je ne regrette pas d'avoir fait autant de kilomètres tant le boulot est sympa. En plus je retrouve un p'tit niçois qui n'est autre que Foxy et qui a vendu son âme aux créatifs de Rapp Collins Paris...

Pour finir, on me cherche encore des collègues: j'en profite du coup pour relayer ici l'offre d'emploi de DDB:

Rapp Collins Paris du groupe DDB recherche pour son pôle "WebProd" un développeur Flash AS2/AS3.

En collaboration avec les chefs de projet techniques, vous aurez en charge le développement des projets élaborés par notre team de créatifs. Les projets sont funs et ambitieux techniquement. Ils sont encore beaucoup développés en AS2, mais on pousse fort vers l'AS3, comme par exemple sur pixelf

Ce qu'on vous demande: - être à l'aise en conception et programmation orientée objet - maîtriser plutôt très bien l'AS2 - avoir au moins eu la curiosité de s'être penché sur l'AS3 et avoir envie de continuer - et puis... être globalement doué quoi!

Le poste est un CDI basé sur Paris 9

N'hésitez pas à envoyer vos candidatures (CV+LM) à alexandre.legout -arobase- rappcollinsparis.fr

27 juillet 2007

Des coquilles dans l'AS3

Aprés maintenant quelques un grand nombre de lignes de code en AS3, j'ai noté quelques comportements bizarres...

  • la propriété "constructor" de la classe Object ne semble pas être déclarée comme publique. Donc, on se retrouve avec une contradiction entre la doc et la réalité... et surtout aucun moyen de connaitre la classe qui a servie à créer l'objet. Un workaround existe utilisant describeType:
public class ClassUtils
{
        public static function getConstructor(o : *) : Class {
                var clname:String = describeType(o).@name.toXMLString();
                var claz:Class = getDefinitionByName(clname) as Class;
                return claz;
        }
}
  • imaginons que je crée une interface vide (ainsi que son implémentation) qui me sert uniquement à indiquer l'appartenance à deux types simultanément: en gros, une interface qui hérite de deux interfaces. Si ces deux interfaces mères ont une méthode commune et que j'utilise mon interface fille pour typer une variable, le compilateur va me remonter une erreur comme quoi la référence à cette méthode est ambigue. Ceci est tout à fait inconcevable, car il est clair que l'implémentation utilisée sera évidemment unique! Bon, étant donné que ce charabia doit être super flou, voici un exemple:
// Voir plus bas pour les différentes interfaces
package {
        import flash.display.Sprite;
       
        import itf.IDataSet;
        import itf.IList;
        import cl.DataSet;
       
        public class ASPlayground extends Sprite
        {
                public function ASPlayground()
                {
                        var ids:IDataSet = new DataSet;
                        trace(ids.getLength()); // Erreur du compilateur: Référence ambiguë à getLength.
                        trace((ids as IList).getLength()); // Marche bien !
                }
               
        }
}

package itf
{
        public interface IList
        {
                function getLength() : int;
        }
}

package itf
{
        public interface ICollection
        {
                function getLength() : int;
        }
}

// Cette interface sert au typage
package itf
{
        public interface IDataSet extends IList, ICollection
        {

        }
}

// Implémentation de IDataSet
package cl
{
        import itf.IDataSet;

        public class DataSet implements IDataSet
        {
                public function getLength():int
                {
                        return -1;
                }
               
        }
}

Rien de bien gênant, mais ca peut parfois être troublant! ;)

  • Le workaround du premier problême fait surtout chuter les performances
  • Le deuxième problême par contre ne sacrifie en rien les performances, mais peut-être gênant si on ne connait pas les interfaces mères...

10 juillet 2007

Papervision3D en beta publique

Enfin la voila! De la 3D qui claque en AS3, et même en AS2 pour ceux qui veulent tester avant la version finale: http://blog.papervision3d.org/2007/07/07/papervision3d-public-beta/

Et pour le plaisir des yeux, une petite video a été montée pour l'occasion: http://www.papervision3d.org/showreel/publicbeta

26 avril 2007

Flex 2 devient OpenSource

Alors que les sources du framework Flex 2 sont disponibles depuis le départ avec le SDK, Adobe s'apprête à ouvrir le code de tout le SDK, notamment le code Java des compilos MXMLC et ASC. Décidemment, Adobe va vraiment dans le bon sens! 8)

Respects donc... Plus d'infos ici: http://labs.adobe.com/wiki/index.ph...

24 avril 2007

Flex 2 comprend Flash CS3

Je disais dernièrement à l'ami Foxy que j'étais tellement emballé par Flex 2 que je l'utiliserais bien même pour le développement sur des animations interactives. Le fait est que dans la pratique, cela ne semblait que difficilement réalisable: Flex 2 ne permet pas comme MTASC d'injecter du code dans un SWF déjà fait. Tout au plus, cela permet de récupérer les assets graphiques de la bibliothèque grace au [Embed], mais en perdant tout le code.

A première vue, il y a peu d'interêt à récupérer du code si l'on est un codeur qui récupère le travail d'un graphiste, mais en y regardant de plus prés, un simple stop() a la fin d'une anim reste quand-même nécessaire... :P

Adobe résout ce problème d'interférence entre les deux outils dédiés au Flash Player 9 (en passant, la version 9.0.45.0 a fait son apparition récemment), grâce au Flex Component Kit for Flash CS3. Cet outil va transformer un MovieClip Flash en composant UIComponent de Flex 2, en créant un fichier .swc directement "linkable" dans les paramètres d'un projet Flex 2.

Au vu du nom, j'ai d'abord cru à la possibilité d'utiliser les composants Flex 2 dans Flash (on peut toujours rêver), mais l'autre sens est en fait bien plus interessant, le graphiste travaillant généralement en amont du codeur...

Les graphistes sur Flash et les codeurs sur Flex 2 vont enfin pouvoir parler la même langue! 8-)

21 avril 2007

Flash Player 9: 83% de pénétration sur le "marché mature"

Maintenant que la vague CS3 commence à déferler sur le web, la question que tout le monde se pose avec Flash est: "Quand allons nous pouvoir l'utiliser?".

Lire la suite...

16 avril 2007

FDT2 ne sortira jamais...

C'est FDT3 qui sortira, et cela trés bientôt! :D

L'équipe de powerflasher a décidé de sauter un numéro de version pour rester en adéquation avec la version d'Actionscript.

Au programme, toutes les fonctionnalités de FDT 1.5 évidemment, avec en sus:

  • Un support complet d'AS3
  • Une cohabitation possible avec AS2 (pratique pour la transition)
  • Une grande facilité d'extension pour les développeurs de plugin
  • Un formatteur de code
  • Et d'autres surprises...
Le pricing prend un peu de poids, mais ô combien justifié: 299euros/99euros (MAJ)
Les licences offertes pour les programmeurs OpenSource de OSFlash/Sourceforge sont toujours d'actualité, si le projet à avancé depuis l'attribution de la licence FDT1.
La beta privée commence début Mai, pour une bêta publique courant Juin.
La livraison de la finale devrait être pour fin Juillet: que du bonheur! 8)

Toutes les infos sur le post officiel du forum FDT: http://www.powerflasher.com/fdt/forum/viewtopic.php?t=801

6 avril 2007

AS3 - Vérifier qu'une classe hérite d'une autre...

Ayant eu besoin de m'assurer qu'une classe (instance de Class) hérite d'une autre, j'ai cherché un bon moment à reproduire mes anciennes habitudes issues de l'AS2, à savoir utiliser les bons vieux prototypes agrémentés d'une touche de "is" histoire de faire plus actuel... :-P

Autant vous le dire tout de suite: ca ne donne rien! :=)

Il faut donc se tourner vers les excellentes fonctions de reflexion que nous fournis l'AS3 pour arriver à son bonheur, en agrémentant ca de E4X! ;-)

import flash.utils.describeType;
import flash.utils.getQualifiedClassName;

public function inherit(childClass:Class, parentClass:Class) : Boolean {
        return describeType(childClass).factory.extendsClass.(@type==getQualifiedClassName(parentClass)).length() > 0;
}

Et wala! 8-)

20 mars 2007

Des traces partout...

La fonction 'trace' est des plus utiles en Flash. Qu'on soit codeur ou même graphiste, il est toujours pratique de savoir si l'on est effectivement passé dans telle ou telle frame, quelles sont les données reçues en retour d'une fonction, ou tout autre information utile dont on peut avoir besoin sans qu'elle apparaisse dans le SWF final...

Lire la suite...

27 octobre 2006

FDT 1.5

Il est la! :)

19 octobre 2006

Linux: l'aventure!

Linux c'est bien! Sur la dedibox qui héberge mes sites se trouve une distribution Gentoo 2006.0. Je suis une bille en Linux, mais je m'amuse bien: SVN, Trac, etc... Mais des fois je casse tout.

La sauvegarde c'est du bonheur: on récupère juste les reps de mysql, svn, apache, on réinstalle, on copie et tout remarche nickel! :) Par contre ca donne quelques jours de posts passés à l'as (en fait, les 7 derniers commentaires). :$

Mais ce qui est bien avec Linux, c'est que maintenant, on peut aussi y faire tourner le Flash player 9 (en beta, mais quand-même). :D

4 octobre 2006

Comment couler la productivité d'une boite.

Trouvez une petit jeu en Flash trés prenant, et envoyez le lien à la mailing list des employés... Mission accomplie! :mrgreen:

PS : J'en suis au niveau 23

27 septembre 2006

lalex@media-box

Ce blog rejoint désormais la communauté grandissante des blogs de MediaBox. L'ancienne adresse reste valide, donc aucune mise à jour de fil RSS n'est nécessaire.

LAlex devblog est en quelques sorte le premier blog MediaBox: en effet, lorsque j'ai ouvert ce blog, il était gracieusement hébergé par MediaBox grâce à son initiateur, Pierre GIRARD, même si cet aspect n'était pas spécialement mis en avant. Je suis donc content aujourd'hui de pouvoir disposer de cette nouvelle URL, http://lalex.media-box.net/, et affirmer ainsi mon appartenance à cette communauté que j'ai vu grandir progressivement et qui fait maintenant partie des incontournables dans le paysage Flash francophone.

MediaBox propose depuis quelques temps maintenant un fil RSS syndicant l'ensemble des blogs MediaBox, dont les rédacteurs sont des modérateurs des forums de la communauté. Plus d'informations sont disponibles sur cette page.

MAJ: les fils RSS sont a nouveaux bien formatés! ;)

FDT 1.5: ca arrive! FDT AS3, pas encore, mais bientôt...

L'équipe de powerflasher vient d'annoncer que la mouture 1.5 de leur excellent plugin Eclipse, j'ai nommé FDT, devrait être disponible en tant que mise à jour gratuite dans les prochains jours. Au programme:

Il est malheureusement aussi précisé que la version AS3 ne serait pas disponible avant le premier trimestre 2007. "Patience et longueur de temps...."

1 septembre 2006

Offre de stage

Centile, développeur de solutions logicielles pour la VoIP, est à la recherche de stagiaires maitrisant l'AS2 pour son pole développement d'applications clientes.

Au programme des domaines qui seront abordés lors du stage:

Lire la suite...

30 août 2006

mProjector 2 : version r10

Un nouveau mProjector 2 est disponible depuis ce matin. Au programme, pas mal de nouveautés. J'en suis assez content, étant donné que la plupart sont issues de besoins que j'ai émis pour le développement des produits de mon entreprise... Aprés de nombreuses beta, une version stable est enfin là! 8)

Lire la suite...

24 août 2006

Tellement vrai


J'ai pas pu resister... :$

22 août 2006

Proxy et Interval

Pas grand chose de neuf en ce moment, je passe beaucoup de temps en maintenance de code. Du coup, je vous propose deux petites classes qui me servent énormément au quotidien. Chaque développeur qui passe ses journées dessus doit avoir un équivalent je suppose: une classe de proxy, héritière du fameux Delegate, et une classe Interval, qui m'évite la permanente prise de tête avec les ids des setInterval...

Lire la suite...

10 août 2006

Dotclear 2 beta 2

Dotclear2 vient enfin de passer en beta 2. Au programme, un réaménagement de la structure des fichiers, un gestionnaire de plugins, et pleins d'autres choses qu'elles sont bien.

C'est l'occasion pour moi d'organiser mon serveur un peu différemment. En effet, 4 blogs tournent sur le même moteur, utilisant le même code centralisé dans un répertoire unique alors qu'avant seule la BDD était commmune (multi-blog oblige): ca devrait faciliter la mise à jour. Quelques liens symboliques plus tard, tout cela tourne comme une horloge! 8)

Etant donné que la plateforme tournait déjà, je n'ai pas eu l'occasion de tester la procédure d'install, mais au vu du sérieux dont ont fait preuve les équipes d'Olivier MEUNIER, je ne m'inquiète pas beaucoup... ;)

7 août 2006

Travaux finis?

Et wala! 8)

Bon, j'ai fait ce que j'ai pu avec mes p'tits moyen de pietre graphiste, mais le visuel du blog est fini. Reste à voir si je n'ai rien oublié, ca viendra au fur et à mesure...

Les smileys sont de retour, et c'est une version pre-beta 2 (SVN) de dotclear qui tourne, vraisemblablement plutôt bien. Reste à inclure un formulaire digne de ce nom pour les commentaires... ;)

- page 2 de 15 -