<?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>vincent maitray &#187; blog</title>
	<atom:link href="http://www.electrofrog.com/category/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.electrofrog.com</link>
	<description></description>
	<lastBuildDate>Wed, 23 Sep 2009 21:18:22 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>CoCoCommunicator is here !</title>
		<link>http://www.electrofrog.com/2009/09/cococommunicator-is-here/</link>
		<comments>http://www.electrofrog.com/2009/09/cococommunicator-is-here/#comments</comments>
		<pubDate>Wed, 23 Sep 2009 15:31:59 +0000</pubDate>
		<dc:creator>electrofrog</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[Air]]></category>
		<category><![CDATA[CoCoCommunicator]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flash media server]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[webtv]]></category>

		<guid isPermaLink="false">http://www.electrofrog.com/?p=503</guid>
		<description><![CDATA[Il y a quelque temps, on m'a demandé de ressortir un projet de web tv du placard afin de le réutiliser.]]></description>
			<content:encoded><![CDATA[<p>Il y a quelque temps, on m&#8217;a demandé de ressortir un projet de web tv du placard afin de le réutiliser. Je me suis dit que ça allait être facile. Erreur. La chose codée façon cowboy en AS2 s&#8217;est avérée plus difficile à dompter que prévu. Disons tout net qu&#8217;elle ne supporte pas d&#8217;avoir été changée d&#8217;époque et qu&#8217;elle préfère visiblement 2005 à 2009.</p>
<p>Du coup, et comme j&#8217;en ai marre de refaire des web tv à tour de bras, j&#8217;ai décidé de lui régler son compte une fois pour toutes et de créer un système à base de poulies modulable avec les fonctions basique d&#8217;une web tv, et même un peu plus, mais sans sacrifier aux préceptes du cowboy coding qui font ma renommée inter-galactique.</p>
<p>Ainsi naquit le CoCoCommunicator.</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/y6y1zTUZJ44&#038;hl=fr&#038;fs=1&#038;color1=0x3a3a3a&#038;color2=0x999999"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/y6y1zTUZJ44&#038;hl=fr&#038;fs=1&#038;color1=0x3a3a3a&#038;color2=0x999999" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="490" height="396"></embed></object></p>
<p><a title="CoCoCommunicator is among us" href="http://www.electrofrog.com/cococommunicator" target="_blank">Si ça vous tente, ça se passe par ici</a>.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.electrofrog.com%2F2009%2F09%2Fcococommunicator-is-here%2F&amp;linkname=CoCoCommunicator%20is%20here%20%21"><img src="http://www.electrofrog.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.electrofrog.com/2009/09/cococommunicator-is-here/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Le offf 2010 à Paris !</title>
		<link>http://www.electrofrog.com/2009/08/le-offf-2010-a-paris/</link>
		<comments>http://www.electrofrog.com/2009/08/le-offf-2010-a-paris/#comments</comments>
		<pubDate>Mon, 17 Aug 2009 13:06:43 +0000</pubDate>
		<dc:creator>electrofrog</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[flash festival]]></category>
		<category><![CDATA[offf]]></category>

		<guid isPermaLink="false">http://www.electrofrog.com/?p=416</guid>
		<description><![CDATA[Le festival offf aura lieu à Paris les 24, 25 et 26 juin 2010 à La Grande Halle de la Villette !]]></description>
			<content:encoded><![CDATA[<p>Très bonne nouvelle ce matin, j&#8217;apprends que le festival <a href="http://www.offf.ws/" target="_blank">offf</a> aura lieu les 24, 25 et 26 juin 2010 à La Grande Halle de la Villette à Paris.</p>
<p>Le offf est un festival dédié à la création digitale et interactive, au graphisme, au web et motion design créé en 2001 à Barcelone en Espagne, et itinérant depuis l&#8217;édition de 2008 puisqu&#8217;il à eu lieu à Oeiras au Portugal.</p>
<p>Accueillir un évènement de cette importance à Paris est une excellente chose. En effet, on pourrait croire que la capitale est bien pourvue en festival d&#8217;arts numériques, mais ce n&#8217;est pas le cas. Tout est relatif bien sur, et il y a évidement plus de manifestations de ce genre ici que dans la majorité des grandes villes de France, mais Paris se fait largement distancer sur ce terrain par des villes comme Londres avec la <a href="http://www.londondigitalweek.com/" target="_blank">Digital Week</a>.</p>
<p>2010 sera donc un excellent cru pour les évènement relatifs au numérique avec une édition complète du Flash Festival particulièrement musclée en préparation, suivie du offf.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.electrofrog.com%2F2009%2F08%2Fle-offf-2010-a-paris%2F&amp;linkname=Le%20offf%202010%20%C3%A0%20Paris%20%21"><img src="http://www.electrofrog.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.electrofrog.com/2009/08/le-offf-2010-a-paris/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Screencasts Arduino</title>
		<link>http://www.electrofrog.com/2009/07/screencasts-arduino/</link>
		<comments>http://www.electrofrog.com/2009/07/screencasts-arduino/#comments</comments>
		<pubDate>Fri, 03 Jul 2009 17:12:05 +0000</pubDate>
		<dc:creator>electrofrog</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>

		<guid isPermaLink="false">http://www.electrofrog.com/?p=409</guid>
		<description><![CDATA[3 screencasts pour découvrir Arduino]]></description>
			<content:encoded><![CDATA[<p>Si comme moi vous-vous intéressez aux relations qu&#8217;entretiennent les ordinateurs avec le monde extérieur, peut-être savez vous déjà ce qu&#8217;est Arduino. Si vous êtes simplement curieux, Arduino est une carte électronique open source et bon marché qui une fois reliée à un ordinateur vous permettra de le faire communiquer avec l&#8217;extérieur de manière différente qu&#8217;avec la souris ou le clavier.</p>
<p>Pour en savoir plus et voir cette série de trois tutoriels vidéo sur la manière de faire communiquer Flash / Flex et Arduino rendez-vous sur flashxpress :</p>
<p><a href="http://bit.ly/sBvZA" target="_blank">Arduino [part1] &#8211; découverte de la carte et du système</a><br />
<a href="http://bit.ly/wLQ9E" target="_blank">Arduino [part2] &#8211; installation</a><br />
<a href="http://bit.ly/nB8UZ" target="_blank">Arduino [part1] &#8211; réalisation d&#8217;une application ActionScript3 / Arduino</a></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.electrofrog.com%2F2009%2F07%2Fscreencasts-arduino%2F&amp;linkname=Screencasts%20Arduino"><img src="http://www.electrofrog.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.electrofrog.com/2009/07/screencasts-arduino/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>The secret projet, #1</title>
		<link>http://www.electrofrog.com/2009/05/the-secret-projet-1/</link>
		<comments>http://www.electrofrog.com/2009/05/the-secret-projet-1/#comments</comments>
		<pubDate>Mon, 04 May 2009 17:29:26 +0000</pubDate>
		<dc:creator>electrofrog</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[secret project]]></category>

		<guid isPermaLink="false">http://www.electrofrog.com/?p=360</guid>
		<description><![CDATA[En me réveillant ce matin, je me suis aperçu que comme Ty Pennington, j'avais un projet secret.]]></description>
			<content:encoded><![CDATA[<p><a href="#english" target="_self"><img src="http://www.electrofrog.com/blog/wp-content/uploads/2009/05/uk-flag.gif" alt="" /> jump to english version</a></p>
<p>En me réveillant ce matin, je me suis aperçu que comme <a href="http://www.fresnobeehive.com/archives/upload/2007/05/26911Ty1.jpg" rel="shadowbox[post-360];player=img;" target="_blank">Ty Pennington</a>, j&#8217;avais un projet secret.<span id="more-360"></span> Pas vraiment le même genre de projet que lui, mais vraiment aussi secret. Vous pourriez me dire : pourquoi faire un billet là dessus si c&#8217;est si secret que ça ? C&#8217;est qu&#8217;en fait comme T.P., j&#8217;ai envie que les gens se demandent pourquoi ce projet et son contenu sont si secrets.<br />
Cependant, la ressemblance s&#8217;arrête ici : mon projet est plus petit que les siens, et ne requiert ni pelleteuse,  ni soit disant designer gay ultra surexcité, ni fresque murale à base de dauphins, ni fausses larmes et autres cheveux peroxydés (oui il y tout ça et plus encore dans <a href="http://abc.go.com/primetime/xtremehome/index?pn=index" target="_blank">Extreme Makeover Home Edition</a>).</p>
<p>Mais comme dans EMHE, faisons une interview bidonnée:</p>
<p>TV reporter crétin : -&nbsp;&raquo;<em>Alors Vincent, on m&#8217;a dit que vous aviez un projet secret&#8230; c&#8217;est vrai ?</em>&nbsp;&raquo;<br />
moi (parlant dans un mégaphone tout en marchant) : -&nbsp;&raquo;<em>Ohhhhhhhhhh ouiiiiiiiiii c&#8217;est vrai !</em>&nbsp;&raquo;<br />
TVRC : -&nbsp;&raquo;<em>Est-ce que vous pouvez nous en dire un peu plus ?</em>&nbsp;&raquo;<br />
moi (criant dans un mégaphone tout en sautant) : -&nbsp;&raquo;<em>Ohhhhhhh non je ne peux paaaaass !</em>&nbsp;&raquo;<br />
TVRC : -&nbsp;&raquo;<em>Donnez-nous des indices&#8230;</em>&nbsp;&raquo;<br />
moi (hurlant dans un mégaphone tout en courant) : -&nbsp;&raquo;<em>Toooooout ce que je peux vous dire c&#8217;est que c&#8217;est bassé sur Flex et <a href="http://www.arduino.cc/" target="_blank">Arduino</a>&#8230; et que c&#8217;est un projet pour uuuuuuun de mes clients qui me rendra plus célèbre que Ty Pennington lui-mêêêêême !&#8230; oh et oui oui &#8230; et que  j&#8217;ai besoin d&#8217;un testeur d&#8217;émetteur vintage de l&#8217;armé Suisse pour le réaliser </em>&nbsp;&raquo;<br />
TVRC : -&nbsp;&raquo;<em>J&#8217;ai hâte de voir ça !</em>&nbsp;&raquo;</p>
<p>A suivre&#8230;</p>
<p><a id="english" name="english"></a><br />
When I woke up this morning, I faced the fact that just like <a href="http://www.fresnobeehive.com/archives/upload/2007/05/26911Ty1.jpg" rel="shadowbox[post-360];player=img;">Ty Pennington</a>, I had a secret project. Not really the same kind of project, but definitely as much secret as Ty&#8217;s one. one could say :why are you blogging about it if it is secret ? &#8230; well in fact like T.P. I would like people to wonder why is this project so secret and what is it about.<br />
Meanwhile, likeness stops here : my project is smaller than his, and does not involves mechanical shovel, extra over surectited  gay so called designers, dolphin based wall paintings, fake tears or peroxyded hair (yes there is all of this and much more in <a href="http://abc.go.com/primetime/xtremehome/index?pn=index" target="_blank">Extreme Makeover Home Edition</a>).</p>
<p>But like in EMHE, let&#8217;s do a fake interview:</p>
<p>Dumb TV reporter : -&nbsp;&raquo;<em>So Vincent, I heard that you have a secret project&#8230; is that true ?</em>&nbsp;&raquo;<br />
me (shouting in a megaphone while walking) : -&nbsp;&raquo;<em>Ohhhhhhhhhh yesssssss it is !</em>&nbsp;&raquo;<br />
DTVR : -&nbsp;&raquo;<em>Can you tell us a bit more about it ?</em>&nbsp;&raquo;<br />
me (yelling in a megaphone while while jumping) : -&nbsp;&raquo;<em>Ohhhhhhh no I can&#8217;t !</em>&nbsp;&raquo;<br />
DTVR : -&nbsp;&raquo;<em>Please give us some clues&#8230;</em>&nbsp;&raquo;<br />
me (screaming in a megaphone while running) : -&nbsp;&raquo;<em>Allllllll I can say is that it is based on Flex and <a title="Arduino" href="http://www.arduino.cc/" target="_blank">Arduinooooo</a>&#8230; and that it is a project for oooooone of my clients that will make me more notorious than Ty Pennington himselffffff ! &#8230; oh yes yes&#8230; and I need a vintage Swiiiiiiss army </em>radio transmitter test device to build it !&nbsp;&raquo;<br />
DTVR : -&nbsp;&raquo;<em>I&#8217;m looking forward to it !</em>&nbsp;&raquo;</p>
<p>To be continued&#8230;</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.electrofrog.com%2F2009%2F05%2Fthe-secret-projet-1%2F&amp;linkname=The%20secret%20projet%2C%20%231"><img src="http://www.electrofrog.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.electrofrog.com/2009/05/the-secret-projet-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>RIA day regart.net</title>
		<link>http://www.electrofrog.com/2009/05/ria-day-regartnet/</link>
		<comments>http://www.electrofrog.com/2009/05/ria-day-regartnet/#comments</comments>
		<pubDate>Fri, 01 May 2009 16:51:47 +0000</pubDate>
		<dc:creator>electrofrog</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[graphisme]]></category>
		<category><![CDATA[interface]]></category>
		<category><![CDATA[regart]]></category>

		<guid isPermaLink="false">http://www.electrofrog.com/?p=339</guid>
		<description><![CDATA[Merci à toutes et à tous d&#8217;être venus nombreux à la journée RIA au centre de formation regart.net, et particulièrement aux personnes ayant assisté à la session &#171;&#160;Do you FlaX?&#160;&#187; animée par moi-même et Nicolas Gans.
Voici un petit résumé de ma présentation. Mes fichiers source sont téléchargeables au bas de cet article (ce sont des [...]]]></description>
			<content:encoded><![CDATA[<p>Merci à toutes et à tous d&#8217;être venus nombreux à la journée RIA au centre de formation <a href="http://www.regart.net/">regart.net</a>, <span id="more-339"></span>et particulièrement aux personnes ayant assisté à la session &laquo;&nbsp;Do you FlaX?&nbsp;&raquo; animée par moi-même et Nicolas Gans.</p>
<p>Voici un petit résumé de ma présentation. Mes fichiers source sont téléchargeables au bas de cet article (ce sont des projets Flex) Les slides au format PDF sont dans la même archive.</p>
<p>J&#8217;ai commencé à faire de l&#8217;AS3 dans Flash, mais vu la médiocrité du panneau actions je me suis naturellement tourné vers Flex. En créant des projets ActionScript, et grâce à l&#8217;intellisense de l&#8217;éditeur de code, (et à la <a href="http://livedocs.adobe.com/flex/3/langref/index.html">documentation</a> quand même)  j&#8217;ai appris progressivement les bases du langage.<br />
J&#8217;ai ensuite commencé à développer des projets MXML pour profiter des classes mx, mais le jour où j&#8217;ai voulu créer des éléments graphiques pour ces projets, j&#8217;ai été confronté à un problème de taille : Flex en est incapable. Il est évidemment possible de préparer des assets sous forme d&#8217;images .jpg ou .png ou même et de les intégrer avec la balise [Embed], mais j&#8217;ai une longue pratique de Flash derrière moi (j&#8217;ai commencé avec Flash 3 !) et délaisser ce programme du jour au lendemain ne me disais rien. Il est vrai que la balise [Embed] permet l&#8217;intégration d&#8217;actifs de bibliothèque ou de fichiers .swf entiers, mais dans ce cas, le code présent dans le .swf est ignoré.</p>
<p>J&#8217;ai donc décidé de changer ma méthode de travail et d&#8217;utiliser Flash uniquement pour préparer non plus des .swf mais des .swc qui sont des bibliothèques qui peuvent contenir du code, des objets interactifs animés ou non, en vue de les intégrer dans des projets Flex ou Air.</p>
<p>Pour parvenir à ce résultat, il y a cinq étapes :<br />
1/ création des actifs de bibliothèque dans Flash sous forme de MovieClip<br />
2/ transformation de ces actifs soit en UIMovieClip, soit en MovieClipContainer (cf plus bas)<br />
3/ export d&#8217;un .swc<br />
4/ import du .swc dans un projet Flex<br />
5/ utilisation des assets contenus dans le .swc à l&#8217;intérieur du projet</p>
<p>Un MovieClip ne peut être ajouté directement à la liste d&#8217;affichage d&#8217;un conteneur Flex, c&#8217;est la raison pour laquelle on doit le transformer soit en UIMovieClip, soit en MovieClipContainer en utilisant une extension gratuite pour Flash CS3 ou CS4, le &laquo;&nbsp;<a href="http://www.adobe.com/cfusion/entitlement/index.cfm?e=flex_skins">Flex Component Kit</a>&laquo;&nbsp;. La classe UIMovieClip permet d&#8217;insérer du contenu Flash dans un projet Flex, tandis que la classe MovieClipContainer permet d&#8217;habiller un composant Flex dans Flash, puis de l&#8217;insérer dans un projet Flex.</p>
<p>Exemple pour le UIMovieClip (ici une petite télécommande contenant deux boutons)</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;</span>local<span style="color: #000000; font-weight: bold;">:</span>VideoRemote id=<span style="color: #990000;">&quot;videoRemote&quot;</span> horizontalCenter=<span style="color: #990000;">&quot;0&quot;</span> <span style="color: #004993;">y</span>=<span style="color: #990000;">&quot;453&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></pre></div></div>

<p>Exemple pour le MovieClipContainer (le conteneur d&#8217;un composant VideoDisplay)</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;</span>local<span style="color: #000000; font-weight: bold;">:</span>VideoContainer id=<span style="color: #990000;">&quot;videoContainer&quot;</span> horizontalCenter=<span style="color: #990000;">&quot;0&quot;</span> <span style="color: #004993;">y</span>=<span style="color: #990000;">&quot;92&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">&lt;</span>mx<span style="color: #000000; font-weight: bold;">:</span>VideoDisplay 
			id=<span style="color: #990000;">&quot;vid&quot;</span>
			<span style="color: #004993;">width</span>=<span style="color: #990000;">&quot;100%&quot;</span> 
			<span style="color: #004993;">height</span>=<span style="color: #990000;">&quot;100%&quot;</span> 
			<span style="color: #004993;">source</span>=<span style="color: #990000;">&quot;media/the_internet.f4v&quot;</span> 
			autoRewind=<span style="color: #990000;">&quot;false&quot;</span> 
			autoPlay=<span style="color: #990000;">&quot;false&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">&lt;/</span>local<span style="color: #000000; font-weight: bold;">:</span>VideoContainer<span style="color: #000000; font-weight: bold;">&gt;</span></pre></div></div>

<p><a href="http://www.electrofrog.com/blog/wp-content/uploads/2009/05/ria_day.zip"><img class="alignnone size-medium wp-image-197" title="telecharger_code_source" src="http://www.electrofrog.com/blog/wp-content/uploads/2008/12/telecharger_code_source.png" alt="telecharger_code_source" width="128" height="40" /></a></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.electrofrog.com%2F2009%2F05%2Fria-day-regartnet%2F&amp;linkname=RIA%20day%20regart.net"><img src="http://www.electrofrog.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.electrofrog.com/2009/05/ria-day-regartnet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>La classe StageResizeManager</title>
		<link>http://www.electrofrog.com/2009/04/la-classe-stageresizemanager/</link>
		<comments>http://www.electrofrog.com/2009/04/la-classe-stageresizemanager/#comments</comments>
		<pubDate>Sat, 04 Apr 2009 12:04:27 +0000</pubDate>
		<dc:creator>electrofrog</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[resize]]></category>

		<guid isPermaLink="false">http://www.electrofrog.com/?p=325</guid>
		<description><![CDATA[Dernièrement lors de la réalisation d&#8217;un projet, j&#8217;ai eu besoin d&#8217;utiliser l&#8217;évènement RESIZE de la classe Stage, mais je n&#8217;étais pas entièrement satisfait de son fonctionnement. En effet, il est diffusé de manière répétée (et incontrôlable&#8230;) lorsque l&#8217;utilisateur redimensionne la scène, et cela était parfaitement incompatible avec ce que je voulais faire, à savoir une [...]]]></description>
			<content:encoded><![CDATA[<p>Dernièrement lors de la réalisation d&#8217;un projet, j&#8217;ai eu besoin d&#8217;utiliser l&#8217;évènement RESIZE de la classe Stage, mais je n&#8217;étais pas entièrement satisfait de son fonctionnement.<span id="more-325"></span> En effet, il est diffusé de manière répétée (et incontrôlable&#8230;) lorsque l&#8217;utilisateur redimensionne la scène, et cela était parfaitement incompatible avec ce que je voulais faire, à savoir une boucle sur plusieurs dizaines de Sprites avec repositionnement de chacun d&#8217;entre eux + mouvement. J&#8217;ai donc crée cette petite classe StageResizeManager qui diffuse un évènement au début du resize (RESIZE_START), puis ensuite l&#8217;évènement classique est diffusé de manière répétitive lors du redimensionnement (notez qu&#8217;il ne s&#8217;appelle plus RESIZE mais RESIZE_PROGRESS ) et enfin un dernier évènement (RESIZE_END) est diffusé à la fin du redimensionnement, c&#8217;est à dire n millisecondes après la fin de détection de mouvement de souris continu lors d&#8217;un resize. C&#8217;est lui qu&#8217;il est intéressant d&#8217;écouter.</p>
<p>La classe est un singleton, et la méthode qui permet de l&#8217;instancier prend deux paramètres. Le premier, pStage est obligatoire  et c&#8217;est la référence à la scène, le second est facultatif, sa valeur par défaut est de 250ms, et représente le délai après lequel l&#8217;évènement RESIZE_END est diffusé.</p>
<p>Le fichier d&#8217;exemple qui contient la classe est un projet Flex 3 qui ne fait rien d&#8217;autre que de tracer PIM, PAM et POUM en fonction des évènements diffusés. Cette classe n&#8217;utilise aucune particularité du framework Flex, elle est donc entièrement compatible avec tout projet en AS3.</p>
<p>################# edit du 8/05/2009<br />
Après plusieurs demandes, j&#8217;ai ajouté les sources au format Flash CS3/CS4</p>
<p><a class="option" title="Flip3DPanel.as" rel="shadowbox;width=900;height=500" href="#inline-sample"><img class="alignnone size-full wp-image-198" title="voir_code_source" src="http://www.electrofrog.com/blog/wp-content/uploads/2008/12/voir_code_source.png" alt="voir_code_source" width="128" height="40" /></a></p>
<p><a href="http://www.electrofrog.com/blog/wp-content/uploads/2009/04/stageresizemanagerexample.zip"><img class="alignnone size-medium wp-image-197" title="telecharger_code_source" src="http://www.electrofrog.com/blog/wp-content/uploads/2009/04/file_flex.png" alt="telecharger_code_source_flex" width="128" height="40" /><br />
</a></p>
<p><a href="http://www.electrofrog.com/blog/wp-content/uploads/2009/04/stageresizemanager_flash_example.zip"><img class="alignnone size-medium wp-image-197" title="telecharger_code_source" src="http://www.electrofrog.com/blog/wp-content/uploads/2009/04/file_fla.png" alt="telecharger_code_source_flash" width="128" height="40" /></a></p>
<p><a href="http://www.electrofrog.com/blog/wp-content/uploads/2009/04/stageresizemanagerexample.zip"></a></p>
<div id="inline-sample" style="visibility:hidden;display:none">

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #009900;">//-----------------------------------------------------------------------------------</span>
&nbsp;
<span style="color: #3f5fbf;">/*
	Copyleft (¢) 2009  Vincent Maitray - www.electrofrog.com
&nbsp;
	Permission is hereby granted, free of charge, to any person obtaining a copy
	of this software and associated documentation files (the &quot;Software&quot;), to deal
	in the Software without restriction, including without limitation the rights
	to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
	copies of the Software, and to permit persons to whom the Software is
	furnished to do so, subject to the following conditions:
&nbsp;
	The above copyright notice and this permission notice shall be included in
	all copies or substantial portions of the Software.
&nbsp;
	THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
	IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
	FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
	AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
	LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
	OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
	THE SOFTWARE.
&nbsp;
	Mention to the author would be appreciated !
*/</span>
&nbsp;
<span style="color: #009900;">//-----------------------------------------------------------------------------------</span>
&nbsp;
<span style="color: #9900cc; font-weight: bold;">package</span> com.electrofrog.utils
<span style="color: #000000;">&#123;</span>
	<span style="color: #0033ff; font-weight: bold;">import</span> com.electrofrog.events.StageResizeManagerEvent;
&nbsp;
	<span style="color: #0033ff; font-weight: bold;">import</span> <span style="color: #004993;">flash.display</span>.<span style="color: #004993;">Stage</span>;
	<span style="color: #0033ff; font-weight: bold;">import</span> <span style="color: #004993;">flash.events</span>.<span style="color: #004993;">Event</span>;
	<span style="color: #0033ff; font-weight: bold;">import</span> <span style="color: #004993;">flash.events</span>.<span style="color: #004993;">EventDispatcher</span>;
	<span style="color: #0033ff; font-weight: bold;">import</span> <span style="color: #004993;">flash.events</span>.<span style="color: #004993;">TimerEvent</span>;
	<span style="color: #0033ff; font-weight: bold;">import</span> <span style="color: #004993;">flash.ui</span>.<span style="color: #004993;">Mouse</span>;
	<span style="color: #0033ff; font-weight: bold;">import</span> <span style="color: #004993;">flash.utils</span>.<span style="color: #004993;">Timer</span>;
&nbsp;
	<span style="color: #3f5fbf;">/**
	 * Handle the resize process of the stage more accuratly than the simple Event.resize event.
	 *
	 * @param pStage The stage instance to be listen to.
	 * @param pResizeEndDelay The delay in ms after which the ResizeManagerEvent.STAGE_RESIZE_END event is dispatched.
	 *
	 * @author Vincent Maitray
	 * @date April 03, 2009.
	 */</span>
	<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #9900cc; font-weight: bold;">class</span> StageResizeManager extends <span style="color: #004993;">EventDispatcher</span>
	<span style="color: #000000;">&#123;</span>
&nbsp;
		<span style="color: #0033ff; font-weight: bold;">private</span> static <span style="color: #6699cc; font-weight: bold;">var</span> _instance<span style="color: #000000; font-weight: bold;">:</span>StageResizeManager;
		<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> _stage<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Stage</span>;
		<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> _t1<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Timer</span>;
		<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> _resizeEndDelay<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">int</span>;
&nbsp;
		<span style="color: #3f5fbf;">/**
		 * Method for instanciating this class as a Singleton
		 */</span>
		<span style="color: #0033ff; font-weight: bold;">public</span> static <span style="color: #339966; font-weight: bold;">function</span> getinstance<span style="color: #000000;">&#40;</span> pStage<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Stage</span>, pResizeEndDelay<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">int</span> = <span style="color: #000000; font-weight:bold;">250</span> <span style="color: #000000;">&#41;</span><span style="color: #000000; font-weight: bold;">:</span>StageResizeManager
		<span style="color: #000000;">&#123;</span>	
&nbsp;
			<span style="color: #0033ff; font-weight: bold;">if</span> <span style="color: #000000;">&#40;</span> <span style="color: #000000; font-weight: bold;">!</span>_instance <span style="color: #000000;">&#41;</span>
				_instance = <span style="color: #0033ff; font-weight: bold;">new</span> StageResizeManager<span style="color: #000000;">&#40;</span> <span style="color: #0033ff; font-weight: bold;">new</span> SingletonEnforcer<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>, pStage, pResizeEndDelay <span style="color: #000000;">&#41;</span>;
			<span style="color: #0033ff; font-weight: bold;">return</span> _instance;
&nbsp;
		<span style="color: #000000;">&#125;</span>
&nbsp;
		<span style="color: #3f5fbf;">/**
		 * hidden constructor.
		 * @private
		 */</span>
		<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #339966; font-weight: bold;">function</span> StageResizeManager<span style="color: #000000;">&#40;</span> se<span style="color: #000000; font-weight: bold;">:</span>SingletonEnforcer, pStage<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Stage</span>, pResizeEndDelay<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">int</span> <span style="color: #000000;">&#41;</span>
		<span style="color: #000000;">&#123;</span>
&nbsp;
			<span style="color: #0033ff; font-weight: bold;">if</span> <span style="color: #000000;">&#40;</span> <span style="color: #000000; font-weight: bold;">!</span>se <span style="color: #000000;">&#41;</span>
				<span style="color: #0033ff; font-weight: bold;">throw</span><span style="color: #000000;">&#40;</span> <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">Error</span><span style="color: #000000;">&#40;</span> <span style="color: #990000;">&quot;operator 'new' is not not allowed with singleton classes. Use ResizeManager.getInstance() instead !&quot;</span> <span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#41;</span>;
&nbsp;
			_stage = pStage;
			_resizeEndDelay = pResizeEndDelay;
&nbsp;
			_stage.<span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span> <span style="color: #004993;">Event</span>.<span style="color: #004993;">RESIZE</span>, onStageResize <span style="color: #000000;">&#41;</span>;
&nbsp;
			_t1 = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">Timer</span><span style="color: #000000;">&#40;</span> <span style="color: #000000; font-weight:bold;">50</span>, <span style="color: #000000; font-weight:bold;">0</span> <span style="color: #000000;">&#41;</span>;
			_t1.<span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span> <span style="color: #004993;">TimerEvent</span>.<span style="color: #004993;">TIMER</span>, onTimer <span style="color: #000000;">&#41;</span>;
&nbsp;
		<span style="color: #000000;">&#125;</span>
&nbsp;
		<span style="color: #3f5fbf;">/**
		 * Fired when the user resizes the stage
		 *
		 * @param e Event
		 */</span>
		<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> onStageResize<span style="color: #000000;">&#40;</span> e<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Event</span> <span style="color: #000000;">&#41;</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span>
		<span style="color: #000000;">&#123;</span>
&nbsp;
			<span style="color: #0033ff; font-weight: bold;">if</span><span style="color: #000000;">&#40;</span> <span style="color: #000000; font-weight: bold;">!</span>_t1.<span style="color: #004993;">running</span> <span style="color: #000000;">&#41;</span>
			<span style="color: #000000;">&#123;</span>
&nbsp;
				<span style="color: #004993;">dispatchEvent</span><span style="color: #000000;">&#40;</span> <span style="color: #0033ff; font-weight: bold;">new</span> StageResizeManagerEvent<span style="color: #000000;">&#40;</span> StageResizeManagerEvent.STAGE_RESIZE_START, <span style="color: #0033ff; font-weight: bold;">false</span>, <span style="color: #0033ff; font-weight: bold;">false</span> <span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#41;</span>;
				_t1.<span style="color: #004993;">start</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
&nbsp;
			<span style="color: #000000;">&#125;</span>
			<span style="color: #0033ff; font-weight: bold;">else</span>
			<span style="color: #000000;">&#123;</span>
&nbsp;
				<span style="color: #004993;">dispatchEvent</span><span style="color: #000000;">&#40;</span> <span style="color: #0033ff; font-weight: bold;">new</span> StageResizeManagerEvent<span style="color: #000000;">&#40;</span> StageResizeManagerEvent.STAGE_RESIZE_PROGRESS, <span style="color: #0033ff; font-weight: bold;">false</span>, <span style="color: #0033ff; font-weight: bold;">false</span> <span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#41;</span>;
				_t1.<span style="color: #004993;">reset</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
				_t1.<span style="color: #004993;">start</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
&nbsp;
			<span style="color: #000000;">&#125;</span>
&nbsp;
		<span style="color: #000000;">&#125;</span>
&nbsp;
		<span style="color: #3f5fbf;">/**
		 * Fired each pResizeEndDelay ms ( eg 250 ) when the timer is running.
		 *
		 * @param e Event
		 */</span>
		<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> onTimer<span style="color: #000000;">&#40;</span> e<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">TimerEvent</span> <span style="color: #000000;">&#41;</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span>
		<span style="color: #000000;">&#123;</span>
&nbsp;
			<span style="color: #6699cc; font-weight: bold;">var</span> t<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Timer</span> = e.<span style="color: #004993;">currentTarget</span> <span style="color: #0033ff; font-weight: bold;">as</span> <span style="color: #004993;">Timer</span>
			<span style="color: #6699cc; font-weight: bold;">var</span> count<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">int</span> = t.<span style="color: #004993;">currentCount</span> <span style="color: #000000; font-weight: bold;">*</span> t.<span style="color: #004993;">delay</span>;
&nbsp;
			<span style="color: #0033ff; font-weight: bold;">if</span><span style="color: #000000;">&#40;</span> count <span style="color: #000000; font-weight: bold;">&amp;</span>gt; _resizeEndDelay <span style="color: #000000;">&#41;</span>
			<span style="color: #000000;">&#123;</span>
&nbsp;
				_t1.<span style="color: #004993;">reset</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
				<span style="color: #004993;">dispatchEvent</span><span style="color: #000000;">&#40;</span> <span style="color: #0033ff; font-weight: bold;">new</span> StageResizeManagerEvent<span style="color: #000000;">&#40;</span> StageResizeManagerEvent.STAGE_RESIZE_END, <span style="color: #0033ff; font-weight: bold;">false</span>, <span style="color: #0033ff; font-weight: bold;">false</span> <span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#41;</span>;
&nbsp;
			<span style="color: #000000;">&#125;</span>
&nbsp;
		<span style="color: #000000;">&#125;</span>
&nbsp;
	<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #3f5fbf;">/**
 * Dummy class, part of the Singleton subsystem
 */</span>
<span style="color: #9900cc; font-weight: bold;">class</span> SingletonEnforcer
<span style="color: #000000;">&#123;</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

</div>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.electrofrog.com%2F2009%2F04%2Fla-classe-stageresizemanager%2F&amp;linkname=La%20classe%20StageResizeManager"><img src="http://www.electrofrog.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.electrofrog.com/2009/04/la-classe-stageresizemanager/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Une interface prospective réaliste.</title>
		<link>http://www.electrofrog.com/2009/03/une-interface-prospective-realiste/</link>
		<comments>http://www.electrofrog.com/2009/03/une-interface-prospective-realiste/#comments</comments>
		<pubDate>Wed, 11 Mar 2009 14:06:15 +0000</pubDate>
		<dc:creator>electrofrog</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[interface]]></category>
		<category><![CDATA[multitouch]]></category>
		<category><![CDATA[prospective]]></category>
		<category><![CDATA[TED]]></category>

		<guid isPermaLink="false">http://www.electrofrog.com/?p=317</guid>
		<description><![CDATA[Parmi les &#171;&#160;nouvelles&#160;&#187; façons d&#8217;interagir avec un ordinateur, le multitouch est certainement celle la plus à la mode en ce moment.Certains départements de recherche poussent les choses encore un peu plus loin, voire très très loin : Pattie Maes qui enseigne au MIT a ainsi fait la démonstration lors du TED d&#8217;une sympathique interface qui [...]]]></description>
			<content:encoded><![CDATA[<p>Parmi les &laquo;&nbsp;nouvelles&nbsp;&raquo; façons d&#8217;interagir avec un ordinateur, le multitouch est certainement celle <a href="https://xd.adobe.com/#/featured/video/160" target="_blank">la plus à la mode en ce moment</a>.<span id="more-317"></span>Certains départements de recherche poussent les choses encore <a href="http://www.microsoft.com/surface/" target="_blank">un peu plus loin</a>, voire très très loin : Pattie Maes qui enseigne au <a href="http://web.mit.edu/index.html" target="_blank">MIT</a> a ainsi <a href="http://www.ted.com/talks/pattie_maes_demos_the_sixth_sense.html" target="_blank">fait la démonstration</a> lors du <a href="http://www.ted.com/index.php/pages/view/id/5" target="_blank">TED</a> d&#8217;une sympathique interface qui se porte autour du cou et qui projette un écran interactif sur n&#8217;importe quelle surface. En tant que geek bon public, j&#8217;aime particulièrement le passage pendant lequel on voit un type qui porte cette interface téléphoner avec sa main.</p>
<p>Tout ceci peut paraitre assez futile aujourd&#8217;hui, mais en y réfléchissant, si les applications et les ordinateurs ont vu leur complexité et leur puissance évoluer de manière exponentielle depuis leur invention, l&#8217;interface homme &#8211; machine n&#8217;a quasiment pas changé en trente ans. Il faut toujours un clavier, un écran et (éventuellement) une souris pour pouvoir accéder aux informations contenues dans la machine.<br />
Récemment, des appareils comme l&#8217;iPhone ont néanmoins ouvert une brèche dans cet immobilisme circonstancié, et il est toujours surprenant de constater avec quelle rapidité les êtres humains s&#8217;adaptent à un nouveau mode d&#8217;interactivité. L&#8217;apparition du multitouch sonne le glas de la souris à moyen terme -du moins pour les tâches qui ne requièrent  pas un haut niveau de précision- et c&#8217;est tout un pan de la culture informatique qui s&#8217;effondre, laissant entrevoir des possibilités réservées jusque là à la science fiction.</p>
<p>D&#8217;ailleurs un des fantasmes récurrents de la SF, est la dématérialisation totale de l&#8217;interface, dont on peut voir l&#8217;archétype dans Minority Report par exemple:</p>
<p><img class="alignnone size-full wp-image-320" title="minority-report" src="http://www.electrofrog.com/blog/wp-content/uploads/2009/03/minority-report.jpg" alt="minority-report" width="400" height="267" /></p>
<p>Dans ce film, les acteurs ne manipulent aucune interface tangible, mais font des moulinets dans l&#8217;air avec leur bras (c&#8217;est assez ridicule en fait), et ces gestes sont interprétés par l&#8217;ordinateur et traduits sous forme d&#8217;images et de textes sur un écran virtuel. Et c&#8217;est exactement ce que propose des projets comme celui présenté au TED.</p>
<p>Sans en arriver à des extrêmes (le nano ordinateur quantique n&#8217;est pas pour tout de suite) il est probable que les années qui viennent vont radicalement  transformer la manière dont nous nous &laquo;&nbsp;servons&nbsp;&raquo; des ordinateurs, par conséquent la perception que nous avons de ces machines et des informations que nous y trouvons en sera changée.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.electrofrog.com%2F2009%2F03%2Fune-interface-prospective-realiste%2F&amp;linkname=Une%20interface%20prospective%20r%C3%A9aliste."><img src="http://www.electrofrog.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.electrofrog.com/2009/03/une-interface-prospective-realiste/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>digup.tv</title>
		<link>http://www.electrofrog.com/2009/03/diguptv/</link>
		<comments>http://www.electrofrog.com/2009/03/diguptv/#comments</comments>
		<pubDate>Tue, 10 Mar 2009 13:13:09 +0000</pubDate>
		<dc:creator>electrofrog</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[digup]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[webtv]]></category>

		<guid isPermaLink="false">http://www.electrofrog.com/?p=309</guid>
		<description><![CDATA[Ce matin, en cherchant des références pour un projet de web-tv, je suis tombé complètement par hasard sur ceci : digup.tv. Il s&#8217;agit selon ses auteurs &#171;&#160;d&#8217;une revue documentaire sur la création numérique accessible aux non-spécialistes&#160;&#187;.
Réalisé par Cellules, un studio parisien de conception interactive et de réalisation audiovisuelle, digup.tv est un modèle d&#8217;ergonomie et de [...]]]></description>
			<content:encoded><![CDATA[<p>Ce matin, en cherchant des références pour un projet de web-tv, je suis tombé complètement par hasard sur ceci : <a href="http://www.digup.tv/" target="_blank">digup.tv</a>.<span id="more-309"></span> Il s&#8217;agit selon ses auteurs <em>&laquo;&nbsp;d&#8217;une revue documentaire sur la création numérique accessible aux non-spécialistes&nbsp;&raquo;</em>.</p>
<p>Réalisé par <a href="http://www.cellules-studio.com/" target="_blank">Cellules</a>, un studio parisien de conception interactive et de réalisation audiovisuelle, digup.tv est un modèle d&#8217;ergonomie et de conception. Réalisé en AJAX pour la partie éditoriale, et en Flash pour la partie vidéo, l&#8217;intégration est remarquablement bien pensée, les transitions entre certains contenus -notamment les formulaires- sont les bienvenues et ne déservent pas la simplicité de la navigation. Les concepteurs ont su résister aux sirènes du site full Flash, ce qui lui confère une fluidité et une accessibilité supérieure, sans pour autant faire l&#8217;impasse sur le design, servi par une charte graphique toute en bleus et noirs qui s&#8217;accommode très bien aux contenus photo et vidéo qui jouent sur des gammes monochromes du plus bel effet.</p>
<p>Enfin certains détails font la différence comme par exemple le sous-titrage (vectoriel) des vidéos en français, l&#8217;encodage vidéo irréprochable même en plein écran, ou encore le fait de filmer avec une petite caméra HD de type Sanyo HD1010 (enfin je crois&#8230; on la voit sur une photo) mais en y adjoignant un kit mini 35 pour donner de la profondeur de champ.</p>
<p>Comme le site est tout récent, il n&#8217;y a pour l&#8217;instant qu&#8217;assez peu de contenu, mais le tout est un ensemble très prometteur.</p>
<p>Petite précision, je n&#8217;ai pas d&#8217;actions chez Cellules, je ne les ais même jamais rencontrés, mais je pense que leur travail mérite des compliments, c&#8217;est tout.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.electrofrog.com%2F2009%2F03%2Fdiguptv%2F&amp;linkname=digup.tv"><img src="http://www.electrofrog.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.electrofrog.com/2009/03/diguptv/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ThruYOU</title>
		<link>http://www.electrofrog.com/2009/03/thruyou/</link>
		<comments>http://www.electrofrog.com/2009/03/thruyou/#comments</comments>
		<pubDate>Sun, 08 Mar 2009 14:18:51 +0000</pubDate>
		<dc:creator>electrofrog</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[musique]]></category>
		<category><![CDATA[thruyou]]></category>
		<category><![CDATA[youtube]]></category>

		<guid isPermaLink="false">http://www.electrofrog.com/?p=304</guid>
		<description><![CDATA[Connais-tu le dicton &#171;&#160;post du dimanche, post en mousse&#160;&#187; ? Non ? Et bien c&#8217;est pas très grave par qu&#8217;il ne s&#8217;applique pas aujourd&#8217;hui de toute façon.
Juste un petit lien donc aujourd&#8217;hui mais certainement pas en mousse. ThruYou est une expérience musicale collective, composée de centaines de morceaux de vidéos trouvées sur YouTube. Je l&#8217;avais [...]]]></description>
			<content:encoded><![CDATA[<p>Connais-tu le dicton &laquo;&nbsp;post du dimanche, post en mousse&nbsp;&raquo; ?<span id="more-304"></span> Non ? Et bien c&#8217;est pas très grave par qu&#8217;il ne s&#8217;applique pas aujourd&#8217;hui de toute façon.</p>
<p>Juste un petit lien donc aujourd&#8217;hui mais certainement pas en mousse. <a href="http://thru-you.com" target="_blank">ThruYou</a> est une expérience musicale collective, composée de centaines de morceaux de vidéos trouvées sur YouTube. Je l&#8217;avais vu passer en début de semaine, mais je ne savais pas qu&#8217;il existait un site avec plusieurs morceaux disponibles à l&#8217;écoute. Le résultat est plus que bluffant&#8230; ça c&#8217;est du vèbe 45.0 au moins !</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.electrofrog.com%2F2009%2F03%2Fthruyou%2F&amp;linkname=ThruYOU"><img src="http://www.electrofrog.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.electrofrog.com/2009/03/thruyou/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Pâte à patterns&#8230;</title>
		<link>http://www.electrofrog.com/2009/03/pate-a-patterns/</link>
		<comments>http://www.electrofrog.com/2009/03/pate-a-patterns/#comments</comments>
		<pubDate>Fri, 06 Mar 2009 13:50:07 +0000</pubDate>
		<dc:creator>electrofrog</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[fond d'écran]]></category>
		<category><![CDATA[graphisme]]></category>
		<category><![CDATA[pattern]]></category>
		<category><![CDATA[wallpaper]]></category>

		<guid isPermaLink="false">http://www.electrofrog.com/?p=295</guid>
		<description><![CDATA[Si tu es un nerd accro à PureMVC ou Cairngorm, si les mots Singleton ou Observer provoquent en toi un émoi qui réchauffe ton pantalon (ou ta robe  ) désolé pour le titre qui t&#8217;auras peut-être induit en erreur, je ne vais pas parler de code aujourd&#8217;hui&#8230; mais reste un peu quand même, ce [...]]]></description>
			<content:encoded><![CDATA[<p>Si tu es un nerd accro à <a href="http://puremvc.org/" target="_blank">PureMVC</a> ou <a href="httphttp://opensource.adobe.com/wiki/display/cairngorm/Cairngorm" target="_blank">Cairngorm</a>, <span id="more-295"></span>si les mots <a href="http://www.darronschall.com/weblog/2007/11/actionscript-3-singleton-redux.cfm" target="_blank">Singleton</a> ou <a href="http://www.swinburne.edu.au/design/tutorials/P-flash/T-The-Observer-Design-Pattern-in-Actionscript-3/ID-145/" target="_blank">Observer</a> provoquent en toi un émoi qui réchauffe ton pantalon (ou ta robe <img src='http://www.electrofrog.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> ) désolé pour le titre qui t&#8217;auras peut-être induit en erreur, je ne vais pas parler de code aujourd&#8217;hui&#8230; mais reste un peu quand même, ce qui suit peut t&#8217;intéresser quand même ! En effet, nous sommes vendredi et c&#8217;est donc <span style="text-decoration: line-through;">poisson</span> <a href="http://www.leshop.ch/images/ProductsBig/7616800705057.JPG" rel="shadowbox[post-295];player=img;" target="_blank">ravioli</a>, ce qui n&#8217;a aucun rapport avec la choucroute dont nous allons parler aujourd&#8217;hui, j&#8217;arrête donc ici les métaphores culinaires.</p>
<p>Laëtitia du blog <a href="http://www.vertcerise.com/" target="_blank">Vertcerise</a> me demandais tout à l&#8217;heure si je n&#8217;aurais pas quelques adresses de sites sur lesquels on peut trouver des motifs pour faire des fonds d&#8217;écran ou bien mettre en arrière plan sur un site. il se trouve que depuis 2 ans, j&#8217;utilise <a href="http://www.vienna-rss.org/vienna2.php" target="_blank">Vienna</a> pour Mac OS X qui est un lecteur de flux RSS. Je suis abonné à environ une cinquantaine de flux dans des domaines aussi différents qu&#8217; ActionScript, les recettes de cuisine, les objets rétro, les poêles à granulés (si si), et pas mal de blog de design graphique.</p>
<p>Depuis deux ans donc, je met une fois par jour un petit drapeau rouge devant un ou deux articles susceptibles de m&#8217;intéresser ultérieurement, mais dont la lecture immédiate est impossible pour cause de charrette permanente. Et notamment je référence à peu près tout ce qui se fait en générateur de patterns&#8230;</p>
<p>Mes préférés : <a href="http://www.colourlovers.com/" target="_blank">coloursmakers.com</a> et <a href="http://www.tartanmaker.com/" target="_blank">tartanmaker.com</a>.<br />
Si vous tu veux voir la liste complète, va faire un tour sur le blog de <a href="http://www.vertcerise.com/2009/03/06/trouver-un-joli-pattern/" target="_blank">Vertcerise</a> !</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.electrofrog.com%2F2009%2F03%2Fpate-a-patterns%2F&amp;linkname=P%C3%A2te%20%C3%A0%20patterns%26%238230%3B"><img src="http://www.electrofrog.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.electrofrog.com/2009/03/pate-a-patterns/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Embouteillage sur l&#8217;autoroute WordPressFlash</title>
		<link>http://www.electrofrog.com/2009/03/embouteillage-sur-lautoroute-wordpressflash/</link>
		<comments>http://www.electrofrog.com/2009/03/embouteillage-sur-lautoroute-wordpressflash/#comments</comments>
		<pubDate>Tue, 03 Mar 2009 09:15:02 +0000</pubDate>
		<dc:creator>electrofrog</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[amfphp]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.electrofrog.com/?p=284</guid>
		<description><![CDATA[Chaque site ou application que je crée possède la plupart du temps une interface d&#8217;administration, ce qui est indispensable.Mais c&#8217;est une tâche que je rechigne souvent à faire car cela me prend un temps conséquent, pour une satisfaction personnelle médiocre ( oui je sais, il faut absolument que je mette à Cairngorm ).
En attendant, j&#8217;ai [...]]]></description>
			<content:encoded><![CDATA[<p>Chaque site ou application que je crée possède la plupart du temps une interface d&#8217;administration, ce qui est indispensable.<span id="more-284"></span>Mais c&#8217;est une tâche que je rechigne souvent à faire car cela me prend un temps conséquent, pour une satisfaction personnelle médiocre ( oui je sais, il faut absolument que je mette à <a href="http://opensource.adobe.com/wiki/display/cairngorm/Cairngorm" target="_blank">Cairngorm )</a>.</p>
<p>En attendant, j&#8217;ai retourné le problème dans tous les sens, et j&#8217;en suis arrivé à la conclusion suivante : pourquoi réinventer la roue à chaque fois, alors qu&#8217;il existe des outils infiniment plus robustes et conviviaux que les misérables petits backends que je produis ? En fait l&#8217;idée m&#8217;est venue alors que j&#8217;étais en train d&#8217;écrire un billet dans WordPress et que je me disais justement que ce truc était rudement bien fichu : pourquoi ne pas utiliser WordPress comme interface d&#8217;admin pour les sites que je crée ? Après tout, WordPress stocke les données en base, et le tout est plutôt bien rangé. Ni une ni deux, je sors <a href="http://www.panic.com/coda/" target="_blank">mon éditeur de code favori</a> et je me dis aller, tu vas faire un service WordPress pour AMFPHP. Je galère une journée là dessus ( le PHP c&#8217;est vraiment tout une gymnastique par rapport à l&#8217;AS&#8230; ) et je finis par avoir un truc ( je l&#8217;appelle même PressAMF ) à peu près fonctionnel, mais dont environ le quart est terminé cependant. C&#8217;était avant-hier.</p>
<p>Ce matin en consultant les fils RSS auxquels je suis abonné, je tombe sur un article chez <a href="http://www.blog.noponies.com/" target="_blank">Noponies</a> intitulé &laquo;&nbsp;<a href="http://www.blog.noponies.com/archives/257" target="_blank">AMFPHP / ZENDAMF service for connecting to WordPress</a>&laquo;&nbsp;. Je le lis, et en fait il explique qu&#8217;il vient de faire un service AMFPHP pour WordPress : FlashPress. Je télécharge <a href="http://www.blog.noponies.com/wp-content/plugins/download-monitor/download.php?id=12" target="_blank">son code</a> ( qui est complet lui&#8230; ) et hop me voilà avec une API WordPress pour AMFPHP toute faite ! Merci donc à Dale Sattler pour son travail. En lisant l&#8217;article et les commentaires, je m&#8217;aperçois que beaucoup de personnes ont pensé à cette solution, certains même sont allés très loin comme <a href="http://jonniespratley.com/" target="_blank">Jonnie Spratley</a> qui a créé <a href="http://jonniespratley.com/blueprints/" target="_blank">un ensemble de services Flex / WordPress avec Cairngorm</a> ( bas de page ) ou <a href="http://ghalex.com/blog/" target="_blank">Alexandru Ghiura</a> qui a réalisé un système ( <a href="http://ghalex.com/blog/?p=53" target="_blank">AS3FlexDB</a> ) dans lequel on code les requêtes SQL directement dans le code ActionScript.</p>
<p>Bref les idéees ne manquent pas, et beaucoup de développeurs se posent les même questions au même moment&#8230; Il n&#8217;y a donc plus qu&#8217;a mettre tout ça en pratique pour enfin avoir des interace d&#8217;admin dignes de ce nom, avec un minimum d&#8217;effort.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.electrofrog.com%2F2009%2F03%2Fembouteillage-sur-lautoroute-wordpressflash%2F&amp;linkname=Embouteillage%20sur%20l%26%238217%3Bautoroute%20WordPressFlash"><img src="http://www.electrofrog.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.electrofrog.com/2009/03/embouteillage-sur-lautoroute-wordpressflash/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Des &#171;&#160;color pickers&#160;&#187; pour OS X</title>
		<link>http://www.electrofrog.com/2009/01/des-color-pickers-pour-os-x/</link>
		<comments>http://www.electrofrog.com/2009/01/des-color-pickers-pour-os-x/#comments</comments>
		<pubDate>Mon, 12 Jan 2009 22:01:10 +0000</pubDate>
		<dc:creator>electrofrog</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[couleur]]></category>
		<category><![CDATA[graphisme]]></category>

		<guid isPermaLink="false">http://www.electrofrog.com/?p=243</guid>
		<description><![CDATA[Si je suis un utilisateur Mac convaincu depuis de nombreuses années, je le suis un peu moins des sélecteurs de couleurs par défaut que nous offre la pomme&#8230; Franchement même si l&#8217;essentiel y est, on pourrait s&#8217;attendre à un peu plus d&#8217;égards de la part d&#8217;Apple à l&#8217;endroit d&#8217; une application que personnellement je dois [...]]]></description>
			<content:encoded><![CDATA[<p>Si je suis un utilisateur Mac convaincu depuis de nombreuses années, je le suis un peu moins des sélecteurs de couleurs par défaut que nous offre la pomme&#8230;<span id="more-243"></span> Franchement même si l&#8217;essentiel y est, on pourrait s&#8217;attendre à un peu plus d&#8217;égards de la part d&#8217;Apple à l&#8217;endroit d&#8217; une application que personnellement je dois bien utiliser au minimum 50 fois par jour.</p>
<p>C&#8217;est pourquoi je vous propose deux extensions qui ajoutent de nouveaux onglets dans le panneau de&nbsp;&raquo; sélection de couleur&nbsp;&raquo; du système. La première, <a title="Hex Color Picker" href="http://wafflesoftware.net/hexpicker/" target="_blank">Hex Color Picker</a> se contente de créer un champ dans lequel on peut saisir directement une valeur de couleur en hexadécimal; c&#8217;est bête mais ça manquait ! La seconde, <a title="Mondrianum" href="http://www.lithoglyph.com/mondrianum" target="_blank">Mondrianum</a>, vous permet d&#8217;accéder à la base de données des nuanciers <a title="Adobe Kuler" href="http://kuler.adobe.com/" target="_blank">Adobe Kuler</a>, et ça c&#8217;est carrément génial.</p>
<p>Hex Color Picker est un donationware et Mondrianulm est en beta.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.electrofrog.com%2F2009%2F01%2Fdes-color-pickers-pour-os-x%2F&amp;linkname=Des%20%26laquo%3B%26nbsp%3Bcolor%20pickers%26nbsp%3B%26raquo%3B%20pour%20OS%20X"><img src="http://www.electrofrog.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.electrofrog.com/2009/01/des-color-pickers-pour-os-x/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>StratusPhone + Slides présentation Stratus &amp; AIR</title>
		<link>http://www.electrofrog.com/2009/01/stratusphone-slides-presentation-stratus-air/</link>
		<comments>http://www.electrofrog.com/2009/01/stratusphone-slides-presentation-stratus-air/#comments</comments>
		<pubDate>Sun, 11 Jan 2009 17:47:35 +0000</pubDate>
		<dc:creator>electrofrog</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[stratus]]></category>

		<guid isPermaLink="false">http://www.electrofrog.com/?p=233</guid>
		<description><![CDATA[Slides de la présentation Adobe Stratus en PDF&#8230;Voici les slides en PDF de la présentation Adobe Stratus faite lors de la journée portes ouvertes du 8/01/2009 au centre de formation regart.net.

]]></description>
			<content:encoded><![CDATA[<p>Slides de la présentation Adobe Stratus en PDF&#8230;<span id="more-233"></span>Voici les slides en PDF de la présentation Adobe Stratus faite lors de la journée portes ouvertes du 8/01/2009 au centre de formation regart.net.</p>
<p><a href="http://www.electrofrog.com/blog/wp-content/uploads/2009/01/stratus_slides.pdf"><img class="alignnone size-medium wp-image-197" src="http://www.electrofrog.com/blog/wp-content/uploads/2009/01/file_pdf.png" alt="telecharger_document" width="128" height="40" /></a></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.electrofrog.com%2F2009%2F01%2Fstratusphone-slides-presentation-stratus-air%2F&amp;linkname=StratusPhone%20%2B%20Slides%20pr%C3%A9sentation%20Stratus%20%26amp%3B%20AIR"><img src="http://www.electrofrog.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.electrofrog.com/2009/01/stratusphone-slides-presentation-stratus-air/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Journées portes ouvertes au centre regart.net à Paris</title>
		<link>http://www.electrofrog.com/2009/01/journees-portes-ouvertes-au-centre-regartnet-a-paris/</link>
		<comments>http://www.electrofrog.com/2009/01/journees-portes-ouvertes-au-centre-regartnet-a-paris/#comments</comments>
		<pubDate>Sun, 04 Jan 2009 20:31:56 +0000</pubDate>
		<dc:creator>electrofrog</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[Ajouter un mot-clef]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[regart]]></category>

		<guid isPermaLink="false">http://www.electrofrog.com/?p=217</guid>
		<description><![CDATA[Le centre de formation regart.net organise jeudi 8 Janvier une “Journée portes ouvertes Creative Suite 4”, à laquelle j&#8217;aurais le plaisir de participer. Vous pourrez assister à plusieurs ateliers et présentations animés par Thibault Imbert, David Deraedt, Nicolas Gans, Bertrand Gac et moi même. Si vous êtes intéressé par Adobe AIR® et Adobe Stratus® je [...]]]></description>
			<content:encoded><![CDATA[<p>Le centre de formation <a href="http://www.regart.net/" target="_blank">regart.net</a> organise jeudi 8 Janvier une “Journée portes ouvertes Creative Suite 4”, à laquelle j&#8217;aurais le plaisir de participer.<span id="more-217"></span> Vous pourrez assister à plusieurs ateliers et présentations animés par <a href="http://www.bytearray.org/" target="_blank">Thibault Imbert</a>, <a href="http://www.dehats.com/drupal/" target="_blank">David Deraedt</a>, Nicolas Gans, Bertrand Gac et moi même. Si vous êtes intéressé par <a href="http://www.adobe.com/fr/products/air/" target="_blank">Adobe AIR</a>® et <a href="http://labs.adobe.com/wiki/index.php/Stratus" target="_blank">Adobe Stratus</a>® je détaillerai l&#8217;association de ces deux technologies entre 18h30 et 19h30 en décortiquant une petite application que j&#8217;ai appelé &laquo;&nbsp;StratusPhone&nbsp;&raquo; et qui permet d&#8217;échanger du son et de l&#8217;image sans autre chose que le lecteur Flash® 10 ou depuis une application AIR.</p>
<p>Programme complet de la journée <a href="http://www.flashxpress.net/focus/1990/" target="_blank">disponible ici.</a><br />
Réservation <a href="http://regart.eventbrite.com/" target="_blank">en ligne ici.</a></p>
<p>Venez nombreux !</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.electrofrog.com%2F2009%2F01%2Fjournees-portes-ouvertes-au-centre-regartnet-a-paris%2F&amp;linkname=Journ%C3%A9es%20portes%20ouvertes%20au%20centre%20regart.net%20%C3%A0%20Paris"><img src="http://www.electrofrog.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.electrofrog.com/2009/01/journees-portes-ouvertes-au-centre-regartnet-a-paris/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Les petits plus de Flash CS4</title>
		<link>http://www.electrofrog.com/2008/12/les-petits-plus-de-flash-cs4/</link>
		<comments>http://www.electrofrog.com/2008/12/les-petits-plus-de-flash-cs4/#comments</comments>
		<pubDate>Fri, 26 Dec 2008 10:04:12 +0000</pubDate>
		<dc:creator>electrofrog</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[cs4]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>

		<guid isPermaLink="false">http://www.electrofrog.com/?p=178</guid>
		<description><![CDATA[Depuis une semaine, je teste Flash CS4 et j&#8217;ai repéré deux ou trois choses assez agréables par rapport à CS3&#8230;Tout d&#8217;abord je dois dire que j&#8217;ai une utilisation tout à fait particulière de Flash: je ne l&#8217;emploi que pour créer des objets graphiques que j&#8217;exporte ensuite dans des SWC afin de les utiliser dans un [...]]]></description>
			<content:encoded><![CDATA[<p>Depuis une semaine, je teste Flash CS4 et j&#8217;ai repéré deux ou trois choses assez agréables par rapport à CS3&#8230;<span id="more-178"></span>Tout d&#8217;abord je dois dire que j&#8217;ai une utilisation tout à fait particulière de Flash: je ne l&#8217;emploi que pour créer des objets graphiques que j&#8217;exporte ensuite dans des SWC afin de les utiliser dans un projet Flex ou un projet AS3 dans Flex. Je ne me sers donc jamais du compilateur de Flash que je trouve trop lent. A mon sens, le débogage dans Flash est également indigent et sans comparaison avec ce qu&#8217;offre Flex.</p>
<p>En fonction du type de projet sur lequel je suis en train de travailler, AS3 ou MXML, j&#8217;exporte les objets graphiques sous forme de Sprite ou MovieClip pour les premiers, ou de UIMovieClip pour les seconds. Cette dernière classe assez peu connue est un MovieClip qui peut être ajouté directement à la liste d&#8217;affichage d&#8217;un composant Flex ce qui évite de créer un UIComponent vide qui ne contiendrait que les Sprite et MovieClip qu&#8217;on souhaite intégrer à l&#8217;application. Dans le même esprit, il serait fort utile de disposer d&#8217;une classe UISprite&#8230;</p>
<p>Jusqu&#8217;à présent dans Flash, lorsque l&#8217;on créait des Sprite ou des UIMovieClip, l&#8217;icône dans la bibliothèque était la même que celle d&#8217;un MovieClip. Avec Flash CS4, lorsque l&#8217;on crée un Sprite, son icone est celle d&#8217;un MovieClip mais en vert, et les UIMovieClip on une icone qui représente le logo de Flex:</p>
<p><img class="alignnone size-full wp-image-182" title="library_small" src="http://www.electrofrog.com/blog/wp-content/uploads/2008/12/library_small.jpg" alt="library_small" width="311" height="129" /></p>
<p>C&#8217;est peu de choses, mais quand on utilise Flash uniquement comme je le fais et qu&#8217;on a 100 éléménts différents dans la bibliothèque (ranger la bibliothèque quand même hein&#8230; ça sera d&#8217;ailleurs le sujet d&#8217;un prochain billet !) on est bien content de ce genre de petites attentions.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.electrofrog.com%2F2008%2F12%2Fles-petits-plus-de-flash-cs4%2F&amp;linkname=Les%20petits%20plus%20de%20Flash%20CS4"><img src="http://www.electrofrog.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.electrofrog.com/2008/12/les-petits-plus-de-flash-cs4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>La classe Flip3DPannel</title>
		<link>http://www.electrofrog.com/2008/12/la-classe-flip3dpannel/</link>
		<comments>http://www.electrofrog.com/2008/12/la-classe-flip3dpannel/#comments</comments>
		<pubDate>Thu, 25 Dec 2008 11:44:58 +0000</pubDate>
		<dc:creator>electrofrog</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>

		<guid isPermaLink="false">http://www.electrofrog.com/?p=147</guid>
		<description><![CDATA[Voici la classe Flip3DPanel pour Flex&#8230;Comme annoncé dans le billet précédent voici donc une petite classe pour Flex adaptée à partir du code de Lee Brimelow (à suivre la même pour Flash) qui permet de mapper deux DisplayObject sur les faces d&#8217;un panneau, et de faire pivoter ce panneau d&#8217;une face à l&#8217;autre dans le [...]]]></description>
			<content:encoded><![CDATA[<p>Voici la classe Flip3DPanel pour Flex&#8230;<span id="more-147"></span>Comme annoncé dans le billet précédent voici donc une petite classe pour Flex adaptée à partir du code de <a title="The Flash Blog" href="http://theflashblog.com/" target="_blank">Lee Brimelow</a> (à suivre la même pour Flash) qui permet de mapper deux DisplayObject sur les faces d&#8217;un panneau, et de faire pivoter ce panneau d&#8217;une face à l&#8217;autre dans le plan horizontal.</p>
<p>
<object width="518" height="350">
<param name="movie" value="http://www.electrofrog.com/blog/wp-content/uploads/2008/12/flip3dpanel_flex.swf"></param>
<param name="quality" value="high"></param>
<param name="wmode" value="window"></param>
<param name="menu" value="false"></param>
<param name="bgcolor" value="#333333"></param>
<param name="allowFullScreen" value="true"></param>
<embed type="application/x-shockwave-flash" width="518" height="350" src="http://www.electrofrog.com/blog/wp-content/uploads/2008/12/flip3dpanel_flex.swf" quality="high" bgcolor="#333333" wmode="window" menu="false" allowFullScreen="true" ></embed>
</object>
</p>
<p><a class="option" title="Flip3DPanel.as" rel="shadowbox;width=900;height=500" href="#inline-sample"><img class="alignnone size-full wp-image-198" title="voir_code_source" src="http://www.electrofrog.com/blog/wp-content/uploads/2008/12/voir_code_source.png" alt="voir_code_source" width="128" height="40" /></a></p>
<p><a href="http://www.electrofrog.com/blog/wp-content/uploads/2008/12/flip3dpanel_flex.zip"><img class="alignnone size-medium wp-image-197" title="telecharger_code_source" src="http://www.electrofrog.com/blog/wp-content/uploads/2008/12/telecharger_code_source.png" alt="telecharger_code_source" width="128" height="40" /></a></p>
<div id="inline-sample" style="visibility:hidden;display:none">

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #009900;">//-----------------------------------------------------------------------------------</span>
&nbsp;
<span style="color: #3f5fbf;">/*
	Copyleft (¢) 2009  Vincent Maitray - www.electrofrog.com
&nbsp;
	Permission is hereby granted, free of charge, to any person obtaining a copy
	of this software and associated documentation files (the &quot;Software&quot;), to deal
	in the Software without restriction, including without limitation the rights
	to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
	copies of the Software, and to permit persons to whom the Software is
	furnished to do so, subject to the following conditions:
&nbsp;
	The above copyright notice and this permission notice shall be included in
	all copies or substantial portions of the Software.
&nbsp;
	THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
	IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
	FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
	AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
	LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
	OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
	THE SOFTWARE.
&nbsp;
	Mention to the author would be appreciated !
*/</span>
&nbsp;
<span style="color: #009900;">//-----------------------------------------------------------------------------------</span>
&nbsp;
<span style="color: #9900cc; font-weight: bold;">package</span>
<span style="color: #000000;">&#123;</span>
	<span style="color: #0033ff; font-weight: bold;">import</span> <span style="color: #004993;">flash.display</span>.<span style="color: #004993;">DisplayObjectContainer</span>;
	<span style="color: #0033ff; font-weight: bold;">import</span> <span style="color: #004993;">flash.display</span>.<span style="color: #004993;">Sprite</span>;
	<span style="color: #0033ff; font-weight: bold;">import</span> <span style="color: #004993;">flash.events</span>.<span style="color: #004993;">Event</span>;
&nbsp;
	<span style="color: #0033ff; font-weight: bold;">import</span> gs.TweenLite;
	<span style="color: #0033ff; font-weight: bold;">import</span> gs.easing.Linear;
&nbsp;
	<span style="color: #0033ff; font-weight: bold;">import</span> mx.core.UIComponent;
&nbsp;
	<span style="color: #3f5fbf;">/**
	 * The Flip3DPanel class is a simple 3D plane paradigm that can be used to map any DisplayObjectContainer on it.
	 * This class requires the free gs.TweenLite tweening library (http://blog.greensock.com/tweenliteas3/)
	 *
	 * @author	Vincent Maitray
	 * @version	1.0
	 *
	 */</span>
	<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #9900cc; font-weight: bold;">class</span> Flip3DPanel extends UIComponent
	<span style="color: #000000;">&#123;</span>
&nbsp;
		<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> _frontFace<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">DisplayObjectContainer</span>;
		<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> _backFace<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">DisplayObjectContainer</span>;
		<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> _frontFaceHolder<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Sprite</span>;
		<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> _backFaceHolder<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Sprite</span>;
		<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> _world3d<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Sprite</span>;
		<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> _transitionLength<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Number</span>;
		<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> _transitionEase<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Function</span>;
		<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> _firstSpin<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Boolean</span>;
&nbsp;
		<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> isSpinning<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Boolean</span>;
&nbsp;
		<span style="color: #3f5fbf;">/**
		 * Flip3DPanel constructor.
		 *
		 * @param pFrontFace 		 	The DisplayObjectContainer to be mapped on the front face of the panel.
		 * @param pBackFace 		 	The DisplayObjectContainer to be mapped on the back face of the panel.
		 * @param pTransitionLength						Length of the transition flip, in seconds.
		 * @param pTransitionEase						The transition ease function used to interpolate the plane.
		 * @return nothing.
		 *
		 */</span>
		<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #339966; font-weight: bold;">function</span> Flip3DPanel<span style="color: #000000;">&#40;</span> pFrontFace<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">DisplayObjectContainer</span>, pBackFace<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">DisplayObjectContainer</span>, pTransitionLength<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Number</span> = <span style="color: #000000; font-weight:bold;">2</span> , pTransitionEase<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Function</span> = <span style="color: #0033ff; font-weight: bold;">null</span> <span style="color: #000000;">&#41;</span>
		<span style="color: #000000;">&#123;</span>
&nbsp;
			_frontFaceHolder = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">Sprite</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
			_backFaceHolder = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">Sprite</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
			_world3d = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">Sprite</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
			<span style="color: #004993;">addChild</span><span style="color: #000000;">&#40;</span> _world3d <span style="color: #000000;">&#41;</span>;
&nbsp;
			backFace = pBackFace;
			frontFace = pFrontFace;
			isSpinning = <span style="color: #0033ff; font-weight: bold;">false</span>;
&nbsp;
			_transitionLength = pTransitionLength;
			pTransitionEase == <span style="color: #0033ff; font-weight: bold;">null</span> <span style="color: #000000; font-weight: bold;">?</span> _transitionEase = Linear.easeNone <span style="color: #000000; font-weight: bold;">:</span> _transitionEase = pTransitionEase;
&nbsp;
			_firstSpin = <span style="color: #0033ff; font-weight: bold;">true</span>;
&nbsp;
			<span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span> <span style="color: #004993;">Event</span>.<span style="color: #004993;">ENTER_FRAME</span>, refreshDisplay <span style="color: #000000;">&#41;</span>;
&nbsp;
		<span style="color: #000000;">&#125;</span>
&nbsp;
		<span style="color: #3f5fbf;">/**
		 *
		 * @param pFrontFace 		 	The DisplayObjectContainer to be mapped on the front face of the panel.
		 * You can change the front face content at runtime with this property.
		 * @return nothing.
		 *
		 */</span>
		<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #339966; font-weight: bold;">function</span> <span style="color: #0033ff; font-weight: bold;">set</span> frontFace<span style="color: #000000;">&#40;</span> pFrontface<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">DisplayObjectContainer</span> <span style="color: #000000;">&#41;</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span>
		<span style="color: #000000;">&#123;</span>
&nbsp;
			_frontFace = pFrontface;
			_frontFace.<span style="color: #004993;">x</span> = <span style="color: #000000; font-weight: bold;">-</span>_frontFace.<span style="color: #004993;">width</span> <span style="color: #000000; font-weight: bold;">/</span> <span style="color: #000000; font-weight:bold;">2</span>;
			_frontFace.<span style="color: #004993;">y</span> = <span style="color: #000000; font-weight: bold;">-</span>_frontFace.<span style="color: #004993;">height</span> <span style="color: #000000; font-weight: bold;">/</span> <span style="color: #000000; font-weight:bold;">2</span>;
			_frontFaceHolder.<span style="color: #004993;">addChild</span><span style="color: #000000;">&#40;</span> _frontFace <span style="color: #000000;">&#41;</span>;
&nbsp;
			_world3d.<span style="color: #004993;">x</span> = _frontFace.<span style="color: #004993;">width</span> <span style="color: #000000; font-weight: bold;">/</span> <span style="color: #000000; font-weight:bold;">2</span>;
			_world3d.<span style="color: #004993;">y</span> = _frontFace.<span style="color: #004993;">height</span> <span style="color: #000000; font-weight: bold;">/</span> <span style="color: #000000; font-weight:bold;">2</span>;
			_world3d.<span style="color: #004993;">addChild</span><span style="color: #000000;">&#40;</span> _frontFaceHolder <span style="color: #000000;">&#41;</span>;
&nbsp;
		<span style="color: #000000;">&#125;</span>
&nbsp;
		<span style="color: #3f5fbf;">/**
		 * The front face of the panel.
		 * @return  the front face of the panel.
		 *
		 */</span>
		<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #339966; font-weight: bold;">function</span> <span style="color: #0033ff; font-weight: bold;">get</span> frontFace<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">DisplayObjectContainer</span>
		<span style="color: #000000;">&#123;</span>
&nbsp;
			<span style="color: #0033ff; font-weight: bold;">return</span> _frontFace;
&nbsp;
		<span style="color: #000000;">&#125;</span>
&nbsp;
		<span style="color: #3f5fbf;">/**
		 *
		 * @param pBackFace 		 	The DisplayObjectContainer to be mapped on the back face of the panel.
		 * You can change the back face content at runtime with this property.
		 * @return nothing.
		 *
		 */</span>
		<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #339966; font-weight: bold;">function</span> <span style="color: #0033ff; font-weight: bold;">set</span> backFace<span style="color: #000000;">&#40;</span> pBackFace<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">DisplayObjectContainer</span> <span style="color: #000000;">&#41;</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span>
		<span style="color: #000000;">&#123;</span>
&nbsp;
			_backFace = pBackFace;
			_backFace.<span style="color: #004993;">x</span> = <span style="color: #000000; font-weight: bold;">-</span>_backFace.<span style="color: #004993;">width</span> <span style="color: #000000; font-weight: bold;">/</span> <span style="color: #000000; font-weight:bold;">2</span>;
			_backFace.<span style="color: #004993;">y</span> = <span style="color: #000000; font-weight: bold;">-</span>_backFace.<span style="color: #004993;">height</span> <span style="color: #000000; font-weight: bold;">/</span> <span style="color: #000000; font-weight:bold;">2</span>;
			_backFaceHolder.<span style="color: #004993;">addChild</span><span style="color: #000000;">&#40;</span> _backFace <span style="color: #000000;">&#41;</span>;
&nbsp;
			_backFace.rotationY = <span style="color: #000000; font-weight: bold;">-</span><span style="color: #000000; font-weight:bold;">180</span>;
			_backFaceHolder.<span style="color: #004993;">x</span> = _backFace.<span style="color: #004993;">width</span>;
&nbsp;
			_world3d.<span style="color: #004993;">x</span> = _backFace.<span style="color: #004993;">width</span> <span style="color: #000000; font-weight: bold;">/</span> <span style="color: #000000; font-weight:bold;">2</span>;
			_world3d.<span style="color: #004993;">y</span> = _backFace.<span style="color: #004993;">height</span> <span style="color: #000000; font-weight: bold;">/</span> <span style="color: #000000; font-weight:bold;">2</span>;
			_world3d.<span style="color: #004993;">addChild</span><span style="color: #000000;">&#40;</span> _backFaceHolder <span style="color: #000000;">&#41;</span>;			
&nbsp;
		<span style="color: #000000;">&#125;</span>
&nbsp;
		<span style="color: #3f5fbf;">/**
		 * The back face of the panel.
		 * @return  the back face of the panel.
		 *
		 */</span>
		<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #339966; font-weight: bold;">function</span> <span style="color: #0033ff; font-weight: bold;">get</span> backFace<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">DisplayObjectContainer</span>
		<span style="color: #000000;">&#123;</span>
&nbsp;
			<span style="color: #0033ff; font-weight: bold;">return</span> _backFace;
&nbsp;
		<span style="color: #000000;">&#125;</span>
&nbsp;
		<span style="color: #3f5fbf;">/**
		 * Spins the panel. Some minor width &amp;amp; x properties adjustments are applied after the first spin.
		 * For obscure reason, the Flash player doesn't render the objects excactly as they should when spining content by 180° in 3D.
		 * @return nothing.
		 *
		 */</span>
		<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #339966; font-weight: bold;">function</span> flip<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span>
		<span style="color: #000000;">&#123;</span>
&nbsp;
			<span style="color: #0033ff; font-weight: bold;">if</span><span style="color: #000000;">&#40;</span> <span style="color: #000000; font-weight: bold;">!</span>isSpinning <span style="color: #000000;">&#41;</span>
			<span style="color: #000000;">&#123;</span>
&nbsp;
				TweenLite.to<span style="color: #000000;">&#40;</span> _world3d, _transitionLength, <span style="color: #000000;">&#123;</span> rotationY<span style="color: #000000; font-weight: bold;">:</span>_world3d.rotationY <span style="color: #000000; font-weight: bold;">+</span> <span style="color: #000000; font-weight:bold;">180</span>, ease<span style="color: #000000; font-weight: bold;">:</span>_transitionEase, onComplete<span style="color: #000000; font-weight: bold;">:</span>onSpinComplete <span style="color: #000000;">&#125;</span> <span style="color: #000000;">&#41;</span>;
				isSpinning = <span style="color: #0033ff; font-weight: bold;">true</span>;
&nbsp;
				<span style="color: #0033ff; font-weight: bold;">if</span><span style="color: #000000;">&#40;</span> _firstSpin <span style="color: #000000;">&#41;</span>
				<span style="color: #000000;">&#123;</span>
&nbsp;
					_firstSpin = <span style="color: #0033ff; font-weight: bold;">false</span>;
					_world3d.<span style="color: #004993;">width</span> <span style="color: #000000; font-weight: bold;">-</span>= <span style="color: #000000; font-weight:bold;">1</span>;
					_world3d.<span style="color: #004993;">x</span> <span style="color: #000000; font-weight: bold;">-</span>= <span style="color: #000000; font-weight:bold;">0.5</span>;
&nbsp;
				<span style="color: #000000;">&#125;</span>
&nbsp;
			<span style="color: #000000;">&#125;</span>
&nbsp;
		<span style="color: #000000;">&#125;</span>
&nbsp;
		<span style="color: #3f5fbf;">/**
		 * @private
		 * Fired when the spin is complete
		 */</span>
		<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> onSpinComplete<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span>
		<span style="color: #000000;">&#123;</span>
&nbsp;
			isSpinning = <span style="color: #0033ff; font-weight: bold;">false</span>;
&nbsp;
		<span style="color: #000000;">&#125;</span>
&nbsp;
		<span style="color: #3f5fbf;">/**
		 * @private
		 * Main refresh function fired by ENTER_FRAME event.
		 */</span>
		<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> refreshDisplay<span style="color: #000000;">&#40;</span> e<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Event</span> <span style="color: #000000;">&#41;</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span>
		<span style="color: #000000;">&#123;</span>
&nbsp;
			<span style="color: #0033ff; font-weight: bold;">if</span><span style="color: #000000;">&#40;</span> _world3d.rotationY <span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #000000; font-weight:bold;">90</span> <span style="color: #000000; font-weight: bold;">&amp;</span>amp;<span style="color: #000000; font-weight: bold;">&amp;</span>amp; _world3d.rotationY <span style="color: #000000; font-weight: bold;">&amp;</span>lt; <span style="color: #000000; font-weight:bold;">270</span> <span style="color: #000000;">&#41;</span>
			<span style="color: #000000;">&#123;</span>
				_frontFaceHolder.<span style="color: #004993;">visible</span> = <span style="color: #0033ff; font-weight: bold;">false</span>;
				_backFaceHolder.<span style="color: #004993;">visible</span> = <span style="color: #0033ff; font-weight: bold;">true</span>;
			<span style="color: #000000;">&#125;</span>
			<span style="color: #0033ff; font-weight: bold;">else</span>
			<span style="color: #000000;">&#123;</span>
				_frontFaceHolder.<span style="color: #004993;">visible</span> = <span style="color: #0033ff; font-weight: bold;">true</span>;
				_backFaceHolder.<span style="color: #004993;">visible</span> = <span style="color: #0033ff; font-weight: bold;">false</span>;
			<span style="color: #000000;">&#125;</span>
&nbsp;
			<span style="color: #0033ff; font-weight: bold;">if</span><span style="color: #000000;">&#40;</span> _world3d.rotationY <span style="color: #000000; font-weight: bold;">&amp;</span>gt;= <span style="color: #000000; font-weight:bold;">360</span> <span style="color: #000000;">&#41;</span> _world3d.rotationY = <span style="color: #000000; font-weight:bold;">0</span>;
&nbsp;
		<span style="color: #000000;">&#125;</span>
&nbsp;
		<span style="color: #3f5fbf;">/**
		 * The width of the Flip3DPanel.
		 * @return  The width of the Flip3DPanel instance in pixels.
		 */</span>
		<span style="color: #0033ff; font-weight: bold;">public</span> override <span style="color: #339966; font-weight: bold;">function</span> <span style="color: #0033ff; font-weight: bold;">get</span> <span style="color: #004993;">width</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Number</span>
		<span style="color: #000000;">&#123;</span>
&nbsp;
			<span style="color: #0033ff; font-weight: bold;">return</span> _world3d.<span style="color: #004993;">width</span>;
&nbsp;
		<span style="color: #000000;">&#125;</span>
&nbsp;
		<span style="color: #3f5fbf;">/**
		 * The height of the Flip3DPanel.
		 * @return  The height of the Flip3DPanel instance in pixels.
		 */</span>
		<span style="color: #0033ff; font-weight: bold;">public</span> override <span style="color: #339966; font-weight: bold;">function</span> <span style="color: #0033ff; font-weight: bold;">get</span> <span style="color: #004993;">height</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Number</span>
		<span style="color: #000000;">&#123;</span>
&nbsp;
			<span style="color: #0033ff; font-weight: bold;">return</span> _world3d.<span style="color: #004993;">height</span>;
&nbsp;
		<span style="color: #000000;">&#125;</span>
&nbsp;
	<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #000000;">&#125;</span></pre></div></div>

</div>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.electrofrog.com%2F2008%2F12%2Fla-classe-flip3dpannel%2F&amp;linkname=La%20classe%20Flip3DPannel"><img src="http://www.electrofrog.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.electrofrog.com/2008/12/la-classe-flip3dpannel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stop motion</title>
		<link>http://www.electrofrog.com/2008/12/stop-motion/</link>
		<comments>http://www.electrofrog.com/2008/12/stop-motion/#comments</comments>
		<pubDate>Tue, 23 Dec 2008 11:53:42 +0000</pubDate>
		<dc:creator>electrofrog</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[flashxpress]]></category>
		<category><![CDATA[stop motion]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.electrofrog.com/?p=137</guid>
		<description><![CDATA[Après la refonte totale du site flashxpress.net, on m&#8217;a demandé de trouver une idée pour l&#8217;habillage de petits tutoriels très courts&#8230;J&#8217;avais déjà expériementé l&#8217;animation en &#8217;stop motion&#8217; avec un film court pour la marque Petit Pan, et j&#8217;ai donc décidé de réutiliser cette technique pour créer le générique des &#8216;Cours Courts&#8217; de flashxpress.net, de rapides [...]]]></description>
			<content:encoded><![CDATA[<p>Après la refonte totale du site flashxpress.net, on m&#8217;a demandé de trouver une idée pour l&#8217;habillage de petits tutoriels très courts&#8230;<span id="more-137"></span>J&#8217;avais déjà expériementé l&#8217;animation en &#8217;stop motion&#8217; avec un film court pour la marque Petit Pan, et j&#8217;ai donc décidé de réutiliser cette technique pour créer le générique des &#8216;Cours Courts&#8217; de flashxpress.net, de rapides tutoriels portant sur un point précis d&#8217;un logiciel. L&#8217;idée générale de la chose est de créer un décalage entre l&#8217;habillage et le contenu pour le rendre plus attractif. Le résulat obtenu est <a title="Plein écran Silverlight" href="http://www.flashxpress.net/ressources-silverlight-blend/les-cours-courts-de-flashxpress-episode-1/?archiveId=51" target="_blank">un petit film de 10s</a> tourné en une journée avec les moyens du bord (papier alu pour occulter les fenêtres, fond bleu en velours venant directement du <a href="http://www.marchesaintpierre.com/" target="_blank">Marché Saint Pierre</a>, lumière en mousse etc. ) mais assez réussi dans son style kitch qui tranche bien avec le contenu des tutos !</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.electrofrog.com%2F2008%2F12%2Fstop-motion%2F&amp;linkname=Stop%20motion"><img src="http://www.electrofrog.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.electrofrog.com/2008/12/stop-motion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flip 3D</title>
		<link>http://www.electrofrog.com/2008/11/flip-3d/</link>
		<comments>http://www.electrofrog.com/2008/11/flip-3d/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 18:08:06 +0000</pubDate>
		<dc:creator>electrofrog</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>

		<guid isPermaLink="false">http://www.electrofrog.com/?p=120</guid>
		<description><![CDATA[Une des grandes frustrations de la 3D avec le lecteur Flash 9 était sans aucun doute le manque d&#8217;interactivité, ou en tout cas la difficulté à la mettre en œuvre. En effet, si l&#8217;ingéniosité des solutions proposées (Papervision3D, Alternativa3D, Sandy etc.) s&#8217;est surtout concentrée autour de la facilité d&#8217;utilisation et du rendu 3D, la capture [...]]]></description>
			<content:encoded><![CDATA[<p>Une des grandes frustrations de la 3D avec le lecteur Flash 9 était sans aucun doute le manque d&#8217;interactivité, ou en tout cas la difficulté à la mettre en œuvre. <span id="more-120"></span>En effet, si l&#8217;ingéniosité des solutions proposées (Papervision3D, Alternativa3D, Sandy etc.) s&#8217;est surtout concentrée autour de la facilité d&#8217;utilisation et du rendu 3D, la capture d&#8217;un simple clic sur un bouton situé à l&#8217;intérieur d&#8217;un MovieClip utilisé comme &#8216;MovieMaterial&#8217; relevait de l&#8217;exploit. (En fait j&#8217;exagère un peu, mais disons que dans un projet complexe, la gestion des évènements de souris devenait vite un casse tête).</p>
<p>A l&#8217;opposé de cela, le lecteur 10 nous propose une approche toute nouvelle grâce à des méthodes 3D natives. Même si les possibilités sont pour le moment bien en deçà de ce que permettent les bibliothèques déjà existantes, notamment au niveau du Z sorting ou du paradigme de caméra qui sont inexistants, il n&#8217;en reste pas moins que la vitesse et la qualité du rendu, et surtout la facilité avec laquelle la 3D s&#8217;intègre au code existant sans venir le surcharger avec un framework dont on ne va utiliser la plupart du temps qu&#8217;une petite partie des possibilités, sont extrêmement intéressants.</p>
<p>Lee Brimelow propose <a title="3D flip pannel" href="http://www.gotoandlearn.com/play?id=91" target="_blank">un très bon exemple</a> de ce que l&#8217;on peut faire en quelques lignes de code : un panneau à deux faces qui se retourne et qui permet de doubler la surface de l&#8217;écran de manière élégante. Même si l&#8217;exemple est assez basique et codé de manière artisanale, (vu qu&#8217;il n&#8217;existe à ma connaissance à l&#8217;heure actuelle aucune bibliothèque 3D pour Flash 10), il n&#8217;en reste pas moins que l&#8217;effet obtenu est plus que convaincant pour si peu de code, et que l&#8217;interactivité et le comportement naturel des différents éléments contenus dans les deux plans 3D sont entièrement préservés, sans bidouillage&#8230; enfin !</p>
<p>J&#8217;ai d&#8217;ailleurs adapté cet exemple afin de pouvoir le réutililser sous forme de classe dans un projet Flex ou Flash, ce qui fera d&#8217;ailleurs bientôt l&#8217;objet d&#8217;un billet ici même.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.electrofrog.com%2F2008%2F11%2Fflip-3d%2F&amp;linkname=Flip%203D"><img src="http://www.electrofrog.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.electrofrog.com/2008/11/flip-3d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
