<?xml version="1.0" encoding="UTF-8" ?>
<rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
  xmlns:admin="http://webns.net/mvcb/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns="http://purl.org/rss/1.0/">

<channel rdf:about="http://shaoken.media-box.net/index.php">
  <title>Shaoken's devlog</title>
  <description><![CDATA[Journal de développement de Stéphane Bebrone axé sur les technologies Flash/ASP.NET.]]></description>
  <link>http://shaoken.media-box.net/index.php</link>
  <dc:language>fr</dc:language>
  <dc:creator></dc:creator>
  <dc:rights></dc:rights>
  <dc:date>2006-12-05T22:44:28+01:00</dc:date>
  <admin:generatorAgent rdf:resource="http://www.dotclear.net/" />
  
  <sy:updatePeriod>daily</sy:updatePeriod>
  <sy:updateFrequency>1</sy:updateFrequency>
  <sy:updateBase>2006-12-05T22:44:28+01:00</sy:updateBase>
  
  <items>
  <rdf:Seq>
    <rdf:li rdf:resource="http://shaoken.media-box.net/index.php?2006/12/05/68-brighton-suite" />
  <rdf:li rdf:resource="http://shaoken.media-box.net/index.php?2006/12/04/67-premier-jour-a-brighton" />
  <rdf:li rdf:resource="http://shaoken.media-box.net/index.php?2006/11/26/66-rendez-vous-a-paris-et-brighton" />
  <rdf:li rdf:resource="http://shaoken.media-box.net/index.php?2006/10/31/65--howto-installer-ubuntu-edgy-sur-un-vpc-2007" />
  <rdf:li rdf:resource="http://shaoken.media-box.net/index.php?2006/09/28/64-faulting-application-inetinfoexe-eventid-1000" />
  <rdf:li rdf:resource="http://shaoken.media-box.net/index.php?2006/09/18/63-media-box-forme-et-informe" />
  <rdf:li rdf:resource="http://shaoken.media-box.net/index.php?2006/09/02/62-lectures-de-vacances" />
  <rdf:li rdf:resource="http://shaoken.media-box.net/index.php?2006/08/18/61-windows-live-writer-dotclear-12x" />
  <rdf:li rdf:resource="http://shaoken.media-box.net/index.php?2006/08/05/60-flash-8-bug-xmlidmap" />
  <rdf:li rdf:resource="http://shaoken.media-box.net/index.php?2006/08/01/59-as3-weak-references" />
  </rdf:Seq>
  </items>
</channel>

<item rdf:about="http://shaoken.media-box.net/index.php?2006/12/05/68-brighton-suite">
  <title>Brighton suite!</title>
  <link>http://shaoken.media-box.net/index.php?2006/12/05/68-brighton-suite</link>
  <dc:date>2006-12-05T22:44:28+01:00</dc:date>
  <dc:language>fr</dc:language>
  <dc:creator>Stéphane Bebrone</dc:creator>
  <dc:subject>Flash</dc:subject>
  <description>Voilà que se termine tout doucement ma seconde journée à Brighton. Je rentre tout juste de la main party après avoir été faire quelques photos de nuit dans la ville (je suis toujours autant émerveillé par les différents types d'architecture rencontrés ici). Je dois dire qu'entre le mal du...</description>
  <content:encoded><![CDATA[ <p>Voilà que se termine tout doucement ma seconde journée à Brighton. Je rentre tout juste de la main party après avoir été faire quelques photos de nuit dans la ville (je suis toujours autant émerveillé par les différents types d'architecture rencontrés ici). Je dois dire qu'entre le mal du pays et le faible décalage horaire, j'ai du mal à me mettre dans l'ambiance.</p>


<p>Lors de mon dernier poste, je partais pour assister à la session de <a href="http://www.flashonthebeach.com/speakers/index.php?pageid=204" hreflang="en">Joey Lott</a> sur les <a href="http://www.flashonthebeach.com/sessions/index.php?pageid=304" hreflang="en">patterns en ActionScript 3.0</a>. Sujet très prometteur à la base mais malheureusement bien trop vaste pour être traité dans une conférence <em>grand public</em>. Parmi plusieurs approches, Joey a choisi d'aborder le thème d'une façon la plus généraliste possible. Le résultat est une conférence sur un ton (trop) lent dans laquelle j'ai beaucoup de mal à entrer. Même les quelques exemples techniques (MVC, Memento, Singleton, Iterator) en fin de présentation ne me feront pas changer mon jugement. Je me suis ennuyé et je regrette que des gens aussi talentueux ne soient pas mieux exploités. J'en ressors avec la même amertume que pour <a href="http://www.flashonthebeach.com/sessions/index.php?pageid=316" hreflang="en">Branden Hall</a>.</p>


<p><img src="/images/fotb_flashkiller.png" alt="Flash killer?" style="float:right; margin: 0 0 1em 1em;" />L'après midi débute sur, selon moi, une des meilleures conférences du festival. C'est en effet avec beaucoup de talent et d'intelligence que <a href="http://www.flashonthebeach.com/speakers/index.php?pageid=238" hreflang="en">Jeremy Keith</a> nous parle  d'un sujet sensible face à telle une audience: <a href="http://www.flashonthebeach.com/sessions/index.php?pageid=338" hreflang="en">Ajax Flash Killer?</a> J'ai tout particulièrement aimé son objectivité et ouverture d'esprit. Il ne s'agissait pas de faire de l'intégrisme Javascript ou assimiler Flash à de l'hérésie mais simplement de faire passer un message clair: "faites les choses avec les moyens les plus appropriés". De là s'en est suivi une discussion réellement enrichissante (avec bien entendu une part de subjectivité) sur les critères de sélection d'une technologie ou d'une autre. Un vrai régal distillé avec un sens de la communication inouï.</p>


<p>Dans mon optique d'en apprendre un maximum sur <a href="http://haxe.org/" hreflang="en">haXe</a> (histoire de faire autre chose que <a href="http://99-bottles-of-beer.net/language-haxe-1341.html" hreflang="en">les paroles d'une chanson</a>), je suis resté dans la salle pour entendre <a href="http://www.flashonthebeach.com/speakers/index.php?pageid=225" hreflang="en">Edwin van Rijkom</a> nous parler de son projet phare <a href="http://www.flashonthebeach.com/sessions/index.php?pageid=325" hreflang="en">Screenweaver HX</a>. Edwin est une personne réellement sympathique, qui derrière une apparente simplicité (pas au sens péjoratif du terme, au contraire) cache un véritable génie du code. On ne peut être qu'emballé par autant de motivation et d'envie de partage. <a href="http://www.flashonthebeach.com/sessions/index.php?pageid=333" hreflang="en">Nicolas Cannasse</a> et lui forment un duo de choc dont le travail se doit d'être reconnu. Même si vous ne comptez pas utiliser haXe dans vos projets professionnels, il est impératif d'y jeter un oeil tellement ce langage regorge de bonnes idées.</p>


<p><img src="/images/fotb_pixlib.png" alt="Francis Bourre" style="float:left; margin: 0 1em 1em 0;" />Est-il utile de préciser mon dernier choix? C'est bien évidemment le moment tant attendu de l'entrée en scène de <a href="http://www.flashonthebeach.com/sessions/index.php?pageid=329" hreflang="en">Francis Bourre</a>. L'auteur de <a href="http://osflash.org/pixlib" hreflang="en">PixLib</a> s'offre même le luxe de faire salle comble.
Il faut avouer que le sujet à traiter est non des moindres. C'est d'ailleurs avec toute la modestie qui le caractérise que Francis ouvre le bal en clarifiant le contenu de sa présentation.
La suite <a href="http://www.tweenpix.net/blog/index.php?2006/10/13/573-my-fitc-session-notes" hreflang="en">vous la connaissez</a> et on ne s'en lasse pas, tel un messie prêchant la bonne parole, <a href="http://flash.media-box.net/index.php?showuser=10512" hreflang="fr">petepx</a> nous ouvre la voie vers un code meilleur (je reste dans l'euphorie des métaphores). Sans démagogie aucune, les qualificatifs me manquent pour exprimer tout le respect que je témoigne à ce retour d'expérience.
Dans la continuité même de cette présentation, je conseil à tous ceux qui veulent aller plus loin de lire ce <a href="http://www.pragmaticprogrammer.com/ppbook/index.shtml" hreflang="en">livre</a> (que je suis prêt à échanger contre un sac -- private joke).</p>


<p>Sur ce, je vais préserver le peu de batterie qu'il me reste afin de pouvoir couvrir le déjà dernier jour.</p>


<p>++ :)</p>]]></content:encoded>
</item>
<item rdf:about="http://shaoken.media-box.net/index.php?2006/12/04/67-premier-jour-a-brighton">
  <title>En direct de Brighton</title>
  <link>http://shaoken.media-box.net/index.php?2006/12/04/67-premier-jour-a-brighton</link>
  <dc:date>2006-12-04T14:27:23+01:00</dc:date>
  <dc:language>fr</dc:language>
  <dc:creator>Stéphane Bebrone</dc:creator>
  <dc:subject>Flash</dc:subject>
  <description>Après un voyage horrible (Eurostar en panne, correspondances inexistantes et bus de remplacement), j'ai enfin pu assister aux premières conférences du Flash on the Beach.


Juste un mot sur le festival en lui même. L'organisation semble irréprochable, les moyens mis en place sont nettement...</description>
  <content:encoded><![CDATA[ <p>Après un voyage horrible (Eurostar en panne, correspondances inexistantes et bus de remplacement), j'ai enfin pu assister aux premières conférences du Flash on the Beach.</p>


<p>Juste un mot sur le festival en lui même. L'organisation semble irréprochable, les moyens mis en place sont nettement supérieurs à ceux déployés pour le Spark Europe l'année passée par exemple. Cela se traduit par des salles mieux aménagées, quelques goodies dès le checkin (sac, teeshirt, stickers...) et une salle avec tous les stands des sponsors (dont Microsoft qui présente sa suite Expression -- toujours aussi impressionnant par leur pouvoir marketing).</p>


<p>Au niveau des conférences, j'ai pu assister hier à la keynote d'ouverture faites par Adobe. Comme on pouvait s'y attendre, rien de bien neuf sous le soleil (enfin plutôt la tempête typiquement anglaise ici). Nous avons eu droit à la traditionnelle démo FlickR en Flex (juste le speaker change), une note sur leur intérêt pour la plateforme mobile, quelques slides sur Appolo et enfin une démo de la future version de Flash. Seul point intéressant de la session en fait. On y apprend par exemple, que le support des importations pour les fichiers Photoshop et Illustrator est totale (un des bénéfices de la fusion).
Un gros changement apparait également dans les composants V2 qui ont complètement été revus. Il ne s'agit pas d'une révision en AS3, ni d'un import des composants Flex (ces derniers comportant trop de features inutiles à Flash) mais bien d'une réécriture totale. Celle-ci s'articulait sur deux points capitaux: la facilité pour le designer de skinner ses composants et le poids ajouté par  ceux-ci. J'ai envie de dire pari réussi! L'édition d'un composant n'a jamais été aussi simple puisqu'elle se fait directement en place depuis un clic droit.
La dernière nouveauté se situe au niveau des animations via interpolations qui s'équipent maintenant d'un menu "Exporter en code ActionScript3" (un XML est généré et géré dans une classe Animation). Très utile pour le designer qui veut communiquer son code au developer.</p>


<p>Ensuite, nous avons eu droit à une conférence quelques peu décevante sur ActionScript 3. Je trouve malheureux qu'un après son lancement nous ayons encore des introductions.</p>


<p>Cette première journée s'est terminée sur la session de Nicolas Cannasse et sa présentation de <a href="http://haxe.org/" hreflang="en">haXe</a>. Une session très agréable où on sent toute la motivation de Nicolas pour faire connaitre et partager son bébé. Mais également, il arrive à communiquer tout le potentiel de sa technologie. Je dois définitivement jeter un regard plus attentif sur <a href="http://haxe.org/" hreflang="en">haXe</a>.</p>


<p>Je n'ai plus de batterie et ça tombe bien car la conférence sur les designs patterns en ActionScript 3 va débuter.</p>


<p>See you later ;)</p>]]></content:encoded>
</item>
<item rdf:about="http://shaoken.media-box.net/index.php?2006/11/26/66-rendez-vous-a-paris-et-brighton">
  <title>Rendez-vous à Paris et Brighton!</title>
  <link>http://shaoken.media-box.net/index.php?2006/11/26/66-rendez-vous-a-paris-et-brighton</link>
  <dc:date>2006-11-26T14:07:31+01:00</dc:date>
  <dc:language>fr</dc:language>
  <dc:creator>Stéphane Bebrone</dc:creator>
  <dc:subject>In Real Live</dc:subject>
  <description>Les deux prochaines semaines s'annoncent riches en évènements à en juger mon agenda:


Ce mardi 28 novembre je prendrai le Thalys pour me rendre à Paris et participer, grâce à la communauté Media-box dont j'ai l'honneur de faire partie, à la soirée anniversaire des 10 ans de Flash. Si ce...</description>
  <content:encoded><![CDATA[ <p>Les deux prochaines semaines s'annoncent riches en évènements à en juger mon agenda:</p>

<ul>
<li>Ce mardi 28 novembre je prendrai le Thalys pour me rendre à Paris et participer, grâce à la communauté <a href="http://www.media-box.net/" hreflang="fr">Media-box</a> dont j'ai l'honneur de faire partie, à la <a href="http://www.media-box.net/index.php/2006/10/31/155-adobe-invite-la-communaute-mediabox-en-boite" hreflang="fr">soirée anniversaire des 10 ans de Flash</a>. Si ce n'est pas encore fait, inscrivez-vous à <a href="http://www.copaing.net/" hreflang="fr">copaing</a> et rejoignez le <a href="http://www.copaing.net/evenements/14/soiree-anniversaire-10-ans-de-flash/participants/" hreflang="fr">trombino</a> créé par <a href="http://www.sutekidane.net/" hreflang="fr">Thanh</a> histoire que l'on puisse se reconnaitre.</li>
</ul>
<ul>
<li>Dimanche 3 décembre, je traverserai la manche pour participer aux trois jours du <a href="http://www.flashonthebeach.com/" hreflang="fr">Flash on the beach</a>. A en voir la <a href="http://www.flashonthebeach.com/speakers/" hreflang="en">liste des speakers</a> et les <a href="http://www.flashonthebeach.com/sessions/" hreflang="en">sessions</a> qui s'y tiendront, nul doute que ce festival sera un des meilleurs de cette année. Je publierai prochainement la liste des conférences auxquelles je compte assister mais il est déjà un fait certains que je ne manquerai pas celle de <a href="http://www.flashonthebeach.com/sessions/index.php?pageid=329" hreflang="en">Francis Bourre</a>.</li>
</ul>

<p>See you there :-)</p>]]></content:encoded>
</item>
<item rdf:about="http://shaoken.media-box.net/index.php?2006/10/31/65--howto-installer-ubuntu-edgy-sur-un-vpc-2007">
  <title>[Howto] Installer Ubuntu Edgy sur un VPC 2007</title>
  <link>http://shaoken.media-box.net/index.php?2006/10/31/65--howto-installer-ubuntu-edgy-sur-un-vpc-2007</link>
  <dc:date>2006-10-31T13:48:24+01:00</dc:date>
  <dc:language>fr</dc:language>
  <dc:creator>Stéphane Bebrone</dc:creator>
  <dc:subject>Geek</dc:subject>
  <description>Depuis mon dernier resmatering de portable, j'ai pris la décision de travailler essentiellement dans des machines virtuelles dédiées à un set de technologies spécifique (un VPC IIS/ASP.NET/SQL Server, un autre PHP/MySQL/Apache, etc.). C'est ainsi que dernièrement j'ai eu besoin de créer une image  Virtual Pc de la dernière version de Ubuntu (Edgy Left). Ce qui devait, à la base, être une opération simple s'est révélé quelques peu fastidieux.</description>
  <content:encoded><![CDATA[<p>Depuis mon dernier resmatering de portable, j'ai pris la décision de travailler essentiellement dans des machines virtuelles dédiées à un set de technologies spécifique (un VPC IIS/ASP.NET/SQL Server, un autre PHP/MySQL/Apache, etc.). C'est ainsi que dernièrement j'ai eu besoin de créer une image  <a href="http://www.microsoft.com/france/windows/xp/virtualpc/default.mspx" hreflang="fr">Virtual Pc</a> de la dernière version de <a href="http://www.ubuntu-fr.org/" hreflang="fr">Ubuntu (Edgy Left)</a>. Ce qui devait, à la base, être une opération simple s'est révélé quelques peu fastidieux.</p> <p>Tout le problème provient du fait que par défaut le <a href="http://releases.ubuntu.com/edgy/" hreflang="en">Desktop Cd</a> (qui en plus d'un Live CD permet l'installation) tourne en mode graphique de profondeur 24bit alors que Virtual PC (même le CTP 2007) ne supporte que le 16bit. A savoir que les différentes options de démarrage VGA n'influencent malheureusement pas ce choix (ni le safe-mode graphics).</p>


<p>La solution va être de changer la config xorg au moment voulu et redémarrer le server X. La suite de l'installation pouvant alors se passer sans heurt.</p>


<h4>Installation</h4>


<p><em>NB: Cette installation s'est faites depuis une version gravée de l'ISO, bien qu'il soit théoriquement possible d'utiliser directement l'ISO.</em></p>

<ol>
<li>Choisissez votre Keymap, c'est toujours plus confortable pour la suite.</li>
<li>Dans les options VGA, cliquez sur un mode 16bit.</li>
<li>Sélectionnez l'option <code>Start Ubuntu in safe graphics mode</code>.</li>
<li>Patientez (cela peut prendre plusieurs longues minutes) jusqu'à l'obtention d'un <em>black screen</em> affichant un curseur défectueux (synonyme de problèmes graphiques). Attention que vous pouvez voir apparaitre différents messages avant cet écran, il ne faut pas en tenir compte.</li>
<li>Faites alors cette combinaison de touche afin d'obtenir un shell: <code>CTRL+ALT+F1</code></li>
<li>A l'invite de commande, tapez ceci: <code>sudo nano /etc/X11/xorg.conf</code></li>
<li>Changez alors le <code>DefaultDepth  24</code> par <code>DefaultDepth 16</code> dans la section <code>Screen</code>.</li>
<li>Sauvez et quittez (<code>CTRL+X</code>). Revenez en mode graphique: <code>ALT+F7</code></li>
<li>Redémarrez le server-x en tapant <code>CTRL+ALT+SUPPR</code>.</li>
<li>Démarrez l'installation en cliquant sur l'icône.</li>
</ol>

<h4>Post-Installation</h4>


<p>Normalement tout devrait être OK. A noter, que j'ai du placer ma carte réseau en NAT dans les settings du VPC pour qu'elle soit reconnue sous Ubuntu (et éditer mon <code>/etc/resolv.conf</code> pour préciser mes DNS).</p>


<p>Si vous aimez les gadgets et autres fioritures graphiques et à condition que votre carte graphique vous le permet, je vous conseil de suivre ce <a href="http://wiki.beryl-project.org/index.php/Install/Ubuntu/Edgy/XGL" hreflang="en">tuto</a> afin d'activer le XGL. Le changement de bureau sur la face d'un cube reste toujours aussi impressionnant.</p>


<p><a href="http://weblog.shaoken.be/images/vpc_edgy.jpg.JPG">Le résultat en image</a>.</p>]]></content:encoded>
</item>
<item rdf:about="http://shaoken.media-box.net/index.php?2006/09/28/64-faulting-application-inetinfoexe-eventid-1000">
  <title>Faulting application inetinfo.exe (EventID: 1000)</title>
  <link>http://shaoken.media-box.net/index.php?2006/09/28/64-faulting-application-inetinfoexe-eventid-1000</link>
  <dc:date>2006-09-28T22:23:46+02:00</dc:date>
  <dc:language>fr</dc:language>
  <dc:creator>Stéphane Bebrone</dc:creator>
  <dc:subject>ASP.NET</dc:subject>
  <description>Recemment, j'ai tenté d'utiliser le Zend Framework sur ma machine de dev qui tourne sous Win XP/SP2 avec un IIS 5.1 d'installé.


J'expliquerai plus en détails la démarche dans un prochain poste, mais il faut savoir que le ZF base sa proposition de modèle MVC sur le mod_rewrite si cher à...</description>
  <content:encoded><![CDATA[ <p>Recemment, j'ai tenté d'utiliser le <a href="http://framework.zend.com/" hreflang="en">Zend Framework</a> sur ma machine de dev qui tourne sous Win XP/SP2 avec un IIS 5.1 d'installé.</p>


<p>J'expliquerai plus en détails la démarche dans un prochain poste, mais il faut savoir que le ZF base sa proposition de modèle <a href="http://en.wikipedia.org/wiki/Model-view-controller" hreflang="en">MVC</a> sur le <a href="http://www.illiweb.com/manuel/Apache_1.3_VF/mod/mod_rewrite.html" hreflang="fr">mod_rewrite</a> si cher à Apache. Il me fallait donc chercher une alternative pour IIS et j'ai trouvé <a href="http://framework.zend.com/wiki/display/ZFUSER/Using+ZF+with+IIS" hreflang="en">ça</a>. Ce qui après quelques prises de tête avec les <a href="http://fr.wikipedia.org/wiki/Expressions_rationnelles" hreflang="fr">RegEX</a> avait le mérite de plutôt bien fonctionner.</p>


<p>Néanmoins, aujourd'hui je recevais sans cesse cette erreur lorsque je tentais d'ouvrir/naviguer/débugger sur un de mes projets ASP.NET:</p>


<p><img src="/images/inetinfo_1000.jpg" alt="" /></p>


<p>Je décida donc de revenir à la situation précedente en supprimant <a href="http://www.isapirewrite.com/" hreflang="en">ISAPI_Rewrite</a> mais cela ne changea rien. Heureusement, <a href="http://distribucon.com/blog/archive/2005/08/16/684.aspx" hreflang="en">un coup de Google</a> et l'affaire fût reglée. En gros, il suffit de (re)cocher la checkbox <em>Cache ISAPI Applications</em> qui se trouve dans la console MMC IIS sous l'onglet <em>Home Directory</em> et <em>Configuration</em>.</p>


<p><img src="/images/cacheISAPI.jpg" alt="" /></p>]]></content:encoded>
</item>
<item rdf:about="http://shaoken.media-box.net/index.php?2006/09/18/63-media-box-forme-et-informe">
  <title>Media-Box, forme et informe!</title>
  <link>http://shaoken.media-box.net/index.php?2006/09/18/63-media-box-forme-et-informe</link>
  <dc:date>2006-09-18T22:02:17+02:00</dc:date>
  <dc:language>fr</dc:language>
  <dc:creator>Stéphane Bebrone</dc:creator>
  <dc:subject>Divers</dc:subject>
  <description>Comme vous le savez sûrement, j'ai la chance de faire partie de la talentueuse équipe de spécialistes du centre de formation Media-box en tant que modérateur sur le forum Flash.


Surtout connue pour la qualité de ses différents forums (Flash, PAO, DreamWeaver et Director), cette communauté...</description>
  <content:encoded><![CDATA[ <p>Comme vous le savez sûrement, j'ai la chance de faire partie de la talentueuse équipe de spécialistes du centre de formation <a href="http://www.media-box.net" hreflang="fr">Media-box</a> en tant que modérateur sur le <a href="http://flash.media-box.net/" hreflang="fr">forum Flash</a>.</p>


<p>Surtout connue pour la qualité de ses différents forums (<a href="http://flash.media-box.net" hreflang="fr">Flash</a>, <a href="http://pao.media-box.net/" hreflang="fr">PAO</a>, <a href="http://dreamweaver.media-box.net/" hreflang="fr">DreamWeaver</a> et <a href="http://director.media-box.net/" hreflang="fr">Director</a>), cette communauté officielle Adobe fourni également un <a href="http://wiki.media-box.net/" hreflang="fr">wiki</a> doté d'un contenu toujours plus riche (notamment grâce à ses nombreux <a href="http://wiki.media-box.net/tutoriaux/flash" hreflang="fr">tutoriaux</a>) et récemment <a href="http://www.media-box.net/index.php/2006/08/24/139-fil-rss-communaute-choisissez-votre-fil" hreflang="fr">différents fil RSS</a> ont été mis à votre disposition afin que vous puissiez suivre l'actualité de vos technologies favorites au plus près. N'hésitez donc pas à communiquer sur ce <a href="http://www.media-box.net/rss.php" hreflang="fr">fil</a>!</p>


<p>On attend plus que vous :)</p>]]></content:encoded>
</item>
<item rdf:about="http://shaoken.media-box.net/index.php?2006/09/02/62-lectures-de-vacances">
  <title>Lectures de vacances</title>
  <link>http://shaoken.media-box.net/index.php?2006/09/02/62-lectures-de-vacances</link>
  <dc:date>2006-09-02T22:25:34+02:00</dc:date>
  <dc:language>fr</dc:language>
  <dc:creator>Stéphane Bebrone</dc:creator>
  <dc:subject>In Real Live</dc:subject>
  <description>Demain 10h, je m'envolerai pour les îles Baléares et plus précisément Majorque.


Pas d'ordinateur, pas d'internet, juste la plage et du repos! Enfin, c'était sans compter sur mon collègue et mentor le .NET aficionado Gabriel Lozano-Morán qui m'a gracieusement offert[1] deux livres fabuleux...</description>
  <content:encoded><![CDATA[ <p>Demain 10h, je m'envolerai pour les <a href="http://fr.wikipedia.org/wiki/%C3%8Eles_Bal%C3%A9ares" hreflang="fr">îles Baléares</a> et plus précisément <a href="http://fr.wikipedia.org/wiki/Majorque" hreflang="fr">Majorque</a>.</p>


<p>Pas d'ordinateur, pas d'internet, juste la plage et du repos! Enfin, c'était sans compter sur mon collègue et mentor le .NET aficionado <a href="http://pointerx.net/Default.aspx" hreflang="en">Gabriel Lozano-Morán</a> qui m'a gracieusement offert<sup>[<a href="#pnote-62-1" id="rev-pnote-62-1">1</a>]</sup> deux livres fabuleux que je me réjouis de dévorer durant ces deux prochaines semaines. A savoir:</p>

<ul>
<li><em><a href="http://www.pragmaticprogrammer.com/ppbook/index.shtml" hreflang="en">The pragmatic Programmer: From Journeyman to master</a></em>. Je lui fais entièrement confiance quand <a href="http://pointerx.net/blogs/glozano/archive/2006/08/28/Schr_2600_ouml_3B00_dinger_2700_s-cat.aspx" hreflang="en">il en parle</a> comme d'un must-to-read.</li>
</ul>
<ul>
<li>Le second <em><a href="http://www.amazon.com/exec/obidos/tg/detail/-/0321246756?v=glance" hreflang="en">Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries</a></em> est déjà bien entamé et est vraiment jouissif à lire. De nombreux sujets d'articles me sont venus à l'esprit durant sa lecture, je ne manquerai d'ailleurs pas d'en reparler à mon retour. C'est typiquement le genre d'ouvrage à toujours conserver à portée de main.</li>
</ul>

<p>A dans deux semaines 8-)</p>
<div class="footnotes"><h4>Notes</h4>
<p>[<a href="#rev-pnote-62-1" id="pnote-62-1">1</a>] So many thanks Gabriel, it's really great to have the chance to work with a grasshopper master like you ;)</p></div>]]></content:encoded>
</item>
<item rdf:about="http://shaoken.media-box.net/index.php?2006/08/18/61-windows-live-writer-dotclear-12x">
  <title>Windows Live Writer + DotClear 1.2.x</title>
  <link>http://shaoken.media-box.net/index.php?2006/08/18/61-windows-live-writer-dotclear-12x</link>
  <dc:date>2006-08-18T14:09:52+02:00</dc:date>
  <dc:language>fr</dc:language>
  <dc:creator>Stéphane Bebrone</dc:creator>
  <dc:subject>Divers</dc:subject>
  <description>Windows Live Writer est le dernier né de la suite des services Live de Microsoft. Cette application de bureau, qui est un véritable éditeur WYSIWYG pour votre blog, est bien entendu destinée en premier lieu à la plateforme Windows Live Spaces mais elle peut facilement se configurer pour d'autres plateformes. Voici d'ailleurs une explication sur la manière de la configurer pour DotClear (ce poste est rédigé avec son aide).</description>
  <content:encoded><![CDATA[<p><a href="http://windowslivewriter.spaces.live.com/" hreflang="en">Windows Live Writer</a> est le dernier né de la suite des services Live de Microsoft. Cette application de bureau, qui est un véritable éditeur <acronym title="What You See Is What You Get">WYSIWYG</acronym> pour votre blog, est bien entendu destinée en premier lieu à la plateforme <a href="http://spaces.live.com/" hreflang="en">Windows Live Spaces</a> mais elle peut facilement se configurer pour d'autres plateformes. Voici d'ailleurs une explication sur la manière de la configurer pour <a href="http://www.dotclear.net/" hreflang="fr">DotClear</a> (ce poste est rédigé avec son aide).</p> <ol>
<li>Logiquement vous choisissez la deuxième option. <br /> <img src="images/lw/sc_lw_1.jpg" alt="Capture 1" /></li>
<li>Entrez l'url de votre blog ainsi que vos accès à la partie admin.  <br />  <img src="images/lw/sc_lw_2.jpg" alt="Capture 2" /></li>
<li>Ici ce situe l'astuce, il vous faut choisir un type "Custom" (Movable Type API) et entrer l'URL de votre partie admin (traditionnelement "ecrire") plus le chemin vers la page "xmlrpc.php".  <br />  <img src="images/lw/sc_lw_3.jpg" alt="Capture 3" /></li>
<li>Et voilà, si tout s'est bien déroulé votre Live Writer est configuré. Vos catégories, layouts etc. ont même été récupérés. <br /> <img src="images/lw/sc_lw_4.jpg" alt="Capture 4" /></li>
</ol>]]></content:encoded>
</item>
<item rdf:about="http://shaoken.media-box.net/index.php?2006/08/05/60-flash-8-bug-xmlidmap">
  <title>Flash 8 Bug: XML.idMap</title>
  <link>http://shaoken.media-box.net/index.php?2006/08/05/60-flash-8-bug-xmlidmap</link>
  <dc:date>2006-08-05T17:25:43+02:00</dc:date>
  <dc:language>fr</dc:language>
  <dc:creator>Stéphane Bebrone</dc:creator>
  <dc:subject>Flash</dc:subject>
  <description>Pour l'anecdote, je répondais à un poste sur le forum Flash de Media-box sur la manière façon de procéder pour atteindre un noeud particulier d'un fichier XML depuis son attribut id.


C'était l'occasion de tester la propriété idMap de l'objet XML apparue sous Flash 8 (remplaçant la...</description>
  <content:encoded><![CDATA[ <p>Pour l'anecdote, je répondais à un <a href="http://flash.media-box.net/index.php?showtopic=59021&amp;st=0&amp;p=400477" hreflang="en">poste</a> sur le <a href="http://flash.media-box.net" hreflang="en">forum Flash de Media-box</a> sur la manière façon de procéder pour atteindre un noeud particulier d'un fichier <acronym title="eXtensible Markup Language">XML</acronym> depuis son attribut <em>id</em>.</p>


<p>C'était l'occasion de tester la propriété <a href="http://wiki.media-box.net/documentation/flash/xml/idmap" hreflang="en">idMap</a> de l'objet <acronym title="eXtensible Markup Language">XML</acronym> apparue sous Flash 8 (remplaçant <a href="http://www.gotoandplay.ca/archives/2004/12/29/xpath-dans-mx-2004.html" hreflang="fr">la fonction caché de Flash MX 2K4</a>). Je tenta donc de compiler cet exemple tout simple:</p>

<pre class="actionscript"><div class="head">actionscript</div><a href="http://wiki.media-box.net/documentation/flash/var"><span class="kw1">var</span></a> xml:<a href="http://wiki.media-box.net/documentation/flash/XML"><span class="kw3">XML</span></a> = <a href="http://wiki.media-box.net/documentation/flash/new"><span class="kw1">new</span></a> <a href="http://wiki.media-box.net/documentation/flash/XML"><span class="kw3">XML</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span>;
xml.<a href="http://wiki.media-box.net/documentation/flash/xml/ignoreWhite"><span class="kw46">ignoreWhite</span></a> = <a href="http://wiki.media-box.net/documentation/flash/true"><span class="kw1">true</span></a>;
xml.<span class="me1">onLoad</span> = <a href="http://wiki.media-box.net/documentation/flash/function"><span class="kw3">function</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span>
<span class="br0">&#123;</span>
	<a href="http://wiki.media-box.net/documentation/flash/trace"><span class="kw2">trace</span></a><span class="br0">&#40;</span>xml.<span class="me1">idMap</span><span class="br0">&#91;</span><span class="st0">"2"</span><span class="br0">&#93;</span>.<a href="http://wiki.media-box.net/documentation/flash/xml/attributes"><span class="kw46">attributes</span></a>.<span class="me1">nom</span><span class="br0">&#41;</span>;
<span class="br0">&#125;</span>
xml.<span class="me1">load</span><span class="br0">&#40;</span><span class="st0">"data.xml"</span><span class="br0">&#41;</span>;</pre>


<p>Qui me donna pourtant un message d'erreur:</p>


<p><q> There is no property with the name 'idMap'.</q></p>


<p>Chose étrange, puisque l'<a href="http://wiki.media-box.net/documentation/flash/xml/idmap#exemple" hreflang="fr">exemple</a> de la documentation fonctionne parfaitement. Sauf qu'à y regarder du plus près, les développeurs ont pris soin de ne pas typer fort leur objet XML.</p>


<p>Je ne vois que deux workarounds au problème:</p>

<ul>
<li>Ne pas typer son objet <acronym title="eXtensible Markup Language">XML</acronym>. Ca fonctionnera mais bon c'est quand même un peu dommage de devoir se passer du typage fort.</li>
<li>Editer le fichier intrinsic de la classe XML (<em>[login]\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\FP8</em>) et y ajouter <em>var idMap:Array</em>. Ce qui reste dangereux si votre code source doit pouvoir être compilé sur une autre machine.</li>
</ul>]]></content:encoded>
</item>
<item rdf:about="http://shaoken.media-box.net/index.php?2006/08/01/59-as3-weak-references">
  <title>AS3: Weak references</title>
  <link>http://shaoken.media-box.net/index.php?2006/08/01/59-as3-weak-references</link>
  <dc:date>2006-08-01T22:20:15+02:00</dc:date>
  <dc:language>fr</dc:language>
  <dc:creator>Stéphane Bebrone</dc:creator>
  <dc:subject>Flash</dc:subject>
  <description>Si vous suivez un tant soit peu la blogosphère internationale, vous aurez très certainement remarqué (et lu attentivement) que Grant Skinner a commencé la rédaction de plusieurs articles ayant pour toile de fond le sujet  plus que jamais critique qu'est la gestion des ressources sous l'AVM 2. Pour les moins anglophones d'entre vous, je vous propose une adaptation libre du thème afin que vous puissiez plus aisément l'assimiler et le mettre en pratique.</description>
  <content:encoded><![CDATA[<p>Si vous suivez un tant soit peu la blogosphère internationale, vous aurez très certainement remarqué (et lu attentivement) que <a href="http://www.gskinner.com" hreflang="en">Grant Skinner</a> a commencé la rédaction de <a href="http://www.gskinner.com/blog/archives/2006/06/as3_resource_ma.html" hreflang="en">plusieurs articles</a> ayant pour toile de fond le sujet  plus que jamais critique qu'est la gestion des ressources sous l'<acronym title="ActionScript Virtual Machine">AVM</acronym> 2. Pour les moins anglophones d'entre vous, je vous propose une adaptation libre du thème afin que vous puissiez plus aisément l'assimiler et le mettre en pratique.</p> <h3>Table des matières</h3>
<ol>
<li><a href="#definition" hreflang="fr">Définition</a></li>
<li><a href="#avantages" hreflang="fr">Avantages</a></li>
<li><a href="#exemple" hreflang="fr">Cas pratique</a></li>
<li><a href="#ressources" hreflang="fr">Ressources</a></li>
</ol>

<h4>Définition <a name="definition"></a></h4>


<p>En une phrase, les weak refererences ou <em>références faibles</em> sont des références qui ne seront pas prises en compte par l'algorithme du <a href="http://fr.wikipedia.org/wiki/Ramasse-miettes" hreflang="fr">Garbage Collector</a>.</p>


<p>Souvenons-nous que le but d'un GC est de veiller à la bonne tenue de la mémoire vive en déchargeant automatiquement (sans intervention de notre part) les objets devenus obsolètes. Une instance étant marquée comme <em>à supprimer</em> dès qu'elle n'appartient plus à aucun graphe de chemin d'objets (tracés depuis les références racines).</p>


<h4>Avantages <a name="avantages"></a></h4>

<p>Leur avantage est évident puisqu'elles permettent au développeur de donner au <acronym title="Garbage Collector">GC</acronym> le droit d'effacer un objet bien qu'il possède encore des références. Ainsi, il pourra pointer vers un objet pouvant ou devant être détruits sans se soucier de supprimer cette référence par la suite et réduisant de cette façon les risques de <em>memory leak</em> (fuite de mémoire) qui se révèlent souvent atroces à débugger.</p>


<p>Attention toutefois, en pointant un objet avec ce type de référence vous admettez qu'il n'est pas critique et qu'il peut donc être supprimé à tout instant par le passage du <acronym title="Garbage Collector">GC</acronym> (chose que vous ne contrôlez pas). C'est pourquoi il faut mieux toujours vérifier avant chacune de ces utilisations que ce pointeur est toujours valide.</p>


<h4>Cas pratique <a name="exemple"></a></h4>


<p>L'utilisation des weak references en ActionScript 3 est limitée puisqu'elles n'existent pas sous la forme d'un type propre comme on peut en trouver dans <a href="http://merlin.developpez.com/cours/dotnet/WeakReference/" hreflang="fr">la plateforme .NET</a> ou encore <a href="http://java.sun.com/j2se/1.3/docs/api/java/lang/ref/WeakReference.html" hreflang="en">Java</a> mais plutôt en tant que paramètre (type boolean) de <a href="http://livedocs.macromedia.com/flex/2/langref/flash/events/EventDispatcher.html#addEventListener()" hreflang="en">certaines méthodes</a> ou <a href="http://livedocs.macromedia.com/flex/2/langref/flash/utils/Dictionary.html" hreflang="en">constructeur</a>. Toutefois dans les commentaires de son article, GSkinner a annoncé la publication prochaine d'un tips qui permettrait d'étendre le spectre de leur utilisation.</p>


<p>Concrètement, la méthode <a href="http://livedocs.macromedia.com/flex/2/langref/flash/events/EventDispatcher.html#addEventListener()" hreflang="en">addEventListener</a> qui a comme 5e paramètre ce flag weak reference est un très bon exemple de leur nécessité. En effet, combien de développeurs n'oublient-ils pas de faire un removeEventListener après traitement? Ceci ayant comme résultat l'impossibilité pour l'objet écouteur de se faire collecter, même étant mis à null.</p>


<p>Prenons cette simple class, où j'initialise un objet <em>ListenerDelegate</em> local au scope de mon constructeur. En toute bonne logique, sorti de cette fonction mon écouteur devrait ne plus exister et donc mon trace s'arrêter.</p>

<pre class="actionscript"><div class="head">actionscript</div>package <span class="br0">&#123;</span>
	<a href="http://wiki.media-box.net/documentation/flash/import"><span class="kw2">import</span></a> flash.<span class="me1">display</span>.<span class="me1">Sprite</span>;
	<a href="http://wiki.media-box.net/documentation/flash/import"><span class="kw2">import</span></a> flash.<span class="me1">events</span>.<span class="me1">Event</span>;
&nbsp;
	<a href="http://wiki.media-box.net/documentation/flash/public"><span class="kw2">public</span></a> <a href="http://wiki.media-box.net/documentation/flash/class"><span class="kw2">class</span></a> TestWeakReferences <a href="http://wiki.media-box.net/documentation/flash/extends"><span class="kw2">extends</span></a> Sprite
	<span class="br0">&#123;</span>
		<a href="http://wiki.media-box.net/documentation/flash/public"><span class="kw2">public</span></a> <a href="http://wiki.media-box.net/documentation/flash/function"><span class="kw3">function</span></a> TestWeakReferences<span class="br0">&#40;</span><span class="br0">&#41;</span>
		<span class="br0">&#123;</span>
			<a href="http://wiki.media-box.net/documentation/flash/var"><span class="kw1">var</span></a> d:ListenerDelegate  = <a href="http://wiki.media-box.net/documentation/flash/new"><span class="kw1">new</span></a> ListenerDelegate<span class="br0">&#40;</span><span class="br0">&#41;</span>;
			<a href="http://wiki.media-box.net/documentation/flash/this"><span class="kw2">this</span></a>.<span class="me1">addEventListener</span><span class="br0">&#40;</span>Event.<span class="me1">ENTER_FRAME</span>, d.<span class="me1">displayCounter</span>, <a href="http://wiki.media-box.net/documentation/flash/false"><span class="kw1">false</span></a>, <span class="nu0">0</span>, <a href="http://wiki.media-box.net/documentation/flash/false"><span class="kw1">false</span></a><span class="br0">&#41;</span>;
		<span class="br0">&#125;</span>
		
&nbsp;
	<span class="br0">&#125;</span>
<span class="br0">&#125;</span></pre>


<p>Or on remarque, que le trace continue de fonctionner (et donc l'objet d'exister) comme si cette référence était déclarée comme variable d'instance. Tout simplement, le <acronym title="Garbage Collector">GC</acronym> ne peut collecter notre delegate étant donné que celui-ci conserve une référence (ajoutée via addEventListener) à l'émetteur.</p>


<p>Si maintenant, on lui demande explicitement de ne pas tenir compte de cette référence en passant le 5e paramètre à true (comme recommandé!):</p>

<pre class="actionscript"><div class="head">actionscript</div><a href="http://wiki.media-box.net/documentation/flash/this"><span class="kw2">this</span></a>.<span class="me1">addEventListener</span><span class="br0">&#40;</span>Event.<span class="me1">ENTER_FRAME</span>, d.<span class="me1">displayCounter</span>, <a href="http://wiki.media-box.net/documentation/flash/false"><span class="kw1">false</span></a>, <span class="nu0">0</span>, <a href="http://wiki.media-box.net/documentation/flash/true"><span class="kw1">true</span></a><span class="br0">&#41;</span>;</pre>


<p>Force est de constater que tout se passe comme prévu, notre code est bel et bien protégé des scripts fantômes et des fuites de mémoires.</p>


<h4>Ressources <a name="ressources"></a></h4>
<ul>
<li><a href="http://weblog.shaoken.be/index.php?2005/09/23/17-gestion-du-garbage-collector-sous-flash8" hreflang="en">Garbage collector sous Flash 8 (idem Flash 9)</a></li>
<li><a href="http://work.shaoken.be/flash/download/TestWeakReferences.zip" hreflang="en">Sources de l'exemple</a></li>
</ul>

<p><strong>[UPDATE]</strong> Grant Skinner vient de <a href="http://www.gskinner.com/blog/archives/2006/08/as3_resource_ma_2.html" hreflang="en">publier</a> son tips pour élargir le contexte d'utilisation des Weak References dont je faisais mention ci plus haut. Il donne en plus une manière de procéder pour forcer le <acronym title="Garbage Collector">GC</acronym> à collecter les objets (attention à n'utiliser qu'en cas de tests!) et termine par une explication de la nouvelle propriété de la classe <a href="http://livedocs.macromedia.com/labs/as3preview/langref/flash/system/System.html" hreflang="en">System</a>: <a href="http://livedocs.macromedia.com/labs/as3preview/langref/flash/system/System.html#totalMemory" hreflang="en">System.totalMemory</a>. <a href="http://www.gskinner.com/blog/archives/2006/08/as3_resource_ma_2.html" hreflang="en">A lire absolument donc</a>!</p>]]></content:encoded>
</item>

</rdf:RDF>
