<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Ziki - Jonathan Blanchet's last published content</title>
    <link>http://www.ziki.com/fr/jblanche</link>
    <pubDate>Mon, 12 May 2008 22:23:00 -0000</pubDate>
    <ttl>120</ttl>
    <description>Mon contenu chez Ziki.com</description>
    <item>
      <title>Et mes donn&#233;es, j&amp;apos;en fais quoi ? (1/4)</title>
      <link>http://feeds.feedburner.com/%7Er/BlogBangBang/%7E3/289015543/4</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"><p>
  Quand on parle du futur du web, deux choses (parmi tant d'autres) reviennent régulièrement...
</p>
<p>
  Premièrement les adeptes du web sont pratiquement tous fan du <strong>"tout-en-ligne"</strong>, on commence par mettre en ligne ses mails(Gmail, YahooMail, Hotmail...), ses bookmarks (del.icio.us, Diigo), puis on met en ligne ses photos (FlickR, Picassa), ses vidéos (Youtube, Dailymotion), sa musique (Deezer, LastFM)...
</p>
<p>
  Cette possibilité d'avoir tout en distant revêt aux yeux des "geeks" d'énormes avantages :
</p>
<ul>
  <li>Le premier étant bien sûr d'avoir accès à ses contenus de <strong>partout</strong> dans le monde et sur un maximum de <strong>terminaux différents</strong> (aux questions de formats près).
  </li>
  <li>Le deuxième avantage à externaliser ses données est que beaucoup ont plus confiance (à tort ?) envers les serveurs des géants du web qu'en leurs disques durs quand aux questions de la sauvegarde de ses contenus (en plus c'est souvent plus économique).
  </li>
</ul>
<p>
  Mais, à coté de cela, quand les geeks parlent du web de demain, il y a toujours quelques rabat-joie (dont je fais partie) pour nuancer les bienfaits du "tout-en-ligne".
</p>
<p>
  En effet, en adoptant cette solution, vous abandonnez à 2-3 grands groupes (même seulement 1 si vous choisissez un combo Gmail, GoogleDocs, Picassa, YouTube) l'intégralité de vos données.
</p>
<p>
  Cette concentration des données à de gros désavantages. En effet, même si l'on voit mal Google faire faillite l'an prochain, il est impossible d'avoir une vision à 10ans (il y a 10 ans Google naissait) voir 20ans (il y a 20 ans les premiers navigateurs web n'était pas nés) des grands du web.
</p>
<p>
  Que deviendront alors vos données le jour ou Google et Yahoo suite à des problèmes financiers ne pourrons plus financer leurs millions de serveurs ?
</p>
<p>
  Et dès aujourd'hui, combien on déjà "perdu" l'intégralité de leurs mails suite à un "bug" de leurs webmails (cherchez un peu sur le web et vous verrez que ça arrive plus souvent qu'on ne le croit).
</p>
<p>
  De plus, cette concentration des données permet aux grands groupes du web, d'en savoir énormément (trop ?) sur vous.
</p>
<p>
  Google (ça retombe souvent sur lui), analyse vos mails, vos visites (via son moteur de recherche), les pubs sur lesquelles vous cliquez (AdSense, Cibleclick), les tags de vos photos, de vos vidéos... Tout cela afin de "mieux" coller à vos désirs et de vendre toujours plus cher ses espaces de pubs aux annonceurs.
</p>
<p>
  Quand vous "offrez" votre identité numérique à Facebook, vous mettez entre les mains d'une entreprise vos goûts cinématographiques, musicaux, votre liste d'amis, des photos...
</p>
<p>
  Depuis quelque temps, cette concentration fait peur et de plus en plus de monde voit en google et les autres un Big Brother qui serais susceptible de savoir absolument tout sur vous !
</p>
<p>
  Alors, ou aller ? Doit-on forcément se priver des avantages du "tout-en-ligne" si l'on souhaite garder un minimum de dépendance vis-à-vis des grandes entreprises du Web ou doit-on céder à leur règles au nom du progrès ?
</p>
<p>
  <strong>N'est-il pas possible de concilier les avantages de ces deux mondes ?</strong>
</p>
<p>
  Vos idées sont les bienvenues mais pour être franc, j'ai déjà la mienne et je vais vous la faire partager dans le billet suivant (Il est écrit mais je suis curieux de connaitre votre sentiment sur ce problème avant de vous donner le mien).
</p><img src="http://feeds.feedburner.com/~r/BlogBangBang/~4/289015543" height="1" width="1" />
</div>]]>
      </description>
      <pubDate>Mon, 12 May 2008 22:23:00 -0000</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/6846585</guid>
    </item>
    <item>
      <title>Et mes donn&#233;es, j&amp;apos;en fais quoi ? - Avant propos</title>
      <link>http://feeds.feedburner.com/%7Er/BlogBangBang/%7E3/289015544/Et-mes-donnees-jen-fais-quoi-Avant-propos</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"><p>
  Le train est propice à la réflexion et au travail, j'ai donc profité de mes récents voyages pour écrire une série de billets sur des thèmes et un projet qui me tiennent à coeur. <strong>La mise en ligne</strong> de l'ensemble de nos <strong>ressources</strong> et notre <strong>contrôle</strong> sur celles-ci.
</p>
<p>
  Cette série se divise en quatre articles (plus celui ci) sous la forme suivante :
</p>
<ol>
  <li>
    <a href="http://www.blogbangbang.com/post/2008/05/13/Et-mes-donnees-jen-fais-quoi-1/4">Description de la situation et du problème ?</a>
  </li>
  <li>Peut-on solutionner le problème ?
  </li>
  <li>Comment ?
  </li>
  <li>Le projet
  </li>
</ol><img src="http://feeds.feedburner.com/~r/BlogBangBang/~4/289015544" height="1" width="1" />
</div>]]>
      </description>
      <pubDate>Mon, 12 May 2008 22:17:00 -0000</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/6846586</guid>
    </item>
    <item>
      <title>O'Malley Pub rugby - Paris 75002</title>
      <link>http://www.francerugby.fr/bonneadresse/omalley/omalley.php3</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"></div>]]>
      </description>
      <pubDate>Fri, 02 May 2008 17:54:32 -0000</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/6779680</guid>
    </item>
    <item>
      <title>Retour sur la lib&#233;ration des sp&#233;cifications du SWF et du FLV.</title>
      <link>http://feeds.feedburner.com/%7Er/BlogBangBang/%7E3/281658983/Retour-sur-la-liberation-des-specifications-du-SWF-et-du-FLV</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"><p>
  Comme <a href="http://www.blogbangbang.com/post/2008/05/01/Flash-en-route-vers-la-liberte">promis</a> (finalement j'ai été plus vite que prévu), je vais revenir ici sur les changements apportés par l'annonce récente de la libération des spécifications des formats swf et flv faîte par Adobe aujourd'hui.
</p>
<p>
  Cet article va donc s'efforcer de détailler ce qui va changer, mais aussi ce qui ne changera pas suite à cette annonce.
</p>
<h3>
  Ce qui change :
</h3>
<h4>
  Le player unique
</h4>
<p>
  C'est le principal changement apporté par cette nouvelle, d'autres players flashs vont être écrits et chacun va pouvoir écrire le sien.
</p>
<p>
  Cette situation à des avantages, on va pouvoir avoir de bon player flash sur des plateformes non-supportés par le player officiel (64bits, <a href="http://en.wikipedia.org/wiki/Intel_Mobile_Internet_Device">MID</a>...) ainsi que des mini-players (j'y reviendrais plus tard) et ses inconvénients, on va surement voir apparaître des problèmes de compatibilité de certaines fonctionnalités de flash sur certains players notamment à cause des plateformes (même si c'est déjà le cas avec le player officiel qui par exemple ne supporte pas le scrolling sous Mac).
</p>
<p>
  Malgré quelques déboires à prévoir, c'est vraiment la révolution apportée par cette annonce, vos télévisions, votre portable, votre frigo... pourront bientôt embarquer un player flash quelquesoit leur architecture matérielle !
</p>
<p>
  De plus dans son annonce, Adobe annnonce un énigmatique "Publishing the device porting layer APIs for Adobe Flash Player", qui selon les rumeurs, se traduirait par un player flash livré en deux parties. La première serait le player proprement dit (machine virtuelle, codecs...), et la deuxième serait une couche d'abstraction ("device porting layer") correspondant à l'architecture matériel hôte. Il suffirait donc de coder cette couche d'abstraction pour profiter du player officiel sur de nouvelles plateformes, à suivre, car cela limiterait en grande partie les problèmes de compatibilité...
</p>
<h4>
  L'accessibilité
</h4>
<p>
  Si le format SWF est ouvert, puisque finalement c'est bien de celà qu'il s'agit, l'accessibilité du flash va s'en trouver transformée !
</p>
<p>
  En effet, les lecteurs d'écran et autres dispositifs destinés aux différents handicaps pourront intégrer leur propre lecteur (les fameux mini-lecteurs) et adapter la lecture des contenus Flash à l'utilisateur.
</p>
<h4>
  L'indexation
</h4>
<p>
  L'indexation est finalement un problème assez proche de l'accessibilité et de la même façon que les lecteurs d'écran pourront "lire" ces contenus, les robots fureteurs de Google et ses amis pourraient bien intégrer une version minimaliste d'un player flash capable de lire les différents contenus et donc, de les indexer.
</p>
<p>
  Attention, l'accessibilité ne se résume pas à une question de formats (ouvert ou non).<br />
  L'accessibilité passe aussi notamment par des contenus "structurés". Un site HTML qui ne contiendrait que des "div" et une tartine de CSS n'aurait rien d'accessible !<br />
  En HTML, c'est les balises qui décrivent le contenu ( &lt;p&gt; pour un paragraphe, &lt;h1&gt; pour un titre de niveau 1 &lt;h2&gt; pour un titre de niveau 2 ...)<br />
  A ce titre, il faut espérer que flash intégrera dans ses prochaines versions un mécanisme de structuration des contenus afin d'apporter une notion de sémantique à ses contenus.
</p>
<h4>
  Les développements de contenus Flash
</h4>
<p>
  En libérant les spécifications des formats SWF et FLV, Adobe ne se contente pas de facilité leur lecture, ils vont aussi faciliter leur création, on peut donc imaginer que des Flash IDE et Flex Builder alternatifs devraient voir le jour ces prochains mois.
</p>
<p>
  Pour le PDF, son ouverture avait permis son intégration dans un grand nombre de logiciel tiers avec la possibilité d'exporter son document en PDF, on pourrait pourquoi pas imaginer la même chose par exemple dans une plateforme de blog que l'on pourrait avoir soit en flash, soit en HTML (même si je ne souhaite pas voir apparaître de tel solutions notamment pour les problèmes d'accessibilité abordés juste au-dessus).
</p>
<h3>
  Ce qui ne change pas (pour le moment ? ) :
</h3>
<h4>
  La sécurité
</h4>
<p>
  J'ai abordé dans un billet récent le problème de la sécurité du player Flash, celui-ci ne change pas suite à cette ouverture puisque le player reste lui propriétaire.<br />
  On ne sait toujours pas ce qui se passe dans celui-ci et les problèmes de sécurité sont donc toujours là, ils sont même plus présent puisque les plateformes "d'attaque" vont se multiplier.
</p>
<p>
  Imaginez un nouveau virus qui passerait par une faille de sécurité de Flash, il ne viserait alors plus "que" les PC mais aussi les mobiles et autres dispositifs intégrant le player.
</p>
<p>
  Par contre dans le cas de logiciels nécessitant une sécurité avancée, ils pourraient embarquer un des players libres amenés à sortir et donc limité les problèmes de sécurité.
</p>
<h4>
  Le streaming ?
</h4>
<p>
  C'est presque hors sujet mais à-priori, cette annonce ne fait pas mention du protocole RTMP, le protocole utilisé par Flash pour streamer de la vidéo et dont l'ouverture offrirait une myriade de possibilités.
</p>
<h3>
  Conclusion :
</h3>
<p>
  Selon moi, cette nouvelle est évidemment une excellente nouvelle même si elle ne va pas encore assez loin.
</p>
<p>
  La première conséquence va être comme je l'ai expliqué, la prolifération de nouveaux players Flash et forcément, l'avantage N°1 du flash (la quasi absence de problèmes de compatibilité) va en prendre un coup.
</p>
<p>
  Pour ce qui est de la "guerre" des applications web mobile, qui comprenait pour le moment Google et son Android et Apple avec l'Iphone, Adobe va surement devenir le troisième participant et la lutte s'annonce rude !
</p>
<p>
  Enfin, ma recherche d'informations sur les blogs anglophone m'as également permis d'apprendre de nombreuses choses et notament des raisons qui se tiennent (plus que les miennes) pour expliquer la non-libération du player flash.
</p>
<p>
  En effet, certains codecs audios et videos (comme le H.264 ou le fameux NellyMoser) ne sont pas libres mais également pas gratuits !<br />
  Adobe paye pour intégrer ces composants à son player.
</p>
<p>
  La prochaine étape est donc de "remplacer" ces codecs par des codecs libres (il en existe pourtant tant de très bons ! Pourquoi avoir été chercher du côté des codecs propriétaires ? )
</p>
<p>
  Et vous, vous en pensez quoi de cette annonce, vous êtes plus ravi de la bonne nouvelle pour les mobiles ou vous craignez les problèmes de compatibilité un peu partout ?
</p><img src="http://feeds.feedburner.com/~r/BlogBangBang/~4/281658983" height="1" width="1" />
</div>]]>
      </description>
      <pubDate>Thu, 01 May 2008 20:18:00 -0000</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/6773435</guid>
    </item>
    <item>
      <title>Flash en route vers la libert&#233; ?</title>
      <link>http://feeds.feedburner.com/%7Er/BlogBangBang/%7E3/281474088/Flash-en-route-vers-la-liberte</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"><p>
  Alors, ça y est, c'est donc vrai ?
</p>
<p>
  Les dirigeants d'Adobe lisent ce blog !
</p>
<p>
  Pourquoi cet enthousiasme ?<br />
  Parce qu'Adobe vient d'annoncer la libération des spécifications des formats SWF et FLV (<a href="http://www.adobe.com/aboutadobe/pressroom/pressreleases/200804/050108AdobeOSP.html">Annonce officielle</a>), sous un projet au doux nom de <a href="http://www.adobe.com/openscreenproject/">Open Screen Project</a>.
</p>
<p>
  Il va me falloir un peu plus de temps pour décrire les conséquences réelles de cette libération mais on peut déjà imaginer que les players libres alternatifs (Gnash, SWFDec...) vont très rapidement refaire leur retard sur le player officiel.
</p>
<p>
  Atention, Adobe n'as pas annoncé pour le moment la libération du player, mais juste des spécifications, mais si Adobe souhaite voir son player et pas un autre installé dans les différents "devices", ils le feront peut-être.
</p>
<p>
  Aujourd'hui, Adobe à en fait mis les formats SWF et FLV au même niveau que le format PDF.<br />
  Le format de document est ouvert (mais pas libre pour le moment) et chacun peut créer facilement son lecteur PDF (et pourquoi pas le founir en open source <img src="/themes/john/smilies/smile.png" alt=":)" /> ).<br />
  Les lecteurs officiels (AcrobatReader ou le Player Flash) restent eux propriétaires.
</p>
<p>
  Ce sera tout pour aujourd'hui, un autre article examinant plus en détails les conséquences de cet acte arrivera dans les jours à venir (<a href="http://www.blogbangbang.com/post/2008/05/01/Retour-sur-la-liberation-des-specifications-du-SWF-et-du-FLV">il est là</a>).
</p>
<p>
  Une chose est sûre, les conséquences sont lourdes, très lourdes !
</p>
<p>
  P.S. : Tout ceci sera réel à compter de la prochaine major release (ils sors quand le player 10 ? )
</p><img src="http://feeds.feedburner.com/~r/BlogBangBang/~4/281474088" height="1" width="1" />
</div>]]>
      </description>
      <pubDate>Thu, 01 May 2008 14:02:00 -0000</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/6771517</guid>
    </item>
    <item>
      <title>render PDF using rails</title>
      <link>http://www.artima.com/rubycs/articles/pdf_writer.html</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"></div>]]>
      </description>
      <pubDate>Mon, 28 Apr 2008 21:42:37 -0000</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/6750884</guid>
    </item>
    <item>
      <title>Around The Web Le blog de Mathieu Fosse</title>
      <link>http://blog.kawooa.org</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"></div>]]>
      </description>
      <pubDate>Sat, 26 Apr 2008 11:56:46 -0000</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/6734370</guid>
    </item>
    <item>
      <title>Un peu de lecture</title>
      <link>http://feeds.feedburner.com/%7Er/BlogBangBang/%7E3/275498702/Un-peu-de-lecture</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"><p>
  Je viens de recevoir ceci :
</p><a href="http://www.blogbangbang.com/images/rails_and_ruby_way.jpg" title="The Rails and the Ruby way"><img src="http://www.blogbangbang.com/images/small_rails_and_ruby_way.jpg" alt="The Rails and the Ruby way" /></a>
<p>
  Deux pavés d'environ 850 pages chacun qui ne sont pas près de quitter mon bureau <img src="/themes/john/smilies/smile.png" alt=":)" />
</p>
<p>
  Ces livres ne sont pas à conseiller aux vrais débutants (qui iront plutôt vers <a href="http://www.blogbangbang.com/post/2007/05/11/Livte-%3A-Ruby-on-rails-seconde-edition">celui-ci</a> chez Eyrolles) puisqu'il ne s'agit pas vraiment de livre aidant à l'apprentissage, mais plus de "bible" de Ruby et de Rails qui vous donneront les outils et méthodes à utiliser pour un problème donné".
</p>
<p>
  J'ai déjà commencé à fouiner un peu dans chacun et les problématiques abordées sont vraiment larges et pour certains plutôt pointues !<br />
  Je crois que vais bien m'amuser <img src="/themes/john/smilies/smile.png" alt=":)" />
</p><img src="http://feeds.feedburner.com/~r/BlogBangBang/~4/275498702" height="1" width="1" />
</div>]]>
      </description>
      <pubDate>Tue, 22 Apr 2008 16:31:26 -0000</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/6702772</guid>
    </item>
    <item>
      <title>Pourquoi le player flash n&amp;apos;est pas d&#233;j&#224; libre ?</title>
      <link>http://feeds.feedburner.com/%7Er/BlogBangBang/%7E3/274963093/Pourquoi-le-player-flash-nest-pas-deja-libre</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"><p>
  Un sujet récurent sur ce blog et un de mes bouc-émissaire préféré, le player flash...<br />
  Ce tout petit logiciel installé sur parait-il, plus de 98.8 % des "Internet-enabled desktops" des "mature markets"[<a name="rev-pnote-1" href="http://www.blogbangbang.com/post/2008/04/21/#pnote-1">1</a>], n'est pourtant toujours pas libre (Ah croire que les dirigeants d'Adobe ne lisent même pas ce blog :D)<br />
  Mais la vraie question, c'est pourquoi ne l'est-il toujours pas ? Et en discutant avec quelques amis plus flasheurs que moi, eux aussi se posent la question...
</p>
<p>
  Après tout le player ne rapporte pas d'argent à Adobe et en ne le libérant pas, ils se coupent comme je l'ai <a href="http://www.blogbangbang.com/post/2007/12/12/Flash-is-everywhere-or-not">déjà expliqué</a> d'une partie des utilisateurs supposés de ce player et des architectures matérielles exotiques qui aimeraient en profiter (64bits...).
</p>
<p>
  Pourtant, dernièrement une possible réponse m'est apparue. En effet le flash player est installé sur un nombre important de machine et même s'il est régulièrement accusé pour ses failles de sécurité, celles-ci restent bien cachées et peu exposées au grand public.<br />
  Pourtant récemment, c'est bien grâce une faille du player Flash qui a permis de faire tomber la machine sous Vista[<a name="rev-pnote-2" href="http://www.blogbangbang.com/post/2008/04/21/#pnote-2">2</a>] lors du "PWN to OWN contest" (un concours visant à tester la sécurité des OS Mac OS Leopard, Windows Vista et Linux Ubuntu)[<a name="rev-pnote-3" href="http://www.blogbangbang.com/post/2008/04/21/#pnote-3">3</a>], et si l'on se rend sur les différents sites (anglophones) traitant de sécurité informatique on peut se rendre compte que flash est souvent décrié sur ce point.
</p>
<p>
  Le problème, c'est que quand un hacker cherche à prendre le contrôle d'une machine distante, il va chercher à exploiter une faille d'un logiciel installé sur celle-ci. Hors Flash est installé à peu près partout (je suppose qu'il y a plus de player Flash installés de part le monde que de Windows), cela en fait une cible idéale.
</p>
<p>
  Le vrai problème est qu'il n'est pas possible à chacun (chaque OS ou chaque navigateur) d'implémenter sa machine virtuelle pour interpreté l'ActionScript.<br />
  Il n'existe qu'une (ou presque) machine virtuelle (la machine officielle) et lorsque l'on trouve une faille dans celle-ci on touche donc absolument tous les players flash de la planète( la dernière faille trouvée permettait de prendre le contrôle de la machine distante et était exécutable sur Mac, Linux, Windows et sur toutes les versions de Flash depuis la 7 ! )
</p>
<p>
  Revenons au fait, si Adobe libérait le code de son player immédiatement, il s'en suivrait une période de flottement ou des dizaines et des dizaines de failles seraient surement découvertes en peu de temps. Ce qui aurait pour effet de ternir l'image de Flash pour pas mal de monde !<br />
  Certains en déduirais presque que je viens de donner un argument à Adobe pour garder son code propriétaire.
</p>
<p>
  Mais d'un autre côté, à l'heure ou l'on parle de plus en plus de flash pour faire de l'applicatif(Flex, Air et leurs amis). Peut-on vraiment se permettre d'utiliser dans des secteurs ou la sécurité est souvent très importante un player et une technologie qui eux ne sont pas sécurisés ?
</p>
<p>
  Un jour ou l'autre, Adobe devra libérer son player (à moins qu'une faille plus importante que les autres mette beaucoup de monde sur les genoux et décrédibilise le player face à une concurrence qui pointe le bout de son nez [<a name="rev-pnote-4" href="http://www.blogbangbang.com/post/2008/04/21/#pnote-4">4</a>]).
</p>
<p>
  Adobe devrait donc le libérer au plus vite d'autant plus qu'ils se sont déjà rapproché du libre avec Flex et Tamarin et qu'ils ont là un vivier de bêta-découvreurs de failles qui pourrait leur permettre de découvrir une grande partie des failles de sécurité avant une réelle libération du player Flash.<br />
  De plus certaines société spécialisées seraient surement prête à exécuter cette mission contre quelques euros...
</p>
<p>
  [<a name="pnote-1" href="http://www.blogbangbang.com/post/2008/04/21/#rev-pnote-1">1</a>] "Internet-enabled desktops" et "mature markets", avec deux trois autres conditions, ils auraient pu nous annoncer 100% <img src="/themes/john/smilies/smile.png" alt=":)" /><br />
  [<a name="pnote-2" href="http://www.blogbangbang.com/post/2008/04/21/#rev-pnote-2">2</a>] L'an dernier c'est le player quicktime qui avait fait sauter une machine, saloperies de players propriétaires <img src="/themes/john/smilies/smile.png" alt=":)" /> !<br />
  [<a name="pnote-3" href="http://www.blogbangbang.com/post/2008/04/21/#rev-pnote-3">3</a>] Sachez pour information que le MacBook Air est tombé le premier à cause d'une faille de Safari, suivi de la machine Vista pour la faille Flash, le Ubuntu lui n'est pas tombé bien que la faille Flash aurait pu être exploité sous tous les systèmes sus-cités.<br />
  [<a name="pnote-4" href="http://www.blogbangbang.com/post/2008/04/21/#rev-pnote-4">4</a>] Sylverlight pour la vidéo et l'applicatif même si on peut imaginer qu'à terme, le problème serait le même.
</p>
<p>
  <img src="http://www.blogbangbang.com/images/flash_bug.png" />
</p><img src="http://feeds.feedburner.com/~r/BlogBangBang/~4/274963093" height="1" width="1" />
</div>]]>
      </description>
      <pubDate>Mon, 21 Apr 2008 21:24:00 -0000</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/6695418</guid>
    </item>
    <item>
      <title>Flash 3D List === Update=== &#171; Flash Enabled Blog</title>
      <link>http://flashenabledblog.com/2008/04/17/flash-3d-list-update</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"></div>]]>
      </description>
      <pubDate>Sun, 20 Apr 2008 23:08:27 -0000</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/6687342</guid>
    </item>
    <item>
      <title>Sortir des conventions dans Rails - retour d&amp;apos;exp&#233;rience.</title>
      <link>http://feeds.feedburner.com/%7Er/BlogBangBang/%7E3/266599445/Sortir-des-conventions-dans-Rails-retour-dexperience</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"><p>
  Tout d'abord, sachez qu'il ne faut jamais outrepasser les conventions de Rails sans une excellente raison.
</p>
<p>
  Toutefois, il arrive que l'on ai une excellente raison, le cas présenté dans ce billet sera celui (tiré d'une application réelle) d'une base de données assez mal conçue où les noms de tables sont tous au singulier et où, comble du massacre, les id d'une des tables sont sous forme de chaine de caractères.
</p>
<p>
  Bien sur, cette base de données est utilisée par 18 autres applications dans la société et vous ne pouvez en aucun cas en modifier la structure (sinon ce serait trop facile).
</p>
<h3>
  Problème N°1 : Les noms de tables.
</h3>
<p>
  Notre premier problème est donc que Rails considère par défaut qu'un nom de modèle doit-être un singulier et que le nom de la table correspondante doit être un pluriel.
</p>
<p>
  Nous pourrions donc ajouter à l'un de nos modèles la ligne suivante :
</p><code><span>self</span>.<span>pluralize_table_names</span> = <span>false</span></code>
<p>
  Mais selon moi, cette propriété étant commune à tous nos modèles, il n'est pas logique de la placer dans l'un d'entre eux. Nous allons donc spécifier cette propriété générale à tous les instances d'AciveRecord ailleurs.
</p>
<p>
  Pour cela, la version 2 de Rails nous offre un dossier config/initializers où placer tous nos scripts à exécuter au démarrage de l'application après les configurations par défaut, c'est donc l'endroit parfait pour rajouter un script "do_not_pluralize.rb" avec pour contenu :
</p><code><span>module</span> ActiveRecord<br />
&nbsp; <span>class</span> Base<br />
&nbsp; &nbsp; <span>self</span>.<span>pluralize_table_names</span> = <span>false</span><br />
&nbsp; <span>end</span><br />
<span>end</span></code>
<p>
  Et voilà, nous venons d'overrider le paramètre pluralize_table_names d'ActiveRecord::Base et désormais, tout est clean.
</p>
<h3>
  Problème N°2 : Des chaînes de caractères comme id, drôle d'idée...
</h3>
<p>
  Les id de notre table "comment" (nom d'emprunt) sont donc des strings. Cela ne pose aucun problème à activeRecord qui saura évidemment faire un find("a12.bcd.3456789") si "a12.bcd.3456789" est la valeur du champ id de notre enregistrement.
</p>
<p>
  Là où intervient le problème, c'est que comme vous êtes quelqu'un d'attentif, vous savez qu'avec Rails2, <a href="http://fr.wikipedia.org/wiki/REST">REST</a> et les <a href="http://wiki.Rubyonrails.org/rails/pages/NamedRoutes">named routes</a> ont enfin droit leurs heures de gloire.
</p>
<p>
  Or, cela implique que l'URL d'accès à votre enregistrement soit de la forme :
</p>
<p>
  /comments pour la liste des commentaires.<br />
  /comments/1 pour le commentaire 1<br />
  /comments/last pour une méthode supplémentaire last que vous auriez définie et qui vous ramènerait probablement les derniers commentaires.<br />
</p>
<p>
  Or avec notre id, l'url est de la forme "/comments/a12.bcd.3456789".
</p>
<p>
  Rails pense alors que 'a12.bcd.3456789' est une méthode à appeler mais il ne la trouvera évidement jamais.
</p>
<div>
  <p>
    <strong>Edit du 17/04/08</strong><br />
    Avant de vous montrer la solution que j'ai utilisé dans mon cas je vais suite au commentaire de Nicolas, de <a href="http://blog.boldr.fr/">boldr.fr</a> vous montrer une solution qui fonctionnera dans la majorité des cas (mais pas le mien.)
  </p>
  <p>
    Afin de dire à rails d'utiliser autre chose qu'un id numérique dans les url de la forme "/comments/1" il existe une option des ressources appellée member_path. En modifiant donc votre fichier "config/routes.rb", vous pouvez indiqué à Rails d'utiliser l'id de votre table pour avoir des url de la forme "/comments/a12bcd3456789" comprises par rails.
  </p>
  <p>
    Il suffit donc de remplacer :
  </p><code>map.<span>resources</span> <span>:comments</span></code>
  <p>
    par
  </p><code>map.<span>resources</span> <span>:comments</span>, <span>:member_path</span> =&gt; <span>'/comments/:id'</span></code>
  <p>
    Grâce à celà, vous éviterez beaucoup d'ennuis mais malheureusement, la solution ne fonctionne pas si l'id nouveau contient des '<strong>.</strong>' car rails se sert de ce caractère pour séparer la partie relative à l'url de l'action de la partie relative au format de retour (html, xml, js...).
  </p>
  <p>
    La solution dans mon cas devait donc venir d'autre part...
  </p>
</div>
<p>
  Dans le cas que j'ai eu à d'étudier, le salut est venu du fait que la suite de nombre suffixant l'id (ici '3456789') était unique, j'ai donc décider d'utiliser celle-ci comme paramètre de l'URL.
</p>
<p>
  Pour récupérer ce nouvel id (que j'appellerai numeric_id), j'ai donc écrit la méthode suivante :
</p><code><span>def</span> numeric_id<br />
&nbsp; &nbsp; <span>self</span>.<span>id</span>.<span>split</span><span>(</span><span>'.'</span><span>)</span>.<span>last</span>.<span>to_i</span><br />
&nbsp; <span>end</span></code>
<p>
  Il ne me restait plus qu'à indiquer à rails d'utiliser ce paramètre dans les URL grâce à la méthode to_param <sup>[<a name="rev-pnote-1" href="http://www.blogbangbang.com/post/2008/04/08/#pnote-1">1</a>]</sup> (toujours dans mon modèle).
</p><code><span>def</span> to_param<br />
&nbsp; &nbsp; <span>"#{self.numeric_id}"</span><br />
&nbsp; <span>end</span></code>
<p>
  Grâce à cela, j'ai donc des url "/comments/3456789" que Rails analisera sans problème.
</p>
<p>
  Dernières modifications, il faut indiquer aux méthodes agissant sur un seul enregistrement dans le controller (show, edit, update, destroy et celle que vous pourriez créer) d'utiliser notre nouvel identifiant numérique plutôt que celui par défaut.
</p>
<p>
  Pour cela je rajoute une méthode find_by_numeric_id dans notre modèle :
</p>def self.find_by_numeric_id(nid) Comment.find(:first,:conditions =&gt; ['id LIKE ? ', '%'+nid.to_s]) end
<p>
  Et je modifie les méthodes précédemment citées pour utiliser notre find, ma méthode show devient donc :
</p><code><span># GET /comments/1</span><br />
&nbsp; <span># GET /comments/1.xml</span><br />
&nbsp; <span>def</span> show<br />
&nbsp; &nbsp; <span>@comment</span> = Comment.<span>find_by_numeric_id</span><span>(</span>params<span>[</span><span>:id</span><span>]</span><span>)</span><br />
&nbsp; &nbsp;<br />
&nbsp; &nbsp; respond_to <span>do</span> |format|<br />
&nbsp; &nbsp; &nbsp; <span>format</span>.<span>html</span> <span># show.html.erb</span><br />
&nbsp; &nbsp; &nbsp; <span>format</span>.<span>xml</span> &nbsp;<span>{</span> render <span>:xml</span> =&gt; <span>@comment</span> <span>}</span><br />
&nbsp; &nbsp; <span>end</span><br />
&nbsp; <span>end</span></code>
<p>
  Et voilà vous avez désormais une base seine sur laquelle faire reposer la suite de votre développement.
</p>
<p>
  Je me répète mais ce genre de modification ne doit être utilisé que si vous ne pouvez pas faire autrement
</p>
<p>
  [<a name="pnote-1" href="http://www.blogbangbang.com/post/2008/04/08/#rev-pnote-1">1</a>]Attention, si vous prévoyez d'utiliser la méthode to_param dans le cas d'un model Active_ressource, allez faire un tour <a href="http://dev.Rubyonrails.org/changeset/9114">ici</a> afin de résoudre un bug de rails (corrigé dans la version SVN) qui fait que activeressource utilise parfois l'id au lieu de to_param.
</p><img src="http://feeds.feedburner.com/~r/BlogBangBang/~4/266599445" height="1" width="1" />
</div>]]>
      </description>
      <pubDate>Tue, 08 Apr 2008 21:01:00 -0000</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/6601157</guid>
    </item>
    <item>
      <title>Live aus der Marschrutka &#187; Installing Flash Media Server 2 on Ubuntu 7.10 Gutsy, 7.04 Feisty and 6.10 Edgy</title>
      <link>http://www.bluetwanger.de/blog/2006/12/25/installing-flash-media-server-2-on-ubuntu-610-edgy</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"></div>]]>
      </description>
      <pubDate>Mon, 07 Apr 2008 07:11:52 -0000</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/6586625</guid>
    </item>
    <item>
      <title>A l&amp;apos;&#233;coute du march&#233;</title>
      <link>http://feeds.feedburner.com/%7Er/BlogBangBang/%7E3/262933710/A-lecoute-du-marche</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"><p>
  J'ai trouvé mon futur employeur. Je ne suis donc plus à l'écoute du marché pour le moment.
</p>
<p>
  Ceux qui me lisent régulièrement le savent sûrement, je suis actuellement étudiant en apprentissage dans la formation <a href="http://www.gobelins.fr/fi/multimedia/concepteurrealisateur.htm">Concepteur Réalisateur Multimédia</a> aux <a href="http://www.gobelins.fr">Gobelins</a> et dans la société <a href="http://a-g.fr">Abtrakt Graphics</a>.
</p>
<p>
  Mon apprentissage se termine au mois de juin et même si ma société actuelle souhaite me conserver dans son effectif, je suis à l'écoute d'autres propositions.
</p>
<p>
  Je souhaite tout particulièrement m'investir dans les domaines du développement web à l'aide du framework en <a href="http://rubyonrails.com">Ruby On Rails</a> et du respect des standards du web. J'apprécie également les projets bien menés, les méthodes agiles et la conception orientée utilisateurs.
</p>
<p>
  Je cherche donc l'entreprise qui me permettrait de mettre en œuvre ces compétences et j'invite les personnes intéressées à consulter mon CV à l'adresse suivante : <a href="http://cv.blogbangbang.com">cv.blogbangbang.com</a> et à me <a href="mailto:jonathan.blanchet@gmail.com">contacter</a> si mon profil les intéresse.
</p><img src="http://feeds.feedburner.com/~r/BlogBangBang/~4/262933710" height="1" width="1" />
</div>]]>
      </description>
      <pubDate>Wed, 02 Apr 2008 21:58:00 -0000</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/6557859</guid>
    </item>
    <item>
      <title>Premier RailsCamp parisien</title>
      <link>http://feeds.feedburner.com/%7Er/BlogBangBang/%7E3/262220526/Premier-RailsCamp-parisien</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"><p>
  Rails progresse encore, la preuve c'est que pour la première fois, un <a href="http://barcamp.org/RailsCampParis">RailsCamp</a> aura lieu à Paris le 17 mai. <img src="http://www.blogbangbang.com/images/railscamp_paris.png" alt="logo railscamp" />
</p>
<p>
  <strong>C'est quoi un Railscamp ?</strong><br />
  Un Railscamp, c'est un Barcamp sur RubyOnRails et un BarCamp est une "non-conférence" ouverte qui prend la forme d'ateliers-événements participatifs où le contenu est fourni par les participants qui doivent tous, à un titre ou à un autre, apporter quelque chose au Barcamp (définition de la page officielle du RailsCamp).
</p>
<p>
  Je serais donc de la partie en espérant que naisse de cet évènement, des rencontre sympa avec d'autres Railers, des projets sympa et pourquoi pas plus.
</p>
<p>
  Par contre, je ne sais pas encore ce que je vais amener à part ma bonne humeur et ma motivation :).
</p><img src="http://feeds.feedburner.com/~r/BlogBangBang/~4/262220526" height="1" width="1" />
</div>]]>
      </description>
      <pubDate>Tue, 01 Apr 2008 21:14:00 -0000</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/6550191</guid>
    </item>
    <item>
      <title>Dovecot, Postfix with PAM authentication</title>
      <link>http://www.lxtreme.nl/index.pl/docs/linux/dovecot_postfix_pam#configuringpostgresql</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"></div>]]>
      </description>
      <pubDate>Tue, 01 Apr 2008 16:25:21 -0000</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/6548943</guid>
    </item>
    <item>
      <title>UI-patterns.com</title>
      <link>http://ui-patterns.com</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"></div>]]>
      </description>
      <pubDate>Sat, 29 Mar 2008 13:18:43 -0000</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/6527457</guid>
    </item>
    <item>
      <title>Comparatif Prototype vs Jquery</title>
      <link>http://feeds.feedburner.com/%7Er/BlogBangBang/%7E3/258629217/Comparatif-Prototype-vs-Jquery</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"><p>
  Retour des billets plus "technos" avec un comparatif des deux frameworks Javascripts les plus utilisés du moment, j'ai nommé Prototype et Jquery.<br />
  Jusqu'ici j'étais plutôt Prototype, car je l'ai connu avant, qu'il est le framework par défaut de Rails auquel il est magnifiquement intégré.<br />
  Mais à force d'entendre dire que Jquery était plus esthétique plus facile, plus sympa, je me suis dit qu'il fallait que j'essai.
</p>
<p>
  Il en est ressorti le billet suivant comparant le nécessaire dans chacun des deux framework pour réaliser les mêmes opérations.<br />
  Ces bouts de code correspondent en partie à ceux utilisés dans le billet <a href="http://www.blogbangbang.com/post/2008/02/04/Tutorial-%3A-Prototype-and-JSON">Tutorial : Prototype and JSON</a> et les fichiers sont disponibles au téléchargement (<a href="http://lab.blogbangbang.com/jquery_prototype/proto.js">prototype</a> / <a href="http://lab.blogbangbang.com/jquery_prototype/jq.js">jquery</a>).<br />
  L'application est quand à elle visible ici pour <a href="http://lab.blogbangbang.com/jquery_prototype/jquery.html">Jquery</a> et ici pour <a href="http://lab.blogbangbang.com/jquery_prototype/prototype.html">Prototype</a>.
</p>
<h3>
  Ecouter l'évènement signalant que le DOM est chargé et lancer une méthode.
</h3>
<h4>
  Prototype
</h4><code>document.<span>observe</span><span>(</span><span>'dom:loaded'</span>, init<span>)</span>;</code>
<h4>
  Jquery
</h4><code>$<span>(</span>document<span>)</span>.<span>ready</span><span>(</span>init<span>)</span>;</code>
<p>
  La syntaxe Jquery est un peu plus courte, mais à mon sens un peu moins lisible ('dom:loaded' est plus clair que 'ready' ) Pas de quoi fouetter un chat donc :
</p>
<p>
  Prototype 1 - 1 Jquery
</p>
<h3>
  Écouter un évenement sur un ensemble d'objets du DOM
</h3>
<h4>
  Prototype
</h4><code>$$<span>(</span><span>'a'</span><span>)</span>.<span>invoke</span><span>(</span><span>'observe'</span>, <span>'click'</span>, link_click_handler<span>)</span>;</code>
<h4>
  Jquery
</h4><code>$<span>(</span><span>'a'</span><span>)</span>.<span>click</span><span>(</span>link_click_handler<span>)</span>;</code>
<p>
  Ici clairement, la concision comme la clarté sont du côté de Jquery à moins qu'il y ait moyen de faire plus propre en Prototype ?
</p>
<p>
  Prototype 1 - 2 Jquery
</p>
<h3>
  Réaliser une opération Ajax simple (1 callback max).
</h3>
<h4>
  Prototype
</h4><code><span>new</span> Ajax.<span>Request</span><span>(</span><span>'json.php'</span>, <span>{</span><br />
&nbsp; &nbsp; method: <span>'post'</span>,<br />
&nbsp; &nbsp; parameters: &nbsp;$H<span>(</span>link<span>)</span>,<br />
&nbsp; &nbsp; onSuccess: <span>function</span><span>(</span>transport<span>)</span><span>{</span>populate_links_table<span>(</span>transport.<span>responseJSON</span><span>)</span>;<span>}</span><br />
&nbsp; <span>}</span><span>)</span></code>
<h4>
  Jquery
</h4><code>$.<span>post</span><span>(</span> <span>'proto.php'</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; link,<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span>function</span><span>(</span>data, textStatus<span>)</span><span>{</span>populate_links_table<span>(</span>data<span>)</span><span>}</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span>"json"</span><span>)</span>;</code>
<p>
  La concision est encore légèrement du côté de Jquery, mais la lisibilité est encore pour Prototype.<br />
  Perso j'aime beaucoup l'utilisation de chaine comme clé de tableau (method, parameters...) de Prototype qui fait penser aux symboles de Ruby.<br />
  Par contre je n'aime pas le fait de devoir passer mon tableau link à la méthode $H pour que tout ce passe bien.<br />
</p>
<p>
  Pas de note ici, vous allez comprendre pourquoi juste après.
</p>
<h3>
  Réaliser une opération Ajax avancée (plus de 1 callback).
</h3>
<h4>
  Prototype
</h4><code><span>new</span> Ajax.<span>Request</span><span>(</span><span>'json.php'</span>, <span>{</span><br />
&nbsp; &nbsp; method: <span>'post'</span>,<br />
&nbsp; &nbsp; parameters: &nbsp;$H<span>(</span>link<span>)</span>,<br />
&nbsp; &nbsp; onLoading: toggleLoader,<br />
&nbsp; &nbsp; onSuccess: <span>function</span><span>(</span>transport<span>)</span><span>{</span>populate_links_table<span>(</span>transport.<span>responseJSON</span><span>)</span>;<span>}</span>,<br />
&nbsp; &nbsp; onFailure: <span>function</span><span>(</span><span>)</span><span>{</span><span>alert</span><span>(</span><span>'There was a problem'</span><span>)</span><span>}</span>,<br />
&nbsp; &nbsp; onComplete: toggleLoader<br />
&nbsp; <span>}</span><span>)</span></code>
<h4>
  Jquery
</h4><code>$.<span>ajax</span><span>(</span><span>{</span> type: <span>"POST"</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;url: <span>"json.php"</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;data: link,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dataType: <span>"json"</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;beforeSend: toggleLoader,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;success: <span>function</span><span>(</span>msg<span>)</span><span>{</span> populate_links_table<span>(</span>msg<span>)</span>;<span>}</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;error: <span>function</span><span>(</span>req,str,e<span>)</span><span>{</span><span>alert</span><span>(</span>str<span>)</span><span>}</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;complete: toggleLoader<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span>}</span><span>)</span>;</code>
<p>
  Alors là, du coup je suis bien embetté, Jquery se met aux clés nommées également et y gagne en lisibilité mais du coup, il perd en cohérence.<br />
  Si l'on veut rajouter un callback à une requête comme celle écrite au-dessus, il suffit de rajouter 1 lignes en Prototype alors qu'il faut tout réécrire en Jquery.<br />
  A moins bien sûr d'écrire toutes ses requêtes avec la méthode de plus haut niveau .ajax et d'oublier les .post, mais ce n'est pas ce que l'on voit la plupart du temps dans les forums, tutoriels...
</p>
<p>
  Autre différence, Jquery à besoin de savoir dès le départ qu'il va recevoir du JSON alors que Prototype décide dans le callback quel objet utiliser (responseJSON ici).<br />
  Deux points à attribuer ici puisque l'on en a pas attribué au cas précédent.<br />
  Pour moi l'avantage va à Prototype qui garde la même logique et facilite les modifications sur une requête tel que l'ajout de callback et ne nécessite pas de connaitre le type de la réponse avant d'en avoir besoin.
</p>
<p>
  Toutefois Jquery étant clair dans le deuxième cas, je dirais 2-1 pour Prototype dans cette partie du tutoriel, soit au total :
</p>
<p>
  Prototype 3 - 3 Jquery
</p>
<h3>
  Utiliser des templates pour insérer le code souhaité.
</h3>
<h4>
  Prototype
</h4><code><span>var</span> rowTemplate = <span>new</span> Template<span>(</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span>'&lt;tr&gt;'</span>+<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>'&lt;td&gt;#{text}&lt;/td&gt;'</span>+<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>'&lt;td&gt;#{href}&lt;/td&gt;'</span>+<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>'&lt;td&gt;#{timestamp}&lt;/td&gt;'</span>+<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span>'&lt;/tr&gt;'</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span>)</span>;<br />
&nbsp; $<span>(</span><span>'clicked_links_table'</span><span>)</span>.<span>insert</span><span>(</span><span>{</span><br />
&nbsp; &nbsp; bottom: rowTemplate.<span>evaluate</span><span>(</span><span>{</span><br />
&nbsp; &nbsp; &nbsp; text: link.<span>text</span>,<br />
&nbsp; &nbsp; &nbsp; href: link.<span>href</span>,<br />
&nbsp; &nbsp; &nbsp; timestamp: link.<span>timestamp</span><br />
&nbsp; &nbsp; <span>}</span><span>)</span><br />
&nbsp; <span>}</span><span>)</span>;</code>
<h4>
  Jquery
</h4>
<p>
  Pas de système de template chez Jquery à ma connaissance, on doit donc faire :
</p><code><span>function</span> populate_links_table<span>(</span>link<span>)</span><span>{</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; $<span>(</span><span>'#clicked_links_table'</span><span>)</span>.<span>append</span><span>(</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>'&lt;tr&gt;'</span>+<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>'&lt;td&gt;'</span>+link.<span>text</span>+<span>'&lt;/td&gt;'</span>+<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>'&lt;td&gt;'</span>+link.<span>href</span>+<span>'&lt;/td&gt;'</span>+<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>'&lt;td&gt;'</span>+link.<span>timestamp</span>+<span>'&lt;/td&gt;'</span>+<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>'&lt;/tr&gt;'</span><span>)</span>;<br />
<span>}</span></code>
<p>
  Alors là, par contre il n'y a pas photo, Ce n'est peut-être pas très visible sur un petit template comme celui ci mais le code Prototype est beaucoup plus lisible et facile à écrire, relire, débugger...
</p>
<p>
  Prototype 4 - 3 Jquery
</p>
<h3>
  Conclusion
</h3>
<p>
  Évidemment, toutes ces notes sont très subjectives, mais pour ma part je vais en rester à Prototype.<br />
  Jquery est un excellent framework Javascript et est bien plus concis que Prototype dans la majorité des syntaxes mais à mon sens il y perd en lisibilité et en clarté.
</p>
<p>
  Et vous, vous en pensez quoi ?
</p><img src="http://feeds.feedburner.com/~r/BlogBangBang/~4/258629217" height="1" width="1" />
</div>]]>
      </description>
      <pubDate>Wed, 26 Mar 2008 23:36:00 -0000</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/6509368</guid>
    </item>
    <item>
      <title>Happy St. Patrick&amp;apos;s Day !</title>
      <link>http://feeds.feedburner.com/%7Er/BlogBangBang/%7E3/253230029/Happy-St-Patricks-Day</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"><p>
  Pour la première fois depuis 3 ans, je ne suis pas en Irlande pour fêter ce qui est surement une des fêtes nationales les plus sympa au monde.
</p>
<p>
  Je passe le bonjour a ceux qui me lise de là-bas (même si je doute qu'il soit encore en état de lire quoique ce soit à l'heure qu'il est) et j'espère bien vous y retrouver l'an prochain.
</p>
<p>
  <img src="http://www.vectorninja.com/images/st_patricks/st_patricks.jpg" alt="saint patrick" />
</p>
<p>
  Clément, Cyril, une petite place pour une dernière Guiness à ma santé !
</p><br />
<p>
  P.S. : Promis, les billets pour "techos" reviennent au prochain tour, mais je vous jure que c'est pas facile de trouver du temps en ce moment.
</p><img src="http://feeds.feedburner.com/~r/BlogBangBang/~4/253230029" height="1" width="1" />
</div>]]>
      </description>
      <pubDate>Mon, 17 Mar 2008 20:55:00 -0000</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/6443332</guid>
    </item>
    <item>
      <title>Composite Primary Keys</title>
      <link>http://compositekeys.rubyforge.org</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"></div>]]>
      </description>
      <pubDate>Fri, 14 Mar 2008 12:51:31 -0000</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/6424000</guid>
    </item>
    <item>
      <title>Les gens raisonnables n&amp;apos;ont pas la belle vie...</title>
      <link>http://feeds.feedburner.com/%7Er/BlogBangBang/%7E3/250364580/Les-gens-raisonnables-nont-pas-la-belle-vie</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"><p>
  Je n'ai pas le temps pas les moyens, ce n'est pas raisonnable, je n'ai plus l'âge et je ferais mieux de faire du vrai sport mais tant pis, j'ai quand même acheté une Wii.
</p><a href="http://www.blogbangbang.com/images/wii_big.jpg" title="Wii princesse Peach, j&amp;apos;arrive !"><img src="http://www.blogbangbang.com/images/wii_small.jpg" alt="console Wii" /></a>
<p>
  Plus sérieusement, j'attendais d'avoir le moindre petit pécule de côté pour me faire ce petit plaisir et gouter à nouveau aux joies de Mario après mes dernières aventures sur ... Super Nintendo !
</p>
<p>
  J'ai déjà bien testé Mario Galaxy et comment dire, c'est ENORME !<br />
  Alors certes je n'ai pas le temps mais je vais quand même allez chercher quelques étoiles dégommer deux trois tortues, sauver Peach et je reviens...
</p><img src="http://feeds.feedburner.com/~r/BlogBangBang/~4/250364580" height="1" width="1" />
</div>]]>
      </description>
      <pubDate>Wed, 12 Mar 2008 21:16:00 -0000</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/6411070</guid>
    </item>
    <item>
      <title>hopital_fondation_cognacq_j.jpg (Image JPEG, 453x453 pixels)</title>
      <link>http://www.hopital-cognacq-jay.fr/gifs/hopital_fondation_cognacq_j.jpg</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"></div>]]>
      </description>
      <pubDate>Wed, 12 Mar 2008 20:15:56 -0000</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/6409836</guid>
    </item>
    <item>
      <title>UbunBloX by WeedFa$t.Corp: Installation d'Ubuntu &#224; partir d'une cl&#233; Live-usb sur un Eee PC</title>
      <link>http://ubunblox.blogspot.com/2008/02/installation-dubuntu-partir-dune-cl.html</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"></div>]]>
      </description>
      <pubDate>Tue, 11 Mar 2008 19:50:42 -0000</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/6402212</guid>
    </item>
    <item>
      <title>Cherchons developpeurs RoR pour Beetnic et Beezbox - Railsfrance.org</title>
      <link>http://www.railsfrance.org/node/1403</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"></div>]]>
      </description>
      <pubDate>Thu, 06 Mar 2008 21:39:31 -0000</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/6371489</guid>
    </item>
    <item>
      <title>D&#233;veloppeur Rails - Cavaillon (Vaucluse) - Railsfrance.org</title>
      <link>http://www.railsfrance.org/node/1401</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"></div>]]>
      </description>
      <pubDate>Tue, 04 Mar 2008 12:18:01 -0000</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/6353389</guid>
    </item>
    <item>
      <title>Thin - yet another web server</title>
      <link>http://code.macournoyer.com/thin</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"></div>]]>
      </description>
      <pubDate>Mon, 03 Mar 2008 21:51:13 -0000</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/6348082</guid>
    </item>
  </channel>
</rss>
