<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>KiloOctet Blog &#187; ActionScript 2</title>
	<atom:link href="http://kilooctet.net/category/actionscript-2/feed/" rel="self" type="application/rss+xml" />
	<link>http://kilooctet.net</link>
	<description>Flash Platform Developpement, Flash, Flex, ActionScript, LowRA, PixLib, PixIOC, Cairngorm, MVC+C</description>
	<pubDate>Thu, 13 Nov 2008 13:25:19 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>fr</language>
			<item>
		<title>PixLib + SWX = pixSWX</title>
		<link>http://kilooctet.net/2007/10/25/pixlib-swx-pixswx/</link>
		<comments>http://kilooctet.net/2007/10/25/pixlib-swx-pixswx/#comments</comments>
		<pubDate>Thu, 25 Oct 2007 09:25:32 +0000</pubDate>
		<dc:creator>Benoît (Flapflap)</dc:creator>
		
		<category><![CDATA[ActionScript 2]]></category>

		<category><![CDATA[Flash]]></category>

		<category><![CDATA[LowRA / PixLib]]></category>

		<category><![CDATA[actionscript2]]></category>

		<category><![CDATA[pixlib]]></category>

		<category><![CDATA[swx]]></category>

		<guid isPermaLink="false">http://ks351861.kimsufi.com/~kiloocte/?p=68</guid>
		<description><![CDATA[Laurent (Ali_o_Kan) vient de sortir une extension de PixLib nommée pixSWX (mais où va-t-il cherchr tout ça ?)
C'est l'alliance de deux grandes idées, le framework PixLib de Francis Bourre et le format d'échange de données SWX d'Aral Balkan.
Longue vie à pixSWX
]]></description>
			<content:encoded><![CDATA[<p>Laurent (Ali_o_Kan) vient de sortir une extension de PixLib nommée <a href="http://blog.geturl.net/post/2007/10/24/%5BpixSWX%5D-Une-alternative-au-remoting" hreflang="fr">pixSWX</a> (mais où va-t-il cherchr tout ça ?)</p>
<p>C'est l'alliance de deux grandes idées, le framework PixLib de Francis Bourre et le format d'échange de données SWX d'Aral Balkan.</p>
<p>Longue vie à pixSWX</p>
]]></content:encoded>
			<wfw:commentRss>http://kilooctet.net/2007/10/25/pixlib-swx-pixswx/feed/</wfw:commentRss>
		</item>
		<item>
		<title>KoDeserializer</title>
		<link>http://kilooctet.net/2007/04/18/kodeserializer/</link>
		<comments>http://kilooctet.net/2007/04/18/kodeserializer/#comments</comments>
		<pubDate>Wed, 18 Apr 2007 18:05:50 +0000</pubDate>
		<dc:creator>Benoît (Flapflap)</dc:creator>
		
		<category><![CDATA[ActionScript 2]]></category>

		<category><![CDATA[Flash]]></category>

		<category><![CDATA[LowRA / PixLib]]></category>

		<category><![CDATA[P.O.O]]></category>

		<category><![CDATA[]]></category>

		<category><![CDATA[pixlib]]></category>

		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://ks351861.kimsufi.com/~kiloocte/?p=66</guid>
		<description><![CDATA[Vous trouverez ici : kodeserializer.zip un petit Deserializer perso à utiliser avec PixLib et qui ajoute deux petites fonctionnalités au XMLToObjectDeserializer fournit par Francis :
Une propriété statique USE_ATTRIBUTE_NAME qui est un Boolean (false par défaut). Il désactive l'utilisation de l'attribut name d'un noeud en tant que nom de propriété de l'objet déserialisé (du coup c'est [...]]]></description>
			<content:encoded><![CDATA[<p>Vous trouverez ici : <a href="http://ks351861.kimsufi.com/%7Ekiloocte/wp-content/uploads/2008/01/kodeserializer.zip" title="kodeserializer.zip">kodeserializer.zip</a> un petit Deserializer perso à utiliser avec <a href="http://osflash.org/projects/pixlib" hreflang="en">PixLib</a> et qui ajoute deux petites fonctionnalités au XMLToObjectDeserializer fournit par Francis :</p>
<p>Une propriété statique USE_ATTRIBUTE_NAME qui est un Boolean (false par défaut). Il désactive l'utilisation de l'attribut name d'un noeud en tant que nom de propriété de l'objet déserialisé (du coup c'est le nom du noeud qui est utilisé</p>
<p>Une méthode d'instance</p>
<pre class="actionscript">&nbsp;
 forceType<span style="color: #66cc66;">&#40;</span> sNodeName : <span style="color: #0066CC;">String</span>, sType : <span style="color: #0066CC;">String</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;</pre>
<p>Elle permet d'indiquer un type pour des noms. Le but étant de pouvoir gérer des types sur des XML sur lesquels on a pas la main.<span id="more-66"></span></p>
<p>Une classe et un xml de test sont dans le zip mais en gros voici le principe :</p>
<p>Mon XML</p>
<pre><span style="color: #009900"><span style="font-weight: bold; color: black">&lt;</span>?xml <span style="color: #000066">version</span>=<span style="color: #ff0000">"1.0"</span> <span style="color: #000066">encoding</span>=<span style="color: #ff0000">"UTF-8"</span>?<span style="font-weight: bold; color: black">&gt;</span></span> <span style="color: #009900"><span style="font-weight: bold; color: black">&lt;root<span style="font-weight: bold; color: black">&gt;</span></span></span> 	<span style="color: #009900"><span style="font-weight: bold; color: black">&lt;test1NodeName</span> <span style="color: #000066">name</span>=<span style="color: #ff0000">"test1AttributeName"</span><span style="font-weight: bold; color: black">&gt;</span></span>Cool<span style="color: #009900"><span style="font-weight: bold; color: black">&lt;/test1NodeName<span style="font-weight: bold; color: black">&gt;</span></span></span> 	<span style="color: #009900"><span style="font-weight: bold; color: black">&lt;test2<span style="font-weight: bold; color: black">&gt;</span></span></span>'item1','item2','item3'<span style="color: #009900"><span style="font-weight: bold; color: black">&lt;/test2<span style="font-weight: bold; color: black">&gt;</span></span></span> <span style="color: #009900"><span style="font-weight: bold; color: black">&lt;/root<span style="font-weight: bold; color: black">&gt;</span></span></span></pre>
<p>Si je le charge avec le Deserialize de base voici en gros ce que j'aurais :</p>
<pre class="actionscript"> <span style="color: #66cc66;">&#91;</span>
<span style="color: #0066CC;">Object</span><span style="color: #66cc66;">&#93;</span> test1AttributeName : <span style="color: #ff0000;">&quot;cool&quot;</span> <span style="color: #808080; font-style: italic;">// Type String</span>
test2 : <span style="color: #ff0000;">&quot;'item1','item2','item3'&quot;</span> <span style="color: #808080; font-style: italic;">// Type String</span>
&nbsp;</pre>
<p>Avec mon déserializer, en forcant le type du noeud test2 sur array :</p>
<pre class="actionscript">&nbsp;
<span style="color: #66cc66;">&#91;</span><span style="color: #0066CC;">Object</span><span style="color: #66cc66;">&#93;</span> test1NodeName : <span style="color: #ff0000;">&quot;cool&quot;</span> <span style="color: #808080; font-style: italic;">// Type String</span>
test2 : <span style="color: #66cc66;">&#91;</span><span style="color: #0066CC;">Array</span><span style="color: #66cc66;">&#93;</span> <span style="color: #808080; font-style: italic;">// Type Array</span>
<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#93;</span> : <span style="color: #ff0000;">&quot;item1&quot;</span>
<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#93;</span> : <span style="color: #ff0000;">&quot;item2&quot;</span>
<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#93;</span> : <span style="color: #ff0000;">&quot;item3&quot;</span>
&nbsp;</pre>
<p>Et voici le bout de code dans la classe Test.as, au passage vous noterez que j'ai mis les types en propriétés statiques pour plus de sécurité...</p>
<pre class="actionscript">&nbsp;
<span style="color: #808080; font-style: italic;">// Méthode classique</span>
<span style="color: #000000; font-weight: bold;">var</span> xto : XMLToObject = <span style="color: #000000; font-weight: bold;">new</span> XMLToObject<span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#123;</span><span style="color: #66cc66;">&#125;</span> <span style="color: #66cc66;">&#41;</span>;
xto.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span> XMLToObject.<span style="color: #006600;">onLoadInitEVENT</span>, <span style="color: #0066CC;">this</span>, debugObject <span style="color: #66cc66;">&#41;</span>;
xto.<span style="color: #0066CC;">load</span><span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;test.xml&quot;</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">// Flapflap Style &lt;img src='http://kilooctet.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /&gt;</span>
KoXTODeserializer.<span style="color: #006600;">USE_ATTRIBUTE_NAME</span> = <span style="color: #000000; font-weight: bold;">false</span>;
<span style="color: #808080; font-style: italic;">// On utilise plus l'attribut name</span>
<span style="color: #000000; font-weight: bold;">var</span> deserializer : KoXTODeserializer = <span style="color: #000000; font-weight: bold;">new</span> KoXTODeserializer<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
deserializer.<span style="color: #006600;">forceType</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;test2&quot;</span>, KoXTODeserializer.<span style="color: #006600;">ARRAY_TYPE</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">// ON force le type Array pour le noeud test2</span>
<span style="color: #000000; font-weight: bold;">var</span> koXto : XMLToObject = <span style="color: #000000; font-weight: bold;">new</span> XMLToObject<span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#123;</span><span style="color: #66cc66;">&#125;</span>, deserializer <span style="color: #66cc66;">&#41;</span>;
koXto.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span> XMLToObject.<span style="color: #006600;">onLoadInitEVENT</span>, <span style="color: #0066CC;">this</span>, debugObject <span style="color: #66cc66;">&#41;</span>;
koXto.<span style="color: #0066CC;">load</span><span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;test.xml&quot;</span> <span style="color: #66cc66;">&#41;</span>;
&nbsp;</pre>
<p>Deux limitations : On force un type pour un nom de noeud donc si on a plusieurs noeud a différents niveaux ayant le même nom ils auront le même type Forcer le type array sur un noeud ayant des enfants n'est pas gérer</p>
<p>J'attends vos retour <img src='http://kilooctet.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://kilooctet.net/2007/04/18/kodeserializer/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Design Pattern Strategy - Un exemple concret avec la validation de formulaire</title>
		<link>http://kilooctet.net/2007/03/09/design-pattern-strategy-un-exemple-concret-avec-la-validation-de-formulaire/</link>
		<comments>http://kilooctet.net/2007/03/09/design-pattern-strategy-un-exemple-concret-avec-la-validation-de-formulaire/#comments</comments>
		<pubDate>Fri, 09 Mar 2007 16:30:47 +0000</pubDate>
		<dc:creator>Benoît (Flapflap)</dc:creator>
		
		<category><![CDATA[ActionScript 2]]></category>

		<category><![CDATA[Flash]]></category>

		<category><![CDATA[Flex]]></category>

		<category><![CDATA[P.O.O]]></category>

		<category><![CDATA[actionscript2]]></category>

		<category><![CDATA[design pattern]]></category>

		<category><![CDATA[strategy]]></category>

		<guid isPermaLink="false">http://ks351861.kimsufi.com/~kiloocte/?p=64</guid>
		<description><![CDATA[Salut à tous,
On m'a toujours dit que la meilleur utilisation à faire des Design patterns n'était pas de concevoir directement avec, mais que lorqu'un problème de conception se posait, voir si il n'y avait pas déjà un Design Pattern pouvant nous aider à le traiter. Mais comme tout ceux qui lisent pour la première fois [...]]]></description>
			<content:encoded><![CDATA[<p>Salut à tous,</p>
<p>On m'a toujours dit que la meilleur utilisation à faire des Design patterns n'était pas de concevoir directement avec, mais que lorqu'un problème de conception se posait, voir si il n'y avait pas déjà un Design Pattern pouvant nous aider à le traiter. Mais comme tout ceux qui lisent pour la première fois <a href="http://www.amazon.fr/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.fr%2FHead-First-Design-Patterns-Freeman%2Fdp%2F1600330541%3Fie%3DUTF8%26s%3Denglish-books%26qid%3D1173455707%26sr%3D1-2&amp;tag=kilblo-21&amp;linkCode=ur2&amp;camp=1642&amp;creative=6746">Design Patterns Head First</a><img src="http://www.assoc-amazon.fr/e/ir?t=kilblo-21&amp;l=ur2&amp;o=8" style="border: medium none  ! important; margin: 0px ! important" border="0" height="1" width="1" /> ou <a href="http://www.amazon.fr/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.fr%2FEssential-ActionScript-2-0-en-anglais%2Fdp%2F0596006527%3Fie%3DUTF8%26s%3Denglish-books%26qid%3D1173455802%26sr%3D1-2&amp;tag=kilblo-21&amp;linkCode=ur2&amp;camp=1642&amp;creative=6746">Essential ActionScript</a><img src="http://www.assoc-amazon.fr/e/ir?t=kilblo-21&amp;l=ur2&amp;o=8" style="border: medium none  ! important; margin: 0px ! important" border="0" height="1" width="1" />, j'ai voulu tester les design patterns en cherchant a les appliquer directement à ma conception d'application.<span id="more-64"></span></p>
<p>Heuresement le temps est parfois un grand allié et il nous apporte un peu de sagesse et d'expérience. J'avais donc garder de côté ma liste de Design pattern avec une vague impression d'imaginer ce à quoi ils pouvaient servir. Et puis ce matin, ping (c'est le bruit de l'illumination). Un simple petit jeu concours à réaliser. Rien de bien complexe. Juste des champs de formulaire à valider. Je me suis dit autant en profiter pour faire une petite classe de validation de formulaire rapide et réutilisable.</p>
<p>J'ai donc commencer une classe utils avec des méthodes statiques qui permettraient de valider différents champs tels que E-mail, N° de téléphone, Code postal etc...</p>
<p>Mais bon ça ne me plaisait pas trop, tout ça était un peu lourd. Et là je me suis souvenu du pattern <a href="http://en.wikipedia.org/wiki/Strategy_pattern" hreflang="en">Strategy</a> qui permet de déléguer un algorithme. Ca semblait la bonne solution à mon problème de conception trop lourde à maintenir.</p>
<p>Voilà donc un exemple de ce que ça donne :</p>
<p>D'abord une interface qui va définir la méthode indiquant si un champ est valide ou non :</p>
<pre class="actionscript">&nbsp;
<span style="color: #808080; font-style: italic;">/**  * @author Benoit MILGRAM  */</span>
<span style="color: #0066CC;">interface</span> com.<span style="color: #006600;">nodule</span>.<span style="color: #006600;">validator</span>.<span style="color: #006600;">IValidator</span> <span style="color: #66cc66;">&#123;</span>
 	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> isValid<span style="color: #66cc66;">&#40;</span> s : <span style="color: #0066CC;">String</span> <span style="color: #66cc66;">&#41;</span> : <span style="color: #0066CC;">Boolean</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;</pre>
<p>La méthode isValid reçoit une chaîne et indique si elle est valide ou pas.</p>
<p>Ensuite, on créé différentes stratégies selon ce que l'on veut valider :</p>
<p>Une adresse email :</p>
<pre class="actionscript">&nbsp;
<span style="color: #0066CC;">import</span> com.<span style="color: #006600;">nodule</span>.<span style="color: #006600;">validator</span>.<span style="color: #006600;">IValidator</span>;
<span style="color: #0066CC;">import</span> com.<span style="color: #006600;">nodule</span>.<span style="color: #006600;">utils</span>.<span style="color: #006600;">StringUtil</span>;
<span style="color: #808080; font-style: italic;">/**  * @author Benoit MILGRAM  */</span>
<span style="color: #000000; font-weight: bold;">class</span> com.<span style="color: #006600;">nodule</span>.<span style="color: #006600;">validator</span>.<span style="color: #006600;">EmailValidator</span> <span style="color: #0066CC;">implements</span> IValidator <span style="color: #66cc66;">&#123;</span>
 	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> EmailValidator<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
 	<span style="color: #66cc66;">&#125;</span>
 	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> isValid<span style="color: #66cc66;">&#40;</span> s : <span style="color: #0066CC;">String</span> <span style="color: #66cc66;">&#41;</span> : <span style="color: #0066CC;">Boolean</span> <span style="color: #66cc66;">&#123;</span>
 		<span style="color: #b1b100;">return</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span> StringUtil.<span style="color: #006600;">contains</span><span style="color: #66cc66;">&#40;</span> s, <span style="color: #ff0000;">&quot;@&quot;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span> &amp;amp;&amp;amp; <span style="color: #66cc66;">&#40;</span> StringUtil.<span style="color: #006600;">contains</span><span style="color: #66cc66;">&#40;</span> s, <span style="color: #ff0000;">&quot;.&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
 	<span style="color: #66cc66;">&#125;</span>
 <span style="color: #66cc66;">&#125;</span></pre>
<p>Un code postal :</p>
<pre class="actionscript">&nbsp;
<span style="color: #0066CC;">import</span> com.<span style="color: #006600;">nodule</span>.<span style="color: #006600;">validator</span>.<span style="color: #006600;">IValidator</span>;
<span style="color: #808080; font-style: italic;">/**  * @author Benoit MILGRAM  */</span>
<span style="color: #000000; font-weight: bold;">class</span> com.<span style="color: #006600;">nodule</span>.<span style="color: #006600;">validator</span>.<span style="color: #006600;">ZipCodeValidator</span> <span style="color: #0066CC;">implements</span> IValidator <span style="color: #66cc66;">&#123;</span>
 	<span style="color: #0066CC;">private</span> <span style="color: #0066CC;">static</span> <span style="color: #000000; font-weight: bold;">var</span> ZIPCODE_LENGTH : <span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">5</span>;
 	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> ZipCodeValidator<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
 	<span style="color: #66cc66;">&#125;</span>
 	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> isValid<span style="color: #66cc66;">&#40;</span> s : <span style="color: #0066CC;">String</span> <span style="color: #66cc66;">&#41;</span> : <span style="color: #0066CC;">Boolean</span> <span style="color: #66cc66;">&#123;</span>
 		<span style="color: #b1b100;">return</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #0066CC;">Number</span><span style="color: #66cc66;">&#40;</span> s <span style="color: #66cc66;">&#41;</span> != <span style="color: #0066CC;">NaN</span> <span style="color: #66cc66;">&#41;</span> &amp;amp;&amp;amp; <span style="color: #66cc66;">&#40;</span> s.<span style="color: #0066CC;">length</span> == ZIPCODE_LENGTH<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>;
	<span style="color: #66cc66;">&#125;</span>
 <span style="color: #66cc66;">&#125;</span>
&nbsp;</pre>
<p>Une date :</p>
<pre class="actionscript">&nbsp;
<span style="color: #0066CC;">import</span> com.<span style="color: #006600;">nodule</span>.<span style="color: #006600;">validator</span>.<span style="color: #006600;">IValidator</span>;
<span style="color: #0066CC;">import</span> com.<span style="color: #006600;">nodule</span>.<span style="color: #006600;">utils</span>.<span style="color: #006600;">NumberUtil</span>;
<span style="color: #808080; font-style: italic;">/**  * @author Benoit MILGRAM  */</span>
<span style="color: #000000; font-weight: bold;">class</span> com.<span style="color: #006600;">nodule</span>.<span style="color: #006600;">validator</span>.<span style="color: #006600;">DateValidator</span> <span style="color: #0066CC;">implements</span> IValidator <span style="color: #66cc66;">&#123;</span>
 	<span style="color: #0066CC;">private</span> <span style="color: #0066CC;">static</span> <span style="color: #000000; font-weight: bold;">var</span> DATE_LENGTH : <span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">10</span>;
 	<span style="color: #0066CC;">private</span> <span style="color: #0066CC;">static</span> <span style="color: #000000; font-weight: bold;">var</span> DATE_RANGE_LIST : <span style="color: #0066CC;">Array</span> = <span style="color: #66cc66;">&#91;</span> <span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">1</span>, <span style="color: #cc66cc;">31</span><span style="color: #66cc66;">&#93;</span>, <span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">1</span>, <span style="color: #cc66cc;">12</span><span style="color: #66cc66;">&#93;</span>, <span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">1900</span>, <span style="color: #cc66cc;">2007</span><span style="color: #66cc66;">&#93;</span> <span style="color: #66cc66;">&#93;</span>;
 	<span style="color: #0066CC;">private</span> <span style="color: #0066CC;">static</span> <span style="color: #000000; font-weight: bold;">var</span> DATE_LENGHT_LIST : <span style="color: #0066CC;">Array</span> = <span style="color: #66cc66;">&#91;</span> <span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">4</span> <span style="color: #66cc66;">&#93;</span>;
 	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> DateValidator<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
 	<span style="color: #66cc66;">&#125;</span>
 	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> isValid<span style="color: #66cc66;">&#40;</span>s : <span style="color: #0066CC;">String</span><span style="color: #66cc66;">&#41;</span> : <span style="color: #0066CC;">Boolean</span> <span style="color: #66cc66;">&#123;</span>
 		<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span> s.<span style="color: #0066CC;">length</span> != DATE_LENGTH <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
 			<span style="color: #b1b100;">return</span> <span style="color: #000000; font-weight: bold;">false</span>;
 		<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #66cc66;">&#123;</span>
 			<span style="color: #000000; font-weight: bold;">var</span> dateArray : <span style="color: #0066CC;">Array</span> = s.<span style="color: #0066CC;">split</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;/&quot;</span><span style="color: #66cc66;">&#41;</span>;
 			<span style="color: #000000; font-weight: bold;">var</span> dateArray_l:<span style="color: #0066CC;">Number</span> = dateArray.<span style="color: #0066CC;">length</span>;
			<span style="color: #b1b100;">for</span> <span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">var</span> i : <span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">0</span>; i &amp;lt; dateArray_l; i++<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
 				<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0066CC;">date</span> : <span style="color: #0066CC;">String</span> = dateArray<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>;
 				<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span> <span style="color: #0066CC;">Number</span><span style="color: #66cc66;">&#40;</span> <span style="color: #0066CC;">date</span> <span style="color: #66cc66;">&#41;</span> != <span style="color: #0066CC;">NaN</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
 					<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span> <span style="color: #0066CC;">date</span>.<span style="color: #0066CC;">length</span> == DATE_LENGHT_LIST<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
 						<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span> ! NumberUtil.<span style="color: #006600;">isInRange</span><span style="color: #66cc66;">&#40;</span> <span style="color: #0066CC;">Number</span><span style="color: #66cc66;">&#40;</span> <span style="color: #0066CC;">date</span> <span style="color: #66cc66;">&#41;</span>, DATE_RANGE_LIST<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#93;</span>, DATE_RANGE_LIST<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#93;</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
 							<span style="color: #b1b100;">return</span> <span style="color: #000000; font-weight: bold;">false</span>;
 						<span style="color: #66cc66;">&#125;</span>
 					<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #66cc66;">&#123;</span>
 						<span style="color: #b1b100;">return</span> <span style="color: #000000; font-weight: bold;">false</span>;
 					<span style="color: #66cc66;">&#125;</span>
 				<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #66cc66;">&#123;</span>
 					<span style="color: #b1b100;">return</span> <span style="color: #000000; font-weight: bold;">false</span>;
 				<span style="color: #66cc66;">&#125;</span>
			<span style="color: #66cc66;">&#125;</span>
		<span style="color: #66cc66;">&#125;</span>
 		<span style="color: #b1b100;">return</span> <span style="color: #000000; font-weight: bold;">true</span>;
 	<span style="color: #66cc66;">&#125;</span>
 <span style="color: #66cc66;">&#125;</span></pre>
<p>Pour finir, j'ai créé une classe Validator qui implémente elle même l'interface et qui va recevoir en argument du constructeur la classe ayant la stratégie adéquat :</p>
<pre class="actionscript">&nbsp;
<span style="color: #0066CC;">import</span> com.<span style="color: #006600;">nodule</span>.<span style="color: #006600;">validator</span>.<span style="color: #006600;">IValidator</span>;
<span style="color: #808080; font-style: italic;">/**  * @author Benoit MILGRAM  */</span>
<span style="color: #000000; font-weight: bold;">class</span> com.<span style="color: #006600;">nodule</span>.<span style="color: #006600;">validator</span>.<span style="color: #006600;">Validator</span> <span style="color: #0066CC;">implements</span> IValidator <span style="color: #66cc66;">&#123;</span>
 	<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> _oValidatorStrategy : IValidator;
 	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> Validator<span style="color: #66cc66;">&#40;</span> strategy : IValidator <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
 		_oValidatorStrategy = strategy;
 	<span style="color: #66cc66;">&#125;</span>
 	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> isValid<span style="color: #66cc66;">&#40;</span> s : <span style="color: #0066CC;">String</span> <span style="color: #66cc66;">&#41;</span> : <span style="color: #0066CC;">Boolean</span> <span style="color: #66cc66;">&#123;</span>
 		<span style="color: #b1b100;">return</span> _oValidatorStrategy.<span style="color: #006600;">isValid</span><span style="color: #66cc66;">&#40;</span> s <span style="color: #66cc66;">&#41;</span>;
 	<span style="color: #66cc66;">&#125;</span>
 <span style="color: #66cc66;">&#125;</span>
&nbsp;</pre>
<p>Ainsi pour valider le contenu d'un champ texte nomé tiEmail et qui ait censé contenir un email :</p>
<pre class="actionscript">&nbsp;
<span style="color: #0066CC;">import</span> com.<span style="color: #006600;">nodule</span>.<span style="color: #006600;">validator</span>.<span style="color: #006600;">Validator</span>;
<span style="color: #0066CC;">import</span> com.<span style="color: #006600;">nodule</span>.<span style="color: #006600;">validator</span>.<span style="color: #006600;">EmailValidator</span>;
<span style="color: #000000; font-weight: bold;">var</span> validateEmail : IValidator = <span style="color: #000000; font-weight: bold;">new</span> Validator<span style="color: #66cc66;">&#40;</span> <span style="color: #000000; font-weight: bold;">new</span> EmailValidator<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>;
validateEmail.<span style="color: #006600;">isValid</span><span style="color: #66cc66;">&#40;</span> tiEmail.<span style="color: #0066CC;">text</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;</pre>
<p>On peut rapidement et facilement maintenir notre code. Chaque classe ayant la responsabilité de valider un type d'information. Et on peut rapidement et facilement ajouter de nouveau type de validation sans que notre classe Validator ait besoin d'être modifié !</p>
]]></content:encoded>
			<wfw:commentRss>http://kilooctet.net/2007/03/09/design-pattern-strategy-un-exemple-concret-avec-la-validation-de-formulaire/feed/</wfw:commentRss>
		</item>
		<item>
		<title>La journée de la femme qui fait du Flash</title>
		<link>http://kilooctet.net/2007/03/07/la-journee-de-la-femme-qui-fait-du-flash/</link>
		<comments>http://kilooctet.net/2007/03/07/la-journee-de-la-femme-qui-fait-du-flash/#comments</comments>
		<pubDate>Wed, 07 Mar 2007 17:01:07 +0000</pubDate>
		<dc:creator>Benoît (Flapflap)</dc:creator>
		
		<category><![CDATA[ActionScript 2]]></category>

		<category><![CDATA[Communauté]]></category>

		<category><![CDATA[concours]]></category>

		<category><![CDATA[femmes]]></category>

		<category><![CDATA[Flash]]></category>

		<category><![CDATA[flash in the can]]></category>

		<guid isPermaLink="false">http://ks351861.kimsufi.com/~kiloocte/?p=63</guid>
		<description><![CDATA[Flash Goddess est un site dédiée au femmes qui font du Flash (développeuses mais aussi designeuses, enfin graphiste).
Un concours est lancé avec remise de prix officiel au prochain Flash In The Can.
A vos IDE !
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flashgoddess.com/">Flash Goddess</a> est un site dédiée au femmes qui font du Flash (développeuses mais aussi designeuses, enfin graphiste).</p>
<p>Un concours est lancé avec remise de prix officiel au prochain <a href="http://www.fitc.ca" hreflang="en">Flash In The Can</a>.</p>
<p>A vos IDE !</p>
]]></content:encoded>
			<wfw:commentRss>http://kilooctet.net/2007/03/07/la-journee-de-la-femme-qui-fait-du-flash/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PixIoC</title>
		<link>http://kilooctet.net/2007/01/15/pixioc/</link>
		<comments>http://kilooctet.net/2007/01/15/pixioc/#comments</comments>
		<pubDate>Mon, 15 Jan 2007 12:19:04 +0000</pubDate>
		<dc:creator>Benoît (Flapflap)</dc:creator>
		
		<category><![CDATA[ActionScript 2]]></category>

		<category><![CDATA[Flash]]></category>

		<category><![CDATA[LowRA / PixLib]]></category>

		<category><![CDATA[P.O.O]]></category>

		<category><![CDATA[ioc]]></category>

		<category><![CDATA[pixioc]]></category>

		<guid isPermaLink="false">http://ks351861.kimsufi.com/~kiloocte/?p=61</guid>
		<description><![CDATA[Francis lance sa nouvelle bombe :  un framework dérivé de PixLib permettant de créer et instancier des plugins au runtime. Plus d'explication sur le site officiel sur OSFlash. Avant toute chose je vous conseil de lire Inversion du controle par Martin Fowler en Français ou en Anglais.
Ca promet tout ça !
]]></description>
			<content:encoded><![CDATA[<p>Francis lance sa nouvelle bombe :  un framework dérivé de <a href="http://www.osflash.org/pixlib" hreflang="en">PixLib</a> permettant de créer et instancier des plugins au runtime. Plus d'explication sur <a href="http://www.osflash.org/pixioc" hreflang="en">le site officiel sur OSFlash</a>. Avant toute chose je vous conseil de lire <a href="http://www.dotnetguru.org/articles/dossiers/ioc/Fowler/IoC.htm" hreflang="fr">Inversion du controle par Martin Fowler en Français</a> ou en <a href="http://www.martinfowler.com/articles/injection.html" hreflang="en">Anglais.</a></p>
<p>Ca promet tout ça !</p>
]]></content:encoded>
			<wfw:commentRss>http://kilooctet.net/2007/01/15/pixioc/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Tout savoir des fontes dans Flash</title>
		<link>http://kilooctet.net/2006/12/21/tout-savoir-des-fontes-dans-flash/</link>
		<comments>http://kilooctet.net/2006/12/21/tout-savoir-des-fontes-dans-flash/#comments</comments>
		<pubDate>Thu, 21 Dec 2006 18:16:49 +0000</pubDate>
		<dc:creator>Benoît (Flapflap)</dc:creator>
		
		<category><![CDATA[ActionScript 2]]></category>

		<category><![CDATA[Flash]]></category>

		<category><![CDATA[font]]></category>

		<category><![CDATA[polices]]></category>

		<guid isPermaLink="false">http://ks351861.kimsufi.com/~kiloocte/?p=59</guid>
		<description><![CDATA[The Unbearable Strangeness of Embedding Fonts  a lire absolument...
]]></description>
			<content:encoded><![CDATA[<p><a href="connectedpixel.com" title="en">The Unbearable Strangeness of Embedding Fonts </a> a lire absolument...</p>
]]></content:encoded>
			<wfw:commentRss>http://kilooctet.net/2006/12/21/tout-savoir-des-fontes-dans-flash/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PEACE Alpha Release</title>
		<link>http://kilooctet.net/2006/12/13/peace-alpha-release/</link>
		<comments>http://kilooctet.net/2006/12/13/peace-alpha-release/#comments</comments>
		<pubDate>Wed, 13 Dec 2006 00:08:23 +0000</pubDate>
		<dc:creator>Benoît (Flapflap)</dc:creator>
		
		<category><![CDATA[ActionScript 2]]></category>

		<category><![CDATA[Flash]]></category>

		<category><![CDATA[LowRA / PixLib]]></category>

		<category><![CDATA[P.O.O]]></category>

		<category><![CDATA[PEACE]]></category>

		<category><![CDATA[mvc+c]]></category>

		<category><![CDATA[pixlib]]></category>

		<guid isPermaLink="false">http://ks351861.kimsufi.com/~kiloocte/?p=58</guid>
		<description><![CDATA[PEACE (Pixlib Event And Command Editor) Alpha version 0.0.1 is here !! This a simple editor taht allow you, in the case of a FrontController's PixLib dev, to quickly add a Command, add an event with same name in a EventList and link them in the Controller. For this you just need to set your [...]]]></description>
			<content:encoded><![CDATA[<p>PEACE (Pixlib Event And Command Editor) Alpha version 0.0.1 is here !! This a simple editor taht allow you, in the case of a FrontController's <a href="http://www.osflash.org/pixlib" hreflang="en">PixLib</a> dev, to quickly add a Command, add an event with same name in a EventList and link them in the Controller. For this you just need to set your source folder. Automaticly Peace will look for EventList and Controller and a command folder. If it not find it you can setup manually (if you call it by another name). Next, it will tell you a list of Event, Command and wich one are linked. For now just in a TextArea. This is a proof of concept to have a first feedback.<span id="more-58"></span></p>
<p>For now, it was make with Zinc but I hope next release will come using <a href="http://www.haxe.org" hreflang="en">HaXe</a>... If you have some skills on it and a little bit of time be welcome ! Also it use MM Components and I'll try to go to <a href="http://www.aswing.org/display/AsWing/Home" hreflang="en">ASWing</a> as soon as possible. My intention is to make a perfect Open Source Flash project... Also to create the Command it use a template you can find in the template folder created by the app at launch time. Change it after launching to change youre command line code. There is just two tags $package$ and $name$ to keep...</p>
<p><strong>!!! WARNING!!!! This is an earlier alpha and I just make some quick test. This application write on your as files so use it with care. I suggest you to make a copy of one of your PixLib's based work for test if. I wait for you feedback at flapflap_at_kilooctet.net</strong></p>
<p><a href="http://www.kilooctet.net/peace/alpha1/peace.zip">Let's take PEACE</a></p>
<p>PEACE (Pixlib Event And Command Editor) Alpha version 0.0.1 est disponible !! Son principe en est simple : c'est un petit éditeur qui vous permet dans le cadre d'un framework basé sur le FrontController de <a href="http://www.osflash.org/pixlib" hreflang="en">PixLib</a>, d'ajouter rapidement une commande de rajouter l'événement correspondant dans la EventList et de les lier dans le Controller. Pour celà vous devez préciser votre dossier source. Automatiquent Peace va rechercher les classes nommées EventList et Controller ainsi qu'un dossier command. Si il ne les trouve pas vous pouvez les préciser (notamment si vous les avez appeller autrement). Ensuite, il va vous lister les événements, les commandes et ceux qui sont liés. Pour l'instant tout ça est brut dans un TextArea. Le but étant un test de pertinence et de couvrir un premier panel de test.</p>
<p>Pour l'instant, l'exécutable est généré par Zinc mais j'espère pouvoir utiliser <a href="http://www.haxe.org" hreflang="en">HaXe</a> pour les prochaines versions. Si vous y connaissez n'hésitez pas à me contacter... J'utilise aussi les composants Flash mais je vais passer sur <a href="http://www.aswing.org/display/AsWing/Home" hreflang="en">ASWing</a> dès que possible. Le but étant de faire un projet totalement Open Source Flash. J'oubliais, pour créer les Command, j'utilise un template situté dans le dossier du même nom. Vous pouvez le modifier à votre guise mais uniquement une fois l'application lancée. J'utilise juste deux tags : $package$ et $name$.</p>
<p><strong>!!! ATTENTION !!!! Ceci est une alpha et je n'ai procédé qu'a des tests rapides. Ce programme intervient sur vos fichiers as donc merci de le tester avec précautions. Je vous conseil de copier un de vos projets pour faire le test. J'attends vos retours avec impatience sur flapflap_at_kilooctet.net</strong></p>
<p><a href="http://www.kilooctet.net/peace/alpha1/peace.zip">Let's take PEACE</a></p>
]]></content:encoded>
			<wfw:commentRss>http://kilooctet.net/2006/12/13/peace-alpha-release/feed/</wfw:commentRss>
		</item>
		<item>
		<title>MVC, la logique abstraite et la gestion des responsabilités : un exemple.</title>
		<link>http://kilooctet.net/2006/12/01/mvc-la-logique-abstraite-et-la-gestion-des-responsabilites/</link>
		<comments>http://kilooctet.net/2006/12/01/mvc-la-logique-abstraite-et-la-gestion-des-responsabilites/#comments</comments>
		<pubDate>Fri, 01 Dec 2006 11:04:58 +0000</pubDate>
		<dc:creator>Benoît (Flapflap)</dc:creator>
		
		<category><![CDATA[ActionScript 2]]></category>

		<category><![CDATA[Flash]]></category>

		<category><![CDATA[P.O.O]]></category>

		<category><![CDATA[abstraction]]></category>

		<category><![CDATA[mvc]]></category>

		<category><![CDATA[responsabilité]]></category>

		<guid isPermaLink="false">http://ks351861.kimsufi.com/~kiloocte/?p=56</guid>
		<description><![CDATA[Une des premières choses sur laquelle Francis est revenu pendant la formation : les responsabilités de chacun des intervenants du pattern MVC. Principalement celle du Modèle par rapport à la logique abstraite.
Je reviens rapidement sur le pattern MVC, il s’agit simplement de séparer les responsabilités d’une application, d’un composant ou d’une partie quelconque d’une application [...]]]></description>
			<content:encoded><![CDATA[<p>Une des premières choses sur laquelle <a href="http://www.tweenpix.net" hreflang="fr">Francis</a> est revenu <a href="http://www.kilooctet.net/index.php/2006/11/24/50-francis-bourre-s-style" hreflang="fr">pendant la formation</a> : les responsabilités de chacun des intervenants du pattern MVC. Principalement celle du Modèle par rapport à la logique abstraite.<span id="more-56"></span></p>
<p>Je reviens rapidement sur le pattern MVC, il s’agit simplement de séparer les responsabilités d’une application, d’un composant ou d’une partie quelconque d’une application ayant une partie graphique en trois objets : le Modèle, la Vue et le Contrôleur. Le Modèle est toujours la partie la plus difficile à appréhender alors qu'on comprend facilement que la Vue gère les éléments graphiques et le Contrôleur les actions déclenchées par l'utilisateur. En fait, le Modèle est en charge de toute la logique abstraite et non uniquement de la gestion des données comme je le pensais au départ. Le Modèle est bien plus qu'un simple réceptacle à données, à la limite il en gère peu d'ailleurs, déléguant cette gestion à d'autres classes et allant chercher dans celle-ci les infos nécessaires. La logique abstraite est donc l'unique responsabilité du Modèle.</p>
<p>Pour nous faire comprendre ce principe simple, Francis a utilisé un exemple que je m'empresse de reprendre ici : un simple menu.</p>
<p>Nous partirons par exemple d'un XML (mais ça pourrais être un tableau).</p>
<p>Un objet aura la responsabilité de charger et parser cette XML. Par exemple, et totalement au hasard, on pourra utiliser <a href="http://www.osflash.org/pixlib" hreflang="en">PixLib</a> pour le charger et le déserializer. Une fois notre XML transformé en un objet, il sera passé au Modèle c'est le début de la logique abstraite.</p>
<p>Dans cet exemple, j'aurais une tendance à faire que le Modèle passe ce tableau à la Vue qui aurait parcouru le tableau pour créer les différents éléments en fonction des données. Mais la responsabilité de parcourir le tableau est attribuée au Modèle et il est absurde de le faire parcourir deux fois par deux objets différents. Donc notre Modèle va parcourir cet objet est va simplement à chaque itération lancer un événement écouter par la Vue et relié a une fonction du type addMenuItem(); par exemple.</p>
<p>Ainsi la logique abstraite est bien séparé de la gestion graphique et pourra inter changer nos Vue. L'idéal étant de créer une Interface pour les Vues qui voudront écouter ce Modèle.</p>
<p>Ca paraît logique ainsi dit mais j'ai eu souvent tendance à laisser de la logique abstraite dans les Vue et on tombe alors dans une problématique de couplage fort. Une partie de la logique abstraite étant dans la Vue, la relation entre la Vue et le Modèle devient plus lourdement dissociable. On perd donc de la souplesse.</p>
<p>Je ne sais pas si tout ça vous a aidé, mais moi ça m'a bien remis les idées en place.</p>
]]></content:encoded>
			<wfw:commentRss>http://kilooctet.net/2006/12/01/mvc-la-logique-abstraite-et-la-gestion-des-responsabilites/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PixLib FDT Templates</title>
		<link>http://kilooctet.net/2006/11/24/pixlib-fdt-templates/</link>
		<comments>http://kilooctet.net/2006/11/24/pixlib-fdt-templates/#comments</comments>
		<pubDate>Fri, 24 Nov 2006 10:57:06 +0000</pubDate>
		<dc:creator>Benoît (Flapflap)</dc:creator>
		
		<category><![CDATA[ActionScript 2]]></category>

		<category><![CDATA[Flash]]></category>

		<category><![CDATA[LowRA / PixLib]]></category>

		<category><![CDATA[P.O.O]]></category>

		<category><![CDATA[fdt]]></category>

		<category><![CDATA[pixlib]]></category>

		<category><![CDATA[templates]]></category>

		<guid isPermaLink="false">http://ks351861.kimsufi.com/~kiloocte/?p=54</guid>
		<description><![CDATA[J'ai mis à jour les templates FDT pour coller à la rev 40. Seul le template remote controller contient toujours une erreur, mais je n'ai pas eu l'occasion de l'explorer plus avant pour l'instant.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.kilooctet.net/pixlib/pixlib_templates.rar" hreflang="fr">J'ai mis à jour les templates FDT pour coller à la rev 40</a>. Seul le template remote controller contient toujours une erreur, mais je n'ai pas eu l'occasion de l'explorer plus avant pour l'instant.</p>
]]></content:encoded>
			<wfw:commentRss>http://kilooctet.net/2006/11/24/pixlib-fdt-templates/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Francis Bourre&#8217;s style</title>
		<link>http://kilooctet.net/2006/11/24/francis-bourre-s-style/</link>
		<comments>http://kilooctet.net/2006/11/24/francis-bourre-s-style/#comments</comments>
		<pubDate>Fri, 24 Nov 2006 10:53:19 +0000</pubDate>
		<dc:creator>Benoît (Flapflap)</dc:creator>
		
		<category><![CDATA[ActionScript 2]]></category>

		<category><![CDATA[Communauté]]></category>

		<category><![CDATA[Flash]]></category>

		<category><![CDATA[LowRA / PixLib]]></category>

		<category><![CDATA[Ma vie]]></category>

		<category><![CDATA[P.O.O]]></category>

		<category><![CDATA[formation]]></category>

		<category><![CDATA[francis bourre]]></category>

		<category><![CDATA[pixlib]]></category>

		<guid isPermaLink="false">http://ks351861.kimsufi.com/~kiloocte/?p=53</guid>
		<description><![CDATA[Je viens de finir une formation de 4 jours au près de Francis Bourre, Monsieur PixLib, et c'est tout simplement un nouveau monde qui s'ouvre à moi.
J'encourage tout ceux qui peuvent le faire à demander cette formation sur mesure, donc adapté à vos problèmatiques. Le niveau est élévé mais Francis sait vous tirer vers le [...]]]></description>
			<content:encoded><![CDATA[<p>Je viens de finir une formation de 4 jours au près de <a href="http://www.tweenpix.net" hreflang="fr">Francis Bourre</a>, <a href="http://www.osflash.org/pixlib" hreflang="en">Monsieur PixLib</a>, et c'est tout simplement un nouveau monde qui s'ouvre à moi.</p>
<p>J'encourage tout ceux qui peuvent le faire à demander cette formation sur mesure, donc adapté à vos problèmatiques. Le niveau est élévé mais Francis sait vous tirer vers le haut et surtout partager sans retenu ses petits trucs comme ses grandes idées. En plus il est sympa !</p>
<p>Autre avantage, j'ai pu avoir des explications en direct sur des points de PixLib dont j'étais passé à côté. Je vais essayer de vous faire partager tout ça dans les prochains jours.</p>
<p>Bref, une seule chose à dire : Merci Francis.</p>
]]></content:encoded>
			<wfw:commentRss>http://kilooctet.net/2006/11/24/francis-bourre-s-style/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
