<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://www.llaumgui.com/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/">
<channel>
  <title>Le blog de llaumgui - Développement web</title>
  <link>http://www.llaumgui.com/</link>
  <description>Linux en général, Fedora en particulier...</description>
  <language>fr</language>
  <pubDate>Fri, 16 May 2008 03:33:14 +0200</pubDate>
  <copyright>http://creativecommons.org/licenses/by-nc-nd/2.5/</copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Charger des javascripts distants dans le &quot;domready&quot; de Mootools</title>
    <link>http://www.llaumgui.com/post/Charger-des-javascripts-distants-dans-le-domready-de-Mootools</link>
    <guid isPermaLink="false">urn:md5:4a0dd29a1ec198f9c6c07017f390e7b5</guid>
    <pubDate>Thu, 15 May 2008 20:22:00 +0200</pubDate>
    <dc:creator>llaumgui</dc:creator>
        <category>Développement web</category>
        <category>javascript</category><category>MooTools</category><category>Twitter</category>    
    <description>&lt;p&gt;Certains l'avaient peut-être remarqué, depuis quelques jours, le blog ramait grave ! Les symptômes : le bandeau, qui change selon l'heure de la journée, ainsi que différentes couleurs du site mettaient du temps à s'afficher.&lt;/p&gt;


&lt;p&gt;La faute &lt;a href=&quot;http://twitter.com/badges/html&quot; hreflang=&quot;en&quot; title=&quot;Twitter / HTML Badge Customizer&quot;&gt;au script&lt;/a&gt; de &lt;a href=&quot;http://twitter.com&quot; hreflang=&quot;en&quot; title=&quot;What are you doing?&quot;&gt;Twitter&lt;/a&gt; qui ralentissait le chargement de la page et reculait d'autant l'évènement &lt;a href=&quot;http://docs.mootools.net/Window/Window-DomReady.js&quot; hreflang=&quot;en&quot; title=&quot;Documentation MooTools : Window.DomReady.js&quot;&gt;domready&lt;/a&gt; de &lt;a href=&quot;http://mootools.net&quot; hreflang=&quot;en&quot; title=&quot;MooTools is a compact, modular, Object-Oriented JavaScript framework designed for the intermediate to advanced JavaScript developer&quot;&gt;MooTools&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;C'est après avoir posé &lt;a href=&quot;http://forum.mootools.net/viewtopic.php?pid=48752#p48752&quot; hreflang=&quot;en&quot;&gt;la question&lt;/a&gt; sur &lt;a href=&quot;http://forum.mootools.net&quot; hreflang=&quot;en&quot;&gt;les forums de MooToos&lt;/a&gt; que la solution c'est offerte à moi : construire l'élément &amp;lt;script&amp;gt; qui appelle les javascripts de Twitter dynamiquement et dans le domready, c'est à dire une fois mon design en place.&lt;/p&gt;


&lt;p&gt;J'ai pour cela mis en place une petite fonction sur laquelle vous pouvez vous appuyer :&lt;/p&gt;    &lt;code class=&quot;javascript&quot;&gt;&lt;span style=&quot;color: #009900; font-style: italic;&quot;&gt;/* &lt;br /&gt;
&amp;nbsp;* Mootools : onDOMReady&lt;br /&gt;
&amp;nbsp;*&lt;br /&gt;
&amp;nbsp;* Remarque : les actions prioritaires en premier.&lt;br /&gt;
-------------------------------------------------------- */&lt;/span&gt;&lt;br /&gt;
window.&lt;span style=&quot;color: #006600;&quot;&gt;addEvent&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;'domready'&lt;/span&gt;, &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;var&lt;/span&gt; nodoka&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;new&lt;/span&gt; Nodoka&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;var&lt;/span&gt; scripts &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #009900; font-style: italic;&quot;&gt;/* twitter */&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #3366CC;&quot;&gt;'http://twitter.com/javascripts/blogger.js'&lt;/span&gt;,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #3366CC;&quot;&gt;'http://twitter.com/statuses/user_timeline/llaumgui.json?callback=twitterCallback2&amp;amp;count=5&amp;quot;'&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #009900; font-style: italic;&quot;&gt;/* [ . . . ] */&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; nodoka.&lt;span style=&quot;color: #006600;&quot;&gt;loadJS&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; scripts &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #009900; font-style: italic;&quot;&gt;/* [ . . . ] */&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;; &lt;span style=&quot;color: #009900; font-style: italic;&quot;&gt;// EODR&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #009900; font-style: italic;&quot;&gt;/* [ . . . ] */&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;function&lt;/span&gt; Nodoka&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #009900; font-style: italic;&quot;&gt;/* [ . . . ] */&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #009900; font-style: italic;&quot;&gt;/*&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* Ajout des Javascripts distant&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* @author Guillaume Kulakowski &amp;lt;guillaume_AT_llaumgui_DOT_com&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* @since 1.0.1&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*/&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;loadJS&lt;/span&gt; = &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;function&lt;/span&gt; loadJS&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; scripts &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; scripts.&lt;span style=&quot;color: #006600;&quot;&gt;each&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;src&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;var&lt;/span&gt; loadJS = &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;new&lt;/span&gt; Element&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;'script'&lt;/span&gt;, &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #3366CC;&quot;&gt;'src'&lt;/span&gt;: src,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #3366CC;&quot;&gt;'type'&lt;/span&gt;: &lt;span style=&quot;color: #3366CC;&quot;&gt;'text/javascript'&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;injectInside&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;document.&lt;span style=&quot;color: #006600;&quot;&gt;head&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #009900; font-style: italic;&quot;&gt;/* [ . . . ] */&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;; &lt;span style=&quot;color: #009900; font-style: italic;&quot;&gt;// EOC&lt;/span&gt;&lt;/code&gt;</description>
    
    
    
          <comments>http://www.llaumgui.com/post/Charger-des-javascripts-distants-dans-le-domready-de-Mootools#comment-form</comments>
      <wfw:comment>http://www.llaumgui.com/post/Charger-des-javascripts-distants-dans-le-domready-de-Mootools#comment-form</wfw:comment>
      <wfw:commentRss>http://www.llaumgui.com/feed/rss2/comments/430</wfw:commentRss>
      </item>
    
  <item>
    <title>Pimp my Dotclear Acte II</title>
    <link>http://www.llaumgui.com/post/Pimp-my-Dotclear-Acte-II</link>
    <guid isPermaLink="false">urn:md5:8e8bfcd96c1f81f24d4454531e21539c</guid>
    <pubDate>Tue, 22 Apr 2008 20:42:00 +0200</pubDate>
    <dc:creator>llaumgui</dc:creator>
        <category>Développement web</category>
        <category>apache</category><category>Dotclear</category><category>référencement</category><category>spam</category>    
    <description>&lt;p&gt;&lt;a href=&quot;http://www.dotclear.net/blog/post/2008/04/05/En-mai-fais-ce-quil-te-plait&quot; hreflang=&quot;fr&quot; title=&quot;En mai fais ce qu'il te plaît&quot;&gt;Dotclear 2.0 RC1 arrivant à grands pas&lt;/a&gt;, on continue avec les exemples de mise en œuvre de &lt;a hreflang=&quot;fr&quot; href=&quot;http://www.dotclear.net&quot; title=&quot;Gestionnaire de blog&quot;&gt;ce gestionnaire de blog&lt;/a&gt; simple et efficace.&lt;br /&gt;
&lt;a href=&quot;http://www.llaumgui.com/post/Pimp-my-Dotclear&quot; hreflang=&quot;fr&quot; title=&quot;Pimp my Dotclear ;-)&quot;&gt;Après la sécurité et l'optimisation de Dotclear&lt;/a&gt;, aujourd'hui : les &lt;a hreflang=&quot;fr&quot; href=&quot;http://fr.wikipedia.org/wiki/R%C3%A9trolien&quot;&gt;rétroliens&lt;/a&gt; (ou trackbacks) et les plugins pour Dotclear qui vont bien. Vous pouvez, à ce propos, &lt;a hreflang=&quot;fr&quot; href=&quot;http://www.llaumgui.com/plugins-liste&quot;&gt;consulter la liste des plugins déployés sur ce blog&lt;/a&gt;.&lt;/p&gt;    &lt;h2&gt;Rétroliens et anti-spam&lt;/h2&gt;
&lt;p&gt;Les rétroliens sont un super outil permettant à la discussion de dériver et de se poursuivre ailleurs. Le problème est que les trackbacks sont trop souvent victimes du SPAM et les bloggeurs ont alors tendance à les désactiver (ce qui était mon cas jusqu'à il y a peu).&lt;/p&gt;
&lt;p&gt;La solution, pour pouvoir utiliser les trackbacks sereinement : le &lt;a hreflang=&quot;fr&quot; href=&quot;http://plugins.dotaddict.org/dc2/details/Retrocontrole&quot; title=&quot;Filtre antispam pour les rétroliens.&quot;&gt;plugin rétrocontrôle&lt;/a&gt; configuré pour effacer directement les rétroliens indésirables, sans passer par la case corbeille.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.llaumgui.com/public/images/web/dotclear/filtre_antispam_dotclear2.png&quot;&gt;&lt;img src=&quot;http://www.llaumgui.com/public/images/web/dotclear/.filtre_antispam_dotclear2_m.jpg&quot; alt=&quot;Filtre anti-spam dans Dotclear&quot; style=&quot;margin: 0 auto; display: block;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Au passage, vous constatez que, pour le moment, ma configuration anti-spam est plutôt légère, j'ai donc encore des armes pour me défendre.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://www.llaumgui.com/public/images/web/dotclear/configuration_retrocontrole.png&quot; alt=&quot;Configuration de rétrocontrôle&quot; style=&quot;margin: 0 auto; display: block;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Je n'ai pas non plus activé l'option &amp;quot;&lt;em&gt;adresses jetables&lt;/em&gt;&amp;quot; car je ne suis pas sûr de sa compatibilité avec le &lt;a href=&quot;http://dev.dotclear.net/2.0/browser/plugins/staticCache&quot; hreflang=&quot;fr&quot;&gt;plugin Static Cache&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;miniSEO :&lt;/h2&gt;
&lt;p&gt;Comme le montre &lt;a hreflang=&quot;fr&quot; href=&quot;http://whois.domaintools.com/www.llaumgui.com&quot;&gt;ce calculateur&lt;/a&gt; (au résultat plus que discutable je vous l'accorde), le &lt;acronym title=&quot;Search Engine Optimisation&quot;&gt;SEO&lt;/acronym&gt; du blog frôle la perfection (97%) et ce grâce, entre autres, au &lt;a href=&quot;http://plugins.dotaddict.org/dc2/details/miniSEO&quot; hreflang=&quot;fr&quot; title=&quot;Remplit la balise meta description pour chaque billet&quot;&gt;plugin miniSEO&lt;/a&gt; qui peut être couplé avec &lt;a href=&quot;http://plugins.dotaddict.org/dc2/details/Mymeta&quot; hreflang=&quot;fr&quot; title=&quot;Définition de métadonnées personnalisées&quot;&gt;MyMeta&lt;/a&gt; comme le conseille l'auteur sur &lt;a href=&quot;http://www.myouaibe.com/index.php/post/2008/03/26/Plugin-miniSEO&quot; hreflang=&quot;fr&quot; title=&quot;Plugin miniSEO (billet support)&quot;&gt;le billet de support&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;MyMeta&lt;/h2&gt;
&lt;p&gt;Vous l'aurez peut être remarqué, une image illustre mes billets. Cette image est soit celle associée à la catégorie du billet, soit celle d'un tag. Pour cela j'utilise le plugin MyMeta :&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.llaumgui.com/public/images/web/dotclear/mymeta.png&quot;&gt;&lt;img src=&quot;http://www.llaumgui.com/public/images/web/dotclear/.mymeta_m.jpg&quot; alt=&quot;Configuration du plugin MyMeta&quot; style=&quot;margin: 0 auto; display: block;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Je peux ensuite appliquer à un billet une illustration en fonction d'un tag grâce à ce template :&lt;/p&gt;
&lt;code class=&quot;html4strict&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;lt;tpl:MyMetaIf &lt;span style=&quot;color: #000066;&quot;&gt;type&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;tag-illustration&amp;quot;&lt;/span&gt; defined=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;false&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;lt;tpl:EntryIf has_category=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;1&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;a href=&quot;http://december.com/html/4/element/a.html&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;a&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #000066;&quot;&gt;href&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;{{tpl:EntryCategoryURL}}&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;class&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;category-illustration cat_{{tpl:EntryCategoryID}}&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;title&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;{{tpl:EntryCategory}}&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #ddbb00;&quot;&gt;&amp;amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/a&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&lt;/span&gt;/tpl:EntryIf&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&lt;/span&gt;/tpl:MyMetaIf&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #009900;&quot;&gt;&amp;lt;tpl:MyMetaIf &lt;span style=&quot;color: #000066;&quot;&gt;type&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;tag-illustration&amp;quot;&lt;/span&gt; defined=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;true&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;a href=&quot;http://december.com/html/4/element/a.html&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;a&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #000066;&quot;&gt;href&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;{{tpl:BlogURL}}tag/{{tpl:MyMetaValue type=&amp;quot;&lt;/span&gt;tag-illustration&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;}}&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;class&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;category-illustration&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;title&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;{{tpl:MyMetaValue type=&amp;quot;&lt;/span&gt;tag-illustration&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;}}&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;style&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;background: transparent url(/themes/nodoka/img/tag/{{tpl:MyMetaValue type=&amp;quot;&lt;/span&gt;tag-illustration&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;}}.png) 0 0 no-repeat;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #ddbb00;&quot;&gt;&amp;amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/a&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&lt;/span&gt;/tpl:MyMetaIf&amp;gt;&lt;/span&gt;&lt;/code&gt;
&lt;h2&gt;Pages&lt;/h2&gt;
&lt;p&gt;La révision &lt;a hreflang=&quot;fr&quot; href=&quot;http://dev.dotclear.net/2.0/changeset/1729&quot;&gt;#1729&lt;/a&gt; de Dotclear introduit &lt;a hreflang=&quot;fr&quot; href=&quot;http://www.dotclear.net/blog/post/2008/04/20/Nouveau-plugin-pour-Dotclear-2-%3A-pages&quot; title=&quot;Nouveau plugin pour Dotclear 2 : pages&quot;&gt;le plugin Pages&lt;/a&gt; remplaçant avantageusement le &lt;a hreflang=&quot;fr&quot; href=&quot;http://plugins.dotaddict.org/dc2/details/Related-Pages&quot; title=&quot;Ajoutez des pages connexes à votre blog&quot;&gt;plugin Related&lt;/a&gt; que j'utilisais jusqu'à présent. C'est maintenant &amp;quot;&lt;em&gt;Pages&lt;/em&gt;&amp;quot; qui gère les pages suivantes :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.llaumgui.com/pages/a-propos&quot; hreflang=&quot;fr&quot;&gt;A propos de ce blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.llaumgui.com/pages/credits-mentions-legales&quot; hreflang=&quot;fr&quot;&gt;Crédits &amp;amp; mentions légales&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://cv.llaumgui.com/&quot; hreflang=&quot;fr&quot;&gt;Curriculum vitæ de Guillaume Kulakowski&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Notez au passage qu'avec une petite règle apache, le plugin Pages peut faire correspondre une page du blog à un sous domaine :&lt;/p&gt;
&lt;code class=&quot;bash&quot;&gt;RewriteCond %&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#123;&lt;/span&gt;HTTP_HOST&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#125;&lt;/span&gt; ^cv.llaumgui.com&lt;br /&gt;
RewriteRule ^index.php$ index.php/pages/curriculum &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;L&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;/code&gt;
&lt;h2&gt;Subscribe to comments&lt;/h2&gt;
&lt;p&gt;En plus du flux RSS associé aux commentaires d'un billets, natifs dans Dotclear, le plugin &lt;a href=&quot;http://plugins.dotaddict.org/dc2/details/Subscribe-to-comments&quot; hreflang=&quot;fr&quot;&gt;Subscribe to comments&lt;/a&gt; permet à vos visiteurs de s'abonner  par email aux nouveaux commentaires.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.llaumgui.com/post/Pimp-my-Dotclear-Acte-II#comment-form</comments>
      <wfw:comment>http://www.llaumgui.com/post/Pimp-my-Dotclear-Acte-II#comment-form</wfw:comment>
      <wfw:commentRss>http://www.llaumgui.com/feed/rss2/comments/419</wfw:commentRss>
      </item>
    
  <item>
    <title>Pimp my Dotclear ;-)</title>
    <link>http://www.llaumgui.com/post/Pimp-my-Dotclear</link>
    <guid isPermaLink="false">urn:md5:c3b7d97d6b46184b80195e53d5a80e41</guid>
    <pubDate>Mon, 21 Apr 2008 22:35:00 +0200</pubDate>
    <dc:creator>llaumgui</dc:creator>
        <category>Développement web</category>
        <category>apache</category><category>Dotclear</category><category>fedora-fr</category><category>sécurité</category>    
    <description>&lt;p&gt;&lt;a href=&quot;http://www.dotclear.net/&quot; hreflang=&quot;fr&quot; title=&quot;Gestionnairede blog&quot;&gt;Dotclear&lt;/a&gt; est un logiciel simple et léger permettant de créer son blog (comme ici) ou de mettre en place une plateforme de blog pouvant héberger plusieurs blogs comme c'est le cas sur &lt;a href=&quot;http://blog.fedora-fr.org/&quot; hreflang=&quot;fr&quot; title=&quot;Plateforme de blogs Libres fedora-fr (bêta)&quot;&gt;la plateforme de blog de fedora-fr&lt;/a&gt;.&lt;/p&gt;    &lt;h2&gt;Optimiser Dotclear&lt;/h2&gt;
&lt;h3&gt;Utilisation de connexions persistantes&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;http://www.geeek.org/post/2007/07/31/Utilisation-des-connexions-pesistantes-dans-Dotclear2&quot; hreflang=&quot;fr&quot; title=&quot;Utilisation des connexions persistantes dans Dotclear2&quot;&gt;Ludovic en parlait&lt;/a&gt; sur &lt;a href=&quot;http://www.geeek.org&quot; hreflang=&quot;fr&quot; title=&quot;Blog de Geeek&quot;&gt;son Blog&lt;/a&gt;, les connexions persistantes sont à présent directement configurables depuis le fichier config.php de Dotclear :&lt;/p&gt;
&lt;code class=&quot;php&quot;&gt;&lt;a href=&quot;http://www.php.net/define&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;define&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'DC_DBPERSIST'&lt;/span&gt;,&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/code&gt;
&lt;h3&gt;Cache statique&lt;/h3&gt;
&lt;p&gt;Toujours en développement, &lt;a href=&quot;https://svn.dotclear.net/2.0/plugins/staticCache/&quot; hreflang=&quot;fr&quot;&gt;le plugin staticCache est disponible via le dépôt SVN&lt;/a&gt;. Il permet de générer non pas du code php comme le fait le cache de template mais de stocker du code HTML qui sera directement rendu aux visiteurs de votre blog.&lt;/p&gt;
&lt;p&gt;Pour l'activer, ça se passe encore dans le fichier config.php&lt;/p&gt;
&lt;code class=&quot;php&quot;&gt;&lt;a href=&quot;http://www.php.net/define&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;define&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'DC_SC_CACHE_ENABLE'&lt;/span&gt;, &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;true&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/code&gt;
&lt;h2&gt;Sécuriser son Dotclear&lt;/h2&gt;
&lt;p&gt;La première chose à faire pour sécuriser son Dotclear est de le mettre à jour. En effet, &lt;a href=&quot;http://www.dotclear.net/blog/post/2008/04/17/Dotclear-20-beta-701&quot; hreflang=&quot;fr&quot; title=&quot;Dotclear 2.0 beta 7.0.1&quot;&gt;des failles de sécurité ont récemment étaient découvertes&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;La gestion des uploads&lt;/h3&gt;
&lt;p&gt;Si vous êtes le seul à utiliser votre blog, la question se pose moins, mais si d'autres personnes utilisent le système d'upload, ils pourraient très bien envoyer des fichier php sur le serveur et les exécuter. Toujours dans le domaine de la supposition, ces fichiers pourraient permettre d'inclure le fichier config.php et d'en parcourir le contenu, dévoilant ainsi les mots de passe de la connexion à la base de données. Sur un serveur très très mal configuré, ces fichiers pourraient aller jusqu'à lire des fichiers du répertoire /etc/ !&lt;/p&gt;
&lt;p&gt;Pas de panique : depuis la révision &lt;a href=&quot;http://dev.dotclear.net/2.0/changeset/1714&quot;&gt;#1714&lt;/a&gt;, Dotclear permet d'exclure des extensions de fichier du gestionnaire de médias et ce via la directive &lt;em&gt;media_exclusion&lt;/em&gt; du plugin &lt;em&gt;about:config&lt;/em&gt; (&lt;a href=&quot;http://www.dotclear.net/blog/post/2008/04/18/Gestionnaire-de-media-et-types-de-fichiers&quot; hreflang=&quot;fr&quot; title=&quot;Gestionnaire de média et types de fichiers&quot;&gt;plus d'infos&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Empêcher l'upload de fichier php c'est bien, mais empêcher l'exécution de fichier php dans le répertoire public, c'est mieux. Pour cela, on configurera apache :&lt;/p&gt;
&lt;code class=&quot;bash&quot;&gt;&amp;lt;Location ~ &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;public/.*&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\.&lt;/span&gt;php$&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;ForceType text/plain&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;RemoveHandler php&lt;br /&gt;
&amp;lt;/Location&amp;gt;&lt;/code&gt;</description>
    
    
    
          <comments>http://www.llaumgui.com/post/Pimp-my-Dotclear#comment-form</comments>
      <wfw:comment>http://www.llaumgui.com/post/Pimp-my-Dotclear#comment-form</wfw:comment>
      <wfw:commentRss>http://www.llaumgui.com/feed/rss2/comments/418</wfw:commentRss>
      </item>
    
  <item>
    <title>Optimiser ses javascripts : le cas de mootools</title>
    <link>http://www.llaumgui.com/post/Optimiser-ses-javascripts-%3A-le-cas-de-mootools</link>
    <guid isPermaLink="false">urn:md5:5b8f8c868d4c852f91bcb14bd40b144e</guid>
    <pubDate>Thu, 17 Apr 2008 19:04:00 +0200</pubDate>
    <dc:creator>llaumgui</dc:creator>
        <category>Développement web</category>
        <category>javascript</category><category>MooTools</category>    
    <description>&lt;p&gt;Avec le nouveau thème du blog, &lt;a href=&quot;http://www.llaumgui.com/post/../post/Nouveau-theme-pour-le-blog&quot; hreflang=&quot;fr&quot; title=&quot;Nouveau thème pour le blog&quot;&gt;Nodoka&lt;/a&gt;, c'est posé la question de l'optimisation des &lt;a hreflang=&quot;fr&quot; href=&quot;http://fr.wikipedia.org/wiki/Javascript&quot;&gt;javascripts&lt;/a&gt;. En effet, &lt;a href=&quot;http://mootools.net/&quot; hreflang=&quot;en&quot; title=&quot;MooTools is a compact, modular, Object-Oriented JavaScript framework designed for the intermediate to advanced JavaScript developer&quot;&gt;mootools&lt;/a&gt; c'est bien, mais c'est lourd : &lt;strong&gt;87Ko&lt;/strong&gt; pour la version complète !&lt;/p&gt;
&lt;p&gt;J'ai donc essayé les différents moyens de compresser du javascript et j'en ai fait un tableau comparatif.&lt;/p&gt;    &lt;h2&gt;Comparatif des différentes méthodes de compression du code javascript&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;Les tests suivants sont effectués à partir de la version complète de mootools 1.11.&lt;/em&gt;&lt;/p&gt;
&lt;table class=&quot;center border&quot;&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;th&gt;Full&lt;/th&gt;
&lt;th&gt;Sans les commentaires&lt;/th&gt;
&lt;th&gt;&lt;a href=&quot;http://www.crockford.com/javascript/jsmin.html&quot; hreflang=&quot;en&quot; title=&quot;The JavaScript Minifier&quot;&gt;JSMin&lt;/a&gt;&lt;/th&gt;
&lt;th&gt;&lt;a href=&quot;http://www.julienlecomte.net/yuicompressor&quot; hreflang=&quot;en&quot;&gt;YUI Compressor&lt;/a&gt;&lt;/th&gt;
&lt;th&gt;&lt;a href=&quot;http://dean.edwards.name/packer/&quot; hreflang=&quot;en&quot; title=&quot;A JavaScript Compressor&quot;&gt;packer&lt;/a&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;180Ko&lt;/td&gt;
&lt;td&gt;87Ko&lt;/td&gt;
&lt;td&gt;73Ko&lt;/td&gt;
&lt;td&gt;65Ko&lt;/td&gt;
&lt;td&gt;41Ko&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;Comme le démontre le tableau, la meilleure méthode de compression semble être packer. Mais après une discussion sur le chan #mootools (serveur &lt;a href=&quot;http://freenode.net/&quot; hreflang=&quot;en&quot;&gt;freenode.net&lt;/a&gt;), il semblerait que packer souffre de 2 problèmes :&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;problème avec les &lt;a hreflang=&quot;fr&quot; href=&quot;http://fr.wikipedia.org/wiki/Regex&quot;&gt;regex&lt;/a&gt; (pas tout compris à la démonstration : barrière de la langue &lt;img src=&quot;/themes/default/smilies/wink.png&quot; alt=&quot;;-)&quot; class=&quot;smiley&quot; /&gt; )&lt;/li&gt;
&lt;li&gt;moins compressible que YUI&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;C'est pour ça que mootools utilise YUI Compressor et j'ai donc suivi cette préconisation sur mon blog.&lt;/p&gt;
&lt;h2&gt;Pourquoi compresser du javascript pour gagner quelques malheureux kilo octets ?&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;Une page &lt;a hreflang=&quot;fr&quot; href=&quot;http://fr.wikipedia.org/wiki/Accessibilit%C3%A9_du_Web&quot;&gt;accessible&lt;/a&gt; devrait faire &lt;a hreflang=&quot;fr&quot; href=&quot;http://www.accessiweb.org/fr/guide_accessiweb/guide-accessiweb-fiche-12-8.html&quot;&gt;moins de 70Ko&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;La &lt;a href=&quot;http://developer.yahoo.com/performance/rules.html#minify&quot; hreflang=&quot;en&quot; title=&quot;Minify JavaScript and CSS&quot;&gt;réduction du poids des javascripts et des CSS fait partie des préconisations Yahoo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Économie de bande passante&lt;/li&gt;
&lt;li&gt;Certains ne réalisent pas qu'en France avec nos superbes connections on est des privilégiés (pensez y lorsque vous collez une signature de plus de 1Mo attachée à vos postes dans des forums...)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Aller plus loin&lt;/h2&gt;
&lt;p&gt;Mais les 65Ko obtenus avec YUI Compressor ne sont pas une fin en soit. Il est ensuite possible de compresser le JS pour en faire un &lt;a hreflang=&quot;fr&quot; href=&quot;http://fr.wikipedia.org/wiki/Gzip&quot;&gt;gzip&lt;/a&gt;. Attention : je ne parle pas de &lt;a hreflang=&quot;fr&quot; href=&quot;http://www.llaumgui.com/post/Montee-en-charge-et-compression-Gzip-des-pages-servies&quot; title=&quot;Montée en charge et compression Gzip des pages servies&quot;&gt;faire consommer du CPU pour compresser à la volée&lt;/a&gt;, mais de compresser une fois pour toute :&lt;/p&gt;
&lt;code class=&quot;bash&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;cp&lt;/span&gt; moootols.js mootools.jgz&lt;br /&gt;
&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;gzip&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;-9&lt;/span&gt; mootools.jgz&lt;br /&gt;
&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;mv&lt;/span&gt; mootools.jgz.gz mootools.jgz&lt;/code&gt;
&lt;p&gt;Ensuite on modifie l'inclusion de la librairie :&lt;/p&gt;
&lt;code class=&quot;html&quot;&gt;&amp;lt;script src=&amp;quot;/themes/nodoka/js/mootools.jgz&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;/code&gt;
&lt;p&gt;Et on effectue &lt;a href=&quot;http://joseph.randomnetworks.com/archives/2006/07/13/compressed-javascript/#comment-52297&quot; hreflang=&quot;en&quot; title=&quot;Compressed JavaScript&quot;&gt;un petit réglage sur son serveur pour penser à ceux qui ne supportent pas la compression Gzip&lt;/a&gt; :&lt;/p&gt;
&lt;code class=&quot;bash&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;# JGZ &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;compression JS&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
RewriteCond %&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#123;&lt;/span&gt;HTTP_USER_AGENT&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#125;&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;.*Safari.*&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;OR&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;br /&gt;
RewriteCond %&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#123;&lt;/span&gt;HTTP:Accept-Encoding&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#125;&lt;/span&gt; !&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;gzip&lt;/span&gt;&lt;br /&gt;
RewriteRule &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;.*&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;\.jgz$ $&lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt;\.js &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;L&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;br /&gt;
AddType &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;text/javascript;charset=UTF-8&amp;quot;&lt;/span&gt; .jgz&lt;br /&gt;
AddEncoding &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;gzip&lt;/span&gt; .jgz&lt;/code&gt;
&lt;p&gt;Voila au final mootools complet ramené de &lt;strong&gt;87Ko à  19Ko&lt;/strong&gt;.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.llaumgui.com/post/Optimiser-ses-javascripts-%3A-le-cas-de-mootools#comment-form</comments>
      <wfw:comment>http://www.llaumgui.com/post/Optimiser-ses-javascripts-%3A-le-cas-de-mootools#comment-form</wfw:comment>
      <wfw:commentRss>http://www.llaumgui.com/feed/rss2/comments/413</wfw:commentRss>
      </item>
    
  <item>
    <title>Utiliser mootools dans Dotclear 2.0</title>
    <link>http://www.llaumgui.com/post/Utiliser-mootools-dans-Dotclear-20</link>
    <guid isPermaLink="false">urn:md5:eb1b8f273e412e8c43d72013d9402698</guid>
    <pubDate>Wed, 16 Apr 2008 19:17:00 +0200</pubDate>
    <dc:creator>llaumgui</dc:creator>
        <category>Développement web</category>
        <category>Dotclear</category><category>framework</category><category>javascript</category><category>jQuery</category><category>MooTools</category><category>YUI Compressor</category>    
    <description>    &lt;p&gt;&lt;a href=&quot;http://www.dotclear.net/&quot; hreflang=&quot;fr&quot; title=&quot;Gestionnaire de blog&quot;&gt;Dotclear&lt;/a&gt;, le gestionnaire de blog, dans sa version 2.0 (&lt;a href=&quot;http://www.dotclear.net/blog/post/2008/04/05/En-mai-fais-ce-quil-te-plait&quot; hreflang=&quot;fr&quot; title=&quot;En mai fais ce qu'il te plaît&quot;&gt;dont la RC1 devrait pointer le bout de son nez le 1er mai&lt;/a&gt;) utilise &lt;a href=&quot;http://jquery.com/&quot; hreflang=&quot;en&quot; title=&quot;The Write Less, Do More, JavaScript Library&quot;&gt;jQuery&lt;/a&gt; comme librairie &lt;a href=&quot;http://fr.wikipedia.org/wiki/Javascript&quot; hreflang=&quot;fr&quot;&gt;javascript&lt;/a&gt;.
Notons au passage que l'utilisation d'une telle librairie permet de
gagner un temps de développement précieux et d'éviter d'éventuels
problèmes de compatibilité entre les différents navigateurs.&lt;/p&gt;
&lt;p&gt;Actuellement, l'utilisation du javascript dans le thème par défaut (Blowup) se limite à la gestion du cookie de la case &amp;quot;&lt;em&gt;Se souvenir de moi sur ce blog&lt;/em&gt;&amp;quot;.&lt;/p&gt;
&lt;p&gt;J'aime beaucoup jQuery (je m'en suis servi dans mon précédent thème
et sur d'autres projets) mais professionnellement j'utilise beaucoup &lt;a href=&quot;http://mootools.net/&quot; hreflang=&quot;en&quot; title=&quot;MooTools is a compact, modular, Object-Oriented JavaScript framework designed for the intermediate to advanced JavaScript developer&quot;&gt;mootools&lt;/a&gt; et j'ai acquis des facilités avec ce framework.&lt;br /&gt;
Pour mon dernier thème, &lt;a href=&quot;http://www.llaumgui.com/post/../post/Nouveau-theme-pour-le-blog&quot; hreflang=&quot;fr&quot; title=&quot;Nouveau thème pour le blog&quot;&gt;Nodoka&lt;/a&gt;,
c'est donc mootools que j'ai retenu et j'ai donc eu à entreprendre de
porter le code de la gestion des cookies de jQuery vers mootools.&lt;br /&gt;
Histoire de vous faciliter la vie si vous aussi vous souhaitez utiliser
mootools dans vos thèmes Dotclear, je vous mets mon bout de code attaché à ce billet.&lt;/p&gt;
&lt;p&gt;On remarquera qu'il y a 2 fichiers : un fichier source avec le code lisible et commenté; et une version compressée avec &lt;a href=&quot;http://developer.yahoo.com/yui/compressor/&quot; hreflang=&quot;en&quot; title=&quot;Yahoo! UI Library: YUI Compressor&quot;&gt;YUI Compressor&lt;/a&gt;. D'ailleur, La compression des javascripts donnera bientôt lieu à un nouveau billet.&lt;/p&gt;</description>
    
          <enclosure url="http://www.llaumgui.com/public/files/javascript/dc_remember.js"
      length="1712" type="text/javascript" />
          <enclosure url="http://www.llaumgui.com/public/files/javascript/dc_remember.src.js"
      length="5120" type="text/javascript" />
    
    
          <comments>http://www.llaumgui.com/post/Utiliser-mootools-dans-Dotclear-20#comment-form</comments>
      <wfw:comment>http://www.llaumgui.com/post/Utiliser-mootools-dans-Dotclear-20#comment-form</wfw:comment>
      <wfw:commentRss>http://www.llaumgui.com/feed/rss2/comments/412</wfw:commentRss>
      </item>
    
  <item>
    <title>Bug MySQL 5.0.51a</title>
    <link>http://www.llaumgui.com/post/Bug-MySQL-5051a</link>
    <guid isPermaLink="false">urn:md5:08e92bf0d01edeabaa94de2436ea16ef</guid>
    <pubDate>Mon, 18 Feb 2008 23:04:00 +0100</pubDate>
    <dc:creator>llaumgui</dc:creator>
        <category>Développement web</category>
        <category>Borsalino</category><category>MySQL</category><category>PunBB</category><category>Remi</category><category>serveur</category>    
    <description>&lt;p&gt;Depuis quelques jours &lt;a href=&quot;http://forums.fedora-fr.org/viewtopic.php?id=29504&quot; hreflang=&quot;fr&quot; title=&quot;Afficher vos messages - Ordre d'affichage des messages&quot;&gt;on me rapporte des comportements étranges&lt;/a&gt; sur les forums de &lt;a href=&quot;http://www.fedora-fr.org/&quot; hreflang=&quot;fr&quot; title=&quot;Communauté francophone Fedora Core - Linux&quot;&gt;fedora-fr&lt;/a&gt;. Les messages récents ne seraient plus triés dans le bon ordre (ni dans aucun autre d'ailleurs)... Étonnant, car je n'ai rien touché au code de notre &lt;a href=&quot;http://punbb.org/&quot; hreflang=&quot;en&quot;&gt;PunBB&lt;/a&gt; depuis un bon petit moment...&lt;/p&gt;


&lt;p&gt;Bref un petit &lt;code&gt;vim include/common.php&lt;/code&gt; pour passer le &lt;em&gt;PUN_SHOW_QUERIES&lt;/em&gt; à 1 et ainsi tracer les requêtes MySQL et m'apercevoir que la requête fait bien un &lt;code&gt;ORDER BY t.last_post DESC&lt;/code&gt;:&lt;/p&gt;    &lt;code class=&quot;sql&quot;&gt;&lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;SELECT&lt;/span&gt; t.id &lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;AS&lt;/span&gt; tid, t.poster, t.subject, t.last_post, t.last_post_id, t.last_poster, t.num_replies, t.closed, t.forum_id&lt;br /&gt;
&lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;FROM&lt;/span&gt; punbb_topics &lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;AS&lt;/span&gt; t&lt;br /&gt;
&lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;WHERE&lt;/span&gt; t.id&lt;br /&gt;
&lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;IN&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span style=&quot;color: #cc66cc;&quot;&gt;14524&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29504&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29192&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29526&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29426&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29358&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29381&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29507&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29512&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29534&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29523&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29531&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29532&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29514&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29469&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;28791&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29308&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29141&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;20353&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29449&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29505&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;28867&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29500&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29495&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29535&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29321&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29478&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29480&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29486&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29499&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29506&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29528&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29529&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29457&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29496&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29533&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;28380&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29510&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;28969&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29142&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29416&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29454&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29511&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29513&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;26116&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29333&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29267&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29455&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29493&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29524&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;28420&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29258&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29410&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29418&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29452&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29509&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29491&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29477&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29487&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29492&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29501&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29508&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29515&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29517&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29519&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29520&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29525&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29530&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29527&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;27926&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;28938&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29231&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29265&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29371&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29440&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29485&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29497&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29502&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29518&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29522&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;29521&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;GROUP&lt;/span&gt; &lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;BY&lt;/span&gt; t.id, t.poster, t.subject, t.last_post, t.last_post_id, t.last_poster, t.num_replies, t.closed, t.forum_id&lt;br /&gt;
&lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;ORDER&lt;/span&gt; &lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;BY&lt;/span&gt; t.last_post &lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;DESC&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;LIMIT&lt;/span&gt; &lt;span style=&quot;color: #cc66cc;&quot;&gt;0&lt;/span&gt; , &lt;span style=&quot;color: #cc66cc;&quot;&gt;30&lt;/span&gt;&lt;/code&gt;


&lt;p&gt;Un café plus tard, je lance directement la requête dans l'interface de &lt;a href=&quot;http://www.phpmyadmin.net/&quot; hreflang=&quot;en&quot;&gt;phpMyAdmin&lt;/a&gt; et je m'aperçois que les résultats ne sont effectivement pas triés dans l'ordre...
Mais qu'ai je fais ?! Je trace le log de yum et je constate que je suis récemment passé de mysql-server 5.0.45 à la version 5.0.51a...&lt;/p&gt;
&lt;code class=&quot;bash&quot;&gt;root@borsalino ~&amp;gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;cat&lt;/span&gt; /var/log/yum.log | &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;grep&lt;/span&gt; mysql&lt;br /&gt;
Oct &lt;span style=&quot;color: #000000;&quot;&gt;15&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;20&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;05&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;57&lt;/span&gt; Installed: mysql.i386 &lt;span style=&quot;color: #000000;&quot;&gt;5.0&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;.27&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-1&lt;/span&gt;.fc6&lt;br /&gt;
Oct &lt;span style=&quot;color: #000000;&quot;&gt;15&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;20&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;08&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;09&lt;/span&gt; Installed: mysql-server.i386 &lt;span style=&quot;color: #000000;&quot;&gt;5.0&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;.27&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-1&lt;/span&gt;.fc6&lt;br /&gt;
Oct &lt;span style=&quot;color: #000000;&quot;&gt;15&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;20&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;08&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;10&lt;/span&gt; Installed: php-mysql.i386 &lt;span style=&quot;color: #000000;&quot;&gt;5.1&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;.6&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-3.7&lt;/span&gt;.fc6&lt;br /&gt;
Jan &lt;span style=&quot;color: #000000;&quot;&gt;20&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;18&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;56&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;44&lt;/span&gt; Installed: mysql-libs.i386 &lt;span style=&quot;color: #000000;&quot;&gt;5.0&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;.45&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-1&lt;/span&gt;.fc6.remi&lt;br /&gt;
Jan &lt;span style=&quot;color: #000000;&quot;&gt;20&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;18&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;56&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;47&lt;/span&gt; Updated: mysql.i386 &lt;span style=&quot;color: #000000;&quot;&gt;5.0&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;.45&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-1&lt;/span&gt;.fc6.remi&lt;br /&gt;
Jan &lt;span style=&quot;color: #000000;&quot;&gt;20&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;18&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;56&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;54&lt;/span&gt; Updated: mysql-server.i386 &lt;span style=&quot;color: #000000;&quot;&gt;5.0&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;.45&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-1&lt;/span&gt;.fc6.remi&lt;br /&gt;
Jan &lt;span style=&quot;color: #000000;&quot;&gt;20&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;18&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;56&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;54&lt;/span&gt; Updated: php-mysql.i386 &lt;span style=&quot;color: #000000;&quot;&gt;5.2&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;.5&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-1&lt;/span&gt;.fc6.remi&lt;br /&gt;
Feb &lt;span style=&quot;color: #000000;&quot;&gt;17&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;13&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;06&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;18&lt;/span&gt; Updated: mysql-libs.i386 &lt;span style=&quot;color: #000000;&quot;&gt;5.0&lt;/span&gt;.51a&lt;span style=&quot;color: #000000;&quot;&gt;-1&lt;/span&gt;.fc6.remi&lt;br /&gt;
Feb &lt;span style=&quot;color: #000000;&quot;&gt;17&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;13&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;06&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;22&lt;/span&gt; Updated: mysql.i386 &lt;span style=&quot;color: #000000;&quot;&gt;5.0&lt;/span&gt;.51a&lt;span style=&quot;color: #000000;&quot;&gt;-1&lt;/span&gt;.fc6.remi&lt;br /&gt;
Feb &lt;span style=&quot;color: #000000;&quot;&gt;17&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;13&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;06&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;29&lt;/span&gt; Updated: mysql-server.i386 &lt;span style=&quot;color: #000000;&quot;&gt;5.0&lt;/span&gt;.51a&lt;span style=&quot;color: #000000;&quot;&gt;-1&lt;/span&gt;.fc6.remi&lt;/code&gt;


&lt;p&gt;Dans le doute je contact l'ami &lt;a href=&quot;http://blog.famillecollet.com/&quot; hreflang=&quot;fr&quot; title=&quot;Les RPM de Remi&quot;&gt;Remi&lt;/a&gt; qui m'aide et me trouve ce bug : &lt;a href=&quot;http://bugs.mysql.com/bug.php?id=30596&quot; hreflang=&quot;en&quot;&gt;#30596 : GROUP BY optimization gives wrong result order&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Effectivement en virant les &lt;em&gt;GROUP BY&lt;/em&gt; la requête se retrouve ordonnée comme il faut...&lt;br /&gt;
5 minutes plus tard Remi lance un build de MySQL comportant le correctif que j'installe dans la foulée et tout ce remet à marcher dans l'ordre ;-).&lt;/p&gt;

&lt;code class=&quot;bash&quot;&gt;root@borsalino ~&amp;gt; yum --&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;enable&lt;/span&gt; remi-&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;test&lt;/span&gt; update mysql\*&lt;/code&gt;</description>
    
    
    
          <comments>http://www.llaumgui.com/post/Bug-MySQL-5051a#comment-form</comments>
      <wfw:comment>http://www.llaumgui.com/post/Bug-MySQL-5051a#comment-form</wfw:comment>
      <wfw:commentRss>http://www.llaumgui.com/feed/rss2/comments/395</wfw:commentRss>
      </item>
    
  <item>
    <title>Montée en charge et compression Gzip des pages servies</title>
    <link>http://www.llaumgui.com/post/Montee-en-charge-et-compression-Gzip-des-pages-servies</link>
    <guid isPermaLink="false">urn:md5:d536a1f9592b10be6c9d8a8b2cf238f0</guid>
    <pubDate>Fri, 07 Dec 2007 19:57:00 +0100</pubDate>
    <dc:creator>llaumgui</dc:creator>
        <category>Développement web</category>
        <category>CentOS</category><category>Dedibox</category><category>IPB</category><category>IPB 2.1</category><category>serveur</category><category>spb-box</category>    
    <description>    &lt;p&gt;Depuis quelque temps, je trouve que &lt;a hreflang=&quot;fr&quot; href=&quot;http://www.scenario-paintball.com/&quot; title=&quot;Scénario-PaintBall - Accueil (Le repaire des fougères)&quot;&gt;Scenario-Paintball&lt;/a&gt; et llaumgui.com (tous deux hébergés sur la &lt;a href=&quot;http://www.llaumgui.com/tag/spb-box&quot;&gt;spb-box&lt;/a&gt;) mettent du temps à servir les pages.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.llaumgui.com/post/La-spb-box-sous-CentOS-51&quot; hreflang=&quot;fr&quot; title=&quot;La spb-box sous CentOS 5.1&quot;&gt;J'ai mis à jour le système de CentOS 5.0 vers la 5.1&lt;/a&gt; avec le dernier kernel pensant que ça pourrait améliorer les perfs (qui a dit naïf ?) de mon kernel datant du temps où &lt;a href=&quot;http://www.centos.org/&quot; hreflang=&quot;en&quot; title=&quot;The Community ENTerprise Operating System&quot;&gt;CentOS&lt;/a&gt; 5.0 était encore en phase de bêta testes chez &lt;a href=&quot;http://www.dedibox.fr/&quot; hreflang=&quot;fr&quot; title=&quot;otre serveur dédié pour 29,99 Euros / mois trafic illimité&quot;&gt;Dedibox&lt;/a&gt; (mais CentOS était bel est bien en version finale).&lt;/p&gt;
&lt;p&gt;Rien à faire, j'observais encore des montées en charge et des montées de CPU. J'ai donc entrepris de m'orienter du côté d'&lt;a hreflang=&quot;en&quot; href=&quot;http://www.invisionpower.com/community/board/index.html&quot; title=&quot;IP.Board is an outstanding bulletin board system&quot;&gt;Invision Power Board&lt;/a&gt; et de mieux régler la bête pour ne plus servir de pages compressées en &lt;a hreflang=&quot;fr&quot; href=&quot;http://fr.wikipedia.org/wiki/Gzip&quot;&gt;gzip&lt;/a&gt; (&lt;em&gt;Disable GZIP encoding?&lt;/em&gt;). Depuis, beaucoup moins de problème de montée en charge et même lorsque le serveur charge il arrive encore à servir les pages en un temps tout à fait respectable.&lt;br /&gt;J'ai profité de cette occasion pour affiner les réglages d'&lt;acronym title=&quot;Invision Power Board&quot;&gt;IPB&lt;/acronym&gt; et configurer une charge limite (&lt;em&gt;Server Load Limit ?&lt;/em&gt;) de 15 à laquelle Scénario-PaintBall affiche un message d'erreur invitant à patienter...&lt;/p&gt;
&lt;p&gt;Bref, la version 2.1 n'étant pas connu pour sa légèreté, je pense que la migration vers la version 2.3 d'IPB se fait de plus ne plus pressante...&lt;/p&gt;</description>
    
    
    
          <comments>http://www.llaumgui.com/post/Montee-en-charge-et-compression-Gzip-des-pages-servies#comment-form</comments>
      <wfw:comment>http://www.llaumgui.com/post/Montee-en-charge-et-compression-Gzip-des-pages-servies#comment-form</wfw:comment>
      <wfw:commentRss>http://www.llaumgui.com/feed/rss2/comments/380</wfw:commentRss>
      </item>
    
  <item>
    <title>eZ publish 4.0 alpha 1, support du php5</title>
    <link>http://www.llaumgui.com/post/eZ-publish-40-alpha-1-support-du-php5</link>
    <guid isPermaLink="false">urn:md5:d2c4263ccaebaaf48b38c99a2dc3bdf7</guid>
    <pubDate>Thu, 04 Oct 2007 23:03:00 +0200</pubDate>
    <dc:creator>llaumgui</dc:creator>
        <category>Développement web</category>
        <category>CentOS</category><category>eZ Components</category><category>eZ Publish</category><category>ezipb</category><category>ezipb-shoutbox</category><category>php5</category><category>php6</category>    
    <description>&lt;p&gt;&lt;a href=&quot;http://ez.no/company/news/new_ez_publish_releases_include_php_5_support_and_the_ez_find_search_engine_extension&quot; hreflang=&quot;en&quot; title=&quot;New eZ Publish releases include PHP 5 support and the eZ Find search engine extension&quot;&gt;Aujourd'hui&lt;/a&gt;, a été publiée la première version alpha d'&lt;a href=&quot;http://ez.no&quot; hreflang=&quot;en&quot; title=&quot;eZ Publish Open Source Enterprise Content Management System&quot;&gt;eZ publish&lt;/a&gt; 4.0.&lt;br /&gt;
Je dois dire que j'attendais cette version avec impatience car elle introduit une nouveauté majeure : le support de php 5 (et php 6) et... Et... Et bien, malheureusement c'est à peu près tout.&lt;br /&gt;Pas de gros changement, une certaine continuité qui va surement faciliter les migrations d'eZ 3.x vers eZ 4.0 mais qui laisse quand même un petit goût de déception...&lt;/p&gt;    &lt;h2&gt;Support php 5&lt;/h2&gt;
&lt;p&gt;Selon moi, eZ 4.0 marche bien mieux sous php 5 que &lt;a href=&quot;http://pubsvn.ez.no/nextgen_php5/&quot; hreflang=&quot;en&quot;&gt;le port communautaire&lt;/a&gt; que j'utilisais jusqu'alors. Ça ce ressent aux erreurs et warning remontés ainsi qu'aux performances, surtout lors de l'installation de la bête. Cependant &lt;a href=&quot;http://fr2.php.net/manual/fr/language.oop5.visibility.php&quot; hreflang=&quot;fr&quot; title=&quot;php : Visibilité&quot;&gt;les attributs private et autres protected&lt;/a&gt; sont encore bien présent en commentaires mais peu dans le code.&lt;/p&gt;
&lt;h2&gt;Arrivée d'eZ Components&lt;/h2&gt;
&lt;p&gt;Une de mes autres déceptions est l'implémentation d'&lt;a href=&quot;http://ez.no/ezcomponents&quot; hreflang=&quot;en&quot; title=&quot;eZ Components is an enterprise ready general purpose PHP components library used independently or together for PHP application development.&quot;&gt;eZC&lt;/a&gt; qui n'est pas très visible. En fait il faut lire entre les lignes et comprendre qu'eZ 4 ouvre la voie de l'intégration d'eZC  mais n'est pas 100% développée sous eZC comme beaucoup (dont moi) l'auraient pensé.&lt;/p&gt;
&lt;h2&gt;Les bonnes surprises&lt;/h2&gt;
&lt;p&gt;Qui dit peu de modifications dit grosse compatibilité avec eZ 3.9.x que j'utilisais jusqu'alors. J'ai donc passé &lt;a href=&quot;http://labo.llaumgui.com/&quot; hreflang=&quot;fr&quot;&gt;mon labo&lt;/a&gt; sous eZ 4 et mes extensions &lt;a href=&quot;http://trac.llaumgui.com/wiki/ezipb&quot; hreflang=&quot;fr&quot; title=&quot;ezipb (Connecteur IPB pour eZ publish )&quot;&gt;ezipb&lt;/a&gt; et &lt;a href=&quot;http://trac.llaumgui.com/wiki/ezipb-shoutbox%20%3A%20Installer%20ezibp-shoutbox&quot; hreflang=&quot;fr&quot; title=&quot;ezipb-shoutbox : Installer ezibp-shoutbox&quot;&gt;ezipb-shoutbox&lt;/a&gt; tournent parfaitement jusqu'à présent.&lt;br /&gt;
Le débug est enfin valide &lt;a href=&quot;http://fr.wikipedia.org/wiki/XHTML&quot; hreflang=&quot;fr&quot;&gt;xHTML&lt;/a&gt;, ce qui permet de contrôler la validité de son code plus facilement et évitera les problèmes sous IE.&lt;/p&gt;
&lt;h2&gt;Php 5.2 minimum ?&lt;/h2&gt;
&lt;p&gt;Bien que je n'ai rien vu passer là dessus et qu'&lt;a hreflang=&quot;en&quot; href=&quot;http://ez.no/ezcomponents/requirements&quot;&gt;eZC demande php 5.1.1 minimum&lt;/a&gt;, lors de mon installation sur ma &lt;a href=&quot;http://www.centos.org/&quot; hreflang=&quot;en&quot; title=&quot;The Community ENTerprise Operating System&quot;&gt;CentOS&lt;/a&gt; qui tourne en php 5.1.6, j'ai eu la surprise de tomber sur le message suivant :&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
Unsupported PHP version 5.1&lt;/p&gt;
&lt;p&gt;eZ Publish 3.x does not run with PHP 4.&lt;br /&gt;For more information about supported software please visit &lt;a href=&quot;http://www.llaumgui.com/post/%5C%22http://ez.no/download/ez_publish%5C%22&quot;&gt;eZ Publish download page&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Après analyse du code :&lt;/p&gt;
&lt;pre&gt;&lt;br /&gt;if ( version_compare( phpversion(), '5.2' ) &amp;lt; 0 )&lt;br /&gt;{&lt;br /&gt;	print( &amp;quot;&amp;lt;h1&amp;gt;Unsupported PHP version &amp;quot; . phpversion() . &amp;quot;&amp;lt;/h1&amp;gt;&amp;quot; );&lt;br /&gt;	print( &amp;quot;&amp;lt;p&amp;gt;eZ Publish 3.x does not run with PHP 4.&amp;lt;/p&amp;gt;&amp;quot;.&lt;br /&gt;           &amp;quot;&amp;lt;p&amp;gt;For more information about supported software please visit &amp;quot;.&lt;br /&gt;           &amp;quot;&amp;lt;a href=\&amp;quot;http://ez.no/download/ez_publish\&amp;quot; &amp;gt;eZ Publish download page&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;quot; );&lt;br /&gt;    exit;&lt;br /&gt;}&lt;/pre&gt;
&lt;p&gt;Au final, vu le flou du discourt, j'ai commenté le tout et ça marche très bien jusque là...&lt;/p&gt;
&lt;h2&gt;En résumé :&lt;/h2&gt;
&lt;p&gt;Vivement la version final !&lt;/p&gt;</description>
    
    
    
          <comments>http://www.llaumgui.com/post/eZ-publish-40-alpha-1-support-du-php5#comment-form</comments>
      <wfw:comment>http://www.llaumgui.com/post/eZ-publish-40-alpha-1-support-du-php5#comment-form</wfw:comment>
      <wfw:commentRss>http://www.llaumgui.com/feed/rss2/comments/366</wfw:commentRss>
      </item>
    
  <item>
    <title>Ètat d'avancement d'ezipb, Le connecteur ipb pour eZ publish</title>
    <link>http://www.llaumgui.com/post/Etat-davancement-dezipb-Le-connecteur-ipb-pour-eZ-publish</link>
    <guid isPermaLink="false">urn:md5:c2b63108ea8f6e8df8d3b04d403b3879</guid>
    <pubDate>Sun, 30 Sep 2007 20:20:00 +0200</pubDate>
    <dc:creator>llaumgui</dc:creator>
        <category>Développement web</category>
        <category>eZ Publish</category><category>ezipb</category><category>paintBall</category><category>Trac</category>    
    <description>    &lt;p&gt;Ma partie de paintball ayant était annulée pour cause de pluie (et oui, ça arrive 1 à 2 fois par an, même à &lt;a hreflang=&quot;fr&quot; href=&quot;http://fr.wikipedia.org/wiki/Montpellier&quot;&gt;Montpellier&lt;/a&gt; ;-)), j'en ai profité pour m'avancer dans le développement d'&lt;a href=&quot;http://trac.llaumgui.com/wiki/ezipb&quot; hreflang=&quot;fr&quot; title=&quot;Connecteur IPB pour eZ publish&quot;&gt;ezipb&lt;/a&gt;, le connecteur &lt;a hreflang=&quot;en&quot; href=&quot;http://www.invisionboard.com&quot;&gt;Invision Power Board&lt;/a&gt; pour &lt;a href=&quot;http://ez.no&quot; hreflang=&quot;en&quot; title=&quot;Open Source Enterprise Content Management System&quot;&gt;eZ publish&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Comme le montre &lt;a hreflang=&quot;fr&quot; href=&quot;http://trac.llaumgui.com/roadmap&quot;&gt;la feuille de route&lt;/a&gt;, la version &lt;a hreflang=&quot;fr&quot; href=&quot;http://trac.llaumgui.com/milestone/ezipb%201.0%20RC1&quot;&gt;1.0 RC1&lt;/a&gt; devrait même être livrée en avance et la &lt;a hreflang=&quot;fr&quot; href=&quot;http://trac.llaumgui.com/milestone/ezipb%201.0%20RC2&quot;&gt;RC2&lt;/a&gt; est déjà bien avancée.&lt;/p&gt;
&lt;p&gt;Trouvant ma &lt;a hreflang=&quot;fr&quot; href=&quot;http://labo.llaumgui.com/&quot; rel=&quot;nofollow&quot;&gt;démo&lt;/a&gt; hideuse, j'ai arrangé le tout et développé les quelques templates que j'avais initialement prévu pour la &lt;a hreflang=&quot;fr&quot; href=&quot;http://trac.llaumgui.com/milestone/ezipb%201.0%20RC2&quot;&gt;RC2&lt;/a&gt;.&lt;br /&gt;
Mon labo s'en retrouve un peu plus montrable ;-). J'ai également fait une tâche cron pour synchroniser la démo avec la version SVN tout les soirs.&lt;/p&gt;
&lt;p&gt;Comme une bonne nouvelle n'arrive jamais seule, j'ai bien avancé dans &lt;a hreflang=&quot;fr&quot; href=&quot;http://trac.llaumgui.com/wiki/ezipb#Documentation&quot;&gt;la documentation en ligne&lt;/a&gt; de l'extension.&lt;br /&gt;Le maintien d'une documentation utilisant le wiki de &lt;a hreflang=&quot;en&quot; href=&quot;http://trac.edgewall.org/&quot;&gt;Trac&lt;/a&gt; étant très facil; &lt;a hreflang=&quot;fr&quot; href=&quot;http://trac.llaumgui.com/ticket/4#comment:3&quot;&gt;j'ai décidé de ne pas fournir la documentation dans l'archive&lt;/a&gt; mais de faire une simple fichier &lt;a hreflang=&quot;fr&quot; href=&quot;http://trac.llaumgui.com/browser/ez_publish/ezipb/trunk/LISEZMOI.txt&quot;&gt;LISEZMOI.txt&lt;/a&gt; avec un lien vers la documentation en ligne.&lt;/p&gt;
&lt;p&gt;Bref l'intégration d'IPB dans eZ publish arrive en grand pas ;-).&lt;/p&gt;</description>
    
    
    
          <comments>http://www.llaumgui.com/post/Etat-davancement-dezipb-Le-connecteur-ipb-pour-eZ-publish#comment-form</comments>
      <wfw:comment>http://www.llaumgui.com/post/Etat-davancement-dezipb-Le-connecteur-ipb-pour-eZ-publish#comment-form</wfw:comment>
      <wfw:commentRss>http://www.llaumgui.com/feed/rss2/comments/362</wfw:commentRss>
      </item>
    
  <item>
    <title>Un labo pour tester ezipb, le connecteur IPB pour eZ publish</title>
    <link>http://www.llaumgui.com/post/Un-labo-pour-tester-ezipb-le-connecteur-IPB-pour-eZ-publish</link>
    <guid isPermaLink="false">urn:md5:57e2a710ce2d1e502bd6a9ae181b9f82</guid>
    <pubDate>Wed, 26 Sep 2007 00:03:00 +0200</pubDate>
    <dc:creator>llaumgui</dc:creator>
        <category>Développement web</category>
        <category>eZ Publish</category><category>ezipb</category><category>IPB</category><category>script</category><category>serveur</category>    
    <description>    &lt;p&gt;Comme je viens tout juste de finir un petit script permettant de configurer automatiquement un site web sur un serveur (création de la base de données &lt;a hreflang=&quot;fr&quot; href=&quot;http://www-fr.mysql.com/&quot; title=&quot;La Base de Données Open Source la plus Populaire au Monde&quot;&gt;MySQL&lt;/a&gt;, des répertoires, configuration des stats &lt;a href=&quot;http://awstats.sourceforge.net/&quot; hreflang=&quot;en&quot; title=&quot;Free real-time logfile analyzer to get advanced statistics (GNU GPL).&quot;&gt;Awstats&lt;/a&gt;, du vhost, etc...), j'en ai profité pour mettre en place un petit &lt;a href=&quot;http://labo.llaumgui.com/&quot; hreflang=&quot;fr&quot; rel=&quot;nofolow&quot;&gt;labo&lt;/a&gt; afin de pouvoir vous monter &lt;a href=&quot;http://trac.llaumgui.com/wiki/ezipb&quot; hreflang=&quot;fr&quot; title=&quot;ezipb|Connecteur IPB pour eZ publish&quot;&gt;ezipb&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Pour le moment, ça fait pas grand chose mais ça peut vous donner une idée de ce que sera mon intégration d'&lt;a hreflang=&quot;en&quot; href=&quot;http://www.invisionboard.com&quot;&gt;Invision Power Board&lt;/a&gt; (IPB pour les intimes) avec &lt;a hreflang=&quot;en&quot; href=&quot;http://ez.no&quot; title=&quot;eZ Publish Open Source Enterprise Content Management System&quot;&gt;eZ publish&lt;/a&gt; (eZ pour les intimes).&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;URL :&lt;/strong&gt; &lt;a href=&quot;http://labo.llaumgui.com/&quot; hreflang=&quot;fr&quot; rel=&quot;nofolow&quot;&gt;labo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Login :&lt;/strong&gt; ezipb&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mot de passe :&lt;/strong&gt; ezipb&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;&lt;ins&gt;Remarque&lt;/ins&gt; :&lt;/strong&gt; Pour ce qui est de mon script, il fera l'objet d'un prochain billet lors que j'aurais un peu mieux testé le truc.&lt;/em&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://www.llaumgui.com/post/Un-labo-pour-tester-ezipb-le-connecteur-IPB-pour-eZ-publish#comment-form</comments>
      <wfw:comment>http://www.llaumgui.com/post/Un-labo-pour-tester-ezipb-le-connecteur-IPB-pour-eZ-publish#comment-form</wfw:comment>
      <wfw:commentRss>http://www.llaumgui.com/feed/rss2/comments/359</wfw:commentRss>
      </item>
    
  <item>
    <title>jQuery 1.2 est dans les bacs</title>
    <link>http://www.llaumgui.com/post/jQuery-12-est-dans-les-bacs</link>
    <guid isPermaLink="false">urn:md5:99b38e5da0f2211d20e4778edd3accef</guid>
    <pubDate>Tue, 11 Sep 2007 13:53:00 +0200</pubDate>
    <dc:creator>llaumgui</dc:creator>
        <category>Développement web</category>
        <category>AJAX</category><category>eZ Publish</category><category>framework</category><category>javascript</category><category>jQuery</category><category>Scénario-PaintBall</category>    
    <description>    &lt;p&gt;C'est juste au moment où je suis en train de réfléchir aux côtés dynamiques, &lt;a href=&quot;http://fr.wikipedia.org/wiki/Web_2.0&quot; hreflang=&quot;fr&quot; title=&quot;Web 2.0&quot;&gt;2.0&lt;/a&gt; &amp;amp; funky de &lt;a href=&quot;http://www.scenario-paintball.com/&quot; title=&quot;Scenario-Paintball, le repaire des fougères&quot; hreflang=&quot;fr&quot;&gt;Scénario-PaintBall&lt;/a&gt; v3; que mon &lt;a href=&quot;http://fr.wikipedia.org/wiki/Framework&quot; hreflang=&quot;fr&quot;&gt;framework&lt;/a&gt; &lt;a href=&quot;http://fr.wikipedia.org/wiki/JavaScript&quot; hreflang=&quot;fr&quot;&gt;JavaScript&lt;/a&gt; / &lt;a href=&quot;http://fr.wikipedia.org/wiki/Asynchronous_JavaScript_And_XML&quot; hreflang=&quot;fr&quot;&gt;&lt;acronym title=&quot;Asynchronous JavaScript and XML&quot;&gt;AJAX&lt;/acronym&gt;&lt;/a&gt; préféré voit publier &lt;a href=&quot;http://jquery.com/blog/2007/09/10/jquery-12-jqueryextendawesome/&quot; hreflang=&quot;en&quot; title=&quot;jQuery 1.2&quot;&gt;sa version 1.2&lt;/a&gt;.&lt;br /&gt;
Pour ceux qui ne le connaissent pas (encore), &lt;a href=&quot;http://jquery.com/&quot; hreflang=&quot;en&quot; title=&quot;Write less, do more&quot;&gt;jQuery&lt;/a&gt; est une bibliothèque permettant de « Write less, do more » (Traduction partisane : « Faire un max de choses en n'en foutant le moins possible » ; j'adore ce slogan !) et qui surtout est compatible tous navigateurs. Dépassé (&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.llaumgui.com/post/jQuery-UTF8-et-Internet-Explorer&quot; title=&quot;jQuery, UTF8 et Internet Explorer&quot;&gt;enfin presque&lt;/a&gt;) le temps où l'on perdait du temps à déboguer ses &lt;acronym title=&quot;JavaScript&quot;&gt;JS&lt;/acronym&gt; sous &lt;a hreflang=&quot;fr&quot; href=&quot;http://www.microsoft.com/france/windows/products/winfamily/ie/default.mspx&quot; title=&quot;Berk ! ! !&quot;&gt;Internet Explorer&lt;/a&gt; !&lt;/p&gt;
&lt;p&gt;Je vais donc explorer, pour SPB, les nouvelles pistes offertes par jQuery 1.2.&lt;br /&gt;
Comme certaines librairies peuvent être incompatibles entre elles et que je ne veux pas forcer à l'utilisation d'un framework en particulier : je ne pense pas utiliser jQuery dans &lt;a href=&quot;http://trac.llaumgui.com/wiki/ezipb-shoutbox%20%3A%20Installer%20ezibp-shoutbox&quot; hreflang=&quot;fr&quot; title=&quot;Shoutbox pour ezipb utilisant l'AJAX.&quot;&gt;ezipb-shoutbox&lt;/a&gt;. &lt;br /&gt;Cependant, comme &lt;a hreflang=&quot;en&quot; href=&quot;http://ez.no&quot; title=&quot;eZ Publish Open Source Enterprise Content Management System&quot;&gt;eZ publish&lt;/a&gt; le permet, dans le cadre de mon site (qui est dans une extension), je vais surcharger &lt;a hreflang=&quot;fr&quot; href=&quot;http://trac.llaumgui.com/browser/ez_publish/ezipb-shoutbox/trunk/design/standard/javascript/shoutbox.js&quot;&gt;le JS d'ezipb-shoutbox&lt;/a&gt; et utiliser jQuery.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.llaumgui.com/post/jQuery-12-est-dans-les-bacs#comment-form</comments>
      <wfw:comment>http://www.llaumgui.com/post/jQuery-12-est-dans-les-bacs#comment-form</wfw:comment>
      <wfw:commentRss>http://www.llaumgui.com/feed/rss2/comments/351</wfw:commentRss>
      </item>
    
  <item>
    <title>ezipb-shoutbox, une shoutbox pour ezipb</title>
    <link>http://www.llaumgui.com/post/ezipb-shoutbox-une-shoutbox-pour-ezipb</link>
    <guid isPermaLink="false">urn:md5:f2d19067b16a09bfe440c269102ec656</guid>
    <pubDate>Sun, 09 Sep 2007 23:26:00 +0200</pubDate>
    <dc:creator>llaumgui</dc:creator>
        <category>Développement web</category>
        <category>eZ Publish</category><category>ezipb</category><category>ezipb-shoutbox</category><category>IPB</category><category>Subversion</category>    
    <description>    &lt;p&gt;Je viens d'importer, sur &lt;a hreflang=&quot;fr&quot; href=&quot;http://svn.llaumgui.com/&quot;&gt;mon serveur Subversion&lt;/a&gt;, la première version d'&lt;a hreflang=&quot;fr&quot; href=&quot;http://trac.llaumgui.com/wiki/ezipb-shoutbox%20%3A%20Installer%20ezibp-shoutbox&quot;&gt;ezipb-shoutbox&lt;/a&gt;
: la shoutbox &lt;a hreflang=&quot;fr&quot; href=&quot;http://fr.wikipedia.org/wiki/Asynchronous_JavaScript_And_XML&quot;&gt;AJAX&lt;/a&gt; pour l'extension &lt;a href=&quot;http://www.llaumgui.com/tag/ezipb&quot;&gt;ezipb&lt;/a&gt; permettant de coupler &lt;a hreflang=&quot;en&quot; href=&quot;http://ez.no&quot;&gt;eZ publish&lt;/a&gt;
et &lt;a hreflang=&quot;en&quot; href=&quot;http://www.invisionpower.com/community/board/index.html&quot;&gt;IPB&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;J'en ai aussi profité pour mettre à jour la &lt;a hreflang=&quot;fr&quot; href=&quot;http://trac.llaumgui.com/wiki/ezipb-shoutbox%20%3A%20Installer%20ezibp-shoutbox&quot;&gt;documentation sur mon wiki&lt;/a&gt;, ainsi que &lt;a hreflang=&quot;fr&quot; href=&quot;http://trac.llaumgui.com/milestone/ezipb-shoutbox%20finale&quot;&gt;le roadmap&lt;/a&gt;.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.llaumgui.com/post/ezipb-shoutbox-une-shoutbox-pour-ezipb#comment-form</comments>
      <wfw:comment>http://www.llaumgui.com/post/ezipb-shoutbox-une-shoutbox-pour-ezipb#comment-form</wfw:comment>
      <wfw:commentRss>http://www.llaumgui.com/feed/rss2/comments/350</wfw:commentRss>
      </item>
    
  <item>
    <title>eZ publish et eZ find 1.0 bêta 1</title>
    <link>http://www.llaumgui.com/post/eZ-publish-et-eZ-find-10-beta-1</link>
    <guid isPermaLink="false">urn:md5:a85b4539253efc3098af2a45d11ad670</guid>
    <pubDate>Sun, 09 Sep 2007 14:36:00 +0200</pubDate>
    <dc:creator>llaumgui</dc:creator>
        <category>Développement web</category>
        <category>eZ find</category><category>eZ Publish</category><category>ezipb</category><category>Google</category><category>IPB</category><category>php5</category>    
    <description>&lt;p&gt;Les moteurs de recherche, quel cruel dilemme ! Soit on a un moteur basique et léger soit un moteur super pertinent mais consommant un max de ressources. Certains même en arrivent à utiliser &lt;a hreflang=&quot;fr&quot; href=&quot;http://www.google.com&quot;&gt;Google&lt;/a&gt; en guise de moteur de recherche sur leur site (je propose d'ailleurs cette solution alternative en plus des moteurs de recherche de &lt;a href=&quot;http://www.fedora-fr.org/&quot; hreflang=&quot;fr&quot;&gt;fedora-fr&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://ez.no&quot; hreflang=&quot;en&quot;&gt;eZ publish&lt;/a&gt; n'échappe pas à la règle et de base son moteur de recherche est pour le moins... pas terrible. Heureusement qu'eZ est bien fait et permet le remplacement du moteur de recherche par d'autres via le système d'extensions. Avec la &lt;a href=&quot;http://ez.no/community/news/community_newsletter_11_7th_september_2007&quot; hreflang=&quot;en&quot;&gt;Community Newsletter #11&lt;/a&gt; et l'annonce de la version 1.0 beta 1 d'&lt;a href=&quot;http://ez.no/community/contribs/applications/ez_find&quot; hreflang=&quot;en&quot;&gt;ezfind&lt;/a&gt;, j'ai donc entrepris de tester la bête.&lt;/p&gt;    &lt;p&gt;&lt;a href=&quot;http://www.llaumgui.com/public/images/web/moteur-de-recherche_ez-publish.png&quot;&gt;&lt;img style=&quot;margin: 0 auto; display: block;&quot; alt=&quot;&quot; src=&quot;http://www.llaumgui.com/public/images/web/.moteur-de-recherche_ez-publish_m.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
Quelques petits problèmes à l'installation&lt;/h2&gt;
&lt;p&gt;Comme je l'ai déjà dis plusieurs fois, j'utilise la version &lt;a href=&quot;http://pubsvn.ez.no/nextgen_php5/&quot; hreflang=&quot;fr&quot;&gt;3.9 communautaire compatible php5&lt;/a&gt; d'eZ publish. eZ find semble cependant tourner parfaitement en php5.
Par contre, dès le début, je me suis heurté à une fatal error :&lt;/p&gt;
&lt;pre&gt;Fatal error: Class 'ezsolr' not found in /mnt/divers1/public_html/scenario-paintball/kernel/classes/ezsearch.php on line 104&lt;br /&gt;Fatal error: eZ publish did not finish its request&lt;br /&gt;&lt;br /&gt;The execution of eZ publish was abruptly ended, the debug output is present below.&lt;/pre&gt;
&lt;p&gt;Comme ma version d'eZ n'est ni conventionnel ni la dernière, j'ai pas cherché plus loin et j'ai fait un petit lien relatif (pas le temps de passer plus de temps à faire plus propre sur une bêta 1 de test).&lt;/p&gt;
&lt;code class=&quot;bash&quot;&gt;llaumgui@enterprise /mnt/divers1/public_html/scenario-paintball/kernel/search/plugins&amp;gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;ln&lt;/span&gt; -s ../../../extension/ezfind/search/plugins/ezsolr/ ./&lt;/code&gt;
&lt;p&gt;Ensuite, ma version semble ne pas posséder d'&lt;em&gt;updatesearchindex.php&lt;/em&gt;, je l'ai donc pris sur &lt;a href=&quot;http://pubsvn.ez.no/&quot; hreflang=&quot;en&quot;&gt;le serveur SVN&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Spécificités d'eZ find&lt;/h2&gt;
&lt;p&gt;eZ find requière le JRE (&lt;a hreflang=&quot;en&quot; href=&quot;http://java.sun.com/&quot; title=&quot;Java Technology&quot;&gt;Java&lt;/a&gt; Runtime Environment) 5.0 ou supérieur. Les améliorations apportées par rapport à la recherche standard sont notamment :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;strong&gt;Classement par pertinence&lt;/strong&gt; !&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Support natif des droits dans eZ publish.&lt;/li&gt;
&lt;li&gt;Soulignement des mots clef.&lt;/li&gt;
&lt;li&gt;Recherche par langue, basée sur la configuration du &lt;a hreflang=&quot;en&quot; href=&quot;http://ez.no/community/articles/an_introduction_to_ez_publish_concepts/siteaccesses&quot;&gt;siteaccesses&lt;/a&gt; courant.&lt;/li&gt;
&lt;li&gt;Possibilité de rechercher sur de multiples  siteaccesses.&lt;/li&gt;
&lt;li&gt;Intégration dans l'administration d'eZ publish ainsi que dans ezwebin.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Premières impressions&lt;/h2&gt;
&lt;p&gt;Une fois le tout configuré, l'exécutable Java lancé et le cache de recherche mis à jour, voici ce que ça donne.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.llaumgui.com/public/images/web/moteur-de-recherche_ez-find.png&quot;&gt;&lt;img src=&quot;http://www.llaumgui.com/public/images/web/.moteur-de-recherche_ez-find_m.jpg&quot; alt=&quot;Moteur de recherche ezfind&quot; style=&quot;margin: 0 auto; display: block;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;J'aimerais bien utiliser ce moteur de recherche sur &lt;a hreflang=&quot;fr&quot; href=&quot;http://www.scenario-paintball.com/&quot; title=&quot;Le repaire des fougères&quot;&gt;scenario-paintball&lt;/a&gt; voir court-circuiter le moteur de recherche d'&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.invisionpower.com/community/board/index.html&quot; title=&quot;Forums Invision Power Bord&quot;&gt;IPB&lt;/a&gt; pour centraliser toutes les recherches à partir d'eZ find, c'est une piste que je dois explorer pour &lt;a href=&quot;http://www.llaumgui.com/tag/ezipb&quot;&gt;ezipb&lt;/a&gt;. En effet, le moteur d'IPB n'est pas réputé pour sa faible consommation en ressources.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.llaumgui.com/public/images/web/moteur-de-recherche_ez-find-cote-admin.png&quot;&gt;&lt;img src=&quot;http://www.llaumgui.com/public/images/web/.moteur-de-recherche_ez-find-cote-admin_m.jpg&quot; alt=&quot;eZ find dans l'admin&quot; style=&quot;margin: 0 auto; display: block;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; Par contre, pour une utilisation sur un serveur possédant plusieurs instances d'eZ (comme c'est le cas à &lt;a hreflang=&quot;fr&quot; href=&quot;http://www.kaliop.com&quot;&gt;mon boulot&lt;/a&gt;), une seule instance de l'exécutable suffit &lt;del&gt;je suis septique sur un point : doit-on lancer 1 instance de l'exécutable Java par site ou une seul par serveur&lt;/del&gt;...&lt;br /&gt;J'aimerais aussi benchmarker la consommation de ce moteur de recherche par rapport à celui livré en standard dans eZ publish ainsi que la montée en charge de l'appli Java lors de l'indexation (qui a fait monter mon CPU à 100% quand même !). Une chose est sûre l'appli Java à besoin de tourner en permanence et ne sert pas uniquement lors de l'indexation.&lt;/p&gt;
&lt;p&gt;&lt;del&gt;Par contre j'avoue avoir été déçu par le fait qu'eZ find ne semble pas indexer les pdf, enfin selon mes tests&lt;/del&gt;.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.llaumgui.com/post/eZ-publish-et-eZ-find-10-beta-1#comment-form</comments>
      <wfw:comment>http://www.llaumgui.com/post/eZ-publish-et-eZ-find-10-beta-1#comment-form</wfw:comment>
      <wfw:commentRss>http://www.llaumgui.com/feed/rss2/comments/349</wfw:commentRss>
      </item>
    
  <item>
    <title>ezipb : eZ publish et IPB réunis</title>
    <link>http://www.llaumgui.com/post/ezipb-%3A-eZ-publish-et-IPB-reunis</link>
    <guid isPermaLink="false">urn:md5:c7fd938191b91a9624f9191b44cf94d7</guid>
    <pubDate>Sun, 02 Sep 2007 17:01:00 +0200</pubDate>
    <dc:creator>llaumgui</dc:creator>
        <category>Développement web</category>
        <category>eZ Publish</category><category>ezipb</category><category>IPB</category><category>php</category><category>php5</category><category>Subversion</category><category>Trac</category>    
    <description>    &lt;p&gt;eLors d'&lt;a href=&quot;http://www.llaumgui.com/post/Scenario-PaintBall-version-3-en-preparation&quot; hreflang=&quot;fr&quot; title=&quot;Scénario-PaintBall version 3 en préparation&quot;&gt;un précédent billet&lt;/a&gt;, j'avais parlé de la refonte de &lt;a href=&quot;http://www.scenario-paintball.com/&quot; hreflang=&quot;fr&quot;&gt;SPB&lt;/a&gt; et de mon projet d'extension &lt;a href=&quot;http://www.llaumgui.com/tag/ezipb&quot;&gt;ezipb&lt;/a&gt; pour permettre à &lt;a href=&quot;http://ez.no&quot; hreflang=&quot;en&quot;&gt;eZ Publish&lt;/a&gt; et &lt;a href=&quot;http://www.invisionboard.fr/&quot; hreflang=&quot;fr&quot;&gt;IPB&lt;/a&gt; de communiquer. J'ai bien avancé, voila ce que fait mon extension pour le moment :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Initialise les classes d'IPB strictement nécessaires (j'ai pompé et allégé l'index.php d'IPB).&lt;/li&gt;
&lt;li&gt;Initialise des drivers MySQL modifiés à la place des drivers d'IPB.&lt;br /&gt;Ces derniers utilisent la connections ouverte par eZ. Comme eZ est orienté php4, mon extension force MySQL à la place de MySQLi qui est normalement automatiquement déclenché par la présence de php5. Cette fonctionnalité est désactivable si vous n'avez pas vos données eZ et IPB sur la même base.&lt;/li&gt;
&lt;li&gt;Divers opérateurs eZ publish afin de récupérer les informations sur les membres.&lt;/li&gt;
&lt;li&gt;Divers templates (1 pour le moment) afin d'avoir les éléments principaux d'IPB dans eZ publish.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;http://www.llaumgui.com/public/images/web/ezipb.png&quot;&gt;&lt;img src=&quot;http://www.llaumgui.com/public/images/web/.ezipb_m.jpg&quot; alt=&quot;Première version d'ezipb&quot; style=&quot;margin: 0 auto; display: block;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
Bref actuellement, le &lt;em&gt;cout&lt;/em&gt; de mon extension est de 3 requêtes et j'ai pas encore entamé la chasse aux requêtes inutiles !&lt;/p&gt;
&lt;p&gt;Comme je veux proposer cette extension ainsi que le portage vers IPB 2.3.x de la plupart de &lt;a hreflang=&quot;fr&quot; href=&quot;http://www.llaumgui.com/post/liste-de-mes-mods-ipb&quot;&gt;mes mods et task IPB&lt;/a&gt;, j'ai monté un &lt;a hreflang=&quot;en&quot; href=&quot;http://trac.edgewall.org/&quot;&gt;Trac&lt;/a&gt; et un &lt;a hreflang=&quot;fr&quot; href=&quot;http://subversion.tigris.org/&quot;&gt;SVN&lt;/a&gt; afin d'assurer le support et de proposer un téléchargement via Subversion... IPB, je suis de retours !&lt;/p&gt;
&lt;p&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://trac.llaumgui.com/&quot;&gt;Plus d'infos, documentation et téléchargment sur le Trac&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Remarque :&lt;/strong&gt; J'utilise la version &lt;/em&gt;&lt;a style=&quot;font-style: italic;&quot; href=&quot;http://pubsvn.ez.no/nextgen_php5/&quot; hreflang=&quot;fr&quot;&gt;3.9 communautaire compatible php5&lt;/a&gt;&lt;em&gt; d'eZ publish. Mon extension est donc en php5. Elle est donc incompatible avec la plupart des versions d'eZ publish... C'est ballot :-).&lt;/em&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://www.llaumgui.com/post/ezipb-%3A-eZ-publish-et-IPB-reunis#comment-form</comments>
      <wfw:comment>http://www.llaumgui.com/post/ezipb-%3A-eZ-publish-et-IPB-reunis#comment-form</wfw:comment>
      <wfw:commentRss>http://www.llaumgui.com/feed/rss2/comments/347</wfw:commentRss>
      </item>
    
  <item>
    <title>Mise à jour automatique de Dotclear 2.0 et de ses plugins, à partir du SVN (update)</title>
    <link>http://www.llaumgui.com/post/Mise-a-jour-automatique-de-Dotclear-20-et-de-ses-plugins-a-partir-du-SVN-update</link>
    <guid isPermaLink="false">urn:md5:9e586f65e2f52fa9c3084d15cb60c04a</guid>
    <pubDate>Fri, 31 Aug 2007 20:01:00 +0200</pubDate>
    <dc:creator>llaumgui</dc:creator>
        <category>Développement web</category>
        <category>Dotclear</category><category>script</category><category>Subversion</category>    
    <description>    &lt;p&gt;Je mets très souvent mon blog à jour à partir de &lt;a href=&quot;https://svn.dotclear.net/2.0/trunk&quot; hreflang=&quot;fr&quot;&gt;la dernière version SVN&lt;/a&gt; de &lt;a href=&quot;http://www.dotclear.net&quot; hreflang=&quot;fr&quot; title=&quot;DotClear est un outil idéal pour installer très rapidement son weblog sur son propre serveur&quot;&gt;Dotclear&lt;/a&gt; 2.0.
Jusqu'à présent, je faisais un &lt;code&gt;svn co&lt;/code&gt; sur ma machine locale, puis je virais les répertoires inutiles (&lt;code&gt;rm -rf `find ./ -name .svn`&lt;/code&gt;) et enfin j'envoyais le tout sur mon ftp.
On obtient alors une version de Dotclear à jour et sans fichiers .svn. Le revers de la médaille étant le temps passé à faire la manip'. Je me suis donc fais un petit script pour automatiser tout ça :&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Mise à jours des sources de Dotclear à partir du &lt;a href=&quot;http://fr.wikipedia.org/wiki/Subversion_(logiciel)&quot; hreflang=&quot;fr&quot; title=&quot;Subversion&quot;&gt;SVN&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Mise à jour et téléchargement de nouveaux plugins à partir du SVN de Dotclear.&lt;/li&gt;
&lt;li&gt;Mise à jour de la base de données (visite de la page d'admin).&lt;/li&gt;
&lt;li&gt;Vidage le cache.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Comme je suis un Geek très flémard et qui n'a peur de rien : j'ai mis le tout en tâche &lt;a href=&quot;http://fr.wikipedia.org/wiki/Cron&quot; hreflang=&quot;fr&quot;&gt;cron&lt;/a&gt;.&lt;/p&gt;

&lt;code class=&quot;bash&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#!/bin/bash&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;###############################################################################&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;# dc-svn-&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;co&lt;/span&gt; :&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;# Mise à jour d&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'une installation Dotclear 2.0 à partir des sources du SVN.&lt;br /&gt;
#&lt;br /&gt;
# Dépendances requises :&lt;br /&gt;
#&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;- subversion&lt;br /&gt;
#&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;- curl&lt;br /&gt;
#&lt;br /&gt;
# Attention : L'&lt;/span&gt;utilisation de ce script permet de mettre à jour votre instance&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;# de Dotclear à partir d&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'une version dite instable !&lt;br /&gt;
# Utiliser à vos risques et périls !&lt;br /&gt;
#&lt;br /&gt;
# Licence Dotclear : http://www.dotclear.net/license.html&lt;br /&gt;
#&lt;br /&gt;
# by Guillaume Kulakowski a.k.a LLaumgui &amp;lt;guillaume at llaumgui dot com&amp;gt;&lt;br /&gt;
# Version 2.0&lt;br /&gt;
#&lt;br /&gt;
###############################################################################&lt;br /&gt;
# This program is free software; you can redistribute it and/or&lt;br /&gt;
# modify it under the terms of the GNU General Public License&lt;br /&gt;
# as published by the Free Software Foundation; either version 2&lt;br /&gt;
# of the License, or (at your option) any later version.&lt;br /&gt;
#&lt;br /&gt;
# This program is distributed in the hope that it will be useful,&lt;br /&gt;
# but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. &amp;nbsp;See the&lt;br /&gt;
# GNU General Public License for more details.&lt;br /&gt;
#&lt;br /&gt;
# You should have received a copy of the GNU General Public License&lt;br /&gt;
# along with this program; if not, &lt;br /&gt;
# &amp;nbsp;- write to the Free Software&lt;br /&gt;
# &amp;nbsp; &amp;nbsp; &amp;nbsp; Foundation, Inc., 51 Franklin Street, Fifth Floor,&lt;br /&gt;
# &amp;nbsp; &amp;nbsp; &amp;nbsp; Boston, MA &amp;nbsp;02110-1301, USA.&lt;br /&gt;
# &amp;nbsp; - See http://www.gnu.org/licenses/gpl.html&lt;br /&gt;
###############################################################################&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
######################################&lt;br /&gt;
# Variables :&lt;br /&gt;
&lt;br /&gt;
# Chemin vers l'&lt;/span&gt;installation de Dotclear :&lt;br /&gt;
&lt;span style=&quot;color: #007800;&quot;&gt;DC_CORE_PATH=&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;/home/www.xxx.com/www&amp;quot;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;# Chemin vers les plugins de Dotclear :&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #007800;&quot;&gt;DC_PLUGIN_PATH=&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;$DC_CORE_PATH/plugins&amp;quot;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;# Chemin vers le cache :&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #007800;&quot;&gt;DC_CACHE_PATH=&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;$DC_CORE_PATH/cache&amp;quot;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;# Liste des plugins à récupérer à partir &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;du&lt;/span&gt; svn :&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #007800;&quot;&gt;DC_PLUGIN_LIST=&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;antiflood commentsWikibar dayMode emailNotification gallery related sitemaps spamplemousse2&amp;quot;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;# Chemin vers votre administration &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;pour la requête de mise à jour&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt; :&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #007800;&quot;&gt;DC_URL=&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;http://www.xxx.com/admin/&amp;quot;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #007800;&quot;&gt;SVN_DC_URL=&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;https://svn.dotclear.net/2.0/trunk&amp;quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #007800;&quot;&gt;SVN_DC_PLUGIN_URL=&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;https://svn.dotclear.net/2.0/plugins&amp;quot;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;######################################&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;# # # &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# # # &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;# # # &amp;nbsp; /!\ On touche plus /!\ &amp;nbsp; # # #&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;# # # &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# # #&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;######################################&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;###&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;# Mise à jour à partir &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;du&lt;/span&gt; SVN :&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; svnCo&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;cd&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;$1&amp;quot;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; svn &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;co&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;$2&amp;quot;&lt;/span&gt; ./&lt;br /&gt;
&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;###&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;# Mise à jour de la liste des plugins à partir &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;du&lt;/span&gt; svn :&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; svnPlugin &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;for&lt;/span&gt; plugin &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$DC_PLUGIN_LIST&lt;/span&gt;; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;do&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; -e &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\n&lt;/span&gt;############### &amp;nbsp;$plugin &amp;nbsp; ###############&amp;quot;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;# Création &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;du&lt;/span&gt; répertoire pour les nouveaux plugins :&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt; ! -d &lt;span style=&quot;color: #007800;&quot;&gt;$DC_PLUGIN_PATH&lt;/span&gt;/&lt;span style=&quot;color: #007800;&quot;&gt;$plugin&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt;; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;then&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Le répertoire $plugin n'existe pas !&amp;quot;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Création du répertoire $plugin.&amp;quot;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;mkdir&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;$DC_PLUGIN_PATH/$plugin&amp;quot;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;fi&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; svnCo &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;$DC_PLUGIN_PATH/$plugin&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;$SVN_DC_PLUGIN_URL/$plugin&amp;quot;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;done&lt;/span&gt;;&lt;br /&gt;
&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;###&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;# Mise à jour de la base par appel de l&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'url de l'&lt;/span&gt;admin :&lt;br /&gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; updateDB&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; curl &lt;span style=&quot;color: #007800;&quot;&gt;$DC_URL&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;###&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;# On vide le cache&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; cleanCache&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;rm&lt;/span&gt; -rf &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;$DC_CACHE_PATH/cbfeed&amp;quot;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;rm&lt;/span&gt; -rf &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;$DC_CACHE_PATH/cbtpl&amp;quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;################################################################################&amp;quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;# &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;#&amp;quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;# &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Mise à jour de Dotclear à partir des sources SVN &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #&amp;quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;# &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;#&amp;quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;################################################################################&amp;quot;&lt;/span&gt;&lt;br /&gt;
svnCo &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;$DC_CORE_PATH&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;$SVN_DC_URL&amp;quot;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; -e &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\n&lt;/span&gt;################################################################################&amp;quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;# &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;#&amp;quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;# &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Mise à jour de la liste des plugins &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #&amp;quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;# &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;#&amp;quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;################################################################################&amp;quot;&lt;/span&gt;&lt;br /&gt;
svnPlugin&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; -e &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\n&lt;/span&gt;################################################################################&amp;quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;# &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;#&amp;quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;# &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Opérations de mise à jours &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #&amp;quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;# &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;#&amp;quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;################################################################################&amp;quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; -e &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\n&lt;/span&gt;### Mise à jour de la base de données ###&amp;quot;&lt;/span&gt;&lt;br /&gt;
updateDB&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; -e &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\n&lt;/span&gt;### &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Vidage du cache &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;###&amp;quot;&lt;/span&gt;&lt;br /&gt;
cleanCache&lt;/code&gt;


&lt;p&gt;Je mets à disposition mon script (sous licence &lt;a href=&quot;http://fr.wikipedia.org/wiki/Licence_publique_g%C3%A9n%C3%A9rale_GNU&quot; hreflang=&quot;fr&quot; title=&quot;Licence publique générale GNU&quot;&gt;GPL&lt;/a&gt;) tout en précisant que son utilisation réfléchie ne pose pas de problème (pas plus qu'un &lt;a href=&quot;http://fr.wikipedia.org/wiki/Subversion_(logiciel)#Les_principales_commandes_de_Subversion&quot; hreflang=&quot;fr&quot; title=&quot;Les principales commandes de Subversion&quot;&gt;checkout&lt;/a&gt;) mais qu'une mise à jour automatisée au moment où la révision Subversion plante (ça peut arriver), fait buger le site jusqu'à la mise à jour suivante...&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Mise à jour :&lt;/strong&gt; Métro-sexualisation du code pour un rapport par mail (crontab) plus lisible.&lt;/p&gt;</description>
    
          <enclosure url="http://www.llaumgui.com/public/files/dc-svn-co"
      length="4732" type="text/plain" />
    
    
          <comments>http://www.llaumgui.com/post/Mise-a-jour-automatique-de-Dotclear-20-et-de-ses-plugins-a-partir-du-SVN-update#comment-form</comments>
      <wfw:comment>http://www.llaumgui.com/post/Mise-a-jour-automatique-de-Dotclear-20-et-de-ses-plugins-a-partir-du-SVN-update#comment-form</wfw:comment>
      <wfw:commentRss>http://www.llaumgui.com/feed/rss2/comments/346</wfw:commentRss>
      </item>
    
  <item>
    <title>Scénario-PaintBall version 3 en préparation</title>
    <link>http://www.llaumgui.com/post/Scenario-PaintBall-version-3-en-preparation</link>
    <guid isPermaLink="false">urn:md5:4ce7aba034b261efa398bb691d8ba593</guid>
    <pubDate>Thu, 30 Aug 2007 23:05:00 +0200</pubDate>
    <dc:creator>llaumgui</dc:creator>
        <category>Développement web</category>
        <category>Eclipse</category><category>eZ Publish</category><category>ezipb</category><category>IPB</category><category>IPBSDK</category><category>pdt</category><category>php</category><category>php5</category><category>Scénario-PaintBall</category>    
    <description>&lt;p&gt;Après plusieurs années de bons et loyaux services, il est grand temps que la version 2 de &lt;a href=&quot;http://www.scenario-paintball.com/&quot; title=&quot;Scénario-PaintBall|Le repaire des fougères&quot;&gt;Scénario-PaintBall&lt;/a&gt; tire sa révérence, pour donner naissance à une v3 ;-).
&lt;br /&gt;
Pourquoi ?&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Le forums :&lt;/strong&gt; L'une des raisons principales et la version d'&lt;a href=&quot;http://www.invisionboard.fr/&quot; title=&quot;Communauté francophone Invision Power Board&quot;&gt;IPB&lt;/a&gt;, la  2.1.x. Cette dernière n'est plus ou ne sera bientôt plus supportée. Il est donc grand temps de passer à la branche 2.3.x.&lt;br /&gt;
Les autre points découlent de cette mise à jour.
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Le portail :&lt;/strong&gt; Il utilise l'&lt;a href=&quot;http://ipbsdk.sourceforge.net/&quot; hreflang=&quot;en&quot; title=&quot;IPB SDK is a powerful development tool, which will allow you to develop advanced applications with ease&quot;&gt;ipbSDK&lt;/a&gt; qui n'est plus développé depuis la version 2.1 d'IPB (déjà que la 1.6 beta 5 pour IPB 2.1 était « limite »). Si je veux récupérer mon portail il faut donc que je rende compatible la dernier version du sdk avec la version actuel du forum... Or, j'ai la flemme de récupérer du vieux code !&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Le design :&lt;/strong&gt; le passage vers IPB 2.3 oblige à refaire la feuille de style (si on veut pas faire le porc). A remonter une page, autant en remonter une nouvelle.&lt;/li&gt;
&lt;/ol&gt;    &lt;h2&gt;Des pistes pour l'évolution&lt;/h2&gt;
&lt;p&gt;Pour la partie graphique, &lt;a href=&quot;http://forums.scenario-paintball.com/index.php?showuser=2&quot; hreflang=&quot;fr&quot;&gt;Radinus&lt;/a&gt; est en train de voir avec un designer.&lt;br /&gt;
Pour la techno, je pense utiliser &lt;a href=&quot;http://ez.no/&quot; hreflang=&quot;en&quot; title=&quot;eZ Publish Open Source Enterprise Content Management System&quot;&gt;eZ Publish&lt;/a&gt; 4.0 qui ne devrait plus tarder à sortir en version alpha voir peut être même bêta... Je rappel que la version du sdk utilisée actuellement est une bêta 2 &lt;a href=&quot;http://www.llaumgui.com/tag/IPBSDK&quot; hreflang=&quot;fr&quot;&gt;ultra modifiée&lt;/a&gt; par moi même, donc on est plus à une bêta près.&lt;br /&gt;
En attendant la v4 d'eZ, je commence les tests sur la version &lt;a href=&quot;http://pubsvn.ez.no/nextgen_php5/&quot; hreflang=&quot;fr&quot;&gt;3.9 communautaire compatible php5&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;
Du coup, en utilisant IPB + eZ publish, je n'ai plus qu'une seule chose à développer : une extension eZ pour communiquer avec IPB (connections membres + requêtes de récupération d'informations diverses).&lt;/p&gt;
&lt;h2&gt;Des non pistes&lt;/h2&gt;
&lt;h3&gt;Pourquoi pas le module forums pour eZ ?&lt;/h3&gt;
&lt;p&gt;La licence IPB est payée à vie et c'est un excellent forums ultra (trop?) complet.&lt;/p&gt;
&lt;h3&gt;Pourquoi pas un CMS autour d'IPB ?&lt;/h3&gt;
&lt;p&gt;Je pense qu'un forum est un forum et qu'un &lt;a href=&quot;http://fr.wikipedia.org/wiki/Syst%C3%A8me_de_gestion_de_contenu&quot; hreflang=&quot;fr&quot;&gt;&lt;acronym title=&quot;Content Management Systems&quot;&gt;CMS&lt;/acronym&gt;&lt;/a&gt; est un CMS ! Vouloir absolument développer un CMS autour d'un forum est, selon moi, une erreur. Erreur que j'ai d'ailleurs commise lors de la v2 de spb ;-).&lt;br /&gt;
La solution est donc de coupler différents scripts via des bridges (ma future extension ou les bridges à la &lt;a hreflang=&quot;en&quot; href=&quot;http://coppermine-gallery.net/&quot;&gt;Coppermine&lt;/a&gt;) ou grâce à des systèmes du type &lt;a href=&quot;http://fr.wikipedia.org/wiki/SSO&quot; hreflang=&quot;fr&quot;&gt;&lt;acronym title=&quot;Single Sign-On&quot;&gt;SSO&lt;/acronym&gt;&lt;/a&gt; (pour SPB on en est pas encore là).&lt;/p&gt;
&lt;h2&gt;TODO&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;del&gt;Installer &lt;a href=&quot;http://www.eclipse.org/&quot; hreflang=&quot;en&quot; title=&quot; an open development platform&quot;&gt;Eclipse&lt;/a&gt; Europa (3.3) avec les extensions qui vont bien (&lt;a href=&quot;http://www.eclipse.org/pdt/&quot; hreflang=&quot;en&quot;&gt;&lt;acronym title=&quot;PHP Development Tools&quot;&gt;pdt&lt;/acronym&gt;&lt;/a&gt;, &lt;a href=&quot;http://smile-ez-plugin.sourceforge.net/&quot; hreflang=&quot;fr&quot;&gt;Smile eZ plugin&lt;/a&gt;). Je commence de loin, mais installer &amp;amp; configurer Eclipse c'est presque aussi long qu'installer un système complet&lt;/del&gt;.&lt;/li&gt;
&lt;li&gt;&lt;del&gt;Configurer mon serveur apache local&lt;/del&gt;.&lt;/li&gt;
&lt;li&gt;&lt;del&gt;Installer eZ 3.9 php5&lt;/del&gt;.&lt;/li&gt;
&lt;li&gt;&lt;del&gt;Convertir la base IPB 2.1.x vers 2.3.1&lt;/del&gt;.&lt;/li&gt;
&lt;li&gt;Développer le plugins eZipb pour faire communiquer IPB et eZ publish (voir les différentes pistes offertes et voir aussi du côté de &lt;a href=&quot;http://forums.invisionpower.com/index.php?showtopic=235584&quot; hreflang=&quot;fr&quot;&gt;Converge&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;Découper le design (que j'attends toujours).&lt;/li&gt;
&lt;li&gt;Développer,  dans la version eZ, les différentes fonctionnalités actuellement disponibles sur spb.&lt;/li&gt;
&lt;li&gt;Migrer le forums en UTF-8.&lt;/li&gt;
&lt;li&gt;etc...&lt;/li&gt;
&lt;/ol&gt;</description>
    
    
    
          <comments>http://www.llaumgui.com/post/Scenario-PaintBall-version-3-en-preparation#comment-form</comments>
      <wfw:comment>http://www.llaumgui.com/post/Scenario-PaintBall-version-3-en-preparation#comment-form</wfw:comment>
      <wfw:commentRss>http://www.llaumgui.com/feed/rss2/comments/344</wfw:commentRss>
      </item>
    
  <item>
    <title>jQuery, UTF8 et Internet Explorer</title>
    <link>http://www.llaumgui.com/post/jQuery-UTF8-et-Internet-Explorer</link>
    <guid isPermaLink="false">urn:md5:cb1c5c2a7c9833887507f8a97238bb15</guid>
    <pubDate>Sat, 03 Mar 2007 13:52:00 +0100</pubDate>
    <dc:creator>llaumgui</dc:creator>
        <category>Développement web</category>
        <category>Dotclear</category><category>Internet Explorer</category><category>javascript</category><category>jQuery</category><category>licence</category><category>Microsoft</category><category>UTF-8</category>    
    <description>&lt;p&gt;Toujours dans la catégorie &amp;quot;&lt;em&gt;pamphlet contre le navigateur de la firme de &lt;a href=&quot;http://fr.wikipedia.org/wiki/Redmond&quot; hreflang=&quot;fr&quot; title=&quot;Redmond, située dans l'État de Washington, dont la notoriété est accrue par la présence du siège social de Microsoft.&quot;&gt;Redmond&lt;/a&gt;&lt;/em&gt;&amp;quot; : un petit désagrément que je viens de constater entre &lt;a href=&quot;http://www.jquery.com/&quot; hreflang=&quot;en&quot; title=&quot;jQuery is a new type of JavaScript library.&quot;&gt;jQuery&lt;/a&gt;, le plugin &lt;a href=&quot;http://bassistance.de/jquery-plugins/jquery-plugin-validation/&quot; hreflang=&quot;en&quot;&gt;Validation&lt;/a&gt; et Internet Explorer.&lt;br /&gt;
Si l'encodage de la librairie de base (&lt;em&gt;jquery.js&lt;/em&gt;) et celui du plugin (&lt;em&gt;jquery.validation.js&lt;/em&gt;) sont différents (&lt;a href=&quot;http://fr.wikipedia.org/wiki/UTF-8&quot; hreflang=&quot;fr&quot;&gt;UTF-8&lt;/a&gt; pour l'un et &lt;a href=&quot;http://fr.wikipedia.org/wiki/ISO-8859-1&quot; hreflang=&quot;fr&quot;&gt;ISO-8859-1&lt;/a&gt; pour l'autre), des erreurs &lt;a href=&quot;http://fr.wikipedia.org/wiki/Javascript&quot; hreflang=&quot;fr&quot;&gt;Javascript&lt;/a&gt; apparaissent dans IE.&lt;/p&gt;


&lt;p&gt;Ça a l'air triviale, mais pourtant j'ai passé plus de 3 heures à essayer de débuger du Javascrit sous IE (il parait que c'est possible ;-)) qui, n'ayons pas peur des mots, est une véritable bouse dans le domaine du débug JS.&lt;/p&gt;    &lt;p&gt;Une fois que tout marche, ce plugin se révèle très pratique, car la syntaxe pour vérifier les entrées d'un formulaire est relativement simple :&lt;/p&gt;

&lt;code class=&quot;Javascript&quot;&gt;&lt;span style=&quot;color: #009900; font-style: italic;&quot;&gt;// Mode débug :&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #009900; font-style: italic;&quot;&gt;//$.validator.defaults.debug = true;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
$&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;document&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;ready&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;&amp;quot;#comment-form&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;validate&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; errorContainer: $&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;&amp;quot;#comment-form div.error-form&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; errorLabelContainer: $&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;&amp;quot;#comment-form div.error-form ul&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; errorWrapper: &lt;span style=&quot;color: #3366CC;&quot;&gt;'li'&lt;/span&gt;,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; metaWrapper: &lt;span style=&quot;color: #3366CC;&quot;&gt;&amp;quot;validate&amp;quot;&lt;/span&gt;,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; rules: &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; c_name: &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt; required: &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;true&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; c_mail: &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; required: &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;true&lt;/span&gt;,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; email: &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;true&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; c_content: &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt; required: &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;true&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;, &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; messages: &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; c_name: msg_valid_name,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; c_mail: msg_valid_email,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; c_content: msg_valid_content&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/code&gt;


&lt;p&gt;Pour les messages d'alertes, on notera que je passe des variables par soucis de respecter l'internationalisation de DotClear&lt;/p&gt;


&lt;p&gt;Faut que je vérifie la licence (&lt;a href=&quot;http://jquery.com/src/GPL-LICENSE.txt&quot; hreflang=&quot;en&quot;&gt;GPL&lt;/a&gt; / &lt;a href=&quot;http://jquery.com/src/MIT-LICENSE.txt&quot; hreflang=&quot;en&quot;&gt;MIT&lt;/a&gt;) du truc et si elles le permettent je pense l'utiliser pour mon prochain gros projet professionnel. Comme le dit le slogan de cette librairie :&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;write less, do more&lt;/p&gt;&lt;/blockquote&gt;</description>
    
    
   