<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>La Fabrick &#187; opensource</title>
	<atom:link href="http://www.lafabrick.com/blog/tag/opensource/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lafabrick.com/blog</link>
	<description>Laboratoire d&#039;interfaces riches (Flex, Flash, Air ...)</description>
	<lastBuildDate>Mon, 28 Nov 2011 22:02:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
		<item>
		<title>Librairie lafabrick : parce que je le vaut bien</title>
		<link>http://www.lafabrick.com/blog/2007/12/06/277-librairie/</link>
		<comments>http://www.lafabrick.com/blog/2007/12/06/277-librairie/#comments</comments>
		<pubDate>Thu, 06 Dec 2007 14:37:45 +0000</pubDate>
		<dc:creator>Fabien</dc:creator>
				<category><![CDATA[Nos projets]]></category>
		<category><![CDATA[[Dev] Flash / Flex / AIR...]]></category>
		<category><![CDATA[component]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[UI Design]]></category>

		<guid isPermaLink="false">http://92.243.2.196/lafabrick/blog/?p=277</guid>
		<description><![CDATA[Le développement du simulateur Climatus demande une bonne dose d&#8217;architecture pour ne pas ce noyer dans les classes. Et quoi de mieux qu&#8217;un petit framework pour structurer tout ça ?! J&#8217;ai donc démarré le développement d&#8217;une librairie de composants, avec un ensemble de classes pour la gestion de mes vues, que j&#8217;utilise directement dans le [...]]]></description>
			<content:encoded><![CDATA[<p>Le développement du simulateur Climatus demande une bonne dose d&#8217;architecture pour ne pas ce noyer dans les classes. Et quoi de mieux qu&#8217;un petit framework pour structurer tout ça ?!</p>
<p>J&#8217;ai donc démarré le développement d&#8217;une librairie de composants, avec un ensemble de classes pour la gestion de mes vues, que j&#8217;utilise directement dans le simulateur. 3 composants principaux pour l&#8217;instant, dérivés de TitleWindow :</p>
<ul>
<li><strong>DraggableWindow et ResizableWindow</strong> : un TitleWindow draggable et resizable (on s&#8217;en serait douté !), inspiré de plusieurs travaux sur des composants Flex glané sur le web. La notion de Skin à une place importante, et, je l&#8217;espère, moins limitative que certain exemple que l&#8217;on peux trouver&#8230; et d&#8217;autres petites &laquo;&nbsp;features&nbsp;&raquo; que je vous laisse découvrir !</li>
<li><strong>ExpandedWindow</strong> est le concentré des 2 autres, avec une gestion d&#8217;évenements &laquo;&nbsp;minimize&nbsp;&raquo; et &laquo;&nbsp;maximize&nbsp;&raquo;, à la manière de l&#8217;évenement &laquo;&nbsp;close&nbsp;&raquo; du TitleWindow.</li>
</ul>
<p>Je vous propose de découvrir cette petite librairie, via le <a hreflang="fr" href="http://code.google.com/p/lafabrick/">googleCode &laquo;&nbsp;lafabrick&nbsp;&raquo;</a> (pour changer !)</p>
<ul>
<li><a hreflang="fr" href="http://lafabrick.googlecode.com/svn/trunk/bin/lafabrick.swc">lafabrick.swc</a></li>
<li><a hreflang="fr" href="http://lafabrick.googlecode.com/svn/trunk/asdoc/index.html">documentation</a></li>
</ul>
<p><strong>UPDATE</strong><br />
<a hreflang="fr" href="http://lafabrick.free.fr/labo/fabrickFramework/exemple1/">Un petit exemple</a>, avec les sources.</p>
<p>N&#8217;hésitez pas à me faire part de vos réactions, remarques et idées qui me permettront d&#8217;améliorer et d&#8217;étoffer cette librairie.Autres articles sur le même sujet
<ul>
<li><a href="http://www.lafabrick.com/blog/2007/04/06/86-donnez-du-style-votre-flex/" rel="bookmark" title="6 avril 2007">Pimp my Flex</a></li>
<li><a href="http://www.lafabrick.com/blog/2007/05/28/115-flexcubed-flash-flex-resource-exchange/" rel="bookmark" title="28 mai 2007">PixFormat, le prochain compagnon de votre backOffice !</a></li>
<li><a href="http://www.lafabrick.com/blog/2008/01/05/285-le-design-declaratif-un-nom-degrafa/" rel="bookmark" title="5 janvier 2008">Le design déclaratif à un nom : Degrafa</a></li>
<li><a href="http://www.lafabrick.com/blog/2008/05/09/325-librairie-lafabrick-mise-jour/" rel="bookmark" title="9 mai 2008">librairie lafabrick : mise à jour</a></li>
</ul>
<p><!-- Similar Posts took 12.489 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lafabrick.com/blog/2007/12/06/277-librairie/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>APE : mise en pratique</title>
		<link>http://www.lafabrick.com/blog/2007/09/28/205-ape-mise-en-pratique/</link>
		<comments>http://www.lafabrick.com/blog/2007/09/28/205-ape-mise-en-pratique/#comments</comments>
		<pubDate>Fri, 28 Sep 2007 18:18:56 +0000</pubDate>
		<dc:creator>Fabien</dc:creator>
				<category><![CDATA[Bientôt chez vous]]></category>
		<category><![CDATA[[Dev] Flash / Flex / AIR...]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[physique]]></category>
		<category><![CDATA[Tutoriels]]></category>

		<guid isPermaLink="false">http://92.243.2.196/lafabrick/blog/?p=205</guid>
		<description><![CDATA[<p><img src="/blog/images/APE.jpg" alt="" /></p> <p>Cela fait longtemps qu'un petit test d'APE, le moteur physique AS3, traîne sur mon ordi&#160;: c’est le moment d’en faire un petit tuto. Depuis le temps que Erick me le demande&#160;!</p>]]></description>
			<content:encoded><![CDATA[<p><img src="/blog/images/APE.jpg" alt="" /></p>
<p>Cela fait longtemps qu&#8217;un petit test d&#8217;APE, le moteur physique AS3, traîne sur mon ordi : c’est le moment d’en faire un petit tuto. Depuis le temps que Erick me le demande !</p>
<p><span id="more-205"></span></p>
<h3>Récupération du framework et création du projet</h3>
<ul>
<li>Dans un premier temps, récupérez le framework APE. <a hreflang="en" href="http://www.cove.org/ape/">A cette adresse</a> vous pouvez le télécharger en version archive.</li>
</ul>
<p>Attention : le code source donné via le repository, et la doc associée ne correspondent pas. Le SVN sert uniquement de dépôt pour les futures versions. A récupérer via le SVN si vous êtes vraiment un foufou des frameworks !</p>
<ul>
<li>Créez un nouveau projet ActionScript, nommé APE.</li>
<li>Clic droit sur le projet, et dans les propriétés, allez dans « ActionScript Build Path », et ajoutez le chemin vers APE (pointez sur le répertoire « source »). APE est maintenant disponible.</li>
</ul>
<h3>Un peu de code !</h3>
<ul>
<li>Import des classes</li>
</ul>
<p>Nous allons donc commencer par importer les classes nécessaires. Nous aurons besoin de APE dans son ensemble, ainsi que la classe Event et KeyboardEvent :</p>
<pre class="brush: js">
package
{
     import org.cove.ape.*;
     import flash.display.Sprite;
     import flash.events.Event;
     import flash.events.KeyboardEvent;

     [SWF(width=&quot;1000&quot;, height=&quot;1000&quot;)]
     public class APE extends Sprite
     {
          public function APE()
         {
         }
     }
}
</pre>
<ul>
<li>Implémentation du moteur</li>
</ul>
<p>Placez vous dans le constructeur et déclarez le moteur comme suit (tout est dans le commentaire !) :</p>
<pre class="brush: js">
public function APE()
{
     // On boust un brin le framerate de l&#039;appli
     stage.frameRate = 60;
     // le paramètre donne la vitesse d&#039;execution du moteur.
     //    La classe APEngine préconise 1/3 ou 1/4...
     //    fesons ce qu&#039;on nous dis !
     APEngine.init(1/4);
     // Définition du conteneur du moteur : ici this
     APEngine.container = this;
     // Ajout du vecteur de gravité global au moteur.
     //    ici : force de 3 vers le bas.
     //    Vous pouvez aussi essayer d&#039;autre valeur de vecteur
     APEngine.addMasslessForce(new Vector(0,3));
}
</pre>
<ul>
<li>Création du monde</li>
</ul>
<p>Maintenant nous allons créer un « monde physique ». Toujours dans le constructeur, nous allons créer 3 objets avec des composantes d’élasticité, et 5 objets standards (toujours dans le constructeur) :</p>
<pre class="brush: js">
// Création du groupe référencant les particules et contrraintes
//    le paramètre true indique que ce groupe contient des particules et contraintes
//    dépendantes les une des autres
//    (en gros que les plaques seront le sol de la bébête)
var g:Group = new Group(true); 

// -OBJET ELASTIQUE ------------------------------------------
// Création de la plaque Elastique 1
//     les paramètres donnent la position x et y,
//     la taille width et height,
//     la rotation de l&#039;élément,
//     et si l&#039;objet est fixe ou non
var plElastic1:RectangleParticle = new RectangleParticle(720, 400, 50, 5, 0,true);
// Elasticité de la plaque
plElastic1.elasticity = 2;
// Style de la plaque
plElastic1.setStyle(0, 0x6699aa, 1, 0x996633);
// Ajout de la plaque dans le groupe
g.addParticle(plElastic1); 

// idem pour la plaque 2
var plElastic2:RectangleParticle = new RectangleParticle(745, 300, 5, 200, 0,true);
plElastic2.elasticity = 1;
plElastic2.setStyle(0, 0x6699aa, 1, 0x996633);
g.addParticle(plElastic2); 

// idem pour la plaque 3
var plElastic3:RectangleParticle = new RectangleParticle(80, 360, 100, 5, 45,true);
plElastic3.elasticity = 2;
plElastic3.setStyle(0, 0x6699aa, 1, 0x996633);
g.addParticle(plElastic3); 

// -OBJET STANDARD ------------------------------------------
// idem que précédent sans propriété particulière
var plStd1:RectangleParticle = new RectangleParticle(400, 400, 600, 5, 0,true);
g.addParticle(plStd1); 

var plStd2:RectangleParticle = new RectangleParticle(55, 220, 5, 200, 0,true);
g.addParticle(plStd2); 

var plStd3:RectangleParticle = new RectangleParticle(350, 200, 300, 5, 0,true);
g.addParticle(plStd3); 

var plStd4:RectangleParticle = new RectangleParticle(450, 300, 350, 5, 0,true);
g.addParticle(plStd4); 

var plStd5:RectangleParticle = new RectangleParticle(550, 100, 350, 5, 0,true);
g.addParticle(plStd5);
</pre>
<p>Vous pouvez jouer avec plein d’autres propriétés pour ces objets : mass, friction, … A vous de tester tout ça !</p>
<ul>
<li>Création de la bébête</li>
</ul>
<p>Bon le plus marrant ! La bébête à roulette. Alors là on peut se lâcher complet ! … bon pas trop quand même pour le tuto, je vous laisse le soin de vous amuser. On va créer une bestiole à 4 roues.</p>
<p>Dans un premier temps, on va déclarer les « roues » au niveau de la classe : elle devront être accessibles à l’ensemble des méthodes pour la suite du tuto :</p>
<pre class="brush: js">
[SWF(width=&quot;1000&quot;, height=&quot;1000&quot;)]
public class APE extends Sprite
{
     private var wheelParticleA:WheelParticle;
     private var wheelParticleB:WheelParticle;
     private var wheelParticleC:WheelParticle;
     private var wheelParticleD:WheelParticle;
     public function APE()
     {
          // …
</pre>
<p>La création en elle-même :</p>
<pre class="brush: js">
// Création de la particule Roue A
//     les paramètres donnent la position x et y,
//     le rayon,
//     et si l&#039;objet est fixe ou non,
//     et on peu lui ajouter des propriétés (ici une masse = 2)
wheelParticleA = new WheelParticle(140,10,14,false, 2);
g.addParticle(wheelParticleA); 

// idem pour la roue B
wheelParticleB = new WheelParticle(180,10,14,false, 2);
g.addParticle(wheelParticleB); 

// idem pour la roue C
wheelParticleC = new WheelParticle(180,50,14,false, 2);
g.addParticle(wheelParticleC); 

// idem pour la roue D
wheelParticleD = new WheelParticle(140,50,14,false, 2);
g.addParticle(wheelParticleD); 

// création des connecteurs entre les roues
//     les paramètres : les 2 objets à connecter,
//     le dureté de la connection,
//     et si l&#039;objet est coller ou non,
//     la taille de la connection
var wheelConnector1:SpringConstraint = new SpringConstraint(wheelParticleA,
     wheelParticleB, 0.5, true, 8);
var wheelConnector2:SpringConstraint = new SpringConstraint(wheelParticleB,
     wheelParticleC, 0.5, true, 8);
var wheelConnector3:SpringConstraint = new SpringConstraint(wheelParticleC,
     wheelParticleD, 0.5, true, 8);
var wheelConnector4:SpringConstraint = new SpringConstraint(wheelParticleD,
     wheelParticleA, 0.5, true, 8); 

// Ajout des connecteurs au groupe
g.addConstraint(wheelConnector1);
g.addConstraint(wheelConnector2);
g.addConstraint(wheelConnector3);
g.addConstraint(wheelConnector4); 

// Ajout du groupe au moteur de rendu
APEngine.addGroup(g);
</pre>
<p>Voila pour la bébête !</p>
<ul>
<li>La routine RUN</li>
</ul>
<p>Nous allons maintenant créer la routine EnterFrame qui va mettre à jour tout ça dans le temps :</p>
<pre class="brush: js">
private function run(evt:Event):void {
// on demande au moteur de faire son boulot ...
APEngine.step();
// ... et on affiche le résultat
APEngine.paint();
}
</pre>
<p>Il faut aussi ajouter dans le constructeur le lancement de l’évènement EnterFrame :</p>
<pre class="brush: js">
addEventListener(Event.ENTER_FRAME, run);
</pre>
<ul>
<li>Ajout de la couche  d&#8217;interactivité</li>
</ul>
<p>Plus qu’à faire bouger le biniou ! Pour cela, on ajoute 2 évènements Clavier KEY_DOWN et KEY_UP avec leurs méthodes associées :</p>
<pre class="brush: js">
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
stage.addEventListener(KeyboardEvent.KEY_UP, keyUpHandler);
</pre>
<p>Et les méthodes :</p>
<pre class="brush: js"> // Quand l&#039;utilisateur presse une touche ...
private function keyDownHandler(keyEvt:KeyboardEvent):void {
     var keySpeed:Number = 0.4;
     // Quand l&#039;utilisateur presse la touche gauche : on change la vitesse angulaire des roues
     if (keyEvt.keyCode == 37) {
          wheelParticleA.angularVelocity = -keySpeed;
          wheelParticleB.angularVelocity = -keySpeed;
          wheelParticleC.angularVelocity = -keySpeed;
          wheelParticleD.angularVelocity = -keySpeed;
     }
     // idem pour la touche droite
     else if (keyEvt.keyCode == 39) {
          wheelParticleA.angularVelocity = keySpeed;
          wheelParticleB.angularVelocity = keySpeed;
          wheelParticleC.angularVelocity = keySpeed;
          wheelParticleD.angularVelocity = keySpeed;
     }
} 

// Quand l&#039;utilisateur relâche une touche ...
private function keyUpHandler(keyEvt:KeyboardEvent):void {
     // On remet les vitesse angulaire des roue a 0
     wheelParticleA.angularVelocity = 0;
     wheelParticleB.angularVelocity = 0;
     wheelParticleC.angularVelocity = 0;
     wheelParticleD.angularVelocity = 0;
}
</pre>
<p>Et voilà !!!!</p>
<p><a hreflang="fr" href="http://lafabrick.free.fr/labo/ape/APE.as">Code source final</a></p>
<p><a hreflang="fr" href="http://lafabrick.free.fr/labo/ape/APE.swf">Aperçu</a></p>
<h3>Ressources</h3>
<ul>
<li><a hreflang="en" href="http://www.cove.org/ape/">Site web APE</a> (à voir les démos et exemples)</li>
<li><a hreflang="en" href="http://www.cove.org/ape/docs/api/">Documentation de l&#8217;API</a></li>
<li><a hreflang="en" href="http://ape.googlecode.com/svn/">repository SVN</a> pour les anciens !</li>
</ul>
<p>Autres articles sur le même sujet
<ul>
<li><a href="http://www.lafabrick.com/blog/2006/12/21/23-api-de-dessin-en-as3/" rel="bookmark" title="21 décembre 2006">API de dessin en AS3</a></li>
<li><a href="http://www.lafabrick.com/blog/2007/08/22/204-les-frameworks-as3-qui-vont-bien/" rel="bookmark" title="22 août 2007">Les frameworks AS3 qui vont bien !</a></li>
<li><a href="http://www.lafabrick.com/blog/2007/11/17/267-box2dflashas3-de-la-concurrence-pour-ape/" rel="bookmark" title="17 novembre 2007">Moteur physique : Box2DFlashAS3 , de la concurrence pour APE&#8230;</a></li>
<li><a href="http://www.lafabrick.com/blog/2010/07/14/1920-flex-4-layouts-viewstack-pure-spark/" rel="bookmark" title="14 juillet 2010">Flex 4 et les layouts &#8211; Faire une ViewStack &laquo;&nbsp;pure&nbsp;&raquo; Spark</a></li>
</ul>
<p><!-- Similar Posts took 14.622 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lafabrick.com/blog/2007/09/28/205-ape-mise-en-pratique/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Les frameworks AS3 qui vont bien !</title>
		<link>http://www.lafabrick.com/blog/2007/08/22/204-les-frameworks-as3-qui-vont-bien/</link>
		<comments>http://www.lafabrick.com/blog/2007/08/22/204-les-frameworks-as3-qui-vont-bien/#comments</comments>
		<pubDate>Wed, 22 Aug 2007 15:47:11 +0000</pubDate>
		<dc:creator>Fabien</dc:creator>
				<category><![CDATA[[Dev] Flash / Flex / AIR...]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://92.243.2.196/lafabrick/blog/?p=204</guid>
		<description><![CDATA[<p>Une petite sélection de quelques frameworks que j'utilise régulièrement, et qui pourront vous intéresser.</p>]]></description>
			<content:encoded><![CDATA[<p>Une petite sélection de quelques frameworks que j&#8217;utilise régulièrement, et qui pourront vous intéresser.</p>
<p><span id="more-204"></span></p>
<h3>ImageProcessing</h3>
<p>Ce framework de manipulation d&#8217;image est la mise en place version AS3 des équations graphiques. L&#8217;objectif de ce framework est en gros de vous permettre de réaliser pratiquement toute les manipulations de filtre sur une image, comme dans Photoshop, d&#8217;une manière très simple.</p>
<h5>Ressources</h5>
<ul>
<li><a href="http://blog.je2050.de/imageprocessing-library/" hreflang="de">Lien web</a> (exemples et téléchargement)</li>
<li><a href="http://je2050.de/imageprocessing/" hreflang="de">Documentation</a></li>
</ul>
<h3>Actionscript Physic Engine (APE)</h3>
<p>APE est un un moteur physique AS3. Il vous permet de gérer des object mobiles et imobiles, et de contrôler les valeurs physiques de chacun d&#8217;eux (elasticité, gravité du moteur, etc&#8230;).</p>
<h5>Ressources</h5>
<ul>
<li><a href="http://www.cove.org/ape/" hreflang="en">Lien</a></li>
<li><a href="http://ape.googlecode.com/svn/" hreflang="en">repository SVN</a></li>
<li><a href="http://www.cove.org/ape/docs/api/" hreflang="en">Documentation</a></li>
</ul>
<h3>Framework 3D</h3>
<p>Pour la 3D, 3 frameworks ce distingues, tout 3 étant une transposition de Java3D. A vous de trouver celui qui correspondra au mieux a vos projets, tout trois ayant leurs spécificité propre.</p>
<h4>Sandy</h4>
<p>Ce framework &laquo;&nbsp;Made in France&nbsp;&raquo; est l&#8217;oeuvre de Thomas Pfeiffer. Très simple d&#8217;utilisation, disponible en version AS2 et AS3, il a l&#8217;énorme avantage d&#8217;avoir une communauté francophone très réactive. Vous trouverez notement beaucoup d&#8217;information sur les forum de <a href="http://flash.mediabox.fr" hreflang="fr">MediaBox</a>.  A noter la grande disponibilité et réactivité de Thomas&nbsp;!</p>
<h5>Ressources</h5>
<ul>
<li><a href="http://fr.flashsandy.org" hreflang="fr">Lien</a></li>
<li><a href="http://sandy.googlecode.com/svn/trunk/sandy/as3/branches/3.0/" hreflang="en">SVN</a> (version AS3)</li>
<li><a href="http://www.petitpub.com/labs/media/flash/sandy3/docs/" hreflang="en">Documentation</a> (version AS3)</li>
</ul>
<p>Documentation</p>
<h4>Papervision3D et Away3D</h4>
<p>Ces 2 frameworks sont aussi différents qu&#8217;il sont indissocialbe. Je m&#8217;explique&nbsp;: PaperVision3D est, comme Sandy, une écriture version AS3 de Java3D. Il s&#8217;axe avant tout sur la modélisation 3D d&#8217;object dans l&#8217;espace. Away3D est une réecriture de PaperVision et lui ajoute en plus la gestion de lumière. Il serait question d&#8217;une fusion des 2 framwork pour la version 2 de paperVision. Affaire a suivre donc. Papervision a l&#8217;avantage d&#8217;avoir un composant MXP disponible pour Flash9, permettant une intégration plus &laquo;&nbsp;visuel&nbsp;&raquo; de vos object 3D. A noté que la communauté PaperVision est beaucoup plus anglophone.</p>
<h5>Ressources PaperVision3D</h5>
<ul>
<li><a href="http://wiki.papervision3D.org" hreflang="en">Lien</a></li>
<li><a href="http://papervision3d.googlecode.com/svn/trunk/" hreflang="en">SVN</a></li>
<li><a href="http://www.papervision3d.org/docs/as3/" hreflang="en">Documentation</a></li>
</ul>
<h5>Ressources Away3D</h5>
<ul>
<li><a href="http://www.away3d.com/" hreflang="en">Lien</a></li>
<li><a href="http://away3d.com/downloads" hreflang="en">Page de téléchargement</a></li>
<li><a href="http://away3d.com/docs/" hreflang="en">Documentation</a></li>
</ul>
<p>Autres articles sur le même sujet
<ul>
<li><a href="http://www.lafabrick.com/blog/2007/08/11/202-as3-optimiser-les-calculs/" rel="bookmark" title="11 août 2007">AS3 : optimiser les calculs</a></li>
<li><a href="http://www.lafabrick.com/blog/2007/12/06/277-librairie/" rel="bookmark" title="6 décembre 2007">Librairie lafabrick : parce que je le vaut bien</a></li>
<li><a href="http://www.lafabrick.com/blog/2007/09/28/205-ape-mise-en-pratique/" rel="bookmark" title="28 septembre 2007">APE : mise en pratique</a></li>
<li><a href="http://www.lafabrick.com/blog/2008/06/01/326-et-de-4/" rel="bookmark" title="1 juin 2008">Alternativa3D : un petit nouveau dans le monde de la 3D Flash</a></li>
</ul>
<p><!-- Similar Posts took 18.011 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lafabrick.com/blog/2007/08/22/204-les-frameworks-as3-qui-vont-bien/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

