<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://blog.geturl.net/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
  <title>blog.geturl.net - lowRA</title>
  <link>http://blog.geturl.net/</link>
  <description>Actionscript, pixLib et tous leurs amis ;)</description>
  <language>fr</language>
  <pubDate>Wed, 27 Aug 2008 01:14:27 +0200</pubDate>
  <copyright></copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>[lowRA] - ConfigLoader, des envies ?</title>
    <link>http://blog.geturl.net/post/2008/01/13/%5BlowRA%5D-ConfigLoader-des-envies</link>
    <guid isPermaLink="false">urn:md5:ee9c27fa2c41b19fd202929b5d90b402</guid>
    <pubDate>Sun, 13 Jan 2008 19:26:00 +0100</pubDate>
    <dc:creator>ali_o_kan</dc:creator>
        <category>Flash plateforme</category>
        <category>actionscript</category><category>Config</category><category>Flash</category><category>IOC</category><category>lowRA</category>    
    <description>    &lt;p&gt;Pour ceux qui étaient présent au &lt;a href=&quot;http://blog.geturl.net/post/2008/01/11/%5BlowRA%5D-Un-point-de-la-situation&quot; hreflang=&quot;fr&quot;&gt;&quot;meeting&quot; sur lowRA&lt;/a&gt;, vous avez peut-être noté que je travail sur la mise en place d'une solution de Config dans &lt;a href=&quot;http://www.lowra.org/&quot; hreflang=&quot;fr&quot;&gt;lowRA&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Pour le moment, j'ai suis partit sur un merge entre le Config de &lt;a href=&quot;http://www.pixlib.org/&quot; hreflang=&quot;fr&quot;&gt;pixLib&lt;/a&gt; et &lt;a href=&quot;http://blog.geturl.net/post/2008/01/12/%5BlowRA%5D-Un-petit-lifting-sur-le-MVC&quot; hreflang=&quot;fr&quot;&gt;la logique de AbstractView et ViewLocator de lowRA&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Ce qui permet de définir un owner pour les fichiers de configurations. &lt;img src=&quot;/themes/default/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Par la suite je souhaiterai ajouter des balises dans le parser du package IOC pour pouvoir dans un premier temps charger les fichiers de config (équivalent à la balise dll). Et dans un second temps pouvoir lier le fichier de config au(x) bon plugin(s).&lt;/p&gt;


&lt;p&gt;Ca c'est ma vision des choses aujourd'hui, comme je ne serai pas tout seul à utilise lowRA et que plusieurs têtes valent toujours mieux qu'une. :p&lt;/p&gt;


&lt;p&gt;Je vous propose de me faire part de vos envies. &lt;img src=&quot;/themes/default/smilies/wink.png&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;p&gt;++
Laurent&lt;/p&gt;


&lt;p&gt;PS. Pour ceux que ça intéresse, je peux vous passer le premier jet du pack de config. &lt;img src=&quot;/themes/default/smilies/wink.png&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>[lowRA] - Owner, la notion de plugin.</title>
    <link>http://blog.geturl.net/post/2008/01/13/%5BlowRA%5D-Owner-la-notion-de-plugin</link>
    <guid isPermaLink="false">urn:md5:944ab0408e1c415630e477818830cac6</guid>
    <pubDate>Sun, 13 Jan 2008 19:01:00 +0100</pubDate>
    <dc:creator>ali_o_kan</dc:creator>
        <category>Flash plateforme</category>
        <category>actionscript</category><category>channel</category><category>Flash</category><category>lowRA</category><category>mvc</category><category>owner</category><category>plugin</category>    
    <description>&lt;p&gt;Bonjour &lt;img src=&quot;/themes/default/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Je pense que je n'ai plus besoin de convaincre qui que ce soit sur l'intérêt d'utiliser une structure MVC dans le développement d'une application. &lt;img src=&quot;/themes/default/smilies/wink.png&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.pixlib.org/&quot; hreflang=&quot;en&quot;&gt;PixLib&lt;/a&gt; permet de mettre en place &lt;a href=&quot;http://blog.geturl.net/post/2006/10/27/63-pixlib-vues-modeles-controleur&quot; hreflang=&quot;fr&quot;&gt;une structure MVC + FrontController de manière global&lt;/a&gt;. C'est vraiment puissant, mais cette solution à ses limites. Prenons le cas où l'on charge plusieurs application &quot;pixLib&quot; dans un même site, on se retrouve avec des conflits entre les différentes classes global, le même type de souci que l'on a quand on utilise le ciblage via le _root + des loadMovie(). Pour contourner ce problème chacun a mis en place sa propre solution.&lt;/p&gt;


&lt;p&gt;Avec &lt;a href=&quot;http://www.lowra.org/&quot; hreflang=&quot;fr&quot;&gt;lowRA&lt;/a&gt; se souci a disparu! &lt;img src=&quot;/themes/default/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;    &lt;h3&gt;Owner, une histoire de channel&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Si vous avez utilisez les channels dans pixLib vous pouvez directement passer au point suivant.&lt;/em&gt;&lt;/p&gt;


&lt;p&gt;Dans pixLib on a vu apparaître &lt;a href=&quot;http://blog.geturl.net/post/2006/01/07/15-pixlib-import-combourreloglogchannel&quot; hreflang=&quot;fr&quot;&gt;la logique de Channel dans la classe Logger&lt;/a&gt;.
L'idée du channel était d'émettre les messages de log sur différentes fréquences, et de pouvoir s'abonner sur une, plusieurs ou toutes les fréquences.&lt;/p&gt;

&lt;pre&gt;
[actionscript]
var filtreChannel : LogChannel = new LogChannel(&amp;quot;FILTRE&amp;quot;);
Logger.getInstance().addLogListener( LuminicTracer.getInstance(), filtreChannel);
Logger.LOG(&amp;quot;pif&amp;quot;, LogLevel.INFO, filtreChannel);
Logger.LOG(&amp;quot;paf&amp;quot;, LogLevel.INFO);
&lt;/pre&gt;


&lt;p&gt;Avec cette exemple, on ne recevra que le message &quot;pif&quot; et non &quot;paf&quot; car le loggueur est uniquement abonné aux messages qui sont émis sur le channel LogChannel(&quot;FILTRE&quot;).&lt;/p&gt;


&lt;h3&gt;Un plugin == un owner == un channel&lt;/h3&gt;

&lt;p&gt;Dans lowRA, on a maintenant la possibilité de définir un channel, appelé owner, pour chaque structure MVC.&lt;/p&gt;


&lt;p&gt;ce qui donne&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
[actionscript]
var monModel : Model = new Model(owner, name); // extends AbstractModel
ModelLocator.getInstance(owner).getModel(name); // récupère l'instance de monModel
var maVue : View = new View(owner, name); // extends AbstractView
ViewLocator.getInstance(owner).getView(name); // récupère l'instance de maVue
&lt;/pre&gt;


&lt;p&gt;Plus de souci de scoop lors que l'on charge plusieurs structures MVC+FrontController global, car chaque plugin a son propre owner (channel). &lt;img src=&quot;/themes/default/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;p&gt;La suite au prochaine épisode. &lt;img src=&quot;/themes/default/smilies/wink.png&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>[lowRA] - Un petit lifting sur le MVC+FC</title>
    <link>http://blog.geturl.net/post/2008/01/12/%5BlowRA%5D-Un-petit-lifting-sur-le-MVC</link>
    <guid isPermaLink="false">urn:md5:404ce97db657aed0b3b62137d2e692dd</guid>
    <pubDate>Sat, 12 Jan 2008 18:42:00 +0100</pubDate>
    <dc:creator>ali_o_kan</dc:creator>
        <category>Flash plateforme</category>
        <category>actionscript</category><category>Flash</category><category>lowRA</category><category>mvc</category><category>pixLib</category>    
    <description>&lt;p&gt;La première chose qui risque de troubler les utilisateurs de &lt;a href=&quot;http://www.pixlib.org&quot; hreflang=&quot;en&quot;&gt;pixLib&lt;/a&gt; quand ils débarquent dans &lt;a href=&quot;http://www.lowra.org&quot; hreflang=&quot;en&quot;&gt;lowRA&lt;/a&gt;, c'est la disparition du &lt;a href=&quot;http://blog.geturl.net/post/2006/05/10/48-pixlib-graphiclib-et-moviecliphelper-vs-movieclip-parti&quot; hreflang=&quot;fr&quot;&gt;MovieClipHelper&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Pas de panique, c'est un mal pour un bien. &lt;img src=&quot;/themes/default/smilies/wink.png&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Voici en deux mots comment mettre en place une simple structure MVC dans lowRA.&lt;/p&gt;


&lt;p&gt;Commençons tout d'abord par un peu de nomenclature.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.geturl.net/lowra/html/com_bourre_view_AbstractView.html&quot; hreflang=&quot;en&quot;&gt;AbstractView&lt;/a&gt; et &lt;a href=&quot;http://www.geturl.net/lowra/html/com_bourre_view_ViewLocator.html&quot; hreflang=&quot;en&quot;&gt;ViewLocator&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.geturl.net/lowra/html/com_bourre_model_AbstractModel.html&quot; hreflang=&quot;en&quot;&gt;AbstractModel&lt;/a&gt; et &lt;a href=&quot;http://www.geturl.net/lowra/html/com_bourre_model_ModelLocator.html&quot; hreflang=&quot;en&quot;&gt;ModelLocator&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.geturl.net/lowra/html/com_bourre_commands_AbstractCommand.html&quot; hreflang=&quot;en&quot;&gt;AbstractCommand &lt;/a&gt;et &lt;a href=&quot;http://www.geturl.net/lowra/html/com_bourre_commands_FrontController.html&quot; hreflang=&quot;en&quot;&gt;FrontController&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pour rappel, une classe dit Abstraite (Abstract) ne peut être utilisé telle quelle, il faut d'abord l'étendre.&lt;/p&gt;    &lt;h3&gt;Voyons le cas de l'AbstractModel&lt;/h3&gt;

&lt;p&gt;Pour utiliser la classe AbstractModel nous devons l'étendre.&lt;/p&gt;

&lt;pre&gt;
[actionscript]
public class DrawingModel 
	extends AbstractModel 
{

	public function DrawingModel(owner : Plugin = null, name : String = null)
	{
		super(owner, name);
		Debug.INFO(this + &amp;quot; is CREATE !!!&amp;quot;);
	}
&lt;/pre&gt;


&lt;p&gt;Dans un premier temps nous n'allons pas tenir compte de l'argument owner (&lt;del&gt;je le présenterait dans le billet suivant&lt;/del&gt;, &lt;a href=&quot;http://blog.geturl.net/post/2008/01/13/%5BlowRA%5D-Owner-la-notion-de-plugin&quot; hreflang=&quot;fr&quot;&gt;[lowRA] - Owner, la notion de plugin&lt;/a&gt; ). Ce qu'il faut retenir c'est que chaque modèle reçoit un nom, il s'agit d'un identifiant (unique!) qui permettra de récupèrer l'instance de la classe de n'importe quel endroit de l'application grâce à la classe ModelLocator.&lt;/p&gt;


&lt;h3&gt;ModelLocator&lt;/h3&gt;

&lt;p&gt;ModelLocator est un singleton (je ne veux aucun commentaire des puristes :p ), ce qui veut dire qu'il ne peut exister qu'une seule instance de la classe. Cette classe stock en elle l'ensemble des Modèle de l'application, et donc permet de récupérer de façon global n'importe quelle instance d'AbstractModel instancié.&lt;/p&gt;

&lt;pre&gt;
[actionscript]
ModelLocator.getInstance().getModel(&amp;quot;nom_de_mon_model&amp;quot;);
&lt;/pre&gt;

&lt;pre&gt;&lt;/pre&gt;

&lt;p&gt;Pour les vues c'est la même logique avec AbstractView et ViewLocator. Et pour les commandes c'est presque parreil, la seul différence réside dans le fait que c'est le FrontControlleur qui fait office de locator et que l'identifiant est le nom d'un événement.&lt;/p&gt;
&lt;pre&gt;
[actionscript]
monController.pushCommandClass(&amp;quot;monEvenement&amp;quot;, MaCommandExecute);
&lt;/pre&gt;


&lt;p&gt;Rien de bien nouveau avec pixLib si ce n'est le pushCommandClass. Maintenant nous pouvons choisir d'exécuter à chaque évènement la même instance de la commande ou dans instancier une nouvelle (plus proche du pattern originel).&lt;/p&gt;
&lt;pre&gt;
[actionscript] 
public function pushCommandClass( eventName : String, commandClass : Class ) : void
public function pushCommandInstance( eventName : String, command : Command ) : void
&lt;/pre&gt;


&lt;p&gt;Voilà, avec ces six classes nous avons de quoi déployer une structure MVC + FrontController en AS3. &lt;img src=&quot;/themes/default/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;p&gt;En bonus, je me suis amusé à porter un petit projet MVC pixLib vers lowRA.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.geturl.net/post/2007/12/24/%5BpixLib%5D-Introduction-application-de-dessin&quot; hreflang=&quot;fr&quot;&gt;Les sources AS2 (pixLib)&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.geturl.net/download/0801_lowra/lowra_drowing_mvc_120108.zip&quot; hreflang=&quot;zip&quot;&gt;Les sources AS3 (lowRA)&lt;/a&gt; - la build utilise &lt;a href=&quot;http://blog.geturl.net/post/2008/01/10/%5BiFac%5D-La-compilation-exposant-10&quot; hreflang=&quot;fr&quot;&gt;iFac pour compiler&lt;/a&gt;. &lt;img src=&quot;/themes/default/smilies/wink.png&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pour ceux qui veulent savoir un peut plus sur le MVC+FC dans pixLib&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.geturl.net/post/2006/10/27/63-pixlib-vues-modeles-controleur&quot; hreflang=&quot;fr&quot;&gt;[pixLib] - Vues, Modèles, Contrôleur&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://gdumas.developpez.com/traductions/articles/flash/pixlib/bases/&quot; hreflang=&quot;fr&quot;&gt;Comprendre les bases du framework PixLib&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>[lowRA] - Un point de la situation</title>
    <link>http://blog.geturl.net/post/2008/01/11/%5BlowRA%5D-Un-point-de-la-situation</link>
    <guid isPermaLink="false">urn:md5:b77f49e240da353dcb5693ff5bcc982b</guid>
    <pubDate>Fri, 11 Jan 2008 12:34:00 +0100</pubDate>
    <dc:creator>ali_o_kan</dc:creator>
        <category>Flash plateforme</category>
        <category>Flash</category><category>IOC</category><category>lowRA</category><category>meeting</category><category>pixLib</category>    
    <description>    &lt;p&gt;Un premier point vient d'être fait sur l'avancement de lowRA.&lt;/p&gt;


&lt;p&gt;Benoît vient de mettre en ligne un résumé en français de la discussion. &lt;img src=&quot;/themes/default/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt; &lt;br /&gt;
&lt;a href=&quot;http://www.kilooctet.net/index.php/2008/01/11/70-lowra-est-en-train-de-passer-a-la-prochaine-etape&quot; hreflang=&quot;fr&quot;&gt;LowRA est en train de passer à la prochaine étape.&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Pour la version complète en VO&amp;nbsp;: &lt;a href=&quot;http://blog.geturl.net/download/0801_lowra/lowra_meeting_070111.html&quot; hreflang=&quot;en&quot;&gt;lowra_meeting_070111.html&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Tout ce que l'on peut dire c'est que Francis et Cédric mettent les bouchés double depuis une semaine et que l'avenir de lowRA s'annonce rayonnant. &lt;img src=&quot;/themes/default/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;p&gt;cheers, &lt;br /&gt;
Laurent&lt;/p&gt;


&lt;p&gt;[MAJ] - Francis en parle aussi&amp;nbsp;: &lt;a href=&quot;http://www.tweenpix.net/blog/index.php?post/2008/01/13/LowRA-meeting-online&quot; hreflang=&quot;fr&quot;&gt;LowRA meeting online&lt;/a&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>[airLogger] - adieu LuminicTracer, bonjour airTracer</title>
    <link>http://blog.geturl.net/post/2007/12/22/%5BairLogger%5D-adieu-LuminicTracer-bonjour-airTracer</link>
    <guid isPermaLink="false">urn:md5:0d2317039ecfc4be79f4a5a902755baa</guid>
    <pubDate>Sat, 22 Dec 2007 15:34:00 +0100</pubDate>
    <dc:creator>ali_o_kan</dc:creator>
        <category>Flash plateforme</category>
        <category>actionscript</category><category>Air</category><category>airlogger</category><category>Flash</category><category>lowRA</category><category>pixLib</category>    
    <description>    &lt;p&gt;Salut &lt;img src=&quot;/themes/default/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Depuis une petite semaine maintenant j'utilise la nouvelle mouture de AirLogger. &lt;img src=&quot;/themes/default/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;
Créé par &lt;a href=&quot;http://book.abe.free.fr/&quot; hreflang=&quot;fr&quot;&gt;Cédric Néhémie&lt;/a&gt;, AirLogger est à ce jour ce que j'ai vu de mieux en logger externe pour Flash.&lt;/p&gt;


&lt;h3&gt;Ces points fort&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Suivi de plusieurs swf, chacun ayant son propre onglet.&lt;/li&gt;
&lt;li&gt;Sortie des logs formaté html.&lt;/li&gt;
&lt;li&gt;Stockage des logs dans une pile (buffer), si AirLogger est pas lancé au départ.&lt;/li&gt;
&lt;li&gt;Copier-coller, moteur de recherche, affichage avancé (couleurs, mail, url,…), …&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Une fois en mains, je n'ai pas pu m'empècher à me lancer dans un portage pour pixLib (AS2).
Après quelques heures de prise de tête, à deux doigts de lacher le morceau j'ai prit contact avec Cédric qui a terminé le portage.&lt;/p&gt;


&lt;p&gt;Donc une première version, non stable, pour l'AS2 est disponnible, hormis un souci sur les MovieClip (return null dans airLogger) elle semble fonctionnelle.
Elle s'utilise comme la classe LuminicTracer (cf. &lt;a href=&quot;http://blog.geturl.net/post/2006/01/02/12-pixlib-comment-logguer&quot; hreflang=&quot;fr&quot;&gt;[pixLib] - Comment logguer?&lt;/a&gt;)&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;
[actionscript]
Logger.getInstance().addLogListener(LuminicTracer.getInstance());
Logger.getInstance().addLogListener(AirTracer.getInstance());
&lt;/pre&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://blog.geturl.net/download/0712_airlogger/com.bourre.utils.AirTracer.zip&quot; hreflang=&quot;zip&quot;&gt;com.bourre.utils.AirTracer.zip&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;J'en profite pour signaler que AirLogger est basé sur lowRA (pixLib to AS3). Un bon exemple pour se faire une idée de son utilisation. &lt;img src=&quot;/themes/default/smilies/wink.png&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;h3&gt;info +&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://book.abe.free.fr/blog/?post/2007/12/17/AirLogger-013-pour-AIR-Beta-3#comments&quot; hreflang=&quot;fr&quot;&gt;AirLogger 0.1.3 pour AIR Beta 3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://code.google.com/p/airlogger/&quot; hreflang=&quot;fr&quot;&gt;airlogger - Google code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://filt3r.free.fr/index.php/2007/08/16/30-airlogger-for-haxe&quot; hreflang=&quot;en&quot;&gt;AIRLogger for HaXe&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Allez, hop, à la douche avant le champagne, &lt;br /&gt;
Bonne soirée &lt;img src=&quot;/themes/default/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
</channel>
</rss>