<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://ljouanneau.com/blog/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>Jy[B]log</title>
  <link>http://ljouanneau.com/blog/</link>
  <atom:link href="http://ljouanneau.com/blog/feed/rss2" rel="self" type="application/rss+xml"/>
  <description></description>
  <language>fr</language>
  <pubDate>Fri, 19 Mar 2010 10:38:16 +0100</pubDate>
  <copyright>@copyright Laurent Jouanneau. Contenu sous licence CC Paternité-Pas d'Utilisation Commerciale-Pas de Modification 1.0</copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Open To Choice</title>
    <link>http://ljouanneau.com/blog/post/2010/03/07/Open-To-Choice</link>
    <guid isPermaLink="false">urn:md5:c33d6a4bedb62688cab3431241d36c7c</guid>
    <pubDate>Sun, 07 Mar 2010 13:43:00 +0100</pubDate>
    <dc:creator>Laurentj</dc:creator>
        <category>Logiciels</category>
        <category>browsers</category>    
    <description>    &lt;p&gt;Depuis quelques années, le web se démocratise énormément. Chaque jour des milliers de nouveaux internautes débarquent sur la toile. Bien entendu, la grande majorité d'entre eux ne sont absolument pas au fait des techniques. C'est ainsi que bon nombre d'entre eux ne savent pas qu'il y a autre chose que facebook sur la toile (&lt;a href=&quot;http://www.readwriteweb.com/archives/facebook_wants_to_be_your_one_true_login.php&quot;&gt;la preuve avec ce billet de readwriteweb&lt;/a&gt;, qui est apparu quelques heures en tête de la recherche &quot;facebook login&quot;, et des internautes débarquant alors sur ce site croyant à faire à une refonte du site facebook), ou encore &lt;a href=&quot;http://jonoscript.wordpress.com/2010/02/18/some-people-cant-read-urls/&quot;&gt;ne savent pas ce qu'est une URL&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Mais ce n'est pas tout, bon nombre d'entre eux ne savent pas ce qu'est un navigateur, ou ne savent pas qu'ils peuvent choisir leur navigateur.&lt;/p&gt;


&lt;p&gt;Depuis quelques jours, les utilisateurs européens de windows 7 se voient proposer &lt;a href=&quot;http://www.browserchoice.eu/BrowserChoice/browserchoice_fr.htm&quot;&gt;une page permettant de choisir leur navigateur web&lt;/a&gt;. C'est déjà un pas, mais peut être pas suffisant, puisque cela n'explique pas ce qu'est un navigateur, et comment faire le bon choix.&lt;/p&gt;


&lt;p&gt;Aussi Mozilla a lancé le site &lt;a href=&quot;http://opentochoice.org&quot; title=&quot;http://opentochoice.org&quot;&gt;http://opentochoice.org&lt;/a&gt;, afin de combler ce manque d'information, et tente de réponde aux questions, et explique notamment &lt;a href=&quot;http://opentochoice.org/fr/2010/02/choisir-son-navigateur-web-est-important/&quot;&gt;pourquoi choisir son navigateur est important&lt;/a&gt;.&lt;/p&gt;</description>
    
    
    
          <comments>http://ljouanneau.com/blog/post/2010/03/07/Open-To-Choice#comment-form</comments>
      <wfw:comment>http://ljouanneau.com/blog/post/2010/03/07/Open-To-Choice#comment-form</wfw:comment>
      <wfw:commentRss>http://ljouanneau.com/blog/feed/atom/comments/887</wfw:commentRss>
      </item>
    
  <item>
    <title>Faire du drag and drop avec flash en utilisant canvas</title>
    <link>http://ljouanneau.com/blog/post/2010/02/11/Faire-du-drag-and-drop-avec-flash-en-utilisant-canvas</link>
    <guid isPermaLink="false">urn:md5:a861c2c36b2c8f8bbb4afff674c69136</guid>
    <pubDate>Thu, 11 Feb 2010 15:18:00 +0100</pubDate>
    <dc:creator>Laurentj</dc:creator>
        <category>Technologies Web</category>
        <category>canvas</category><category>ccs3</category><category>drag and drop</category><category>flash</category><category>xul</category><category>xulrunner</category><category>zoomcreator</category>    
    <description>&lt;p&gt;À &lt;a href=&quot;http://www.zoomorama.com&quot;&gt;Zoomorama&lt;/a&gt;, Flash nous rend bien service. De par ses performances au niveau rendu, il nous permet de développer &lt;a href=&quot;http://ljouanneau.com/blog/post/2009/06/18/La-technologie-Zoomorama&quot;&gt;notre navigateur de documents zoomable&lt;/a&gt;, notre &quot;ZoomViewer&quot;, que l'on peut intégrer dans une page web. Seul souci avec Flash&amp;nbsp;: il ne connait pas le drag and drop.&lt;/p&gt;    &lt;p&gt;Vous aurez beau commencer  un geste de drag à partir d'une appli flash, aucune application, même pas le navigateur html, ne reconnaitra cela comme étant un mécanisme de drag and drop. Pour la simple raison qu'il n'y aucune API disponible dans Flash pour notifier de tels évènements au système. C'est particulièrement balot, quand on sait que &lt;a href=&quot;http://ljouanneau.com/blog/post/2008/08/29/817-drag-and-drop-html5-dans-firefox&quot;&gt;même en HTML (et en XUL), il y a tout ce qu'il faut&lt;/a&gt;. L'inverse est également vrai&amp;nbsp;: dragguez quelque chose du navigateur (l'url de la barre de navigation), où encore d'une autre application, vers l'application flash, vous n'avez aucun moyen en Flash/ActionScript, de prendre en charge ces évènements, et donc de permettre un drop.&lt;/p&gt;


&lt;p&gt;Cela est particulièrement ennuyeux dans notre logiciel &lt;a href=&quot;http://www.zoomorama.com/tool/zoomcreator&quot;&gt;ZoomCreator2&lt;/a&gt;, que nous développons, David et moi. C'est un éditeur permettant de créer des documents zoomorama. Nous réutilisons notre application flash, légèrement modifiée, pour la zone principale d'édition &quot;wysiwyg&quot;. Notre logiciel est basé sur XulRunner, donc son interface est du XUL, CSS, HTML etc. Nous voudrions pouvoir faire du drag and drop de cette zone flash vers le reste de l'application et vice versa, ou même à partir de l'extérieur de l'application vers notre zone flash (pour drag and dropper des images d'un explorateur vers notre éditeur par exemple). Cependant, à cause des lacunes de flash, c'est impossible de l'implémenter.&lt;/p&gt;


&lt;p&gt;Ou alors en rusant.&lt;/p&gt;


&lt;p&gt;J'ai en effet trouvé un hack, mais un hack qui n'est pas trop moche à mon sens.&lt;/p&gt;


&lt;p&gt;L'idée générale est la suivante&amp;nbsp;: puisque Flash ne génère pas, ni ne reçoit des évènements de drag and drop, virons-le, cachons-le, temporairement, en le remplaçant par un élément XUL ou HTML. Ce remplacement s'effectuerait immédiatement lorsqu'on détecterait le début d'un drag dans l'application (évènement &lt;code&gt;dragstart&lt;/code&gt;, ou &lt;code&gt;dragenter&lt;/code&gt; quand le drag vient de l'extérieur).  Pour cela, pas de souci. Reste à faire ce remplacement proprement dit.&lt;/p&gt;


&lt;p&gt;La première solution imaginée a été de positionner un élément XUL ou HTML transparent, &lt;strong&gt;au dessus&lt;/strong&gt; de la balise object de flash. Hélas, ça marchouillait, voir pas du tout. Impossible de mettre cet élément &quot;au dessus&quot;, il restait à coté, certainement à cause du modèle de boîte XUL. Et de toute façon, même en HTML pure, il y a des soucis, qui différent selon les plateformes si mes souvenirs sont bons.&lt;/p&gt;


&lt;p&gt;Je n'ai pas trop persisté dans cette direction, sachant que j'allais certainement arriver à une impasse. Et puis en fait, j'ai eu une autre idée, celle d'utiliser &lt;code&gt;&amp;lt;canvas&amp;gt;&lt;/code&gt;. Pour les développeurs d'extensions et d'applications XUL (mais pas pour les applis web), &lt;code&gt;&amp;lt;canvas&amp;gt;&lt;/code&gt; possède un méthode &lt;a href=&quot;https://developer.mozilla.org/en/Drawing_Graphics_with_Canvas#Rendering_Web_Content_Into_A_Canvas&quot;&gt;drawWindow&lt;/a&gt;. Vous lui donnez un objet window (typiquement, la fenêtre d'une page HTML), les coordonnées d'un rectangle, et ça affiche dans  &lt;code&gt;&amp;lt;canvas&amp;gt;&lt;/code&gt; une capture d'un morceau de la fenêtre correspondante aux coordonnées données. C'est particulièrement utilisé dans des extensions qui vous affichent vos bookmarks avec une capture de la page web correspondante, ou pour faire un &quot;alt+tab' sexy etc.&lt;/p&gt;


&lt;p&gt;Ainsi donc, dés que je détecte le début d'un drag dans l'application&amp;nbsp;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;je donne à la méthode &lt;code&gt;drawWindow&lt;/code&gt; d'un élément  &lt;code&gt;&amp;lt;canvas&amp;gt;&lt;/code&gt; la fenêtre de notre application XUL, en lui donnant les coordonnées (x,y + taille) de l'emplacement de l'affichage de la balise object de notre zone flash.&lt;/li&gt;
&lt;li&gt;dans ce canvas, j'ai alors une capture de ce qu'affiche le flash.&lt;/li&gt;
&lt;li&gt;je rend invisible le flash, et fait apparaitre le canvas au même emplacement. Merci CSS et le modèle de boite XUL j'ai juste à faire en faite un &lt;code&gt;display:block&lt;/code&gt; sur le canvas, canvas qui est un élement frère de ma balise object, et tout deux dans une boite XUL. Un &lt;code&gt;overflow:hidden&lt;/code&gt; sur cette boite fait que le canvas &quot;pousse&quot; l'object vers le bas, mais du coup invisible, et sans faire apparaitre de scrollbar.&lt;/li&gt;
&lt;li&gt;tout ce passe instantanément, et on ne remarque rien.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;En définitive donc, je n'ai plus de &quot;trou noir&quot; dans l'interface de l'application, que des éléments XUL et HTML sur toute la surface. Je suis à même alors de recevoir tout les évènements drag and drop sur ce canvas et de les traiter. Une fois traités (évènements &lt;code&gt;dragend&lt;/code&gt; ou &lt;code&gt;drop&lt;/code&gt;), je fais disparaitre le canvas, la balise object reprend sa place, le flash est de nouveau là. Ni vu ni connu.&lt;/p&gt;


&lt;p&gt;Vivement &lt;a href=&quot;http://ljouanneau.com/blog/post/2009/09/22/De-la-3D-dans-Firefox&quot;&gt;WebGL&lt;/a&gt; et/ou l'accélération matérielle graphique pour canvas dans tout les navigateurs, Ce sera alors certainement suffisamment performant pour se passer de Flash pour notre technologie de zooming, et nous évitant tout ces hacks acrobatiques :-)&lt;/p&gt;</description>
    
    
    
          <comments>http://ljouanneau.com/blog/post/2010/02/11/Faire-du-drag-and-drop-avec-flash-en-utilisant-canvas#comment-form</comments>
      <wfw:comment>http://ljouanneau.com/blog/post/2010/02/11/Faire-du-drag-and-drop-avec-flash-en-utilisant-canvas#comment-form</wfw:comment>
      <wfw:commentRss>http://ljouanneau.com/blog/feed/atom/comments/886</wfw:commentRss>
      </item>
    
  <item>
    <title>La puissance de HTML5 dans vos applis web</title>
    <link>http://ljouanneau.com/blog/post/2010/02/02/La-puissance-de-HTML5-dans-vos-applis-web</link>
    <guid isPermaLink="false">urn:md5:9f835276fdaf2ec998b5685ea0edcd30</guid>
    <pubDate>Tue, 02 Feb 2010 20:21:00 +0100</pubDate>
    <dc:creator>Laurentj</dc:creator>
        <category>Technologies Web</category>
        <category>canvas</category><category>drag and drop</category><category>firefox</category><category>html5</category><category>xmlhttprequest</category>    
    <description>    &lt;p&gt;Paul Rouget vient de sortir &lt;a href=&quot;http://hacks.mozilla.org/2010/02/an-html5-offline-image-editor-and-uploader-application/&quot;&gt;une nouvelle démo&lt;/a&gt; montrant les possibilités techniques de Firefox pour les développeurs web. Ici cependant, c'est plus qu'une démo, c'est une véritable petite application concrète.&lt;/p&gt;


&lt;p&gt;Il s'agit d'un outil, qui permet d'envoyer des images sur twitpic et comportant un éditeur d'image. Vous sélectionnez les images que vous voulez envoyer, vous les retouchez éventuellement, et vous les envoyez. &lt;a href=&quot;http://videos.mozilla.org/serv/marketing/html5_img_uploader/html5_img_uploader.ogv&quot;&gt;Visualisez la video&lt;/a&gt;, c'est carrément génial, d'un point de vue technique. C'est du jamais vu dans une application web HTML (je ne parle pas d'applet java ou flash, souvent lourdes et peu ergonomiques).&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://ljouanneau.com/var/blog/technosweb/demo_editeur_twitpic.png&quot; alt=&quot;demo_editeur_twitpic.png&quot; style=&quot;display:block; margin:0 auto;&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Coté technique donc, voici ce qui est utilisé&amp;nbsp;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://hacks.mozilla.org/2009/06/pushing-pixels-with-canvas/&quot;&gt;HTML5 Canvas&lt;/a&gt;: on ne présente plus l'élement &lt;code&gt;&amp;lt;canvas&amp;gt;&lt;/code&gt;, qui permet d'avoir une zone dans la page web où l'on peut &quot;dessiner&quot; programmativement. Les images que l'on a glisser dans l'application sont &quot;injectées&quot; dans un canvas. Cela permet alors de les modifier, de proposer à l'utilisateur une mini application de retouche, avec des fonctions de découpage, de décoration, de mirroir etc. Avec Canvas, on peut aller très très loin. Voir par exemple cet outil, &lt;a href=&quot;http://mugtug.com/sketchpad/&quot;&gt;sketchpad&lt;/a&gt;, un paint-like bien plus beau que l'original :-)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://hacks.mozilla.org/2009/12/file-drag-and-drop-in-firefox-3-6/&quot;&gt;HTML5 Drag and Drop&lt;/a&gt;: Paul utilise les &lt;a href=&quot;https://developer.mozilla.org/En/DragDrop/DataTransfer&quot;&gt;évènements drag-and-drop&lt;/a&gt;, pour permettre, d'une part, de glisser des fichiers de votre bureau ou explorateur de fichiers vers l'application, mais aussi de glisser les images à l'intérieur de l'application entre les différentes fonctionnalités (glisser une image précédemment sélectionnée vers la poubelle par exemple).&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/en/DOM/FileReader&quot;&gt;File API&lt;/a&gt;&amp;nbsp;: permet dans l'application d'avoir des informations sur les fichiers, à partir de ce qui est indiqué dans un &lt;code&gt;&amp;lt;input type=&quot;file&quot;&amp;gt;&lt;/code&gt; ou un évènement drag and drop qui concerne un fichier. Ça permet à l'application de réagir ensuite en fonction du type du fichier, de sa taille etc..&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://hacks.mozilla.org/2009/06/localstorage/&quot;&gt;HTML5 localStorage&lt;/a&gt;: localStorage est un objet javascript qui permet de stocker ce que l'on veut, durablement, coté client. Il est utilisé ici pour stocker les images sélectionnées, en attendant de les envoyer vers twitpic. L'image, affichée en fait via un canvas (ce qui permet de la modifier), est en fait transformée en data URL. Cette URL est alors stockée dans localeStorage.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://hacks.mozilla.org/2010/01/offline-web-applications/&quot;&gt;HTML5 Application Cache&lt;/a&gt;&amp;nbsp;: toute la machinerie permettant de continuer à faire fonctionner l'application même en étant déconnecté, est utilisée. En particulier, un manifest &quot;offline&quot; est utilisé pour indiquer les fichiers de ressources (js, css) à stocker durablement dans le cache du navigateur, de manière à pouvoir recharger l'application, même en étant déconnecté. En fait, c'est comme si l'application était stockée en local. De plus, les évènements offline et online sont écoutés, pour pouvoir autoriser ou non la publication des images.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://hacks.mozilla.org/2009/07/cross-site-xmlhttprequest-with-cors/&quot;&gt;Cross Site xmlHTTPRequest&lt;/a&gt;, un mécanisme http permettant d'autoriser ou non à une application web (ici la demo)  de communiquer avec une autre application web (ici twitpic).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Toutes ces technologies, dorénavant présente dans Firefox 3.6 et déjà plus ou moins dans d'autres navigateurs (je n'ai pas vérifié, ça ne va pas tarder en tout cas), offrent de bien belles perspectives en matières d'applications web puissantes et agréables à utiliser. À quand de telles fonctionnalités dans &lt;a href=&quot;http://dotclear.org/&quot;&gt;mon outil de blog préféré&lt;/a&gt;, pour faciliter l'insertion et la retouche de nouvelles images dans un billet sans ouvrir de lourdes applications graphiques desktop&amp;nbsp;? ;-)&lt;/p&gt;


&lt;p&gt;Cerise sur le gâteau&amp;nbsp;: cette application fonctionne parfaitement dans la &lt;a href=&quot;http://blog.mozilla.com/blog/2010/01/29/firefox-for-maemo-now-available/&quot;&gt;version mobile de Firefox, qui est sortie hier pour Maemo&lt;/a&gt; :-)&lt;/p&gt;</description>
    
    
    
          <comments>http://ljouanneau.com/blog/post/2010/02/02/La-puissance-de-HTML5-dans-vos-applis-web#comment-form</comments>
      <wfw:comment>http://ljouanneau.com/blog/post/2010/02/02/La-puissance-de-HTML5-dans-vos-applis-web#comment-form</wfw:comment>
      <wfw:commentRss>http://ljouanneau.com/blog/feed/atom/comments/885</wfw:commentRss>
      </item>
    
  <item>
    <title>What's wrong in Mozilla's plan for Firefox ??</title>
    <link>http://ljouanneau.com/blog/post/2010/01/11/What-s-wrong-in-Mozilla</link>
    <guid isPermaLink="false">urn:md5:9f57895ca8ac69b718b3cec998a3a573</guid>
    <pubDate>Mon, 11 Jan 2010 02:05:00 +0100</pubDate>
    <dc:creator>Laurentj</dc:creator>
        <category>Logiciels</category>
        <category>extensions</category><category>jetpack</category><category>mozilla</category><category>xul</category>    
    <description>&lt;p&gt;I just read the &lt;a href=&quot;http://steelgryphon.com/blog/2010/01/09/on-personas-and-themes&quot;&gt;blog post of Mike Connor&lt;/a&gt;, Firefox's lead engineer. And I'm depressed.&lt;/p&gt;    &lt;p&gt;In future version of Firefox, it's proposed to &quot;deprecate&quot; the current extension system in favor of jetpack. And I don't know why, but in his blog post, it reads like &quot;remove&quot;.  And I'm afraid, like many other readers, that the current extension system will be removed.&lt;/p&gt;


&lt;p style=&quot;border:1px solid black&quot;&gt;&lt;strong&gt;Update&lt;/strong&gt;: Mike used wrong words, and it seems that the current install system will be kept, if we believe &lt;a href=&quot;http://weblogs.mozillazine.org/asa/archives/2010/01/firefox_addons.html&quot;&gt;some&lt;/a&gt; &lt;a href=&quot;http://www.reddit.com/r/programming/comments/ao354/firefox_leads_want_to_deprecate_the_current/c0ikoym&quot;&gt;responses&lt;/a&gt;.&lt;/p&gt;
&lt;p style=&quot;border:1px solid black&quot;&gt;&lt;strong&gt;Update&lt;/strong&gt;: &lt;a href=&quot;http://blog.mozilla.com/addons/2010/01/11/add-ons-are-here-to-stay/&quot;&gt;a confirmation by the addons team&lt;/a&gt;. No plan to remove the current extensions system.&lt;/p&gt;


&lt;p&gt;&lt;del&gt;Mozilla, please confirm, officially, that the deprecation and the removal are not in your plans&lt;/del&gt; ! If you do it, it will be a big mistake.&lt;/p&gt;


&lt;p&gt;I'm not against &lt;a href=&quot;https://jetpack.mozillalabs.com/&quot;&gt;Jetpack&lt;/a&gt;. I agree that it is a good idea to have a mechanism to extend easily the browser. For those who don't know what Jetpack is, it is an extension system with a Javascript API that allows you to add menus, toolbars button, status bar elements, to change things on web pages and more. And you can do it in a few lines of codes, rather easily. The user can load the extension in one click, and there's  no need to restart the browser. &lt;a href=&quot;https://jetpack.mozillalabs.com/&quot;&gt;You can try jetpack right now&lt;/a&gt;, with Firefox 3.5. Mozilla plans to include jetpack natively into Firefox 3.7 or 4.0.&lt;/p&gt;


&lt;p&gt;So Jetpack, in theory, is good for web developper who wants to create little extension without reading 400 pages of doc.&lt;/p&gt;


&lt;p&gt;However, this is pure theory. Jetpack (same applies to the extension mechanism of Google Chrome) has several issues.&lt;/p&gt;


&lt;p&gt;First, it has a limited API, and you (as developer) are in kind of sandbox. Mike says &quot;If Jetpack isn’t capable enough, file bugs and request functionality&quot;. Well ok, but even if we have an extended API, it will remain limited. And more the API will grow, the harder the API will be to use (so creating an extension that way won't be far easier than today's way of doing). On the contray, the current extension system has not limitl. You can do everything. You can even load any binary components, use any libraries provided by Gecko, and you can do &lt;strong&gt;everything&lt;/strong&gt; you want in the UI, thanks to XUL overlays ! The &lt;strong&gt;current extension system is totally OPEN&lt;/strong&gt;. Jetpack, because of its architecture, of its goal, will never have this openness. We won't be able to create amazing extensions like we do today.&lt;/p&gt;


&lt;p&gt;Second, the syntax. Jetpack API is using the jQuery syntax. Web developper, if you don't know what is a closure, or don't understand the concept of closures, creating an extension with Jetpack is not for you.&lt;/p&gt;


&lt;p&gt;Third, the goal of jetpack, is to make development of extension easier than with the current extension system. Well, sorry to say that, but for the moment, it is kind of a joke. When the developper have to manipulate XPCOM components or use properties like wrappedJSObject, I don't see where is the progress. Granted, things like &lt;code&gt;jetpack.menu.context.page.on(&quot;img&quot;).add(..)&lt;/code&gt; saves many line of codes, comparing what we have to do in the current extension system.&lt;/p&gt;


&lt;p&gt;I have one question, though: why not invest time in the &lt;a href=&quot;https://developer.mozilla.org/en/Toolkit_API/FUEL&quot;&gt;FUEL API&lt;/a&gt; ? It was a good start to have a simple API simplifying recurrent tasks compared to the current extension mechanism. It was a good place to include shortcuts API like the ones proposed for Jetpack. I don't understand why it was abandonned...&lt;/p&gt;


&lt;p&gt;Fourth, jetpack have some lacks. No possiblity to localize jetpack extensions, &lt;a href=&quot;http://www.glazman.org/weblog/dotclear/index.php?post/2010/01/07/Jetpack&quot;&gt;many other issues pointed out by Glazou&lt;/a&gt;, and worse (IMHO) no possiblity to use XUL instead of HTML. By XUL, I talk about the XML language, not the aggregate of all Mozilla technologies. The HTML box model just sucks to create user interfaces. Some jetpack extensions try to ease the pain absolutely positioning some html elements. It just cannot live with the flexible box model we use in XUL, in the Firefox UI, or in other toolkits in other UI languages (qt or other)..  Using HTML elements inside a flexible layout can be a nightmare for the developer, but also for the user because it can break the UI (and possibly induce conflicts with other extensions?). With XUL, you don't have to care about the position of your XUL widgets, just insert them in the right container, and the flexible layout will do the rest. You also write less code because XUL widgets are really made for UI. HTML is not. So IMHO, XUL remains better and simpler than HTML to create UI. In fact, it seems to me that the current Jetpack API tries to reach the power of XUL, but with ugly hacks and using a language (HTML) which is not designed for that goal.&lt;/p&gt;


&lt;p&gt;I hope Jetpack will become simpler than it is today and will have less lacks. But for the time being, I'm not entirely convinced by its supposed superiority, even for simple extensions.&lt;/p&gt;


&lt;p&gt;But even with enhancements, jetpack won't reach the richness of XPI extensions. If the current extension system is removed from Firefox, it won't be a progress. Firefox will lose some its key values in the current Browser War (except its beautiful logo). No reasons for the user to choose Firefox instead of Chrome or Opera or any other browser. And the project will loose probably many contributors (including possibly myself).&lt;/p&gt;


&lt;p&gt;So Mozilla, ok for Jetpack, ok to provide a mechanism to create easily some extensions, but please --confirm you won't deprecate or remove the current extension system-- (done, see update above). Developers should still have access to all the richness and power included in Gecko to allow them to create amazing extensions. Do not build a fence around your technologies and our creativity! Remain Open!&lt;/p&gt;</description>
    
    
    
          <comments>http://ljouanneau.com/blog/post/2010/01/11/What-s-wrong-in-Mozilla#comment-form</comments>
      <wfw:comment>http://ljouanneau.com/blog/post/2010/01/11/What-s-wrong-in-Mozilla#comment-form</wfw:comment>
      <wfw:commentRss>http://ljouanneau.com/blog/feed/atom/comments/883</wfw:commentRss>
      </item>
    
  <item>
    <title>Pub google chrome</title>
    <link>http://ljouanneau.com/blog/post/2010/01/07/pub-google-chrome</link>
    <guid isPermaLink="false">urn:md5:e2fe08f170c32d9791b6f7e51d1a5878</guid>
    <pubDate>Thu, 07 Jan 2010 12:36:00 +0100</pubDate>
    <dc:creator>Laurentj</dc:creator>
        <category>Logiciels</category>
        <category>browsers</category><category>chrome</category><category>google</category>    
    <description>    &lt;p&gt;Depuis hier, des pubs en 4x3 fleurissent dans le métro et dans les stations RER, vantant les mérites de Google Chrome&lt;sup&gt;[&lt;a href=&quot;http://ljouanneau.com/blog/post/2010/01/07/#pnote-881-1&quot; id=&quot;rev-pnote-881-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt;. C'est la première fois que je vois une pub pour un navigateur.&lt;/p&gt;


&lt;p&gt;Je ne trouve pas cette pub en elle-même super percutante, mais bon, on va dire que c'est un avis très subjectif, à cause de mon statut de contributeur à Mozilla :-).&lt;/p&gt;


&lt;p&gt;Mais pas seulement. En fait je la trouve totalement nulle.&lt;/p&gt;


&lt;p&gt;En effet, il y a quelque chose qui m'a fait bondir dans cette pub, c'est la mention &quot;0 bug&quot;. Ce qui est tout à fait mensonger. Ce n'est pas comme si le nombre de bugs ouverts sur le &lt;a href=&quot;https://bugs.webkit.org/&quot;&gt;bugzilla de webkit&lt;/a&gt; était à 0, hein. Nous avons même à &lt;a href=&quot;http://www.zoomorama.com&quot;&gt;Zoomorama&lt;/a&gt;, découvert des crashers (mais je n'ai plus les numéros de bug sous la main).&lt;/p&gt;


&lt;p&gt;Un logiciel a toujours, et aura toujours des bugs. Même dans une pub, on ne devrait pas raconter ce genre de connerie &quot;0 bug&quot;, mais plutôt se focaliser sur d'autres aspects du logiciel (rapidité, fonctionnalités ou je ne sais quoi d'autre...&lt;sup&gt;[&lt;a href=&quot;http://ljouanneau.com/blog/post/2010/01/07/#pnote-881-2&quot; id=&quot;rev-pnote-881-2&quot;&gt;2&lt;/a&gt;]&lt;/sup&gt;). Dire &quot;0 bug&quot;, c'est prendre les gens pour des cons.&lt;/p&gt;


&lt;p&gt;Et hop, Google descend encore d'un cran dans mon estime.&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://ljouanneau.com/blog/post/2010/01/07/#rev-pnote-881-1&quot; id=&quot;pnote-881-1&quot;&gt;1&lt;/a&gt;] désolé, je n'ai pas de photos, mais j'en ai trouvé une &lt;a href=&quot;http://twitpic.com/wr3o5&quot;&gt;ici&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://ljouanneau.com/blog/post/2010/01/07/#rev-pnote-881-2&quot; id=&quot;pnote-881-2&quot;&gt;2&lt;/a&gt;] ce que google fait aussi dans la pub&lt;/p&gt;&lt;/div&gt;
</description>
    
    
    
          <comments>http://ljouanneau.com/blog/post/2010/01/07/pub-google-chrome#comment-form</comments>
      <wfw:comment>http://ljouanneau.com/blog/post/2010/01/07/pub-google-chrome#comment-form</wfw:comment>
      <wfw:commentRss>http://ljouanneau.com/blog/feed/atom/comments/881</wfw:commentRss>
      </item>
    
  <item>
    <title>Bonne année !</title>
    <link>http://ljouanneau.com/blog/post/2010/01/02/Bonne-ann%C3%A9e-%21</link>
    <guid isPermaLink="false">urn:md5:155b7dc5e73a10b55fbfc9147bb0e526</guid>
    <pubDate>Sat, 02 Jan 2010 20:29:00 +0100</pubDate>
    <dc:creator>Laurentj</dc:creator>
        <category>Geek-log</category>
            
    <description>    &lt;p&gt;Bonne année à vous tous&amp;nbsp;! Que 2010 vous soit meilleur que 2009.&lt;/p&gt;


&lt;p&gt;Je n'ai pas vraiment de résolutions pour cette nouvelle année, sauf celle d'essayer de réduire drastiquement ma todo list, sous peine de pétage de plomb. Car j'ai vraiment manqué de temps en 2009. Mes contributions ont beaucoup diminuées, et mes projets perso ont beaucoup pati de ce manque de temps.&lt;/p&gt;


&lt;p&gt;Il va falloir que j'arrête de me disperser, de dire oui à tout et que je me concentre sur seulement quelques projets. Ma productivité n'en sera que meilleure, la qualité aussi. Reste à savoir quels projets je &quot;sacrifierais&quot;, au moins pour cette année...&lt;/p&gt;</description>
    
    
    
          <comments>http://ljouanneau.com/blog/post/2010/01/02/Bonne-ann%C3%A9e-%21#comment-form</comments>
      <wfw:comment>http://ljouanneau.com/blog/post/2010/01/02/Bonne-ann%C3%A9e-%21#comment-form</wfw:comment>
      <wfw:commentRss>http://ljouanneau.com/blog/feed/atom/comments/880</wfw:commentRss>
      </item>
    
  <item>
    <title>Donnez moi du temps pour geeker</title>
    <link>http://ljouanneau.com/blog/post/2009/12/11/Donnez-moi-du-temps-pour-geeker</link>
    <guid isPermaLink="false">urn:md5:a9b8f1b5ac5473a4baffabc14b2e8b78</guid>
    <pubDate>Fri, 11 Dec 2009 12:17:00 +0100</pubDate>
    <dc:creator>Laurentj</dc:creator>
        <category>Geek-log</category>
        <category>linux</category><category>mac</category>    
    <description>    &lt;p&gt;J'ai besoin de temps. beaucoup de temps. Par exemple, là maintenant, j'ai besoin de temps pour installer en double boot linux sur mon macbook. Ce n'est pas une nécessité, juste une envie de retourner sur l'OS au pingouin. Linux me manque, après 11 mois passés quasi exclusivement sous MacOS.&lt;/p&gt;


&lt;p&gt;MacOS est très bien, il est supérieur en pas mal de points à ses concurrents, notamment la gestion du matériel, ce qui est aussi un peu normal, vu que le système n'est conçu et optimisé que pour un matériel précis. Mais quel bonheur de pouvoir brancher n'importe quel écran et que ça fonctionne du premier coup&amp;nbsp;! Quel bonheur que la connexion wifi se fasse en 2 clics sans soucis&amp;nbsp;! Quel bonheur cette gestion de l'énergie sans faille&amp;nbsp;! Combien de fois j'ai dû refermé mon laptop en urgence pour ne pas rater ma station RER, sans pour autant n'avoir aucun soucis de reprise à l'ouverture (ce qui n'est le cas d'aucun laptop sous linux que j'ai possédé jusqu'ici). Bref, MacOS, c'est le premier OS que j'ai utilisé, qui sait se faire oublier. Tout en étant ouvert aux développeurs, avec sa console, ses origines unix..&lt;/p&gt;


&lt;p&gt;Mais il a aussi ses défauts, qui sautent aux yeux quand on a été habitué à une distro linux. Gestion des fenêtres limitée, peu configurable, qui fait qu'il y a des choses énervantes qu'on ne peut changer (comme le fait de devoir cliquer une première fois sur une fenêtre pour l'activer, avant de pouvoir y faire quoi que ce soit). Gestion de bureaux virtuels&amp;nbsp;: à chier. tout simplement. Heureusement que son mode Exposé permet de pallier un tout petit peu à ça.&lt;/p&gt;


&lt;p&gt;Et puis c'est énervant de ne pas avoir n'importe quel programme sous la main en deux clics de souris. Sous mac, l'offre logicielle libre est quelque peu limitée (malgré &lt;a href=&quot;http://www.macports.org/&quot;&gt;MacPorts&lt;/a&gt;). La plupart des programmes sont payants (même si souvent bien foutu), et j'ai souvent une réticence à payer sur le net, surtout sur des petits sites (comment ça paranoïaque ?).&lt;/p&gt;


&lt;p&gt;Et puis depuis quelques temps, les screenshots de KDE 4 me font des clins d'oeil. Les news sur les dernières nouveautés du noyau linux me font saliver. J'ai envie de voir si il y a eu de vrai progrès sur le support matériel.&lt;/p&gt;


&lt;p&gt;Mais je n'ai pas le temps. Parce que s'engager sur ce genre de chose, veut dire indisponibilité de travailler pour plusieurs heures. Car c'est un peu l'inconnu pour moi l'installation de linux sur un macbook. Ne me parlez pas d'une autre machine. Je n'ai pour l'instant pas trouvé mieux ailleurs (peut être les Dells, ou les anciens Thinkpads). Cette semaine encore, j'ai fait un tour à la Fnac. Et il n'y a pas photo&amp;nbsp;: les plus belles machines, tant d'un point de vue technique (raaaah ce trackpad géant multi touch !) qu'esthétique, restent les macbooks. Bon après, certes, il y a le prix, bien que ça le vaille...&lt;/p&gt;


&lt;p&gt;Vous allez me dire que c'est dommage de s'arrêter sur des critères aussi superflus. Mais après 25 ans passés sur des machines diverses et variées (et souvent moches), j'ai envie de faire plaisir à mes yeux. Mine de rien, ça rend le travail plus agréable.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Nouveau serveur pour jelix, et avancées prochaines</title>
    <link>http://ljouanneau.com/blog/post/2009/12/09/Nouveau-serveur-pour-jelix%2C-et-avanc%C3%A9es-prochaines</link>
    <guid isPermaLink="false">urn:md5:c4c7cba271f9a8a4d0d6f4762169924e</guid>
    <pubDate>Wed, 09 Dec 2009 17:58:00 +0100</pubDate>
    <dc:creator>Laurentj</dc:creator>
        <category>Projets</category>
        <category>jelix</category><category>trac</category>    
    <description>    &lt;p&gt;Ces jours-ci, j'ai été pas mal occupé à migrer tout les sites de &lt;a href=&quot;http://jelix.org&quot;&gt;jelix.org&lt;/a&gt; vers un nouveau serveur. Merci beaucoup à &lt;a href=&quot;http://www.tuxservices.com/&quot;&gt;Nicolas Jeudy&lt;/a&gt; pour nous avoir hebergé ces dernières années, et merci à &lt;a href=&quot;http://www.bastnic.info/&quot;&gt;Bastien Jaillot&lt;/a&gt; pour nous accueillir sur une de ses machines :-).&lt;/p&gt;


&lt;p&gt;Ce ne fut pas une mince affaire, il y a quand même une huitaine de sites et services principaux. Le plus ennuyant étant la &lt;a href=&quot;http://forge.jelix.org&quot;&gt;forge&lt;/a&gt;, qui comporte une vingtaine de projets, tous sous trac. On est passé de trac 0.10 à 0.11, et il a fallu que j'upgrade tout les environnements tracs, mais aussi les plugins, dont un fait maison. Donc étude de la doc de migration, modifier ce qu'il y avait à modifier, vérifier le bon fonctionnement après la migration, adapter les configurations pour le nouveau serveur etc..  Même punition pour notre &lt;a href=&quot;http://developer.jelix.org&quot;&gt;bug tracker&lt;/a&gt;, lui aussi sous trac.&lt;/p&gt;


&lt;p&gt;Tout s'est finalement bien passé, mais une chose a été perdue en cours de route&amp;nbsp;: mes beaux templates. Ils ont changer de système de template dans trac 0.11, avec un langage à la XSLT (le langage de transformation le plus hideux de la terre, il faut le dire). Je n'ai pas eu encore le temps de refaire les templates pour avoir le look &quot;jelix.org&quot;. Et je ne sais pas quand à vrai dire j'aurais le temps, tellement XSLT ça me gave.&lt;/p&gt;


&lt;p&gt;Mais..  J'ai des gentils contributeurs qui vont certainement pouvoir m'aider ;-). En effet, la grande nouveauté avec ce nouveau serveur, c'est que nous en avons le contrôle total, et qu'il n'y a que le projet jelix. Du coup, je peux donner les clefs. Je peux enfin déléguer&amp;nbsp;! Ce qui est déjà fait en fait. Nous sommes donc trois à pouvoir gérer la machine, et surtout, à pouvoir travailler sur les sites proprement dit, à les faire évoluer. Ce qui va être fait dans les semaines à venir, en commençant par la forge.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.foxmask.info/&quot;&gt;Olivier&lt;/a&gt; a déjà réalisé des améliorations dans la forge, pour que les utilisateurs puissent gérer plus facilement leurs projets. Ces améliorations seront mis en ligne certainement dans les jours prochains. Au passage d'ailleurs, j'ai migré les sources des sites web de Subversion vers Mercurial. Un autre chantier sera probablement de migrer le forum vers &lt;a href=&quot;http://havefnubb.org/&quot;&gt;havefnubb&lt;/a&gt;, histoire d'utiliser un peu plus d'applications jelix sur nos propres sites :-)&lt;/p&gt;


&lt;p&gt;Parallèlement à cette migration, le développement de Jelix n'a pas stoppé (merci Mercurial). J'ai pas mal avancé notamment sur le nouveau système d'installation et de mise à jour de Jelix. Après une troisième refactorisation de code, il commence à se stabiliser en terme de fonctionnement. Ce système va permettre à un module de fournir un script d'installation et de mise à jour, permettant alors d'installer toute une application (base de données, configuration...) en une ligne de commande.&lt;/p&gt;


&lt;p&gt;J'espère sortir une beta avant Noël.&lt;/p&gt;


&lt;p&gt;PS: si toi aussi, cela t'intéresse de contribuer aux sites jelix.org ou au framework, n'hésites pas à nous contacter.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Jelix sillonne la France en camion</title>
    <link>http://ljouanneau.com/blog/post/2009/11/20/Jelix-sillonne-la-France-en-camion</link>
    <guid isPermaLink="false">urn:md5:628dc2a17786f47924d03e47c6b722ca</guid>
    <pubDate>Fri, 20 Nov 2009 13:22:00 +0100</pubDate>
    <dc:creator>Laurentj</dc:creator>
        <category>Projets</category>
        <category>jelix</category>    
    <description>    &lt;p&gt;&lt;a href=&quot;http://camiondesmots.com&quot;&gt;Le Camion Des Mots&lt;/a&gt; est un camion qui, &lt;a href=&quot;http://camiondesmots.com/cquoi.php&quot;&gt;dixit le site&lt;/a&gt;&amp;nbsp;:&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;sillonne les routes de France pour aller à la rencontre des enfants scolarisés du CE2 à la troisième (8 à 15 ans). Accompagnés de leur professeur, les élèves participent à une animation pédagogique de 30 minutes sur des ordinateurs. Au cours de leur visite, ils jouent avec la langue française, ses pièges, ses règles et son histoire.&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Et cette animation repose sur &quot;4000 jeux éducatifs autour de la langue française et de ses bizarreries&quot;.&lt;/p&gt;


&lt;p&gt;Le développeur de ces jeux vient de me faire savoir qu'ils sont développés avec le &lt;a href=&quot;http://jelix.org&quot;&gt;framework PHP Jelix&lt;/a&gt; et jQuery. Ce développeur étant en fait un contributeur à Jelix :-)&lt;/p&gt;


&lt;p&gt;Et puis bien sûr, c'est Firefox qui est utilisé pour accéder aux jeux.&lt;/p&gt;


&lt;p&gt;Bon, à quand un &quot;Jelix Tour&quot; officiel&amp;nbsp;?&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Des nouvelles de IE9</title>
    <link>http://ljouanneau.com/blog/post/2009/11/19/Des-nouvelles-de-IE9</link>
    <guid isPermaLink="false">urn:md5:a3a66c36d2c5c5f2f33062c8eed9c2f8</guid>
    <pubDate>Thu, 19 Nov 2009 13:03:00 +0100</pubDate>
    <dc:creator>Laurentj</dc:creator>
        <category>Logiciels</category>
        <category>browsers</category><category>IE</category>    
    <description>    &lt;p&gt;Un nouveau billet sur le IEBlog &lt;a href=&quot;http://blogs.msdn.com/ie/archive/2009/11/18/an-early-look-at-ie9-for-developers.aspx&quot;&gt;dévoile les premières nouveautés de IE9&lt;/a&gt;. En résumé&amp;nbsp;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;accélération matériel pour l'affichage, en utilisant Direct2D et DirectWrite&lt;/li&gt;
&lt;li&gt;meilleures performances générales, et en particulier pour le moteur JS, qui arrive quasiment au même niveau que ceux des concurrents (dans leurs versions de développement)&lt;/li&gt;
&lt;li&gt;progression sur le support des standards
&lt;ul&gt;
&lt;li&gt;en l'état actuel du développement de IE9, le score au test acid3 est de 32/100. La version finale aura à priori un meilleur score. Il reste toutefois pour l'instant en queue de peloton.&lt;/li&gt;
&lt;li&gt;support des bordures arrondies en CSS (&lt;code&gt;border-radius&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;support des sélecteurs CSS3&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;C'est encourageant, mais encore bien maigre comme annonce. Quid du support de certaines balises HTML5 comme &lt;code&gt;&amp;lt;canvas&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;video&amp;gt;&lt;/code&gt;, &lt;code&gt;audio&lt;/code&gt;&amp;nbsp;? Du support de SVG&amp;nbsp;?  Des APIs de geolocation, web workers, acceleromètre&amp;nbsp;? Est ce que le moteur JS sera conforme à Ecmascript&amp;nbsp;? Est ce que l'API DOM sera enfin conforme aux spécifications DOM2&amp;nbsp;? DOM3&amp;nbsp;?  Et j'en passe...&lt;/p&gt;


&lt;p&gt;Il y a peut-être des réponses à ces questions dans les vidéos pointées par ce billet, mais je n'ai pas pu les lire, il faut installer Silverlight... (j'ai assez d'un plugin propriétaire dans mon navigateur...).&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Javascript coté serveur</title>
    <link>http://ljouanneau.com/blog/post/2009/11/13/Javascript-cot%C3%A9-serveur</link>
    <guid isPermaLink="false">urn:md5:a1abe9484e730223fd6bea51d44a5635</guid>
    <pubDate>Fri, 13 Nov 2009 06:39:00 +0100</pubDate>
    <dc:creator>Laurentj</dc:creator>
        <category>Technologies Web</category>
        <category>javascript</category>    
    <description>    &lt;p&gt;Ça commence à faire pas mal d'année que je fais du javascript, non seulement pour le web, mais aussi dans les applications XUL. Ce qu'il y a d'intéressant à utiliser Javascript avec le XUL, c'est qu'on peut se lâcher, et utiliser tout le potentiel du javascript de la plateforme Mozilla, comme &lt;a href=&quot;https://developer.mozilla.org/en/New_in_JavaScript_1.7#Generators_and_iterators&quot;&gt;les générateurs et iterateurs&lt;/a&gt;, les propriétés et méthodes avancées sur les objets de base (&lt;a href=&quot;https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array&quot;&gt;comme sur Array&lt;/a&gt;). Même si &lt;a href=&quot;http://ljouanneau.com/blog/post/2007/05/31/678-bad-syntax-in-javascript-18&quot;&gt;je ne suis pas fan de certaines constructions syntaxiques&lt;/a&gt;&lt;sup&gt;[&lt;a href=&quot;http://ljouanneau.com/blog/post/2009/11/13/#pnote-874-1&quot; id=&quot;rev-pnote-874-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt;.&lt;/p&gt;


&lt;p&gt;Et depuis quelques jours j'ai une lubie&amp;nbsp;: pourquoi ne pas utiliser javascript coté serveur, en remplacement de PHP par exemple&amp;nbsp;?&lt;/p&gt;


&lt;p&gt;Et j'ai découvert sur wikipedia qu'il existait &lt;a href=&quot;http://en.wikipedia.org/wiki/Server-side_JavaScript&quot;&gt;quelques dizaines de projets&lt;/a&gt; de générateurs de pages web à base de javascript. La majorité de ces projets reposent sur les moteurs JS de Mozilla&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mozilla.org/js/spidermonkey/&quot;&gt;SpiderMonkey&lt;/a&gt;, le moteur (en C) utilisé dans Firefox 3/Gecko 1.9.0 et précédent&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mozilla.org/rhino/&quot;&gt;Rhino&lt;/a&gt;, un moteur en java&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ceux à base de SpiderMonkey m'intéresse plus particulièrement. Je ne les ai pas encore tous regardé, mais &lt;a href=&quot;http://code.google.com/p/jslibs/&quot;&gt;jslibs&lt;/a&gt; semble sympa, dans la mesure où la dernière version ne repose plus sur SpiderMonkey, mais sur TraceMonkey, le moteur JS accéléré de Firefox 3.5.&lt;/p&gt;


&lt;p&gt;Pour faire le choix d'un de ces projets, il va falloir regarder de plus près les API proposées. En effet, il faut savoir qu'un moteur JS ne fait qu'exécuter du code, et ne contient nativement que quelques objets primitifs comme String, Array, Date, Math... C'est au code embarquant de &quot;brancher&quot; des bibliothèques ou fonctions C sur des objets JS (faire des wrappers donc), pour enrichir l'API utilisable dans le code JS. Ce que fait d'ailleurs un navigateur, pour les objets window, document, les objets DOM etc.&lt;/p&gt;


&lt;p&gt;Reste aussi à faire quelques benchmarks, pour voir si ça vaut vraiment le coup par rapport à PHP, Python ou autre..&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://ljouanneau.com/blog/post/2009/11/13/#rev-pnote-874-1&quot; id=&quot;pnote-874-1&quot;&gt;1&lt;/a&gt;] disons que depuis la publication de ce billet, j'ai un avis moins tranché :-) On s'y fait&lt;/p&gt;&lt;/div&gt;
</description>
    
    
    
      </item>
    
  <item>
    <title>Et le meilleur moteur javascript est....</title>
    <link>http://ljouanneau.com/blog/post/2009/11/10/Et-le-meilleur-moteur-javascript-est....</link>
    <guid isPermaLink="false">urn:md5:d135641b5b79acdb09d7947f7bec5172</guid>
    <pubDate>Tue, 10 Nov 2009 18:01:00 +0100</pubDate>
    <dc:creator>Laurentj</dc:creator>
        <category>Technologies Web</category>
        <category>javascript</category><category>performances</category>    
    <description>    &lt;p&gt;On voit circuler &lt;a href=&quot;http://www.slideshare.net/madrobby/extreme-javascript-performance&quot;&gt;ces slides sur des astuces pour les perfs en javascript&lt;/a&gt;, et on y voit notamment que les résultats de Firefox par rapport aux autres moteurs, notamment V8, ne sont pas folichons.&lt;/p&gt;


&lt;p&gt;Cependant, comme beaucoup de benchmarks, ces résultats sont sujets à cautions, d'autant plus qu'ici&amp;nbsp;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;On ne sait absolument quelles versions de chaque moteur sont mises en comparaison&lt;/li&gt;
&lt;li&gt;Comparer SpiderMonkey, moteur d'ancienne génération (Firefox 3.0 et précédent), à V8, ce n'est vraiment pas &quot;fair play&quot;. Il aurait pu prendre au moins TraceMonkey (Firefox 3.5). À moins qu'il confond dans les noms, mais ça m'étonnerai, car pour les quelques tests que j'ai effectué avec son script, les résultats de TraceMonkey sont plus proches de V8 que de IE  (dernières versions stables des navigateurs).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Et puis bien sûr, aucune mention d'Opera.&lt;/p&gt;


&lt;p&gt;Enfin, c'est bien beau d'avoir un moteur rapide, encore faut il qu'il soit en conformité avec la spécification Ecmascript. Ce qui est &lt;a href=&quot;http://ajaxian.com/archives/sputniktests-via-browsers&quot;&gt;encore loin d'être le cas&lt;/a&gt; pour certains d'entre eux.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Payer en ligne devient de plus en plus compliqué avec la Société Générale</title>
    <link>http://ljouanneau.com/blog/post/2009/10/30/Payer-en-ligne-devient-de-plus-en-plus-compliqu%C3%A9-avec-la-Soci%C3%A9t%C3%A9-G%C3%A9n%C3%A9rale</link>
    <guid isPermaLink="false">urn:md5:0c1aa4dc39c3d5391eba90ddd1e1aeff</guid>
    <pubDate>Fri, 30 Oct 2009 13:06:00 +0100</pubDate>
    <dc:creator>Laurentj</dc:creator>
        <category>Geek-log</category>
        <category>coup de gueule</category><category>paiement éléctronique</category><category>sips</category><category>société générale</category>    
    <description>    &lt;p&gt;Payer sur Internet, ça devient vraiment le parcours du combattant, en tout cas pour ceux qui sont à la Société Générale. De quoi vraiment dégouter les gens d'acheter quelque chose. Jugez plutôt.&lt;/p&gt;


&lt;p&gt;Dans les débuts du commerce électronique sur internet, payer sur internet consistait à donner votre numéro de carte et la date de validité. Pour cela, vous étiez redirigés vers une page de la banque de la boutique électronique (c'est toujours le cas aujourd'hui).&lt;/p&gt;


&lt;p&gt;Mais cela ne suffisait plus, ils décidèrent alors qu'il fallait aussi donner un numéro à trois chiffres situé derrière votre carte.&lt;/p&gt;


&lt;p&gt;Puis il y a 2-3 ans (je crois), ils décidèrent qu'il fallait indiquer en plus d'autres données, comme votre date de naissance et ceci &lt;strong&gt;dans une autre page&lt;/strong&gt; vers laquelle vous étiez redirigés après le premier formulaire, page fournie par &lt;strong&gt;votre&lt;/strong&gt; banque. La première fois, j'ai cru que j'avais été redirigé vers une page de phishing, tellement le nom de domaine ne ressemblait à rien, et tellement ma banque ne m'avait pas informé d'un tel nouveau dispositif. Résultat, j'avais annulé ma commande en attendant d'en savoir plus.&lt;/p&gt;


&lt;p&gt;Au passage, on constatera qu'on a deux redirections, et donc au total trois formulaires à remplir&amp;nbsp;: celui du commerçant pour vos coordonnées pour la livraison ou autre, celui de la banque du commerçant, et enfin celui de votre banque.&lt;/p&gt;


&lt;p&gt;À ce stade, ça commençait à m'agacer.&lt;/p&gt;


&lt;p&gt;Et voilà que la Société Générale a décidé d'emmerder encore plus ses clients (pour notre sécurité parait-il). Ils ont remplacé le formulaire de saisie de la date de naissance par un autre formulaire, dans lequel vous devez indiquer un code. Ce code vous est envoyé automatiquement par la banque, par SMS, sur votre téléphone portable. Le souci, c'est que pour recevoir ce code, il faut s'être inscrit auprès de votre agence ou par un service vocale (je ne sais plus), pour activer le service de paiement sur le web, et indiquer votre numéro de téléphone. J'avais bien reçu il y a quelques semaines un courrier m'avertissant de ce changement, mais je n'ai pas eu le temps et oublié de faire cette activation, et surtout &lt;strong&gt;ça me faisait chier&lt;/strong&gt;.&lt;/p&gt;


&lt;p&gt;Ça me faisait chier de m'inscrire parce que d'une part, les trucs administratifs, ça me gonfle à un point que vous ne pouvez imaginer, et d'autre part, je trouve ce système idiot. Vous avez perdu ou oublié votre téléphone&amp;nbsp;? Il n'a plus de batterie&amp;nbsp;? Tant pis pour vous, allez voir ailleurs, ne payez pas ce que vous devez payer. Et hop, un client de moins pour le commerçant. Et tant pis si c'est un achat urgent (comme, au hasard, un renouvellement de nom de domaine).&lt;/p&gt;


&lt;p&gt;Et voilà, j'ai un truc à payer, là, maintenant, et je me retrouve coincé, je ne peux pas recevoir ce pu*** de code parce que j'ai omis de m'inscrire (et bien sûr, je n'ai pas sur moi les numéros de comptes, de code en tout genre ou je ne sais quoi d'autres pour activer de suite le service).&lt;/p&gt;


&lt;p&gt;Vous allez voir que ça ne va pas suffire pour contrer les fraudes, parce que bien sûr, ça ne va pas empêcher les voleurs de sacs à main d'aller acheter sur internet, puisqu'ils auront votre carte bleu et votre téléphone&lt;sup&gt;[&lt;a href=&quot;http://ljouanneau.com/blog/post/2009/10/30/#pnote-872-1&quot; id=&quot;rev-pnote-872-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt;, et que dans 2 ans, il va falloir vous trimballer avec un lecteur d'empreinte digitale pour payer sur internet&lt;sup&gt;[&lt;a href=&quot;http://ljouanneau.com/blog/post/2009/10/30/#pnote-872-2&quot; id=&quot;rev-pnote-872-2&quot;&gt;2&lt;/a&gt;]&lt;/sup&gt;. Et dans 3 ans, ça va être quoi&amp;nbsp;? un lecteur d'empreinte génital&amp;nbsp;? rectal&lt;sup&gt;[&lt;a href=&quot;http://ljouanneau.com/blog/post/2009/10/30/#pnote-872-3&quot; id=&quot;rev-pnote-872-3&quot;&gt;3&lt;/a&gt;]&lt;/sup&gt;&amp;nbsp;? Il va falloir prouver 15 fois que c'est bien vous le propriétaire de la carte bleue avant de valider le paiement&amp;nbsp;?&lt;/p&gt;


&lt;p&gt;Du grand n'importe quoi. Déjà que je n'avais pas une haute estime de la relation des  banques avec internet, avec entre autre leurs API de paiement&lt;sup&gt;[&lt;a href=&quot;http://ljouanneau.com/blog/post/2009/10/30/#pnote-872-4&quot; id=&quot;rev-pnote-872-4&quot;&gt;4&lt;/a&gt;]&lt;/sup&gt; pour ajouter un système de paiement dans votre site web, mais là, ça commence à friser le ridicule. Pour votre bien on vous dit !&lt;sup&gt;[&lt;a href=&quot;http://ljouanneau.com/blog/post/2009/10/30/#pnote-872-5&quot; id=&quot;rev-pnote-872-5&quot;&gt;5&lt;/a&gt;]&lt;/sup&gt;&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://ljouanneau.com/blog/post/2009/10/30/#rev-pnote-872-1&quot; id=&quot;pnote-872-1&quot;&gt;1&lt;/a&gt;] certes, il y a moins de vols de sac à main que de piratage de carte bleue sur internet&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://ljouanneau.com/blog/post/2009/10/30/#rev-pnote-872-2&quot; id=&quot;pnote-872-2&quot;&gt;2&lt;/a&gt;] j'ai cru comprendre que certaines banques proposaient déjà un tel ustensile&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://ljouanneau.com/blog/post/2009/10/30/#rev-pnote-872-3&quot; id=&quot;pnote-872-3&quot;&gt;3&lt;/a&gt;] classe de payer au bureau, devant les collègues, non ?&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://ljouanneau.com/blog/post/2009/10/30/#rev-pnote-872-4&quot; id=&quot;pnote-872-4&quot;&gt;4&lt;/a&gt;] SIPS par exemple, qui fournit quasiment le même binaire depuis 8 ans,  binaire qui ne fonctionne que sur des vieux noyaux linux plus maintenu (on peut en obtenir un plus récent, seulement après avoir donné 15 coups de téléphone) , avec une API pourrie, qui génère du code HTML pourri, etc. Il y aurait tant à dire, peut être un jour j'en ferais un billet tiens.&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://ljouanneau.com/blog/post/2009/10/30/#rev-pnote-872-5&quot; id=&quot;pnote-872-5&quot;&gt;5&lt;/a&gt;] Bien sûr, ce billet contient une pincée de mauvaise foi :-)&lt;/p&gt;&lt;/div&gt;
</description>
    
    
    
      </item>
    
  <item>
    <title>Transitions CSS</title>
    <link>http://ljouanneau.com/blog/post/2009/10/16/Transitions-CSS</link>
    <guid isPermaLink="false">urn:md5:838903ee938ece14f2c60fb22effea97</guid>
    <pubDate>Fri, 16 Oct 2009 13:24:00 +0200</pubDate>
    <dc:creator>Laurentj</dc:creator>
        <category>Technologies Web</category>
        <category>ccs3</category><category>css transitions</category><category>planete-xulfr</category><category>standards web</category><category>zoomorama</category>    
    <description>    &lt;p&gt;La version de développement du futur Firefox 3.7 implémente depuis quelques jours les transitions CSS. Vous avez peut être pu le voir, en lisant Paul &lt;a href=&quot;http://blog.mozbox.org/post/2009/10/12/Some-new-demos&quot;&gt;qui a parlé discrètement sur son blog&lt;/a&gt;, en même temps que la nouvelle implémentation de l'API de l'accéléromètre. Vous pouvez voir une &lt;a href=&quot;http://people.mozilla.com/~prouget/demos/transition/index.xhtml&quot;&gt;démo de Paul avec les transitions CSS&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Le principe est assez simple:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;avec la propriété &lt;code&gt;transition-property&lt;/code&gt;, vous indiquez les propriétés CSS qui seront concernées par la transition, c'est à dire, quand leur valeur changera, il y aura une transition entre l'ancienne valeur vers la nouvelle valeur, le changement ne sera donc pas immédiat.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;transition-duration&lt;/code&gt; permet d'indiquer la durée de la transition, pour chacune des propriétés&lt;/li&gt;
&lt;li&gt;&lt;code&gt;transition-timing-function&lt;/code&gt;, indique la fonction de transition, c'est à dire la manière dont la transition sera faite. Par exemple la fonction &lt;code&gt;ease-in-out&lt;/code&gt; fait une transition rapide au début, lente au &quot;milieu&quot;, et rapide à la fin. On a ainsi des fonctions pour faire des effets élastiques, smooth etc..&lt;/li&gt;
&lt;li&gt;&lt;code&gt;transition-delay&lt;/code&gt; pour indiquer à partir de combien de temps la transition doit être faite, à partir du moment où la valeur est changée.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;transition&lt;/code&gt; pour indiquer tout ça en une seule instruction.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Voir &lt;a href=&quot;http://www.w3.org/TR/css3-transitions/&quot;&gt;la spécification complète&lt;/a&gt; sur le site du W3C (spécification qui est encore un brouillon).&lt;/p&gt;


&lt;p&gt;Un exemple&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;  .mydiv {
     width: 100px;
     transition: width 1s linear;
  }

 .mydiv:hover {
    width:200px;
 }&lt;/pre&gt;


&lt;p&gt;Quand on passera la souris au dessus de l'élément, sa largeur changera à 200px. Avec la propriété transition, ce changement ne sera pas immédiat. La largeur passera de 100px à 200px en 1 seconde, de manière linéaire. Bien sûr, ce changement de valeur peut être fait via javascript plutôt que sur un :hover, par exemple: &lt;code&gt;document.querySelector(&quot;.mydiv&quot;).style.width=&quot;200px&quot;;&lt;/code&gt;.&lt;/p&gt;


&lt;p&gt;Le gros intérêt de ces propriétés CSS, c'est que ça va rendre obsolète beaucoup de fonctions d'animations que l'on retrouve dans beaucoup de frameworks javascript (jquery, mootools...). Ça permettra des pages plus légères (les frameworks seront moins lourds à terme) et plus rapide.&lt;/p&gt;


&lt;p&gt;C'est donc implémenté dans webkit (donc dans Safari, et Chrome je crois), et dans une future version de Firefox, en utilisant bien entendu les prefixes &lt;code&gt;-webkit-&lt;/code&gt; et &lt;code&gt;-moz-&lt;/code&gt; sur les propriétés pour que ça fonctionne.&lt;/p&gt;


&lt;p&gt;Et, comme je l'avais déjà dis il y a quelques mois dans un billet sur &lt;a href=&quot;http://ljouanneau.com/blog/post/2009/06/18/La-technologie-Zoomorama&quot;&gt;notre technologie à Zoomorama&lt;/a&gt;, c'est aussi implémenté dans notre browser (développé en actionscript 3). J'ai mis en ligne &lt;a href=&quot;http://ljouanneau.com/lab/css3/transitions/zmtransitions.html&quot;&gt;deux démos faites par David Marteau&lt;/a&gt;, et c'est utilisable dés maintenant dans vos fichiers ZML :-)&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>TI: interdiction de bidouiller sa machine ??</title>
    <link>http://ljouanneau.com/blog/post/2009/10/14/TI%3A-interdiction-de-bidouiller-sa-machine</link>
    <guid isPermaLink="false">urn:md5:adf5f41e6dba39a16f53e30c4872ba98</guid>
    <pubDate>Wed, 14 Oct 2009 16:02:00 +0200</pubDate>
    <dc:creator>Laurentj</dc:creator>
        <category>Geek-log</category>
        <category>hp48</category>    
    <description>    &lt;p&gt;&lt;a href=&quot;http://www.eff.org/press/archives/2009/10/13&quot;&gt;Mékilsoncon&lt;/a&gt;&amp;nbsp;! Texas Instrument interdit d'installer un firmware sur ses calculatrices, pour des histoires de droits&amp;nbsp;!&lt;/p&gt;


&lt;p&gt;D'un coté, ça ne m'étonne pas, j'ai toujours trouvé que Texas Instrument faisaient des calculatrices &lt;del&gt;de mer..&lt;/del&gt; pas assez bidouillables. Au début des années 90 déjà, faire un programme qui utilisait au maximum les possibilités de la machine (comprendre, en assembleur), c'était presque mission impossible. Fallait faire des hacks de malade, peu pratiques. Peu interressant.&lt;/p&gt;


&lt;p&gt;Contrairement à HP. Dans les HP48 par exemple, en programmation RPL, il y avait des objets pour les nombres, pour les chaines, pour les sources en RPN, pour les bibliothèques etc. Et il y en avait aussi... pour les programmes binaires&amp;nbsp;! On pouvait donc installer un assembleur (merci à Phong &quot;hpninja&quot; Nguyen pour avoir crée le premier &lt;a href=&quot;http://www.hpcalc.org/hp48/programming/asm/&quot;&gt;assembleur sur hp48&lt;/a&gt; :-)), et coder comme des malades en assembleur, créé des binaires super optimisé, torturant au maximum cette petite machine, arrivant à en faire une véritable console de jeu digne des gameboys de l'époque&amp;nbsp;! (qui plus est, autorisées officiellement en cours et au BAC :-) ). On pouvait aussi appeler en RPL, des routines de la ROM, offrant encore plus de possibilité à celui qui programmait simplement en RPL (non officiellement documentés, mais heureusement, il y avait &lt;a href=&quot;http://www.courbis.fr/Voyage-au-centre-de-la-HP48-s-sx.html&quot;&gt;des livres pour ça&lt;/a&gt;, merci Paul Courbis et Sebastion Lalande !).&lt;/p&gt;


&lt;p&gt;Bref, je me suis éclaté avec cette machine (en réalisant entre autre &lt;a href=&quot;http://www.hpcalc.org/search.php?query=Laurent+Jouanneau&quot;&gt;ces programmes là&lt;/a&gt;). Et d'autres développeurs aussi, au point de justement refaire un OS (le &lt;a href=&quot;http://www.hpcalc.org/hp48/apps/mk/&quot;&gt;metakernel&lt;/a&gt; !). La mémoire ROM à l'époque n'était pas flashable (encore chère à l'époque), mais il y avait de quoi changer le boot, pour faire démarrer la machine sur un autre endroit que la ROM.&lt;/p&gt;


&lt;p&gt;HP n'a jamais d'ailleurs interdit ces pratiques ou limiter cette &quot;bidouillabilité&quot;, bien au contraire. Ils ont même fini par embaucher des auteurs du metakernel, qui servira de base plus tard à l'OS de la HP49.&lt;/p&gt;


&lt;p&gt;Les gusses de Texas Instrument devraient y réfléchir...&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>L'utilité de l'API de l'accéléromètre dans les navigateurs</title>
    <link>http://ljouanneau.com/blog/post/2009/10/14/utilite-api-accelerometre-dans-les-browser</link>
    <guid isPermaLink="false">urn:md5:5f8d0008034b23339d154d8c30b27a6a</guid>
    <pubDate>Wed, 14 Oct 2009 14:59:00 +0200</pubDate>
    <dc:creator>Laurentj</dc:creator>
        <category>Technologies Web</category>
        <category>accelerometre</category><category>firefox</category><category>html5</category><category>mozilla platform</category><category>planete-xulfr</category>    
    <description>    &lt;p&gt;Paul Rouget nous a fait &lt;a href=&quot;http://blog.mozbox.org/post/2009/10/12/Some-new-demos&quot;&gt;de jolies demos&lt;/a&gt; (que vous pouvez &lt;a href=&quot;http://hacks.mozilla.org/2009/10/orientation-for-firefox/&quot;&gt;voir en vidéo sur hacks.mozilla.org&lt;/a&gt;), pour montrer ce qu'on peut faire avec la nouvelle API qui permet de profiter de l'accéléromètre embarqué dans votre laptop ou tablette.&lt;/p&gt;


&lt;p&gt;Les réactions n'ont pas tardé un peu partout sur le web, et en gros, j'en ai retiré 3 différentes&amp;nbsp;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&quot;vous feriez mieux de travailler sur autre chose&quot;&lt;/li&gt;
&lt;li&gt;&quot;c'est inutile, ça sert à rien&quot;&lt;/li&gt;
&lt;li&gt;&quot;c'est génial !&quot;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pour le &quot;vous feriez mieux de travailler sur autre chose&quot;, on va passer vite fait, c'est du pur troll. Il y a plusieurs dizaines de développeurs qui bossent à temps plein sur Firefox, et il est évident que chacun bosse sur des sujets différents. Le support de l'accéléromètre a été fait par un seul gars, pas 250. Bref, ce n'est pas une perte de temps.&lt;/p&gt;


&lt;p&gt;Les deux autres remarques sont plus intéressantes. Et en analysant (à l'arrache) les réactions, j'ai remarqué qu'en fait la première semblait être faite principalement par des non-développeurs, et la deuxième par des développeurs.&lt;/p&gt;


&lt;p&gt;En fait, beaucoup de gens, en voyant une des démos qui montre une page web s'orienter ou se tordre en fonction de l'orientation du laptop, n'ont pas vu l'intérêt technique de la chose. Ils ont regardé la démo &quot;au premier degré&quot; pourrait-on dire. Il y en a qui ont cru comprendre que dans les prochaines versions de Firefox, les pages web s'orienteront en fonction de l'orientation du laptop. Du coup, ils disent que ça ne sert à rien,  qu'ils ne bougent de toute façon pas leur laptop, ou encore que c'est une horreur, parce que quand une image s'affichera dans le mauvais sens, ils ne pourront plus basculer leur laptop pour voir l'image dans le bon sens, etc...&lt;/p&gt;


&lt;p&gt;Et en fait, ce n'est pas du tout ça, et effectivement, la démo est peut être mal choisie au final. Car en fait, l'intérêt de la démo se trouve sous le capot, dans le code source de la page, pour montrer avec quelle facilité on peut utiliser l'accéléromètre. C'est pourquoi la plupart qui ont trouvé cette démo géniale sont je pense des développeurs, ils ont regardé le source de la page.&lt;/p&gt;


&lt;p&gt;Il faut donc juste comprendre que Mozilla a mis à disposition &lt;strong&gt;un outil&lt;/strong&gt;, pour les développeurs web. Et il est tellement nouveau que des usages concrets de cet outils restent à inventer. On sait que l'une des premières utilités est pour les jeux, sur Fennec, la version mobile de Firefox, ou pour la version desktop sur les tablettes, comme on peut voir dans les jeux pour IPhone. Pour d'autres utilités, surtout sur le desktop, nul doute que des développeurs vont en trouver&amp;nbsp;! C'était pareil pour &lt;code&gt;&amp;lt;canvas&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;video&amp;gt;&lt;/code&gt;, l'api de géolocalisation etc.. On ne voit pas toujours l'intérêt d'une nouvelle techno quand elle débarque. Mais au final, des usages sont inventés, créés.&lt;/p&gt;


&lt;p&gt;Ça me rappelle d'ailleurs la conférence de Paul et Tristan à Paris Web, durant laquelle Paul fait &lt;a href=&quot;http://people.mozilla.com/~prouget/demos/&quot;&gt;plein de démos&lt;/a&gt; sur des nouvelles technos présentes ou à venir dans Firefox, et ajoutant à un moment donné, &quot;j'ai pas dit que ça servait à quelque chose&quot;, suivi d'un grand rire dans la salle. Oui, au visionnage des démos (genre &lt;a href=&quot;http://people.mozilla.com/~prouget/demos/round/index.xhtml&quot;&gt;une vidéo de Tristan Nitot tournant en rond&lt;/a&gt;), un utilisateur lambda, voire un développeur web, peut effectivement se demander l'intérêt de tel ou tel truc. Mais en y réfléchissant, ou quand il sera confronté à un besoin précis, peut être bien qu'il en trouvera.&lt;/p&gt;


&lt;p&gt;Si d'ailleurs vous avez des idées de l'utilité de l'accéléromètre dans une appli web, signalez les à Paul ou ici dans les commentaires, cela lui permettra de faire des démos &quot;plus utiles&quot; du point de vue de l'utilisateur :-)&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>PHP n'est pas un bon langage de template</title>
    <link>http://ljouanneau.com/blog/post/2009/10/08/Jtpl-et-autres-moteur-de-template-PHP</link>
    <guid isPermaLink="false">urn:md5:217cfd7de11f62e1ea4816267a7cb0d9</guid>
    <pubDate>Thu, 08 Oct 2009 12:39:00 +0200</pubDate>
    <dc:creator>Laurentj</dc:creator>
        <category>Technologies Web</category>
        <category>jelix</category><category>jtpl</category><category>php</category><category>template engine</category>    
    <description>    &lt;p&gt;Ça me fait plaisir de lire &lt;a href=&quot;http://fabien.potencier.org/article/34/templating-engines-in-php&quot;&gt;ce genre de billet&lt;/a&gt;, surtout venant de la part d'une figure du monde PHP, à savoir Fabien Potencier (monsieur Symfony). Ça fait des années que je pense comme Fabien&amp;nbsp;: PHP est un mauvais langage de template. Pas assez sécure (que fait-t-on des templates uploadés par des utilisateurs par exemple ?), trop verbeux, parfois trop complexe pour les intégrateurs web qui ne savent pas programmer, et n'impose pas une séparation entre logique métier et &quot;vue&quot; (vu que dans un template en PHP, on peut appeler tout et n'importe quoi).&lt;/p&gt;


&lt;p&gt;C'est pourquoi j'ai toujours préfèré utiliser un langage qui soit conçu pour les templates, pour faciliter leurs écritures d'une part, et de bien faire une séparation entre la logique métier et la &quot;vue&quot;. Et c'est pourquoi dans Jelix, j'ai crée mon propre moteur de template, ultra léger et performant, jTpl, qui est &lt;a href=&quot;http://jelix.org/articles/fr/jtpl-standalone&quot;&gt;disponible en version standalone&lt;/a&gt;, dont je devrais sortir la version 1.0 dés que j'ai un peu de temps.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>De retour de Prague</title>
    <link>http://ljouanneau.com/blog/post/2009/10/05/De-retour-de-Prague</link>
    <guid isPermaLink="false">urn:md5:61ae8b1e46322d0b3fa7939a8553ce34</guid>
    <pubDate>Mon, 05 Oct 2009 16:42:00 +0200</pubDate>
    <dc:creator>Laurentj</dc:creator>
        <category>Geek-log</category>
        <category>MozCamp</category><category>mozilla</category><category>planete-xulfr</category>    
    <description>    &lt;p&gt;Encore une fois, l'équipe de Mozilla Europe s'est démenée pour nous offrir un MozCamp de qualité. Organisation impeccable, lieu impeccable. Merci beaucoup William, Irina, et Paul (j'en n'oublie pas ?), j'ai vraiment apprécié ces trois jours&amp;nbsp;!&lt;/p&gt;


&lt;p&gt;J'ai trouvé les conférences intéressantes, et plus encore, la joie de retrouver &lt;a href=&quot;http://www.flickr.com/photos/lhirlimann/3983564156/&quot;&gt;d'autres contributeurs&lt;/a&gt; (plus de 140 !). C'est l'occasion de se voir &quot;en vrai&quot;, de pouvoir discuter sur les projets actuels et futurs, et au passage de pratiquer un peu son anglais. Et bien sûr de passer de bons moment autour &lt;del&gt;d'une&lt;/del&gt; de plusieurs bières Tchèques, que ce soit à 20-30 ou en petit comité tard le soir, pour discuter de Mozilla, de la life, 42. Quelques bons petits moments de distractions dans cette vie de fou :-). Ça recharge les batteries&amp;nbsp;!&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Fortune</title>
    <link>http://ljouanneau.com/blog/post/2009/09/25/Fortune</link>
    <guid isPermaLink="false">urn:md5:3bacdbcde3478a8fbd522f46eed39e0e</guid>
    <pubDate>Fri, 25 Sep 2009 15:08:00 +0200</pubDate>
    <dc:creator>Laurentj</dc:creator>
        <category>Projets</category>
        <category>dmp</category><category>fortune</category><category>zoomorama</category>    
    <description>    &lt;p&gt;Je ne peux m'empêcher de publier un extrait d'un message interne, véritable fortune d'auto-satisfaction de mon collègue Olivier&lt;sup&gt;[&lt;a href=&quot;http://ljouanneau.com/blog/post/2009/09/25/#pnote-865-1&quot; id=&quot;rev-pnote-865-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt;, core-developer du browser de zoomorama, à propos donc de ce browser et d'une demo pour un client&amp;nbsp;:&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;Mais quand même, je peux pas m'empêcher d'avoir une demi-molle :-): un putain de *browser* avec une putain d'implem DOM *from the ground-up*, du scripting hystéro-maniaque comme si les anglais avaient débarqués, de la stylesheet de motard poilu, du content delivering fondant sous la langue comme un clitoris de parturiente&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Mais c'est vrai que c'est assez impressionnant ce qu'on arrive à faire. David et Olivier, vous déchirez :-)&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://ljouanneau.com/blog/post/2009/09/25/#rev-pnote-865-1&quot; id=&quot;pnote-865-1&quot;&gt;1&lt;/a&gt;] il est bien entendu d'accord pour la publication&lt;/p&gt;&lt;/div&gt;
</description>
    
    
    
      </item>
    
  <item>
    <title>Agenda d'octobre chargé</title>
    <link>http://ljouanneau.com/blog/post/2009/09/25/Agenda-d-octobre-charg%C3%A9</link>
    <guid isPermaLink="false">urn:md5:16ed66655f8a2ffd50878586c68575de</guid>
    <pubDate>Fri, 25 Sep 2009 14:23:00 +0200</pubDate>
    <dc:creator>Laurentj</dc:creator>
        <category>Projets</category>
        <category>comete</category><category>mozcamp</category><category>mozilla</category><category>paris web</category><category>standards web</category>    
    <description>    &lt;p&gt;Que d'évènements en ce mois d'octobre à venir&amp;nbsp;!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Du 2 au 4, je serais à Pragues, pour le &lt;a href=&quot;https://wiki.mozilla.org/EU_MozCamp_2009&quot;&gt;MozCamp 2009&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Le 8 et le 9, je serais aux &lt;a href=&quot;http://www.paris-web.fr/2009/&quot;&gt;conférences Paris Web&lt;/a&gt;. je crois qu'il reste encore des places, allez-y&amp;nbsp;! C'est un évènement à ne pas manquer pour les développeurs web, chefs de projets etc. Tous les ans, ce sont des conférences d'excellentes qualités, faites par des &lt;strong&gt;vrais&lt;/strong&gt; professionnels du métier, et organisées par une équipe au top&amp;nbsp;! Le prix est ridicule (surtout pour une boîte), en regard des connaissances enrichies qui vous seront transmises.&lt;/li&gt;
&lt;li&gt;Enfin, du 19 au 23, &lt;a href=&quot;http://kazhack.org/&quot;&gt;Fabien Cazenave&lt;/a&gt; (monsieur &lt;a href=&quot;http://kompozer.net/&quot;&gt;Kompozer&lt;/a&gt;) et moi allons dispenser des cours sur les technologies Mozilla, à l'université d'Evry. C'est le projet &lt;a href=&quot;http://comete.info.univ-evry.fr/&quot;&gt;Comete&lt;/a&gt;. Une première en France :-)&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
      </item>
    
</channel>
</rss>