<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10frenchfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" xml:lang="fr">
  
  <title type="html">Calexo - Le Blog</title>
  <subtitle type="html">Administration de serveurs internet, développement, hébergement, web2.0, ...</subtitle>
  
  <link href="http://www.calexo.net/" rel="alternate" type="text/html" title="Administration de serveurs internet, développement, hébergement, web2.0, ..." />
  <updated>2010-09-07T17:40:40+02:00</updated>
  <author>
    <name>Calexo</name>
  </author>
  <id>urn:md5:daf3bbea68cf11c89a58397c738694bd</id>
  <generator uri="http://www.dotclear.net/">Dotclear</generator>
  
    
  <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/CalexoNet" /><feedburner:info uri="calexonet" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><link rel="license" type="text/html" href="http://creativecommons.org/licenses/by-nc-sa/2.0/" /><feedburner:emailServiceId>CalexoNet</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/content?lg=fr&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2FCalexoNet" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/bn/intatm_fr_1.gif">Subscribe with Mon Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FCalexoNet" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/CalexoNet" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FCalexoNet" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FCalexoNet" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FCalexoNet" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.feedburner.com%2FCalexoNet" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Ffeeds.feedburner.com%2FCalexoNet" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Ffeeds.feedburner.com%2FCalexoNet" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsalloy.com/?rss=http%3A%2F%2Ffeeds.feedburner.com%2FCalexoNet" src="http://www.newsalloy.com/subrss3.gif">Subscribe with NewsAlloy</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2FCalexoNet" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://mix.excite.eu/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FCalexoNet" src="http://image.excite.co.uk/mix/addtomix.gif">Subscribe with Excite MIX</feedburner:feedFlare><feedburner:feedFlare href="http://download.attensa.com/app/get_attensa.html?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FCalexoNet" src="http://www.attensa.com/blogs/attensa/WindowsLiveWriter/BadgeredintoBadges_10C02/attensa_feed_button5.gif">Subscribe with Attensa for Outlook</feedburner:feedFlare><feedburner:feedFlare href="http://www.webwag.com/wwgthis.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FCalexoNet" src="http://www.webwag.com/images/wwgthis.gif">Subscribe with Webwag</feedburner:feedFlare><feedburner:feedFlare href="http://www.podcastready.com/oneclick_bookmark.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FCalexoNet" src="http://www.podcastready.com/images/podcastready_button.gif">Subscribe with Podcast Ready</feedburner:feedFlare><feedburner:feedFlare href="http://www.flurry.com/pushRssFeed.do?r=fb&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2FCalexoNet" src="http://www.flurry.com/images/flurry_rss_logo2.gif">Subscribe with Flurry</feedburner:feedFlare><feedburner:feedFlare href="http://www.wikio.com/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2FCalexoNet" src="http://www.wikio.com/shared/img/add2wikio.gif">Subscribe with Wikio</feedburner:feedFlare><feedburner:feedFlare href="http://www.dailyrotation.com/index.php?feed=http%3A%2F%2Ffeeds.feedburner.com%2FCalexoNet" src="http://www.dailyrotation.com/rss-dr2.gif">Subscribe with Daily Rotation</feedburner:feedFlare><feedburner:feedFlare href="http://hub.netomat.net/account/account.autoSubscribe.jspa?urls=http%3A%2F%2Ffeeds.feedburner.com%2FCalexoNet" src="http://www.netomat.net/blogger/images/icon_netomat_feedbutton.gif">Subscribe with netomat Hub</feedburner:feedFlare><feedburner:feedFlare href="http://www.yourminis.com/subscribe.aspx?u=http%3A%2F%2Ffeeds.feedburner.com%2FCalexoNet" src="http://www.yourminis.com/images/addtoyourminisbadge.gif">Subscribe with Yourminis.com</feedburner:feedFlare><feedburner:browserFriendly>Blog de Calexo, sur l'administration de serveurs, le développement et Internet.&#xD;
Voir aussi http://www.calexo.com</feedburner:browserFriendly><entry>
    <title>Empêcher l'inscription à un MediaWiki</title>
    <link href="http://feedproxy.google.com/~r/CalexoNet/~3/k2FTV5wEq8o/Bloquer-inscription-un-MediaWiki" rel="alternate" type="text/html" title="Empêcher l'inscription à un MediaWiki" />
    <id>urn:md5:a8dc2bdd125cc7969655913a0b7212ef</id>
    <updated>2010-06-09T11:00:00+02:00</updated>
    <author><name>Calexo</name></author>
        <dc:subject>Webmaster et SEO</dc:subject>
        <dc:subject>installation</dc:subject><dc:subject>PHP</dc:subject><dc:subject>sécurité</dc:subject><dc:subject>Wiki</dc:subject>    
    <content type="html">

      
      	   &lt;p&gt;&lt;a href="http://www.mediawiki.org/wiki/MediaWiki/fr"&gt;MediaWiki&lt;/a&gt; est une plateforme libre de Wiki, sur laquelle se base le célébrissime &lt;a href="http://www.wikipedia.org/"&gt;Wikipedia&lt;/a&gt;.&lt;br /&gt;
Nous en reparlerons, mais vous pouvez donc utiliser cette superbe plateforme hautement configurable pour vos propres besoins.&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;&lt;img src="http://www.calexo.net/public/Wiki.png" alt="MediaWiki" style="float:right; margin: 0 0 1em 1em;" title="MediaWiki, juin 2010" /&gt;&lt;/p&gt;


&lt;p&gt;Si vous souhaitez contrôler qui peut accéder, modifier ou créer des pages, tout se passe dans le fichier de configuration se trouvant à la racine&amp;nbsp;: &lt;strong&gt;LocalSettings.php&lt;/strong&gt;.&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;Pour empêcher les inscriptions, il vous suffit d'indiquer&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
$wgGroupPermissions['*'    ]['createaccount']   = false;
&lt;/pre&gt;


&lt;p&gt;Vérifier que les invités peuvent juste lire votre WIki&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
$wgGroupPermissions['*'    ]['read']            = true;
$wgGroupPermissions['*'    ]['edit']            = false;
$wgGroupPermissions['*'    ]['createpage']      = false;
$wgGroupPermissions['*'    ]['createtalk']      = false;
&lt;/pre&gt;


&lt;p&gt;Si vous souhaitez que les personnes non inscrites ne puissent même pas lire le contenu de votre site, vous pouvez évidemment mettre le paramètre &lt;em&gt;read&lt;/em&gt; à &lt;em&gt;false&lt;/em&gt;.&lt;/p&gt;


&lt;p&gt;A vos vi|emacs :)&lt;/p&gt;      	  
	   
      &lt;p&gt; &lt;i&gt; Cet article original est publié sur &lt;a href="http://www.calexo.net"&gt;http://www.calexo.net&lt;/a&gt;. Toute reproduction, meme partielle, est interdite sans l'autorisation explicite de son auteur. &lt;/i&gt; &lt;/p&gt;

    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=k2FTV5wEq8o:MXXvuziZPHY:rfYFGETz4uk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=rfYFGETz4uk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=k2FTV5wEq8o:MXXvuziZPHY:JwF4sU492aU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=JwF4sU492aU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=k2FTV5wEq8o:MXXvuziZPHY:EsX4JAobb80"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=EsX4JAobb80" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/CalexoNet/~4/k2FTV5wEq8o" height="1" width="1"/&gt;</content>
    
          <wfw:comment>http://www.calexo.net/post/2010_06_09/Bloquer-inscription-un-MediaWiki#comment-form</wfw:comment>
      <wfw:commentRss>http://www.calexo.net/feed/atom/comments/71</wfw:commentRss>
      <feedburner:origLink>http://www.calexo.net/post/2010_06_09/Bloquer-inscription-un-MediaWiki</feedburner:origLink></entry>
    
  <entry>
    <title>Eclipse Labs</title>
    <link href="http://feedproxy.google.com/~r/CalexoNet/~3/Qew2X98plsQ/Google-lance-Eclipse-Labs" rel="alternate" type="text/html" title="Eclipse Labs" />
    <id>urn:md5:86f0fe4db571141d82c7fdce8836d511</id>
    <updated>2010-05-18T15:00:00+02:00</updated>
    <author><name>Calexo</name></author>
        <dc:subject>Développement</dc:subject>
        <dc:subject>Android</dc:subject><dc:subject>Eclipse</dc:subject><dc:subject>Google</dc:subject><dc:subject>hébergement</dc:subject>    
    <content type="html">

      	   &lt;p&gt;&lt;a href="http://www.calexo.net/public/eclipse.jpeg"&gt;&lt;img src="http://www.calexo.net/public/.eclipse_t.jpg" alt="Eclipse" style="float:right; margin: 0 0 1em 1em;" title="Eclipse, mar. 2010" /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;&lt;a href="http://www.calexo.net/tag/Google"&gt;Google&lt;/a&gt; utilisant beaucoup &lt;a href="http://www.calexo.net/tag/Eclipse"&gt;Eclipse&lt;/a&gt;, aussi bien en interne que pour ses SDK (Android, ...), ils viennent de mettre en place &lt;strong&gt;Eclipse Labs&lt;/strong&gt;. Un juste renvoi d'ascenseur.&lt;/p&gt;	   &lt;p&gt;&lt;a href="http://www.calexo.net/post/2010_05_18/Google-lance-Eclipse-Labs"&gt;Lire la suite&lt;/a&gt;&lt;/p&gt;
      
      	  
	   
      &lt;p&gt; &lt;i&gt; Cet article original est publié sur &lt;a href="http://www.calexo.net"&gt;http://www.calexo.net&lt;/a&gt;. Toute reproduction, meme partielle, est interdite sans l'autorisation explicite de son auteur. &lt;/i&gt; &lt;/p&gt;

    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=Qew2X98plsQ:uWXFcUwQtpY:rfYFGETz4uk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=rfYFGETz4uk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=Qew2X98plsQ:uWXFcUwQtpY:JwF4sU492aU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=JwF4sU492aU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=Qew2X98plsQ:uWXFcUwQtpY:EsX4JAobb80"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=EsX4JAobb80" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/CalexoNet/~4/Qew2X98plsQ" height="1" width="1"/&gt;</content>
    
          <wfw:comment>http://www.calexo.net/post/2010_05_18/Google-lance-Eclipse-Labs#comment-form</wfw:comment>
      <wfw:commentRss>http://www.calexo.net/feed/atom/comments/70</wfw:commentRss>
      <feedburner:origLink>http://www.calexo.net/post/2010_05_18/Google-lance-Eclipse-Labs</feedburner:origLink></entry>
    
  <entry>
    <title>Changement d'architecture de serveur Web</title>
    <link href="http://feedproxy.google.com/~r/CalexoNet/~3/cFarlYEH0L8/Changement-d-architecture-de-serveur-Web" rel="alternate" type="text/html" title="Changement d'architecture de serveur Web" />
    <id>urn:md5:a48d3076074acc13e580f9affe221262</id>
    <updated>2010-04-02T11:40:00+02:00</updated>
    <author><name>Calexo</name></author>
        <dc:subject>Serveurs Calexo</dc:subject>
        <dc:subject>apache</dc:subject><dc:subject>optimisation</dc:subject><dc:subject>PHP</dc:subject><dc:subject>serveur</dc:subject>    
    <content type="html">

      
      	   &lt;p&gt;Aujourd'hui, mise en place d'une &lt;strong&gt;nouvelle architecture&lt;/strong&gt; de serveur Web.&lt;/p&gt;


&lt;p&gt;&lt;a href="http://www.calexo.net/public/Serveur/731px-Nginx-battleship-alt.svg.png"&gt;&lt;img src="http://www.calexo.net/public/Serveur/.731px-Nginx-battleship-alt.svg_m.jpg" alt="Nginx" style="display:block; margin:0 auto;" title="Nginx, avr. 2010" /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Auparavant, tout était directement servi par &lt;a href="http://www.calexo.net/tag/apache"&gt;Apache&lt;/a&gt;. Désormais, le &lt;strong&gt;serveur NginX&lt;/strong&gt; est en frontal. Ce serveur est en effet très très rapide sur les contenus statiques (images, CSS, JavaScript, ...). Il passe en revanche toujours la main à &lt;a href="http://www.calexo.net/tag/apache"&gt;Apache&lt;/a&gt; pour servir le &lt;a href="http://www.calexo.net/tag/PHP"&gt;PHP&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Cela entraine une plus grande rapidité du chargement des pages (passage du grade C à B dans Yslow), et une capacité accrue du serveur à gérer la charge, pour mes futurs projets&amp;nbsp;!&lt;/p&gt;


&lt;p&gt;Si vous constatez des soucis pour naviguer sur mes sites, n'hésitez cependant pas à m'en faire part&amp;nbsp;! Merci&amp;nbsp;!&lt;/p&gt;      	  
	   		&lt;p&gt;
			&lt;i&gt;Note : &lt;/i&gt;Cet article concerne le serveur de Calexo, et peut ne pas vous intéresser. Pour vous abonner au flux RSS sans cette rubrique, vous pouvez choisir le flux &lt;i&gt;Sans Serveurs Calexo&lt;/i&gt;, disponible sur la page &lt;a href="http://www.calexo.net/pages/Abonnements"&gt;Abonnements&lt;/A&gt; ou en haut à droite de la page d'&lt;a href="http://www.calexo.net/"&gt;Accueil&lt;/a&gt;.
		&lt;/p&gt;
	   
      &lt;p&gt; &lt;i&gt; Cet article original est publié sur &lt;a href="http://www.calexo.net"&gt;http://www.calexo.net&lt;/a&gt;. Toute reproduction, meme partielle, est interdite sans l'autorisation explicite de son auteur. &lt;/i&gt; &lt;/p&gt;

    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=cFarlYEH0L8:NC4pSQKYRYU:rfYFGETz4uk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=rfYFGETz4uk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=cFarlYEH0L8:NC4pSQKYRYU:JwF4sU492aU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=JwF4sU492aU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=cFarlYEH0L8:NC4pSQKYRYU:EsX4JAobb80"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=EsX4JAobb80" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/CalexoNet/~4/cFarlYEH0L8" height="1" width="1"/&gt;</content>
    
          <wfw:comment>http://www.calexo.net/post/2010_04_02/Changement-d-architecture-de-serveur-Web#comment-form</wfw:comment>
      <wfw:commentRss>http://www.calexo.net/feed/atom/comments/69</wfw:commentRss>
      <feedburner:origLink>http://www.calexo.net/post/2010_04_02/Changement-d-architecture-de-serveur-Web</feedburner:origLink></entry>
    
  <entry>
    <title>Eclipse pour Ubuntu Karmic Koala 9.10</title>
    <link href="http://feedproxy.google.com/~r/CalexoNet/~3/o1u8yCV2VcU/Eclipse-pour-Ubuntu-Karmic-Koala-9.10" rel="alternate" type="text/html" title="Eclipse pour Ubuntu Karmic Koala 9.10" />
    <id>urn:md5:21438aaddedc093df385b96fe4dcb13f</id>
    <updated>2010-03-23T11:49:00+01:00</updated>
    <author><name>Calexo</name></author>
        <dc:subject>Développement</dc:subject>
        <dc:subject>Eclipse</dc:subject><dc:subject>installation</dc:subject><dc:subject>Java</dc:subject><dc:subject>linux</dc:subject><dc:subject>ubuntu</dc:subject>    
    <content type="html">

      	   &lt;p&gt;&lt;img src="http://www.calexo.net/public/eclipse.jpeg" alt="Eclipse" style="float:left; margin: 0 1em 1em 0;" title="Eclipse, mar. 2010" /&gt;
Suite à la mise à jour de mon &lt;a href="http://www.calexo.net/tag/ubuntu"&gt;Ubuntu&lt;/a&gt; vers la version Karmic Koala 9.10, impossible d'utiliser les bouton "..." dans les vues de Propriété d'&lt;a href="http://www.calexo.net/tag/Eclipse"&gt;Eclipse&lt;/a&gt;.&lt;/p&gt;	   &lt;p&gt;&lt;a href="http://www.calexo.net/post/2010_03_23/Eclipse-pour-Ubuntu-Karmic-Koala-9.10"&gt;Lire la suite&lt;/a&gt;&lt;/p&gt;
      
      	  
	   
      &lt;p&gt; &lt;i&gt; Cet article original est publié sur &lt;a href="http://www.calexo.net"&gt;http://www.calexo.net&lt;/a&gt;. Toute reproduction, meme partielle, est interdite sans l'autorisation explicite de son auteur. &lt;/i&gt; &lt;/p&gt;

    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=o1u8yCV2VcU:gXDHVXrBMiw:rfYFGETz4uk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=rfYFGETz4uk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=o1u8yCV2VcU:gXDHVXrBMiw:JwF4sU492aU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=JwF4sU492aU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=o1u8yCV2VcU:gXDHVXrBMiw:EsX4JAobb80"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=EsX4JAobb80" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/CalexoNet/~4/o1u8yCV2VcU" height="1" width="1"/&gt;</content>
    
          <wfw:comment>http://www.calexo.net/post/2010_03_23/Eclipse-pour-Ubuntu-Karmic-Koala-9.10#comment-form</wfw:comment>
      <wfw:commentRss>http://www.calexo.net/feed/atom/comments/68</wfw:commentRss>
      <feedburner:origLink>http://www.calexo.net/post/2010_03_23/Eclipse-pour-Ubuntu-Karmic-Koala-9.10</feedburner:origLink></entry>
    
  <entry>
    <title>2010, la bataille contre le SPAM continue !</title>
    <link href="http://feedproxy.google.com/~r/CalexoNet/~3/paZgnYIST1w/2010-la-bataille-contre-SPAM-continue" rel="alternate" type="text/html" title="2010, la bataille contre le SPAM continue !" />
    <id>urn:md5:809efca4bb456c3a2672d0e19dfd33b2</id>
    <updated>2010-01-05T09:10:00+01:00</updated>
    <author><name>Calexo</name></author>
        <dc:subject>Serveur Linux</dc:subject>
        <dc:subject>email</dc:subject><dc:subject>Linux</dc:subject><dc:subject>serveur</dc:subject><dc:subject>Spam</dc:subject><dc:subject>sécurité</dc:subject>    
    <content type="html">

      
      	   &lt;p&gt;&lt;strong&gt;Bonne année 2010 !!&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;&lt;img src="http://www.calexo.net/public/.2010_m.jpg" alt="Annee 2010" style="display:block; margin:0 auto;" title="Annee 2010, janv. 2010" /&gt;&lt;/p&gt;


&lt;p&gt;J'espère que les fêtes se sont bien déroulées pour vous, que le Père Noël vous a gâté... bref, que vous êtes prêts à attaquer 2010 pour de nouvelles aventures !V
Pour commencer, à vos clients SSH !! Il y a en effet un "&lt;strong&gt;bug&lt;/strong&gt;" qui traine dans &lt;a href="http://www.calexo.net/tag/Spam"&gt;Spam&lt;/a&gt;Assassin... Si vous utilisez cet outil, sous &lt;a href="http://www.calexo.net/tag/Linux"&gt;Linux&lt;/a&gt;, pour filtrer vos &lt;a href="http://www.calexo.net/tag/Spam"&gt;Spams&lt;/a&gt;, sachez qu'entre les versions 3.2.0 et 3.2.5, l'un des filtres peut bloquer vos mails dont la date est comprise entre 2010 et 2099, comme en attestent ces lignes&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt; # grep -i 20xx *
 50_scores.cf:score FH_DATE_PAST_20XX 2.075 3.384 3.554 3.188 # n=2
 72_active.cf:##{ FH_DATE_PAST_20XX
 72_active.cf:header   FH_DATE_PAST_20XX Date =~ /20&lt;a href="http://www.calexo.net/post/2010_01_04/1-9" title="1-9"&gt;1-9&lt;/a&gt;&lt;a href="http://www.calexo.net/post/2010_01_04/0-9" title="0-9"&gt;0-9&lt;/a&gt;/ &lt;a href="if-unset: 2006" title="if-unset: 2006"&gt;if-unset: 2006&lt;/a&gt;
 72_active.cf:describe FH_DATE_PAST_20XX The date is grossly in the future.
 72_active.cf:##} FH_DATE_PAST_20XX&lt;/pre&gt;


&lt;p&gt;Voici un lien vers la description de cette règle&amp;nbsp;: &lt;a href="http://wiki.apache.org/spamassassin/Rules/FH_DATE_PAST_20XX" hreflang="en"&gt;http://wiki.apache.org/spamassassin/Rules/FH_DATE_PAST_20XX&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Afin de corriger ce bug, il suffit d'ajouter la ligne suivante au fichier local.cf (le miens se trouve dans /etc/mail/spamassassin/)&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt; score FH_DATE_PAST_20XX 0&lt;/pre&gt;


&lt;p&gt;Ainsi, on attribue un "score" de 0 à la règle de filtrage précédente.&lt;/p&gt;


&lt;p&gt;A vos claviers, et bonne reprise&amp;nbsp;!&lt;/p&gt;


&lt;p&gt;&lt;em&gt;Source&lt;/em&gt;&amp;nbsp;: &lt;a href="http://spamassassin.apache.org/" hreflang="en"&gt;http://spamassassin.apache.org/&lt;/a&gt;&lt;/p&gt;      	  
	   
      &lt;p&gt; &lt;i&gt; Cet article original est publié sur &lt;a href="http://www.calexo.net"&gt;http://www.calexo.net&lt;/a&gt;. Toute reproduction, meme partielle, est interdite sans l'autorisation explicite de son auteur. &lt;/i&gt; &lt;/p&gt;

    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=paZgnYIST1w:aOLAAbO3ric:rfYFGETz4uk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=rfYFGETz4uk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=paZgnYIST1w:aOLAAbO3ric:JwF4sU492aU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=JwF4sU492aU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=paZgnYIST1w:aOLAAbO3ric:EsX4JAobb80"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=EsX4JAobb80" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/CalexoNet/~4/paZgnYIST1w" height="1" width="1"/&gt;</content>
    
          <wfw:comment>http://www.calexo.net/post/2010_01_04/2010-la-bataille-contre-SPAM-continue#comment-form</wfw:comment>
      <wfw:commentRss>http://www.calexo.net/feed/atom/comments/67</wfw:commentRss>
      <feedburner:origLink>http://www.calexo.net/post/2010_01_04/2010-la-bataille-contre-SPAM-continue</feedburner:origLink></entry>
    
  <entry>
    <title>Mise à jour : PHP 5.2.12</title>
    <link href="http://feedproxy.google.com/~r/CalexoNet/~3/UeZUNUEx6kU/Mise-a-jour-PHP-5.2.12" rel="alternate" type="text/html" title="Mise à jour : PHP 5.2.12" />
    <id>urn:md5:ac4a2113b1d4849019ed8043bdf6f6a5</id>
    <updated>2009-12-17T15:38:00+01:00</updated>
    <author><name>Calexo</name></author>
        <dc:subject>Serveurs Calexo</dc:subject>
        <dc:subject>calexo</dc:subject><dc:subject>PHP</dc:subject><dc:subject>serveur</dc:subject><dc:subject>sécurité</dc:subject>    
    <content type="html">

      
      	   &lt;p&gt;&lt;img src="http://www.calexo.net/public/Serveur/php.gif" alt="PHP" style="float:right; margin: 0 0 1em 1em;" title="PHP" /&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mise à jour de &lt;a href="http://www.calexo.net/tag/PHP"&gt;PHP&lt;/a&gt; à la &lt;a href="http://www.php.net/releases/5_2_12.php" hreflang="en"&gt;version 5.2.12&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Corrections&amp;nbsp;:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;   * Fixed a safe_mode bypass in tempnam() identified by Grzegorz Stachowiak. (CVE-2009-3557, Rasmus)
   * Fixed a open_basedir bypass in posix_mkfifo() identified by Grzegorz Stachowiak. (CVE-2009-3558, Rasmus)
   * Added "max_file_uploads" INI directive, which can be set to limit the number of file uploads per-request to 20 by default, to prevent possible DOS via temporary file exhaustion, identified by Bogdan Calin. (CVE-2009-4017, Ilia)
   * Added protection for $_SESSION from interrupt corruption and improved "session.save_path" check, identified by Stefan Esser. (CVE-2009-4143, Stas)
   * Fixed bug #49785 (insufficient input string validation of htmlspecialchars()). (CVE-2009-4142, Moriyoshi, hello at iwamot dot com)&lt;/pre&gt;      	  
	   		&lt;p&gt;
			&lt;i&gt;Note : &lt;/i&gt;Cet article concerne le serveur de Calexo, et peut ne pas vous intéresser. Pour vous abonner au flux RSS sans cette rubrique, vous pouvez choisir le flux &lt;i&gt;Sans Serveurs Calexo&lt;/i&gt;, disponible sur la page &lt;a href="http://www.calexo.net/pages/Abonnements"&gt;Abonnements&lt;/A&gt; ou en haut à droite de la page d'&lt;a href="http://www.calexo.net/"&gt;Accueil&lt;/a&gt;.
		&lt;/p&gt;
	   
      &lt;p&gt; &lt;i&gt; Cet article original est publié sur &lt;a href="http://www.calexo.net"&gt;http://www.calexo.net&lt;/a&gt;. Toute reproduction, meme partielle, est interdite sans l'autorisation explicite de son auteur. &lt;/i&gt; &lt;/p&gt;

    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=UeZUNUEx6kU:AZ60yxuqvHU:rfYFGETz4uk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=rfYFGETz4uk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=UeZUNUEx6kU:AZ60yxuqvHU:JwF4sU492aU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=JwF4sU492aU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=UeZUNUEx6kU:AZ60yxuqvHU:EsX4JAobb80"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=EsX4JAobb80" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/CalexoNet/~4/UeZUNUEx6kU" height="1" width="1"/&gt;</content>
    
          <wfw:comment>http://www.calexo.net/post/2009_12_17/Mise-a-jour-PHP-5.2.12#comment-form</wfw:comment>
      <wfw:commentRss>http://www.calexo.net/feed/atom/comments/66</wfw:commentRss>
      <feedburner:origLink>http://www.calexo.net/post/2009_12_17/Mise-a-jour-PHP-5.2.12</feedburner:origLink></entry>
    
  <entry>
    <title>Problème de réception des emails</title>
    <link href="http://feedproxy.google.com/~r/CalexoNet/~3/aToiDzoeZmc/Probleme-reception-emails" rel="alternate" type="text/html" title="Problème de réception des emails" />
    <id>urn:md5:c59e7b0eadcceb62690c7fcca1b24920</id>
    <updated>2009-11-10T17:24:00+01:00</updated>
    <author><name>Calexo</name></author>
        <dc:subject>Serveurs Calexo</dc:subject>
            
    <content type="html">

      
      	   &lt;p&gt;Depuis hier, certains mails (au format HTML) n'arrivaient pas à destination.&lt;br /&gt;
Il s'agissait d'un problème d'antivirus.&lt;br /&gt;
Le problème a été résolu ce soir, et aucun mail n'a été perdu.&lt;/p&gt;      	  
	   		&lt;p&gt;
			&lt;i&gt;Note : &lt;/i&gt;Cet article concerne le serveur de Calexo, et peut ne pas vous intéresser. Pour vous abonner au flux RSS sans cette rubrique, vous pouvez choisir le flux &lt;i&gt;Sans Serveurs Calexo&lt;/i&gt;, disponible sur la page &lt;a href="http://www.calexo.net/pages/Abonnements"&gt;Abonnements&lt;/A&gt; ou en haut à droite de la page d'&lt;a href="http://www.calexo.net/"&gt;Accueil&lt;/a&gt;.
		&lt;/p&gt;
	   
      &lt;p&gt; &lt;i&gt; Cet article original est publié sur &lt;a href="http://www.calexo.net"&gt;http://www.calexo.net&lt;/a&gt;. Toute reproduction, meme partielle, est interdite sans l'autorisation explicite de son auteur. &lt;/i&gt; &lt;/p&gt;

    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=aToiDzoeZmc:BvP4kLLpsUw:rfYFGETz4uk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=rfYFGETz4uk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=aToiDzoeZmc:BvP4kLLpsUw:JwF4sU492aU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=JwF4sU492aU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=aToiDzoeZmc:BvP4kLLpsUw:EsX4JAobb80"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=EsX4JAobb80" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/CalexoNet/~4/aToiDzoeZmc" height="1" width="1"/&gt;</content>
    
          <wfw:comment>http://www.calexo.net/post/2009_11_10/Probleme-reception-emails#comment-form</wfw:comment>
      <wfw:commentRss>http://www.calexo.net/feed/atom/comments/65</wfw:commentRss>
      <feedburner:origLink>http://www.calexo.net/post/2009_11_10/Probleme-reception-emails</feedburner:origLink></entry>
    
  <entry>
    <title>Wireframe : faire un croquis avant de se lancer dans le design</title>
    <link href="http://feedproxy.google.com/~r/CalexoNet/~3/zvBVSCTrqwQ/Wireframe-croquis-zoning-maquette-web-design" rel="alternate" type="text/html" title="Wireframe : faire un croquis avant de se lancer dans le design" />
    <id>urn:md5:6238d120a5220a5df7b62b0f4f4790c2</id>
    <updated>2009-08-18T15:28:00+02:00</updated>
    <author><name>Calexo</name></author>
        <dc:subject>Webmaster et SEO</dc:subject>
        <dc:subject>outil desktop</dc:subject><dc:subject>webdesign</dc:subject><dc:subject>wireframe</dc:subject>    
    <content type="html">

      
      	   &lt;h2&gt;Le concept&lt;/h2&gt;

&lt;p&gt;Le &lt;a href="http://www.calexo.net/tag/wireframe"&gt;Wireframe&lt;/a&gt; en &lt;a href="http://www.calexo.net/tag/webdesign"&gt;Web design&lt;/a&gt; consiste à réaliser un &lt;strong&gt;schéma définissant les zones&lt;/strong&gt; d'un site Web, ou d'une page Web. Il peut être réalisé par une personne &lt;strong&gt;non technique&lt;/strong&gt; (client, graphiste, ...).&lt;br /&gt;
Souvent en noir et blanc, seuls la dimension, l'emplacement et la nature des différentes zones importe. &lt;strong&gt;Ce n'est pas le design lui-même !&lt;/strong&gt; Le &lt;a href="http://www.calexo.net/tag/wireframe"&gt;wireframe&lt;/a&gt; n'apporte pas de notions de couleurs, d'harmonie, ni de détail des éléments. Si couleurs et images il y a, elles ne doivent être utiliser que pour améliorer la lisibilité et la compréhension du schéma, et ne correspondent pas aux couleurs du site définitif.&lt;br /&gt;
A la base, la technique du &lt;a href="http://www.calexo.net/tag/wireframe"&gt;Wireframe&lt;/a&gt; consiste à griffonner ses idées au crayon de papier, sur une feuille.&lt;br /&gt;
Depuis, des &lt;strong&gt;logiciels existent&lt;/strong&gt; (voir la suite), et permettent de réaliser aisément ces schémas, et la plupart permettent également de définir les &lt;strong&gt;enchainements entre les pages&lt;/strong&gt;.&lt;br /&gt;&lt;/p&gt;


&lt;h2&gt;Les cas d'utilisation&lt;/h2&gt;

&lt;h3&gt;Equipe projet&lt;/h3&gt;

&lt;p&gt;Dans le cas d'un projet, commencer un site par un &lt;a href="http://www.calexo.net/tag/wireframe"&gt;Wireframe&lt;/a&gt; permet de définir &lt;strong&gt;l'aspect global du site, des pages&lt;/strong&gt;, de voir comment on peu positionner les différents éléments nécessaires. Si on est plusieurs, cela aide à &lt;strong&gt;exprimer ces idées pour pouvoir en discuter&lt;/strong&gt;. Seul, c'est utile aussi pour &lt;strong&gt;mettre à plat ses idées&lt;/strong&gt;, avant de se lancer tête baissée dans le design proprement dit, et se rendre compte qu'il manque tel ou tel élément et qu'il faut revoir l'agencement de la page. Manipuler un &lt;a href="http://www.calexo.net/tag/wireframe"&gt;Wireframe&lt;/a&gt; est bien plus aisé que de manipuler les bloc &lt;em&gt;HTML&lt;/em&gt; &lt;em&gt;&amp;lt;div&amp;gt;&lt;/em&gt; ou le &lt;a href="http://www.calexo.net/tag/CSS"&gt;CSS&lt;/a&gt;&amp;nbsp;! Commencer par le &lt;a href="http://www.calexo.net/tag/wireframe"&gt;Wireframe&lt;/a&gt; engendre &lt;strong&gt;un réel gain de temps&lt;/strong&gt; pour le développement du design.&lt;/p&gt;


&lt;h3&gt;Client&lt;/h3&gt;

&lt;p&gt;Comme le remarque LeGizz dans son article &lt;a href="http://legizz.com/wireframe-a-toutes-les-sauces.html"&gt;WireFrame à toutes les sauces&lt;/a&gt;, le &lt;a href="http://www.calexo.net/tag/wireframe"&gt;Wireframe&lt;/a&gt; permet également de &lt;strong&gt;discuter aisément avec un client&lt;/strong&gt;. On peut ainsi rapidement et facilement présenter quelque chose, ssans avoir à réaliser une nouvelle maquette à chaque petit changement. Le client peut ainsi &lt;strong&gt;discuter de l'aspect global&lt;/strong&gt;. Il ne risque &lt;strong&gt;pas de s'attacher aux détails&lt;/strong&gt; comme il pourrait le faire sur une maquette classique. Il ne risque pas non plus de vouloir &lt;strong&gt;copier un concurrent&lt;/strong&gt; comme il pourrait le faire si on lui présente un site existant (même flouté).&lt;/p&gt;


&lt;h2&gt;Les outils&lt;/h2&gt;

&lt;h3&gt;Roots&lt;/h3&gt;

&lt;p&gt;Les plus simples des outils pour réaliser un &lt;a href="http://www.calexo.net/tag/wireframe"&gt;Wireframe&lt;/a&gt; sont une feuille, une gomme, et un crayon de papier. Sans blague !&lt;br /&gt;
Pour perfectionner, vous pouvez ajouter plusieurs feuilles, et des ciseaux. Vous pouvez ainsi positionner les éléments (des rectangles de papier) sur votre page Web virtuelle (une feuille).&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;Il existe cependant une &lt;strong&gt;multitude d'&lt;a href="http://www.calexo.net/tag/outil%20desktop"&gt;outils informatiques&lt;/a&gt;&lt;/strong&gt;, plus ou moins perfectionnés, permettant le travail &lt;strong&gt;collaboratif&lt;/strong&gt; ou non, en-ligne ou hors-ligne...&lt;br /&gt;&lt;/p&gt;


&lt;h3&gt;Informatique&lt;/h3&gt;

&lt;p&gt;Voici deux sites qui en contiennent une liste&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.superfiction.net/blog/index.php?Conception-outils"&gt;Outils de Conception&lt;/a&gt; par Eric de Superfiction&lt;/li&gt;
&lt;li&gt;&lt;a href="http://wireframes.linowski.ca/" hreflang="en"&gt;Wireframes Magazine&lt;/a&gt; &lt;em&gt;(en)&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Personnellement, j'utilise &lt;strong&gt;Balsamiq Mockups&lt;/strong&gt; (&lt;a href="http://www.balsamiq.com/products/mockups" hreflang="en"&gt;http://www.balsamiq.com/products/mockups&lt;/a&gt;). Cette application développée en &lt;em&gt;Adobe Air&lt;/em&gt; (et donc compatible avec toutes les plateformes classiques telles &lt;a href="http://www.calexo.net/tag/linux"&gt;Linux&lt;/a&gt;, &lt;a href="http://www.calexo.net/tag/Microsoft"&gt;Windows&lt;/a&gt; et &lt;a href="http://www.calexo.net/tag/Apple"&gt;Mac&lt;/a&gt;), permet de réaliser &lt;strong&gt;très simplement&lt;/strong&gt; ces &lt;a href="http://www.calexo.net/tag/wireframe"&gt;Wireframes&lt;/a&gt;, grâce à une bibliothèque d'objet restreinte, mais suffisante pour ce genre de schémas.&lt;br /&gt;
Voici un exemple réalisé avec ce logiciel, pour un projet en cours (dont je ne manquerai pas de vous parler), qui illustrera en même temps ce que peut être un &lt;a href="http://www.calexo.net/tag/wireframe"&gt;Wireframe&lt;/a&gt; :&lt;br /&gt;
&lt;a href="http://www.calexo.net/public/Wireframe_AT2.gif"&gt;&lt;img src="http://www.calexo.net/public/.Wireframe_AT2_m.jpg" alt="Wireframe - Balsamiq Mockups" style="display:block; margin:0 auto;" title="Wireframe - Balsamiq Mockups, août 2009" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;

&lt;div align="center"&gt;&lt;i&gt;(Cliquez pour agrandir)&lt;/i&gt;&lt;/div&gt;



&lt;p&gt;Cet outil est &lt;strong&gt;cependant payant&lt;/strong&gt; (79$, tout de même). Mais vous pouvez le &lt;strong&gt;tester gratuitement&lt;/strong&gt;. L'enregistrement est alors désactivé. Mais vous avez accès à l'export et à l'import de vos &lt;a href="http://www.calexo.net/tag/wireframe"&gt;Wireframes&lt;/a&gt;. Du coup, vous pouvez le &lt;strong&gt;tester réellement sur un projet&lt;/strong&gt;, avant de vous décider à payer la version complète. Amis blogueurs, sachez que vous pouvez avoir une &lt;strong&gt;version gratuite&lt;/strong&gt;&amp;nbsp;! Plus d'info sur la page de téléchargement du produit.&lt;/p&gt;


&lt;h2&gt;Pour poursuivre&lt;/h2&gt;


&lt;p&gt;A noter que rien n'empêche d'utiliser cette technique pour développer des interfaces &lt;strong&gt;autres que Web&lt;/strong&gt;. Balsamiq Mockups intègre d'ailleurs des éléments pour &lt;em&gt;iPhone&lt;/em&gt;, et tous les éléments permettant de dessiner une interface &lt;em&gt;Desktop&lt;/em&gt; sont présents.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;A lire :&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://delicious.com/calexo/wireframe"&gt;Mes liens concernant le Wireframe sur Delicious&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://legizz.com/wireframe-a-toutes-les-sauces.html"&gt;WireFrame à toutes les sauces…&lt;/a&gt; par LeGizz&lt;/li&gt;
&lt;li&gt;&lt;a href="http://fr.wikipedia.org/wiki/Wireframe_Webdesign"&gt;Article Wikipedia&lt;/a&gt; que j'ai initié&lt;/li&gt;
&lt;/ul&gt;      	  
	   
      &lt;p&gt; &lt;i&gt; Cet article original est publié sur &lt;a href="http://www.calexo.net"&gt;http://www.calexo.net&lt;/a&gt;. Toute reproduction, meme partielle, est interdite sans l'autorisation explicite de son auteur. &lt;/i&gt; &lt;/p&gt;

    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=zvBVSCTrqwQ:zoklNTZMF5k:rfYFGETz4uk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=rfYFGETz4uk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=zvBVSCTrqwQ:zoklNTZMF5k:JwF4sU492aU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=JwF4sU492aU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=zvBVSCTrqwQ:zoklNTZMF5k:EsX4JAobb80"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=EsX4JAobb80" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/CalexoNet/~4/zvBVSCTrqwQ" height="1" width="1"/&gt;</content>
    
          <wfw:comment>http://www.calexo.net/post/2009_08_18/Wireframe-croquis-zoning-maquette-web-design#comment-form</wfw:comment>
      <wfw:commentRss>http://www.calexo.net/feed/atom/comments/55</wfw:commentRss>
      <feedburner:origLink>http://www.calexo.net/post/2009_08_18/Wireframe-croquis-zoning-maquette-web-design</feedburner:origLink></entry>
    
  <entry>
    <title>Migration Confluence vers MediaWiki grâce à Talend - Partie 6/6</title>
    <link href="http://feedproxy.google.com/~r/CalexoNet/~3/AE8pjPQnUJ0/Migration-Confluence-MediaWiki-Talend-6" rel="alternate" type="text/html" title="Migration Confluence vers MediaWiki grâce à Talend - Partie 6/6" />
    <id>urn:md5:54efcb1e348d0f1020a2dcb1c71a64b8</id>
    <updated>2009-07-21T08:43:00+02:00</updated>
    <author><name>Calexo</name></author>
        <dc:subject>Java</dc:subject>
        <dc:subject>apache</dc:subject><dc:subject>Java</dc:subject><dc:subject>migration</dc:subject><dc:subject>PHP</dc:subject><dc:subject>Wiki</dc:subject><dc:subject>XML</dc:subject>    
    <content type="html">

      
      	   &lt;p&gt;&lt;img src="http://www.calexo.net/public/Talend/logoc2m.png" alt="Talend - Logo C2M" title="Talend - Logo C2M, juil. 2009" /&gt;&lt;/p&gt;


&lt;h2&gt;Fusion et import dans MediaWiki&lt;/h2&gt;

&lt;h3&gt;Fusion vers un unique fichier XML&lt;/h3&gt;

&lt;p&gt;&lt;img src="http://www.calexo.net/public/Talend/c2m_fusion.png" alt="Talend - Flux - Fusion" style="display:block; margin:0 auto;" title="Talend - Flux - Fusion, juil. 2009" /&gt;
&lt;strong&gt;Fig. 9&amp;nbsp;: Fusion des flux&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;Toutes nos pages du futur &lt;a href="http://www.calexo.net/tag/Wiki"&gt;Wiki&lt;/a&gt; sont désormais &lt;strong&gt;générées&lt;/strong&gt;&amp;nbsp;! Nous n'avons plus qu'à &lt;strong&gt;fusionner&lt;/strong&gt; les 4 sources vers un seul fichier &lt;a href="http://www.calexo.net/tag/XML"&gt;XML&lt;/a&gt;, que nous importerons dans &lt;strong&gt;MediaWiki&lt;/strong&gt;. Pour cela, il suffit de créer un composant &lt;em&gt;tUnite&lt;/em&gt;, et de rediriger les sorties des 4  &lt;em&gt;tAdvancedFileOutputXML&lt;/em&gt; vers l'entrée de celui-ci. Si tous les schémas sont bien identiques (et ils devraient l'être), vous n'aurez aucun soucis. La sortie de ce &lt;em&gt;composant&lt;/em&gt; doit enfin être dirigée vers un... &lt;em&gt;tAdvancedFileOutputXML&lt;/em&gt;&amp;nbsp;! &lt;strong&gt;Ce dernier composant de la chaîne génèrera le fichier&lt;/strong&gt; que nous intégrerons dans une installation propre de &lt;strong&gt;MediaWiki&lt;/strong&gt;.&lt;/p&gt;


&lt;h3&gt;Import dans MediaWiki&lt;/h3&gt;

&lt;p&gt;Voici la procédure, relativement simple (les difficultés sont bien derrière nous !), pour importer notre fichier &lt;a href="http://www.calexo.net/tag/XML"&gt;XML&lt;/a&gt; dans &lt;strong&gt;MediaWiki&lt;/strong&gt;.&lt;br /&gt;
Tout d'abord, &lt;a href="http://www.mediawiki.org/wiki/Installation/fr"&gt;installez MediaWiki&lt;/a&gt;.&lt;br /&gt;
Il suffit en fait de télécharger, décompresser, et paramétrer votre serveur Web (&lt;a href="http://www.calexo.net/tag/apache"&gt;Apache&lt;/a&gt; ou autre, du moment qu'il y a &lt;a href="http://www.calexo.net/tag/PHP"&gt;PHP&lt;/a&gt;). Connectez vous à l'URL que vous avez choisi, et l'installateur se charge du reste !&lt;br /&gt;
Ensuite, sur votre serveur (&lt;a href="http://www.calexo.net/tag/Linux"&gt;Linux&lt;/a&gt; ou &lt;a href="http://www.calexo.net/tag/Microsoft"&gt;Windows&lt;/a&gt;, la procédure est la même), positionnez vous dans le répertoire d'installation. Puis, si &lt;a href="http://www.calexo.net/tag/PHP"&gt;PHP&lt;/a&gt; est bien dans le &lt;em&gt;Path&lt;/em&gt;&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;php maintenance\importDump.php &amp;lt; chemin/fichierxmlgenere.xml
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Importe&lt;/strong&gt; le fichier généré. Modifiez bien entendu le &lt;strong&gt;chemin&lt;/strong&gt; en fonction de l'emplacement et du nom du fichier généré par &lt;strong&gt;Talend&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;php maintenance\initStats.php –update
&lt;ul&gt;
&lt;li&gt;Permet de recalculer les différentes statistiques suite à l'import&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;cd maintenance&lt;/li&gt;
&lt;li&gt;php refreshLinks.php
&lt;ul&gt;
&lt;li&gt;Permet de recalculer les liens qui doivent apparaître en rouge (à créer) ou non.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;php rebuildtextindex.php
&lt;ul&gt;
&lt;li&gt;Permet de rafraichir l'index sur lequel se base le moteur de recherche de &lt;strong&gt;MediaWiki&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;php rebuildrecentchanges.php
&lt;ul&gt;
&lt;li&gt;Reconstruit la page spéciale des changements récents&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Et voilà&amp;nbsp;! Rendez-vous, avec votre navigateur préféré, sur l'URL de votre &lt;a href="http://www.calexo.net/tag/Wiki"&gt;Wiki&lt;/a&gt;, et vous découvrirez une &lt;strong&gt;magnifique page d'&lt;a href="http://www.calexo.net/post/2009_07_16/Migration-Confluence-MediaWiki-Talend-3"&gt;accueil&lt;/a&gt;&lt;/strong&gt; vous menant aux différentes &lt;em&gt;catégories&lt;/em&gt; qui correspondaient aux &lt;em&gt;Espaces&lt;/em&gt; de &lt;strong&gt;Confluence&lt;/strong&gt;. Plus qu'à « débrancher » &lt;strong&gt;Confluence&lt;/strong&gt; de votre serveur web, afin de ne pas oublier que vous travaillez désormais sur le puissant et libre &lt;strong&gt;MediaWiki&lt;/strong&gt;&amp;nbsp;!&lt;/p&gt;



&lt;h2&gt;Conclusion&lt;/h2&gt;

&lt;h3&gt;Astuces&lt;/h3&gt;

&lt;p&gt;Avant de lancer l'import, je vous conseille de &lt;strong&gt;sauvegarder la base de données de MediaWiki&lt;/strong&gt;. Ainsi, si un problème de migration est détecté, vous n'avez qu'à &lt;strong&gt;restaurer&lt;/strong&gt; cette base « vierge », et relancer l'import après avoir corrigé votre &lt;em&gt;Job&lt;/em&gt; &lt;strong&gt;Talend&lt;/strong&gt;.&lt;br /&gt;
Dans le même ordre d'idée, une fois l'import réalisé, je vous conseille de bien &lt;strong&gt;vérifier que tout s'est bien passé&lt;/strong&gt;, avant de commencer à modifier et personnaliser votre nouveau &lt;a href="http://www.calexo.net/tag/Wiki"&gt;Wiki&lt;/a&gt;. Car &lt;strong&gt;toute modification sera écrasée&lt;/strong&gt; si vous avez à relancer une &lt;a href="http://www.calexo.net/tag/migration"&gt;migration&lt;/a&gt;.&lt;/p&gt;


&lt;h3&gt;Atlassian Confluence&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;La version utilisée pour ce dossier est la 2.4.5.&lt;/li&gt;
&lt;li&gt;Ce produit très complet est édité par &lt;a href="http://www.atlassian.com/software/confluence/" hreflang="en"&gt;Atlassian&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Il est gratuit pour une utilisation personnelle. Cependant les mises à jour semblent difficiles lorsque la licence a expiré...&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;MediaWiki&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Pour aller plus loin dans cette application de Wiki, vous pouvez consulter &lt;a href="http://www.mediawiki.org/wiki/MediaWiki/fr" hreflang="fr"&gt;leur site&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Talend Open Studio&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;La version utilisée pour ce dossier est la v3.0.2 pour Windows.&lt;/li&gt;
&lt;li&gt;Vous pouvez suivre Talend sur &lt;a href="http://www.calexo.net/post/2009_05_25/Twitter-mise-en-place-compl%C3%A8te" hreflang="en"&gt;Twitter&lt;/a&gt;&amp;nbsp;: &lt;a href="http://www.twitter.com/talend" hreflang="en"&gt;@talend&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Plus d'informations sur &lt;a href="http://fr.talend.com/" hreflang="fr"&gt;leur site&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Talend Open Studio est un produit open-source, et &lt;strong&gt;gratuit&lt;/strong&gt;. Seules les fonctionnalités avancées (temps réel, gros volume, monitoring de tâches, etc...) sont &lt;strong&gt;payantes&lt;/strong&gt;, via notamment une version Premium. Ce type de licence est appelé &lt;em&gt;Open Core&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Enfin&lt;/h3&gt;

&lt;p&gt;Si ce dossier vous a intéressé, voire si vous avez vous aussi mené une &lt;a href="http://www.calexo.net/tag/migration"&gt;migration&lt;/a&gt; grâce à ces articles, ou s'il vous a été utile d'une quelconque manière, n'hésitez pas à partager lien, et à parler de &lt;a href="http://www.calexo.net/"&gt;mon Blog&lt;/a&gt; :&lt;br /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;http://www.calexo.net/post/2009_07_13/Migration-Confluence-MediaWiki-Talend-1&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;VOIR AUSSI&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Articles précédents&amp;nbsp;:
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.calexo.net/post/2009_07_13/Migration-Confluence-MediaWiki-Talend-1"&gt;Migration Confluence vers MediaWiki grâce à Talend - Partie 1/6&lt;/a&gt; (Présentation du projet, Présentation de Talend, Principe de la migration)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.calexo.net/post/2009_07_15/Migration-Confluence-MediaWiki-Talend-2"&gt;Migration Confluence vers MediaWiki grâce à Talend - Partie 2/6&lt;/a&gt; (Flux des pages)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.calexo.net/post/2009_07_16/Migration-Confluence-MediaWiki-Talend-3"&gt;Migration Confluence vers MediaWiki grâce à Talend - Partie 3/6&lt;/a&gt; (Flux de création de la page d'Accueil)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.calexo.net/post/2009_07_17/Migration-Confluence-MediaWiki-Talend-4"&gt;Migration Confluence vers MediaWiki grâce à Talend - Partie 4/6&lt;/a&gt; (Flux de création des modèles d'Espace)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.calexo.net/post/2009_07_20/Migration-Confluence-MediaWiki-Talend-5"&gt;Migration Confluence vers MediaWiki grâce à Talend - Partie 5/6&lt;/a&gt; (Flux de création des Catégories)&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Document PDF&lt;/strong&gt; reprenant les 6 articles, à &lt;strong&gt;télécharger et distribuer librement&lt;/strong&gt; ci-dessous, en Annexe.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Fin du dossier !&lt;/strong&gt;&lt;/p&gt;      	  
	   
      &lt;p&gt; &lt;i&gt; Cet article original est publié sur &lt;a href="http://www.calexo.net"&gt;http://www.calexo.net&lt;/a&gt;. Toute reproduction, meme partielle, est interdite sans l'autorisation explicite de son auteur. &lt;/i&gt; &lt;/p&gt;

    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=AE8pjPQnUJ0:o6XEIw_FI-A:rfYFGETz4uk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=rfYFGETz4uk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=AE8pjPQnUJ0:o6XEIw_FI-A:JwF4sU492aU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=JwF4sU492aU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=AE8pjPQnUJ0:o6XEIw_FI-A:EsX4JAobb80"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=EsX4JAobb80" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/CalexoNet/~4/AE8pjPQnUJ0" height="1" width="1"/&gt;</content>
    
          <wfw:comment>http://www.calexo.net/post/2009_07_21/Migration-Confluence-MediaWiki-Talend-6#comment-form</wfw:comment>
      <wfw:commentRss>http://www.calexo.net/feed/atom/comments/63</wfw:commentRss>
      <feedburner:origLink>http://www.calexo.net/post/2009_07_21/Migration-Confluence-MediaWiki-Talend-6</feedburner:origLink></entry>
    
  <entry>
    <title>Migration Confluence vers MediaWiki grâce à Talend - Partie 5/6</title>
    <link href="http://feedproxy.google.com/~r/CalexoNet/~3/KwVwRgzK_MI/Migration-Confluence-MediaWiki-Talend-5" rel="alternate" type="text/html" title="Migration Confluence vers MediaWiki grâce à Talend - Partie 5/6" />
    <id>urn:md5:2a158825df8c54d0b6b39bff14e1b229</id>
    <updated>2009-07-20T08:27:00+02:00</updated>
    <author><name>Calexo</name></author>
        <dc:subject>Java</dc:subject>
        <dc:subject>Java</dc:subject><dc:subject>migration</dc:subject><dc:subject>Wiki</dc:subject><dc:subject>XML</dc:subject>    
    <content type="html">

      
      	   &lt;p&gt;&lt;img src="http://www.calexo.net/public/Talend/logoc2m.png" alt="Talend - Logo C2M" title="Talend - Logo C2M, juil. 2009" /&gt;&lt;/p&gt;


&lt;h2&gt;Flux de création des Catégories&lt;/h2&gt;


&lt;p&gt;&lt;img src="http://www.calexo.net/public/Talend/c2m_flux4.png" alt="Talend - Flux 4 - Catégories" style="display:block; margin:0 auto;" title="Talend - Flux 4 - Catégories, juil. 2009" /&gt;
&lt;strong&gt;Fig. 8&amp;nbsp;: Flux&amp;nbsp;: Catégories&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;Voyons enfin comment &lt;strong&gt;récupérer les &lt;em&gt;Labels&lt;/em&gt;&lt;/strong&gt; de &lt;strong&gt;Confluence&lt;/strong&gt;.&lt;/p&gt;


&lt;p&gt;La requête source est la suivante&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
&amp;quot;SELECT DISTINCT LABEL.NAME, SPACES.SPACEKEY
FROM SPACES, BODYCONTENT, CONTENT,LABEL, CONTENT_LABEL
WHERE CONTENT_LABEL.LABELID = LABEL.LABELID
AND CONTENT_LABEL.CONTENTID = CONTENT.CONTENTID
AND SPACES.SPACEID = CONTENT.SPACEID
AND CONTENT.CONTENTTYPE =  'PAGE'
AND CONTENT.CONTENTID = BODYCONTENT.CONTENTID
ORDER BY LABEL.NAME&amp;quot;
&lt;/pre&gt;


&lt;p&gt;Et le code du &lt;em&gt;tJavaRow&lt;/em&gt;&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
// KO sur label sur plusieurs space
// Seule la première version est importée...
if (!input_row.NAME.equals(globalMap.get(&amp;quot;label_space&amp;quot;)))
	output_row.body=&amp;quot;&amp;quot;;
globalMap.put(&amp;quot;label_space&amp;quot;,input_row.NAME);
output_row.title = &amp;quot;Catégorie:&amp;quot;+input_row.NAME;
output_row.id = 1;
output_row.body+= &amp;quot;[[Catégorie:&amp;quot;+input_row.SPACEKEY+&amp;quot;]]\n&amp;quot;;
output_row.revisionid = Numeric.sequence(&amp;quot;revid&amp;quot;,100,1);
&lt;/pre&gt;


&lt;p&gt;Comme indiqué en commentaires, &lt;strong&gt;chaque &lt;em&gt;étiquette&lt;/em&gt;&lt;/strong&gt; (devenue sous-catégorie) &lt;strong&gt;n'est attaché qu'à une seule catégorie principale&lt;/strong&gt;. Cela me suffisait. Si vous avez développé un bout de code pour aller plus loin que ça, n'hésitez pas à m'en faire part, en &lt;a href="http://www.calexo.net/contact"&gt;me contactant directement&lt;/a&gt; ou en commentaire de cet article !&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;Cela permet d'avoir &lt;strong&gt;toutes les &lt;em&gt;catégories&lt;/em&gt; sous la &lt;em&gt;catégorie&lt;/em&gt; principale&lt;/strong&gt;, et d'avoir &lt;strong&gt;une page déjà créée&lt;/strong&gt; pour chacune des &lt;em&gt;catégories&lt;/em&gt;.&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;Enfin, le flux issu du &lt;em&gt;tJavaRow&lt;/em&gt; est enregistré dans un fichier &lt;a href="http://www.calexo.net/tag/XML"&gt;XML&lt;/a&gt; via le classique &lt;em&gt;tAdvancedFileOutputXML&lt;/em&gt;.&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;&lt;em&gt;VOIR AUSSI&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Articles précédents&amp;nbsp;:
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.calexo.net/post/2009_07_13/Migration-Confluence-MediaWiki-Talend-1"&gt;Migration Confluence vers MediaWiki grâce à Talend - Partie 1/6&lt;/a&gt; (Présentation du projet, Présentation de Talend, Principe de la migration)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.calexo.net/post/2009_07_15/Migration-Confluence-MediaWiki-Talend-2"&gt;Migration Confluence vers MediaWiki grâce à Talend - Partie 2/6&lt;/a&gt; (Flux des pages)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.calexo.net/post/2009_07_16/Migration-Confluence-MediaWiki-Talend-3"&gt;Migration Confluence vers MediaWiki grâce à Talend - Partie 3/6&lt;/a&gt; (Flux de création de la page d'Accueil)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.calexo.net/post/2009_07_17/Migration-Confluence-MediaWiki-Talend-4"&gt;Migration Confluence vers MediaWiki grâce à Talend - Partie 4/6&lt;/a&gt; (Flux de création des modèles d'Espace)&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;La suite, avec la &lt;a href="http://www.calexo.net/post/2009_07_21/Migration-Confluence-MediaWiki-Talend-6"&gt;Fusion et import dans MediaWiki et la Conclusion&lt;/a&gt;&lt;del&gt;, ce mardi 21&lt;/del&gt; !&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;      	  
	   
      &lt;p&gt; &lt;i&gt; Cet article original est publié sur &lt;a href="http://www.calexo.net"&gt;http://www.calexo.net&lt;/a&gt;. Toute reproduction, meme partielle, est interdite sans l'autorisation explicite de son auteur. &lt;/i&gt; &lt;/p&gt;

    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=KwVwRgzK_MI:wNQmBB0Rsoo:rfYFGETz4uk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=rfYFGETz4uk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=KwVwRgzK_MI:wNQmBB0Rsoo:JwF4sU492aU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=JwF4sU492aU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=KwVwRgzK_MI:wNQmBB0Rsoo:EsX4JAobb80"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=EsX4JAobb80" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/CalexoNet/~4/KwVwRgzK_MI" height="1" width="1"/&gt;</content>
    
          <wfw:comment>http://www.calexo.net/post/2009_07_20/Migration-Confluence-MediaWiki-Talend-5#comment-form</wfw:comment>
      <wfw:commentRss>http://www.calexo.net/feed/atom/comments/61</wfw:commentRss>
      <feedburner:origLink>http://www.calexo.net/post/2009_07_20/Migration-Confluence-MediaWiki-Talend-5</feedburner:origLink></entry>
    
  <entry>
    <title>Migration Confluence vers MediaWiki grâce à Talend - Partie 4/6</title>
    <link href="http://feedproxy.google.com/~r/CalexoNet/~3/EAB3uCBZWnk/Migration-Confluence-MediaWiki-Talend-4" rel="alternate" type="text/html" title="Migration Confluence vers MediaWiki grâce à Talend - Partie 4/6" />
    <id>urn:md5:5c669c1d19fa4548b9bc91787d4d4087</id>
    <updated>2009-07-17T08:10:00+02:00</updated>
    <author><name>Calexo</name></author>
        <dc:subject>Java</dc:subject>
        <dc:subject>Java</dc:subject><dc:subject>migration</dc:subject><dc:subject>Wiki</dc:subject><dc:subject>XML</dc:subject>    
    <content type="html">

      
      	   &lt;p&gt;&lt;img src="http://www.calexo.net/public/Talend/logoc2m.png" alt="Talend - Logo C2M" title="Talend - Logo C2M, juil. 2009" /&gt;&lt;/p&gt;


&lt;h2&gt;Flux de création des modèles d'Espace&lt;/h2&gt;

&lt;p&gt;&lt;img src="http://www.calexo.net/public/Talend/c2m_flux3.png" alt="Talend - Flux 3 - Espaces" style="display:block; margin:0 auto;" title="Talend - Flux 3 - Espaces, juil. 2009" /&gt;
&lt;strong&gt;Fig. 7&amp;nbsp;: Flux&amp;nbsp;: Espaces&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;Afin que toutes les pages issues d'un même &lt;em&gt;Espace&lt;/em&gt; sur &lt;strong&gt;Confluence&lt;/strong&gt; aient le même en-tête dans &lt;strong&gt;MediaWiki&lt;/strong&gt;, j'ai &lt;strong&gt;généré des modèles&lt;/strong&gt; pour chacun de ces &lt;em&gt;Espaces&lt;/em&gt;.&lt;br /&gt;
Le &lt;a href="http://www.calexo.net/post/2009_07_15/Migration-Confluence-MediaWiki-Talend-2"&gt;1er flux&lt;/a&gt; s'est quant à lui occupé d'ajouter la balise d'inclusion de modèle &lt;em&gt;&lt;q&gt;nom_espace&lt;/q&gt;&lt;/em&gt; au début de chaque page.&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;J'ai donc utilisé la &lt;a href="http://www.calexo.net/post/2009_07_15/Migration-Confluence-MediaWiki-Talend-2"&gt;même requête&lt;/a&gt; que ce 2e flux pour avoir la liste des &lt;em&gt;espaces&lt;/em&gt;, et pour chacun d'eux, un &lt;em&gt;tJavaRow&lt;/em&gt; génère une page&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;
output_row.title = &amp;quot;Modèle:&amp;quot;+input_row.SPACEKEY;
output_row.id = 1;
output_row.body = &amp;quot;'''Espace''' : ''&amp;quot;+input_row.SPACENAME +&amp;quot;'' ([[:Catégorie:&amp;quot;+input_row.SPACEKEY+&amp;quot;]])\n&amp;quot;;
output_row.body+=&amp;quot;&amp;lt;includeonly&amp;gt;[[Catégorie:&amp;quot;+input_row.SPACEKEY+&amp;quot;]]&amp;lt;/includeonly&amp;gt;\n&amp;quot;;
output_row.revisionid = Numeric.sequence(&amp;quot;revid&amp;quot;,100,1);
&lt;/pre&gt;


&lt;p&gt;&lt;em&gt;Note&lt;/em&gt;&amp;nbsp;: Mettre la &lt;em&gt;catégorie&lt;/em&gt; dans la balise &lt;em&gt;&amp;lt;includeonly&amp;gt;&lt;/em&gt; permet de ne pas affecter le &lt;em&gt;modèle&lt;/em&gt; lui même à la &lt;em&gt;catégorie&lt;/em&gt;, mais d'affecter les pages qui l'incluent.&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;Une autre solution est de créer un « modèle de modèle » d&lt;em&gt;'Espace&lt;/em&gt;... Le code serait alors&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;
output_row.title = &amp;quot;Modèle:&amp;quot;+input_row.SPACEKEY;
output_row.id = 1;
output_row.body = &amp;quot;{{espace|&amp;quot;+input_row.SPACENAME+&amp;quot;|&amp;quot;+input_row.SPACEKEY+&amp;quot;}}\n&amp;quot;;
output_row.revisionid = Numeric.sequence(&amp;quot;revid&amp;quot;,100,1);
&lt;/pre&gt;


&lt;p&gt;Vous n'aurez plus qu'à &lt;strong&gt;créer manuellement&lt;/strong&gt; un modèle dans &lt;strong&gt;MediaWiki&lt;/strong&gt; nommé « &lt;em&gt;espace &lt;/em&gt;», après la migration, contenant par exemple :&lt;br /&gt;&lt;/p&gt;

&lt;pre&gt;
'''Espace''' : {{{1}}} ([[:Catégorie:{{{2}}}]]
&amp;lt;includeonly&amp;gt;[[Catégorie:{{{2}}}]]&amp;lt;/includeonly&amp;gt;
&lt;/pre&gt;


&lt;p&gt;Comme d'habitude, le flux issu du &lt;em&gt;tJavaRow&lt;/em&gt; est enregistré dans un fichier &lt;a href="http://www.calexo.net/tag/XML"&gt;XML&lt;/a&gt; via le désormais connu &lt;em&gt;tAdvancedFileOutputXML&lt;/em&gt;.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;&lt;em&gt;VOIR AUSSI&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Articles précédents&amp;nbsp;:
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.calexo.net/post/2009_07_13/Migration-Confluence-MediaWiki-Talend-1"&gt;Migration Confluence vers MediaWiki grâce à Talend - Partie 1/6&lt;/a&gt; (Présentation du projet, Présentation de Talend, Principe de la migration)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.calexo.net/post/2009_07_15/Migration-Confluence-MediaWiki-Talend-2"&gt;Migration Confluence vers MediaWiki grâce à Talend - Partie 2/6&lt;/a&gt; (Flux des pages)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.calexo.net/post/2009_07_16/Migration-Confluence-MediaWiki-Talend-3"&gt;Migration Confluence vers MediaWiki grâce à Talend - Partie 3/6&lt;/a&gt; (Flux de création de la page d'Accueil)&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;La suite, avec le &lt;a href="http://www.calexo.net/post/2009_07_20/Migration-Confluence-MediaWiki-Talend-5"&gt;Flux de création des Catégories&lt;/a&gt;&lt;del&gt;, ce lundi 20&lt;/del&gt; !&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;      	  
	   
      &lt;p&gt; &lt;i&gt; Cet article original est publié sur &lt;a href="http://www.calexo.net"&gt;http://www.calexo.net&lt;/a&gt;. Toute reproduction, meme partielle, est interdite sans l'autorisation explicite de son auteur. &lt;/i&gt; &lt;/p&gt;

    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=EAB3uCBZWnk:LbdvLc7Q9u8:rfYFGETz4uk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=rfYFGETz4uk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=EAB3uCBZWnk:LbdvLc7Q9u8:JwF4sU492aU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=JwF4sU492aU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=EAB3uCBZWnk:LbdvLc7Q9u8:EsX4JAobb80"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=EsX4JAobb80" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/CalexoNet/~4/EAB3uCBZWnk" height="1" width="1"/&gt;</content>
    
          <wfw:comment>http://www.calexo.net/post/2009_07_17/Migration-Confluence-MediaWiki-Talend-4#comment-form</wfw:comment>
      <wfw:commentRss>http://www.calexo.net/feed/atom/comments/60</wfw:commentRss>
      <feedburner:origLink>http://www.calexo.net/post/2009_07_17/Migration-Confluence-MediaWiki-Talend-4</feedburner:origLink></entry>
    
  <entry>
    <title>Migration Confluence vers MediaWiki grâce à Talend - Partie 3/6</title>
    <link href="http://feedproxy.google.com/~r/CalexoNet/~3/PiFEpMjxvu8/Migration-Confluence-MediaWiki-Talend-3" rel="alternate" type="text/html" title="Migration Confluence vers MediaWiki grâce à Talend - Partie 3/6" />
    <id>urn:md5:45659458044440b484b3cf472076ab15</id>
    <updated>2009-07-16T08:37:00+02:00</updated>
    <author><name>Calexo</name></author>
        <dc:subject>Java</dc:subject>
            
    <content type="html">

      
      	   &lt;p&gt;&lt;img src="http://www.calexo.net/public/Talend/logoc2m.png" alt="Talend - Logo C2M" title="Talend - Logo C2M, juil. 2009" /&gt;&lt;/p&gt;


&lt;h2&gt;Flux de création de la page d'Accueil&lt;/h2&gt;


&lt;p&gt;Afin de créer une page d'Accueil qui donne accès à la page de chaque Espace (devenu Catégorie), je me suis lancé dans la partie finalement la plus compliquée de cette migration. Au moins au niveau du Job Talend.
Si vous n'avez pas beaucoup d'Espaces, il est en fait bien plus rapide de le faire à la main&amp;nbsp;! Sinon, ou bien si vous voulez explorer Talend, allons-y&amp;nbsp;!
&lt;img src="http://www.calexo.net/public/Talend/c2m_flux2.png" alt="Talend - Flux 2 - Espaces" style="display:block; margin:0 auto;" title="Talend - Flux 2 - Espaces, juil. 2009" /&gt;
&lt;strong&gt;Fig. 5&amp;nbsp;: Flux&amp;nbsp;: Page d'Accueil&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;On repart donc d'un composant tMysqlInput, permettant de récupérer la liste des Espaces&amp;nbsp;:
"select SPACES.SPACENAME,SPACES.SPACEKEY,CONTENT.TITLE
from SPACES,CONTENT
where SPACES.HOMEPAGE=CONTENT.CONTENTID"&lt;/p&gt;



&lt;p&gt;Comme dans le flux précédent, on fait correspondre le résultat de la requête au format d'import de MediaWiki, via un tMap. La liste des Espaces est ensuite triée par ordre alphabétique, via un tSortRow.
&lt;a href="http://www.calexo.net/public/Talend/c2m_Map1.png"&gt;&lt;img src="http://www.calexo.net/public/Talend/.c2m_Map1_m.jpg" alt="Talend - Flux 1 - Pages - Map" style="display:block; margin:0 auto;" title="Talend - Flux 1 - Pages - Map, juil. 2009" /&gt;&lt;/a&gt;
&lt;strong&gt;Fig. 6&amp;nbsp;: Map entre la requête issue de Confluence et la structure de MediaWiki&amp;nbsp;: Espaces&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;Un petit composant tJavaRow (qui permet de traiter chaque ligne par du code Java) permet de concaténer dans un champ la liste des Espaces&amp;nbsp;:
output_row.spacename = input_row.spacename;
output_row.revisionid = input_row.revisionid;
output_row.timestamp = input_row.timestamp;
output_row.contrib_username = input_row.contrib_username;
output_row.contrib_id = input_row.contrib_id;
output_row.comment = input_row.comment;
output_row.space = input_row.space;
output_row.id = input_row.id;
output_row.title = "Accueil";
if (output_row.body==null)
output_row.body="";
input_row.spacename+"]]\n";
output_row.body+= "* &lt;a href="http://www.calexo.net/post/2009_07_16/&amp;quot; + input_row.spacename+&amp;quot;"&gt;[:Catégorie:"+input_row.comment+"&lt;/a&gt;]\n";
globalMap.put("lastSpaceId", output_row.revisionid);&lt;/p&gt;


&lt;p&gt;La variable globale 'lastSpaceId' (gérée via un tSetGlobalVar) me permet de garder l'identifiant de la dernière ligne, et ainsi identifier celle qui sera gardée.&lt;/p&gt;


&lt;p&gt;Enfin, on trie (tSortRow) et on filtre (tFilterRow) avec comme condition&amp;nbsp;:
revisionid==(Integer)globalMap.get("lastSpaceId")&lt;/p&gt;


&lt;p&gt;Ce flux, résumé à un seul enregistrement, puisque ne générant qu'une seule page d'Accueil, est ensuite enregistré dans un fichier XML au format d'import de MediaWiki grâce au composant tAdvancedFileOutputXML.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;&lt;em&gt;VOIR AUSSI&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Articles précédents&amp;nbsp;:
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.calexo.net/post/2009_07_13/Migration-Confluence-MediaWiki-Talend-1"&gt;Migration Confluence vers MediaWiki grâce à Talend - Partie 1/6&lt;/a&gt; (Présentation du projet, Présentation de Talend, Principe de la migration)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.calexo.net/post/2009_07_15/Migration-Confluence-MediaWiki-Talend-2"&gt;Migration Confluence vers MediaWiki grâce à Talend - Partie 2/6&lt;/a&gt; (Flux des pages)&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;La suite, avec le &lt;a href="http://www.calexo.net/post/2009_07_17/Migration-Confluence-MediaWiki-Talend-4"&gt;Flux de création des modèles d'Espace&lt;/a&gt;&lt;del&gt;, ce vendredi 17&lt;/del&gt; !&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;      	  
	   
      &lt;p&gt; &lt;i&gt; Cet article original est publié sur &lt;a href="http://www.calexo.net"&gt;http://www.calexo.net&lt;/a&gt;. Toute reproduction, meme partielle, est interdite sans l'autorisation explicite de son auteur. &lt;/i&gt; &lt;/p&gt;

    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=PiFEpMjxvu8:3YRD7M-aGPQ:rfYFGETz4uk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=rfYFGETz4uk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=PiFEpMjxvu8:3YRD7M-aGPQ:JwF4sU492aU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=JwF4sU492aU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=PiFEpMjxvu8:3YRD7M-aGPQ:EsX4JAobb80"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=EsX4JAobb80" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/CalexoNet/~4/PiFEpMjxvu8" height="1" width="1"/&gt;</content>
    
          <wfw:comment>http://www.calexo.net/post/2009_07_16/Migration-Confluence-MediaWiki-Talend-3#comment-form</wfw:comment>
      <wfw:commentRss>http://www.calexo.net/feed/atom/comments/62</wfw:commentRss>
      <feedburner:origLink>http://www.calexo.net/post/2009_07_16/Migration-Confluence-MediaWiki-Talend-3</feedburner:origLink></entry>
    
  <entry>
    <title>Migration Confluence vers MediaWiki grâce à Talend - Partie 2/6</title>
    <link href="http://feedproxy.google.com/~r/CalexoNet/~3/JDjoqFmx8c4/Migration-Confluence-MediaWiki-Talend-2" rel="alternate" type="text/html" title="Migration Confluence vers MediaWiki grâce à Talend - Partie 2/6" />
    <id>urn:md5:9b48518a3113c7a95b25a80bd007bb01</id>
    <updated>2009-07-15T08:06:00+02:00</updated>
    <author><name>Calexo</name></author>
        <dc:subject>Java</dc:subject>
        <dc:subject>Java</dc:subject><dc:subject>migration</dc:subject><dc:subject>Wiki</dc:subject><dc:subject>XML</dc:subject>    
    <content type="html">

      
      	   &lt;p&gt;&lt;img src="http://www.calexo.net/public/Talend/logoc2m.png" alt="Talend - Logo C2M" title="Talend - Logo C2M, juil. 2009" /&gt;&lt;/p&gt;


&lt;h2&gt;Flux des pages&lt;/h2&gt;

&lt;p&gt;&lt;img src="http://www.calexo.net/public/Talend/c2m_Flux1_Pages.png" alt="Talend - Flux 1 - Pages" style="display:block; margin:0 auto;" title="Talend - Flux 1 - Pages, juil. 2009" /&gt;
&lt;strong&gt;Fig. 2&amp;nbsp;: Flux&amp;nbsp;: Pages&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;Voici la requête (qui commence à en imposer !) qui permet de récupérer les pages, avec leurs labels et leur espace&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;
&amp;quot;SELECT SPACES.SPACEKEY, CONTENT.TITLE, BODYCONTENT.BODY,
GROUP_CONCAT( LABEL.NAME ) as labels,
SPACES.HOMEPAGE,
CONTENT.CONTENTID
FROM SPACES, BODYCONTENT, CONTENT
LEFT JOIN (
LABEL, CONTENT_LABEL
) ON ( CONTENT_LABEL.LABELID = LABEL.LABELID
AND CONTENT_LABEL.CONTENTID = CONTENT.CONTENTID ) 
WHERE SPACES.SPACEID = CONTENT.SPACEID
AND CONTENT.CONTENTTYPE =  'PAGE'
AND CONTENT.CONTENTID = BODYCONTENT.CONTENTID
GROUP BY SPACES.SPACEKEY, CONTENT.TITLE, BODYCONTENT.CONTENTID&amp;quot;
&lt;/pre&gt;


&lt;p&gt;Un composant &lt;em&gt;tJavaRow&lt;/em&gt; permet ensuite d'incorporer les &lt;em&gt;étiquettes&lt;/em&gt; puis l&lt;em&gt;'espace&lt;/em&gt; en ajoutant des balises [[Catégorie]]. Ces dernières font partie du corps de la page dans &lt;strong&gt;MediaWiki&lt;/strong&gt;.&lt;/p&gt;

&lt;pre&gt;
//Code generate accord to input schema and output schmea
output_row.SPACENAME = input_row.SPACEKEY;

// Si la page est la page d'accueil de l'espace Confluence, devient la page de la catégorie
if (input_row.CONTENTID.equals(input_row.HOMEPAGE))
	output_row.TITLE = &amp;quot;Catégorie:&amp;quot;+input_row.SPACEKEY;
else
	output_row.TITLE = input_row.TITLE;
String[] labels={};
output_row.BODY=&amp;quot;&amp;quot;;
if (input_row.labels!=null)
{
	labels = input_row.labels.split(&amp;quot;,&amp;quot;);
	for (int i=0;i&amp;lt;labels.length;i++)
	{
		output_row.BODY+=&amp;quot;[[Catégorie:&amp;quot;+labels[i]+&amp;quot;|&amp;quot;+input_row.TITLE+&amp;quot;]]\n&amp;quot;;
		System.out.println(labels[i] + &amp;quot;;&amp;quot; + output_row.SPACENAME);
	}
}
if (!output_row.TITLE.startsWith(&amp;quot;Catégorie:&amp;quot;))
	output_row.BODY+=&amp;quot;{{&amp;quot;+input_row.SPACEKEY+&amp;quot;}}\n\n&amp;quot;;
output_row.BODY+= input_row.BODY;
&lt;/pre&gt;


&lt;p&gt;Enfin, le contenu exporté est attribué à une &lt;strong&gt;nouvelle structure&lt;/strong&gt;, qui servira de &lt;strong&gt;base à l'export &lt;a href="http://www.calexo.net/tag/XML"&gt;XML&lt;/a&gt;&lt;/strong&gt; :&lt;br /&gt;
&lt;a href="http://www.calexo.net/public/Talend/c2m_Map1.png"&gt;&lt;img src="http://www.calexo.net/public/Talend/.c2m_Map1_m.jpg" alt="Talend - Flux 1 - Pages - Map" style="display:block; margin:0 auto;" title="Talend - Flux 1 - Pages - Map, juil. 2009" /&gt;&lt;/a&gt;
&lt;strong&gt;Fig. 3&amp;nbsp;: Map entre la requête issue de Confluence et la structure de MediaWiki&lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;Le corps (&lt;em&gt;body&lt;/em&gt;) est transformé (&lt;strong&gt;Confluence&lt;/strong&gt; vers &lt;strong&gt;MediaWiki&lt;/strong&gt;) grâce à la fonction&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt; &lt;em&gt;convertBody.convertToMediaWiki(row10.BODY,row10.SPACENAME)&lt;/em&gt;&lt;br /&gt;&lt;/pre&gt;

&lt;p&gt;Cette fonction que j'ai développée permet de &lt;strong&gt;réaliser la transformation&lt;/strong&gt; entre les deux formats de &lt;a href="http://www.calexo.net/tag/Wiki"&gt;Wiki&lt;/a&gt;. Par exemple, c'est ici que « &lt;em&gt;h1. Gros titre&lt;/em&gt; » devient « &lt;em&gt;== Gros titre ==&lt;/em&gt; ».&lt;br /&gt;
Je ne joins pas ce code à ce document, mais vous pouvez &lt;a href="http://www.calexo.net/contact"&gt;me contacter&lt;/a&gt; afin de me le demander, je vous l'enverrai par mail avec plaisir !&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;Enfin, un &lt;em&gt;tAdvancedFileOutputXML&lt;/em&gt; (Waow !) permet d'&lt;strong&gt;enregistrer&lt;/strong&gt; tout ça &lt;strong&gt;dans un fichier&lt;/strong&gt; &lt;a href="http://www.calexo.net/tag/XML"&gt;XML&lt;/a&gt;, dans un format reconnu par &lt;strong&gt;MediaWiki&lt;/strong&gt;&amp;nbsp;! Vous pouvez noter la structure &lt;em&gt;Target&lt;/em&gt;, qui est importante pour que l'import se passe bien.&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;&lt;a href="http://www.calexo.net/public/Talend/c2m_xml1.gif"&gt;&lt;img src="http://www.calexo.net/public/Talend/.c2m_xml1_m.jpg" alt="Talend - Schéma XML" style="display:block; margin:0 auto;" title="Talend - Schéma XML, juil. 2009" /&gt;&lt;/a&gt;
&lt;strong&gt;Fig. 4&amp;nbsp;: Association des données au format MediaWiki avec le format XML d'import&lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;&lt;em&gt;VOIR AUSSI&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Article précédent&amp;nbsp;:
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.calexo.net/post/2009_07_13/Migration-Confluence-MediaWiki-Talend-1"&gt;Migration Confluence vers MediaWiki grâce à Talend - Partie 1/6&lt;/a&gt; (Présentation du projet, Présentation de Talend, Principe de la migration)&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;La suite, avec le &lt;a href="http://www.calexo.net/post/2009_07_16/Migration-Confluence-MediaWiki-Talend-3"&gt;Flux de création de la page d'Accueil&lt;/a&gt;&lt;del&gt;, ce jeudi 16 !&lt;/del&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;      	  
	   
      &lt;p&gt; &lt;i&gt; Cet article original est publié sur &lt;a href="http://www.calexo.net"&gt;http://www.calexo.net&lt;/a&gt;. Toute reproduction, meme partielle, est interdite sans l'autorisation explicite de son auteur. &lt;/i&gt; &lt;/p&gt;

    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=JDjoqFmx8c4:SP7GTTyQiRo:rfYFGETz4uk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=rfYFGETz4uk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=JDjoqFmx8c4:SP7GTTyQiRo:JwF4sU492aU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=JwF4sU492aU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=JDjoqFmx8c4:SP7GTTyQiRo:EsX4JAobb80"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=EsX4JAobb80" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/CalexoNet/~4/JDjoqFmx8c4" height="1" width="1"/&gt;</content>
    
          <wfw:comment>http://www.calexo.net/post/2009_07_15/Migration-Confluence-MediaWiki-Talend-2#comment-form</wfw:comment>
      <wfw:commentRss>http://www.calexo.net/feed/atom/comments/59</wfw:commentRss>
      <feedburner:origLink>http://www.calexo.net/post/2009_07_15/Migration-Confluence-MediaWiki-Talend-2</feedburner:origLink></entry>
    
  <entry>
    <title>Migration Confluence vers MediaWiki grâce à Talend - Partie 1/6</title>
    <link href="http://feedproxy.google.com/~r/CalexoNet/~3/iruFPVMIBJE/Migration-Confluence-MediaWiki-Talend-1" rel="alternate" type="text/html" title="Migration Confluence vers MediaWiki grâce à Talend - Partie 1/6" />
    <id>urn:md5:01420b42ed26da70056e433ec2ed1618</id>
    <updated>2009-07-13T08:45:00+02:00</updated>
    <author><name>Calexo</name></author>
        <dc:subject>Java</dc:subject>
        <dc:subject>Java</dc:subject><dc:subject>migration</dc:subject><dc:subject>mysql</dc:subject><dc:subject>Wiki</dc:subject><dc:subject>XML</dc:subject>    
    <content type="html">

      
      	   &lt;h2&gt;Présentation du projet&lt;/h2&gt;

&lt;p&gt;&lt;img src="http://www.calexo.net/public/Talend/logoc2m.png" alt="Talend - Logo C2M" style="float:right; margin: 0 0 1em 1em;" title="Talend - Logo C2M, juil. 2009" /&gt;
Après avoir longuement utilisé l'application de &lt;a href="http://www.calexo.net/tag/Wiki"&gt;Wiki&lt;/a&gt; &lt;strong&gt;Confluence&lt;/strong&gt;, j'ai décidé de changer, afin de passer à un outil libre. En effet, &lt;strong&gt;Confluence&lt;/strong&gt;, édité par &lt;strong&gt;Atlassian&lt;/strong&gt;, est vraiment &lt;strong&gt;très avancé&lt;/strong&gt;. L'interface est très &lt;strong&gt;intuitive, tout est paramétrable&lt;/strong&gt; en ligne ou presque... Mais on ne peut pas facilement (pas du tout ?) mettre à jour la version gratuite, et la version payante est à un prix qui la réserve aux entreprises... D'autant plus que je n'utilisais ce Wiki que pour la documentation de &lt;a href="http://www.monsponsorweb.com"&gt;Mon Sponsor Web&lt;/a&gt;, ou pour ma base de connaissance technique personnelle...&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;J'ai donc décidé de migrer vers &lt;strong&gt;MediaWiki&lt;/strong&gt;, le moteur de l'encyclopédie collaborative en ligne &lt;a href="http://fr.wikipedia.org/"&gt;Wikipedia&lt;/a&gt;. En effet, malgré son aspect austère, ce Wiki semble &lt;strong&gt;très puissant, extensible, paramétrable&lt;/strong&gt;. Il est même possible de le relooker totalement, et ainsi lui enlever ce côté plus que sobre, si le besoin s'en faisait sentir.&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;Cependant, &lt;strong&gt;je n'ai trouvé aucun outil sur le net permettant de réaliser simplement cette migration&lt;/strong&gt;. J'ai donc retroussé mes manches, et me suis jeté dans un produit de transformation de données (&lt;em&gt;ETL&lt;/em&gt;), l'outil &lt;em&gt;Open Source&lt;/em&gt; &lt;strong&gt;Talend&lt;/strong&gt;. Cet outil est notamment utilisé pour réaliser des &lt;em&gt;Datawarehouse&lt;/em&gt; pour des projets de &lt;a href="http://www.calexo.net/tag/business%20intelligence"&gt;Business Intelligence&lt;/a&gt; (je détaillerai ces notions dans un autre billet), mais est aussi utiliser pour des interfaces (ou connecteurs) temps réel, et pour... des migrations&amp;nbsp;!&lt;/p&gt;


&lt;h2&gt;Présentation de Talend&lt;/h2&gt;


&lt;p&gt;&lt;strong&gt;Talend Open Studio&lt;/strong&gt; est finalement simple, et &lt;strong&gt;facilement paramétrable&lt;/strong&gt;, malgré une &lt;strong&gt;puissance sans limite&lt;/strong&gt;. Si aucun composant ne convient, on peut en écrire, des plus ou moins simple, en &lt;a href="http://www.calexo.net/tag/Java"&gt;Java&lt;/a&gt;.&lt;br /&gt;
Cet outil est en effet entièrement basé sur &lt;a href="http://www.calexo.net/tag/Java"&gt;Java&lt;/a&gt;&amp;nbsp;: &lt;strong&gt;Talend Open Studio&lt;/strong&gt; est basé sur le &lt;em&gt;framework&lt;/em&gt; d'&lt;strong&gt;Eclipse&lt;/strong&gt;, et le but de &lt;strong&gt;Talend&lt;/strong&gt; est finalement de générer un exécutable Java, autonome.&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;Dans &lt;strong&gt;Talend&lt;/strong&gt;, tout tourne autour du &lt;em&gt;Job&lt;/em&gt;. Avec des &lt;em&gt;drag&amp;amp;drop&lt;/em&gt;, et donc de façon graphique et intuitive, on ajoute des briques, les &lt;em&gt;composants&lt;/em&gt;, que l'on relie ensuite. Typiquement, le &lt;em&gt;Job&lt;/em&gt; commence par un &lt;em&gt;composant&lt;/em&gt; de type « source de données » (&lt;em&gt;input&lt;/em&gt;), et se termine par un &lt;em&gt;composant&lt;/em&gt; « sortie de données » (&lt;em&gt;output&lt;/em&gt;), avec des &lt;em&gt;composants&lt;/em&gt; de transformation entre.&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;Dans l'exemple suivant, qui nous servira d'illustration, il y a en fait 4 sources de données (des requêtes &lt;a href="http://www.calexo.net/tag/mysql"&gt;MySql&lt;/a&gt;) se déversant dans un fichier &lt;a href="http://www.calexo.net/tag/XML"&gt;XML&lt;/a&gt;&amp;nbsp;:
&lt;a href="http://www.calexo.net/public/Talend/c2m_talend.gif"&gt;&lt;img src="http://www.calexo.net/public/Talend/.c2m_talend_m.jpg" alt="Talend - Ensemble" style="display:block; margin:0 auto;" title="Talend - Ensemble, juil. 2009" /&gt;&lt;/a&gt;
&lt;strong&gt;Fig. 1&amp;nbsp;: Aperçu de Talend Open Studio&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;Dans les articles suivants, nous étudierons chacun de ces 4 cheminements, qui nous conduiront à réaliser la migration d'un &lt;a href="http://www.calexo.net/tag/Wiki"&gt;Wiki&lt;/a&gt; basé sur &lt;strong&gt;Atlassian Confluence&lt;/strong&gt; vers un &lt;a href="http://www.calexo.net/tag/Wiki"&gt;Wiki&lt;/a&gt; basé sur &lt;strong&gt;MediaWiki&lt;/strong&gt;.&lt;/p&gt;


&lt;h2&gt;Principe de la migration&lt;/h2&gt;


&lt;p&gt;Pour cette migration, j'ai choisi de gérer les &lt;em&gt;espaces&lt;/em&gt; de &lt;strong&gt;Confluence&lt;/strong&gt; comme des &lt;em&gt;catégories&lt;/em&gt; de &lt;strong&gt;MediaWiki&lt;/strong&gt;. Et j'ai également choisi de gérer les &lt;em&gt;labels&lt;/em&gt; ou &lt;em&gt;étiquettes&lt;/em&gt; de &lt;strong&gt;Confluence&lt;/strong&gt; comme des &lt;em&gt;catégories&lt;/em&gt;, ces dernières étant catégorisées dans la &lt;em&gt;catégorie&lt;/em&gt; correspondant à l&lt;em&gt;'espace&lt;/em&gt;.&lt;br /&gt;
Ainsi l'article &lt;a href="http://www.calexo.net/tag/mysql"&gt;MySql&lt;/a&gt; avec les étiquettes &lt;a href="http://www.calexo.net/tag/mysql"&gt;mysql&lt;/a&gt; et serveur de l&lt;em&gt;'espace Admin Serveur&lt;/em&gt; se retrouve dans les &lt;em&gt;catégories&lt;/em&gt; &lt;em&gt;AdminServeur, mysql, et serveur&lt;/em&gt;. Ces deux dernières &lt;em&gt;catégories&lt;/em&gt; sont également dans la &lt;em&gt;catégorie AdminServeur&lt;/em&gt;.&lt;br /&gt;
Ceci étant posé, étudions le &lt;em&gt;Job&lt;/em&gt;.&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;&lt;em&gt;VOIR AUSSI&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;La suite, avec le &lt;a href="http://www.calexo.net/post/2009_07_15/Migration-Confluence-MediaWiki-Talend-2"&gt;Flux des Pages&lt;/a&gt;&lt;/strong&gt; &lt;del&gt;, ce mercredi 15 !&lt;/del&gt;&lt;/li&gt;
&lt;/ul&gt;      	  
	   
      &lt;p&gt; &lt;i&gt; Cet article original est publié sur &lt;a href="http://www.calexo.net"&gt;http://www.calexo.net&lt;/a&gt;. Toute reproduction, meme partielle, est interdite sans l'autorisation explicite de son auteur. &lt;/i&gt; &lt;/p&gt;

    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=iruFPVMIBJE:vST9eOWz4cE:rfYFGETz4uk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=rfYFGETz4uk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=iruFPVMIBJE:vST9eOWz4cE:JwF4sU492aU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=JwF4sU492aU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=iruFPVMIBJE:vST9eOWz4cE:EsX4JAobb80"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=EsX4JAobb80" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/CalexoNet/~4/iruFPVMIBJE" height="1" width="1"/&gt;</content>
    
          <wfw:comment>http://www.calexo.net/post/2009_07_13/Migration-Confluence-MediaWiki-Talend-1#comment-form</wfw:comment>
      <wfw:commentRss>http://www.calexo.net/feed/atom/comments/58</wfw:commentRss>
      <feedburner:origLink>http://www.calexo.net/post/2009_07_13/Migration-Confluence-MediaWiki-Talend-1</feedburner:origLink></entry>
    
  <entry>
    <title>Google accélère ! Sorties de beta, et Google Chrome OS</title>
    <link href="http://feedproxy.google.com/~r/CalexoNet/~3/v78S5vRPTis/Google-accelere-beta-chrome-OS" rel="alternate" type="text/html" title="Google accélère ! Sorties de beta, et Google Chrome OS" />
    <id>urn:md5:9ec298816b7b4e44f26bb49c7d819ee7</id>
    <updated>2009-07-08T07:56:00+02:00</updated>
    <author><name>Calexo</name></author>
        <dc:subject>Blogging et Web2.0</dc:subject>
        <dc:subject>Android</dc:subject><dc:subject>Google</dc:subject><dc:subject>Linux</dc:subject><dc:subject>Microsoft</dc:subject><dc:subject>OS</dc:subject><dc:subject>web2.0</dc:subject>    
    <content type="html">

      
      	   &lt;p&gt;&lt;img src="http://www.calexo.net/public/.googlechrome_s.jpg" alt="Google Chrome" style="float:right; margin: 0 0 1em 1em;" title="Google Chrome" /&gt;
Deux grosses news sur &lt;a href="http://www.calexo.net/tag/Google"&gt;Google&lt;/a&gt; ce matin&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Gmail, &lt;a href="http://www.calexo.net/tag/Google"&gt;Google&lt;/a&gt; Docs, &lt;a href="http://www.calexo.net/tag/Google"&gt;Google&lt;/a&gt; Calendar et &lt;a href="http://www.calexo.net/tag/Google"&gt;Google&lt;/a&gt; Talk &lt;strong&gt;ne sont plus en beta&lt;/strong&gt;&amp;nbsp;!&lt;/li&gt;
&lt;li&gt;L'annonce de &lt;a href="http://www.calexo.net/tag/Google"&gt;Google&lt;/a&gt; Chrome &lt;a href="http://www.calexo.net/tag/OS"&gt;OS&lt;/a&gt;. Google a longtemps essayé de faire taire les rumeurs, mais finalement, elles étaient fondées&amp;nbsp;! C'est donc un tout nouveau &lt;a href="http://www.calexo.net/tag/OS"&gt;système d'exploitation&lt;/a&gt; basé sur un Kernel &lt;a href="http://www.calexo.net/tag/Linux"&gt;Linux&lt;/a&gt; que &lt;a href="http://www.calexo.net/tag/Google"&gt;Google&lt;/a&gt; nous prépare.
&lt;ul&gt;
&lt;li&gt;L'idée est de rester dans l'esprit &lt;a href="http://www.calexo.net/tag/Google"&gt;Google&lt;/a&gt;&amp;nbsp;: &lt;strong&gt;rapide, fonctionnel, minimaliste&lt;/strong&gt;. &lt;strong&gt;Applications classiques et applications web&lt;/strong&gt; ne feront apparemment &lt;strong&gt;plus qu'un&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;La question que tout le monde se pose porte sur le positionnement de cet OS par rapport au tout jeune &lt;a href="http://www.calexo.net/tag/Android"&gt;Android&lt;/a&gt; (&lt;a href="http://www.calexo.net/tag/OS"&gt;OS&lt;/a&gt; pour &lt;a href="http://www.calexo.net/tag/mobile"&gt;mobile&lt;/a&gt;s et netbooks). En effet, &lt;strong&gt;&lt;a href="http://www.calexo.net/tag/Google"&gt;Google&lt;/a&gt; Chrome &lt;a href="http://www.calexo.net/tag/OS"&gt;OS&lt;/a&gt;&lt;/strong&gt; semble se destiner dans un premier temps aux netbooks, avant d'attaquer le marché des "vrais" PC... A voir.&lt;/li&gt;
&lt;li&gt;L'un des objectifs est également d'intégrer la &lt;a href="http://www.calexo.net/tag/s%C3%A9curit%C3%A9"&gt;sécurité&lt;/a&gt; à la base du système, et tenter ainsi d'&lt;strong&gt;éliminer tout risque de virus&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Bref, un &lt;strong&gt;projet ambitieux et excitant&lt;/strong&gt;, qui devrait arriver &lt;strong&gt;mi-2010&lt;/strong&gt; (et donc cet automne pour les premières bêta?). &lt;a href="http://www.calexo.net/tag/Microsoft"&gt;Microsoft&lt;/a&gt; va surement surveiller cela de très près&amp;nbsp;!&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;      	  
	   
      &lt;p&gt; &lt;i&gt; Cet article original est publié sur &lt;a href="http://www.calexo.net"&gt;http://www.calexo.net&lt;/a&gt;. Toute reproduction, meme partielle, est interdite sans l'autorisation explicite de son auteur. &lt;/i&gt; &lt;/p&gt;

    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=v78S5vRPTis:6JIKJztU0D0:rfYFGETz4uk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=rfYFGETz4uk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=v78S5vRPTis:6JIKJztU0D0:JwF4sU492aU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=JwF4sU492aU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=v78S5vRPTis:6JIKJztU0D0:EsX4JAobb80"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=EsX4JAobb80" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/CalexoNet/~4/v78S5vRPTis" height="1" width="1"/&gt;</content>
    
          <wfw:comment>http://www.calexo.net/post/2009_07_08/Google-accelere-beta-chrome-OS#comment-form</wfw:comment>
      <wfw:commentRss>http://www.calexo.net/feed/atom/comments/56</wfw:commentRss>
      <feedburner:origLink>http://www.calexo.net/post/2009_07_08/Google-accelere-beta-chrome-OS</feedburner:origLink></entry>
    
  <entry>
    <title>Accélérez le chargement de vos pages avec les Sprites CSS</title>
    <link href="http://feedproxy.google.com/~r/CalexoNet/~3/s61u31D2fiY/CSS-Sprites" rel="alternate" type="text/html" title="Accélérez le chargement de vos pages avec les Sprites CSS" />
    <id>urn:md5:1b4a3bbafb02bdc37cfdb548824e017a</id>
    <updated>2009-07-03T14:51:00+02:00</updated>
    <author><name>Calexo</name></author>
        <dc:subject>Webmaster et SEO</dc:subject>
        <dc:subject>CSS</dc:subject><dc:subject>optimisation</dc:subject><dc:subject>webdesign</dc:subject>    
    <content type="html">

      
      	   &lt;h2&gt;Introduction&lt;/h2&gt;


&lt;p&gt;&lt;img src="http://www.calexo.net/public/sprites.gif" alt="Sprites" style="float:right; margin: 0 0 1em 1em;" title="Sprites, juil. 2009" /&gt;
Dans mon &lt;a href="http://www.calexo.net/post/2009_07_01/Optimisation-blog-dotclear-ou-tout-type-de-site"&gt;article sur les optimisations d'un site&lt;/a&gt;, je vous avais parlé des &lt;strong&gt;Sprites CSS&lt;/strong&gt;.&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;L'idée est de &lt;strong&gt;regrouper plusieurs images&lt;/strong&gt; en une, et de n'afficher qu'une image (donc une partie de la grande), un &lt;em&gt;sprite&lt;/em&gt;, grâce au &lt;a href="http://www.calexo.net/tag/CSS"&gt;CSS&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;


&lt;h2&gt;Avantage/Inconvénients&lt;/h2&gt;


&lt;p&gt;Il y a deux avantages avec cette technique&amp;nbsp;:&lt;/p&gt;

&lt;ul&gt;
&lt;li class="plus"&gt;


&lt;p&gt;Le premier est de &lt;strong&gt;réduire le nombre de requêtes&lt;/strong&gt; HTTP vers le serveur pour récupérer les images. Ces requêtes sont relativement coûteuses en temps pour l'utilisateur. Avec cette technique, &lt;strong&gt;une seule requête&lt;/strong&gt; permet d'avoir de nombreuses images.&lt;/p&gt;
&lt;li class="plus"&gt;


&lt;p&gt;Le second est de &lt;strong&gt;réduire légèrement le volume total&lt;/strong&gt; à télécharger. En effet, la taille de l'image contenant les sprites est légèrement inférieure à la somme de la taille des petites images séparées.&lt;/p&gt;

&lt;/ul&gt;



&lt;p&gt;&lt;br /&gt;
Par contre&amp;nbsp;:&lt;/p&gt;

&lt;ul&gt;
&lt;li class="moins"&gt;


&lt;p&gt;La technique est un peu plus &lt;strong&gt;complexe&lt;/strong&gt; à mettre en place&lt;/p&gt;
&lt;li class="moins"&gt;


&lt;p&gt;Le &lt;strong&gt;code&lt;/strong&gt; HTML et &lt;a href="http://www.calexo.net/tag/CSS"&gt;CSS&lt;/a&gt; est légèrement &lt;strong&gt;plus gros&lt;/strong&gt;&lt;/p&gt;
&lt;li class="moins"&gt;


&lt;p&gt;Si le navigateur ne supporte pas le &lt;a href="http://www.calexo.net/tag/CSS"&gt;CSS&lt;/a&gt; (surtout en mobilité, je pense), les images ne seront pas correctement affichées, et la mise en page peut-être sérieusement modifiée&amp;nbsp;!&lt;/p&gt;
&lt;/ul&gt;




&lt;h2&gt;Procédure&lt;/h2&gt;


&lt;p&gt;Il faut donc créer une image qui contient les images à mettre en &lt;em&gt;sprite&lt;/em&gt;, en ligne ou en colonne. Pour plus de facilité ensuite, il est conseillé d'avoir un &lt;strong&gt;espacement régulier&lt;/strong&gt; entre les &lt;em&gt;sprites&lt;/em&gt;.&lt;br /&gt;
Par exemple, sur la page d'&lt;a href="http://www.calexo.net/"&gt;accueil&lt;/a&gt;, en bas, il y a deux images, illustrant Facebook et &lt;a href="http://www.calexo.net/post/2009_05_25/Twitter-mise-en-place-compl%C3%A8te"&gt;Twitter&lt;/a&gt;. Ces deux images ne sont en fait qu'une :&lt;br /&gt;
&lt;img src="http://www.calexo.net/themes/calexo_net/img/web2-sprite.png" alt="Sprite" style="display:block; margin:0 auto;" title="Sprite" /&gt;&lt;br /&gt;
Ensuite, c'est au tour de &lt;a href="http://www.calexo.net/tag/CSS"&gt;CSS&lt;/a&gt; de jouer. Le plus simple est d'utiliser une liste, et d'affecter à chaque ligne (balise &lt;em&gt;&amp;lt;li&amp;gt;&lt;/em&gt;) deux classes&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;La première spécifique à l'image contenant les &lt;em&gt;sprites&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;La seconde spécifique au &lt;em&gt;sprite&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ainsi, sur ma page d'&lt;a href="http://www.calexo.net/"&gt;accueil&lt;/a&gt;, le code HTML est le suivant&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt; &amp;lt;div&amp;gt;
 		&amp;lt;ul&amp;gt;
 			&amp;lt;li class="web2ico sprite-facebook-logo"&amp;gt;&amp;lt;a href="http://www.calexo.net/post/2009_07_03/.....
 			&amp;lt;li class="web2ico sprite-twitter"&amp;gt;&amp;lt;a href="http://www.twitter.com/calexo....
 		&amp;lt;/ul&amp;gt;
 &amp;lt;/div&amp;gt;&lt;/pre&gt;


&lt;p&gt;&lt;em&gt;web2ico&lt;/em&gt; et &lt;em&gt;sprite-&lt;/em&gt; représentant respectivement la classe spécifique à l'image et la classe du &lt;em&gt;sprite&lt;/em&gt;.&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;Le CSS correspondant est donc :&lt;br /&gt;&lt;/p&gt;

&lt;pre&gt; .web2ico {
 	background: transparent url(img/web2-sprite.png) no-repeat top left;
 	margin-top : 30px;
 	margin-left : 50px;
 	display: inline-block;
 	height: 64px;
 	padding-left: 74px;
 }
 .sprite-facebook-logo { background-position: 0 0px; } 
 .sprite-twitter { background-position: 0 -64px; }&lt;/pre&gt;


&lt;p&gt;Les classes &lt;em&gt;.sprite-&lt;/em&gt; ne définissent qu'&lt;strong&gt;une seule propriété&lt;/strong&gt;&amp;nbsp;: &lt;em&gt;background-position&lt;/em&gt;. C'est ainsi que nous positionnons le &lt;em&gt;cadre&lt;/em&gt; sur le bon &lt;em&gt;sprite&lt;/em&gt;. Pour le &lt;em&gt;sprite-twitter&lt;/em&gt;, nous remontons l'image de 64 pixels, et c'est le logo &lt;a href="/post/2009_05_25/Twitter-mise-en-place-compl%C3%A8te"&gt;Twitter&lt;/a&gt; qui se retrouve alors en haut. La hauteur étant limitée à 64 pixels dans la classe &lt;em&gt;web2ico&lt;/em&gt;, c'est le carré de 64x64 pixels contenant ce sprite qui est en effet affiché.&lt;/p&gt;


&lt;p&gt;Et voilà le résultat :&lt;br /&gt;&lt;/p&gt;
&lt;style type="text/css" media="screen"&gt;
  .web2ico2 {
  	background: transparent url(/themes/calexo_net/img/web2-sprite.png) no-repeat top left !important;
  	margin-top : 30px !important;
  	margin-left : 50px !important;
  	display: inline-block !important;
  	height: 64px !important;
  	padding-left: 74px !important;
  }
  .sprite-facebook-logo { background-position: 0 0px !important; } 
  .sprite-twitter { background-position: 0 -64px !important; } 
&lt;/style&gt;

	&lt;div style="border: 1px solid #000;"&gt;
		&lt;ul&gt;
			&lt;li class="web2ico2 sprite-facebook-logo"&gt;&lt;a href="http://www.facebook.com/pages/Calexo/84476641511"&gt;La page Calexo de Facebook&lt;/a&gt;&lt;/li&gt;
			&lt;li class="web2ico2 sprite-twitter"&gt;&lt;a href="http://www.twitter.com/calexo"&gt;Twitter - @calexo&lt;/a&gt;&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/div&gt;



&lt;h2&gt;Conclusion&lt;/h2&gt;


&lt;p&gt;Et vous, utilisez-vous déjà les &lt;strong&gt;Sprites &lt;a href="http://www.calexo.net/tag/CSS"&gt;CSS&lt;/a&gt;&lt;/strong&gt;&amp;nbsp;? Envisagez-vous d'en utiliser&amp;nbsp;? &lt;strong&gt;N'hésitez pas à venir nous faire part de vos expériences ici !&lt;/strong&gt;&lt;/p&gt;


&lt;h2&gt;Pour poursuivre&lt;/h2&gt;


&lt;p&gt;&lt;strong&gt;A lire :&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Un dossier réalisé par &lt;a href="http://www.websiteoptimization.com/"&gt;WebSiteOptimisation&lt;/a&gt;, détaillant comment &lt;strong&gt;Yahoo! et AOL&lt;/strong&gt; ont mis en place cette technique sur leurs sites
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.websiteoptimization.com/speed/tweak/css-sprites/"&gt;http://www.websiteoptimization.com/speed/tweak/css-sprites/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;A tester :&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Un générateur de sprites, avec le &lt;a href="http://www.calexo.net/tag/CSS"&gt;CSS&lt;/a&gt; associé, à partir d'un ZIP contenant les images
&lt;ul&gt;
&lt;li&gt;A priori une &lt;strong&gt;très bonne idée&lt;/strong&gt;, mais que je n'ai &lt;strong&gt;pas réussi à mettre en place&lt;/strong&gt;&amp;nbsp;! Pourquoi devoir espacer les images&amp;nbsp;? Le positionnement des &lt;em&gt;sprites&lt;/em&gt; était mauvais...&lt;/li&gt;
&lt;li&gt;&lt;a href="http://spritegen.website-performance.org/"&gt;http://spritegen.website-performance.org/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;      	  
	   
      &lt;p&gt; &lt;i&gt; Cet article original est publié sur &lt;a href="http://www.calexo.net"&gt;http://www.calexo.net&lt;/a&gt;. Toute reproduction, meme partielle, est interdite sans l'autorisation explicite de son auteur. &lt;/i&gt; &lt;/p&gt;

    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=s61u31D2fiY:Q_dS3tvJnTw:rfYFGETz4uk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=rfYFGETz4uk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=s61u31D2fiY:Q_dS3tvJnTw:JwF4sU492aU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=JwF4sU492aU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=s61u31D2fiY:Q_dS3tvJnTw:EsX4JAobb80"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=EsX4JAobb80" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/CalexoNet/~4/s61u31D2fiY" height="1" width="1"/&gt;</content>
    
          <wfw:comment>http://www.calexo.net/post/2009_07_03/CSS-Sprites#comment-form</wfw:comment>
      <wfw:commentRss>http://www.calexo.net/feed/atom/comments/54</wfw:commentRss>
      <feedburner:origLink>http://www.calexo.net/post/2009_07_03/CSS-Sprites</feedburner:origLink></entry>
    
  <entry>
    <title>Optimisation d'un blog dotclear, ou de tout type de site (mod_deflate)</title>
    <link href="http://feedproxy.google.com/~r/CalexoNet/~3/WpEJDLc3IZg/Optimisation-blog-dotclear-ou-tout-type-de-site" rel="alternate" type="text/html" title="Optimisation d'un blog dotclear, ou de tout type de site (mod_deflate)" />
    <id>urn:md5:cc15c58bac5c5af6c5cb51793ade28f3</id>
    <updated>2009-07-01T16:24:00+02:00</updated>
    <author><name>Calexo</name></author>
        <dc:subject>Webmaster et SEO</dc:subject>
        <dc:subject>blog</dc:subject><dc:subject>Dotclear</dc:subject><dc:subject>Google</dc:subject><dc:subject>optimisation</dc:subject><dc:subject>PHP</dc:subject>    
    <content type="html">

      
      	   &lt;h2&gt;Introduction&lt;/h2&gt;

&lt;p&gt;&lt;img src="http://www.calexo.net/public/chrono.gif" alt="Chrono" style="float:right; margin: 0 0 1em 1em;" title="Chrono, juil. 2009" /&gt;
Afin d'&lt;strong&gt;accélérer la navigation&lt;/strong&gt; sur ce &lt;a href="http://www.calexo.net/tag/blog"&gt;blog&lt;/a&gt;, j'ai décider de chercher des éléments à &lt;a href="http://www.calexo.net/tag/optimisation"&gt;optimiser&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;Et je suis tombé sur l'article &lt;a href="http://blog.chaosklub.com/index.php/post/2008/04/30/Guide-doptimisation-des-blogs-Dotclear-2" hreflang="fr"&gt;Guide d'optimisation des blogs Dotclear 2&lt;/a&gt; chez &lt;a href="http://blog.chaosklub.com/" hreflang="fr"&gt;Tout le bonheur du monde 2.0&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;J'ai moi aussi utilisé l'outil de mesure &lt;a href="http://analyze.websiteoptimization.com/"&gt;Web Page Speed Analysis&lt;/a&gt; de &lt;a href="http://www.websiteoptimization.com/"&gt;WebSiteOptimization.com&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;A la base, ce site me donnait une taille globale de 279 219 octets... Un peu trop, quand même. D'après moi, et d'après l'analyse détaillée et commentée fournie. Au travail, donc !&lt;br /&gt;&lt;/p&gt;


&lt;h2&gt;Procédure&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;J'installe donc l'extension &lt;a href="http://plugins.dotaddict.org/dc2/details/CompreSS"&gt;CompreSS&lt;/a&gt; de &lt;a href="http://www.calexo.net/tag/Dotclear"&gt;Dotclear&lt;/a&gt;. Cet outil permet de nettoyer les fichiers de présentation &lt;a href="http://www.calexo.net/tag/CSS"&gt;CSS&lt;/a&gt; afin d'en &lt;strong&gt;réduire la taille&lt;/strong&gt;&amp;nbsp;: suppression des commentaires, des espaces et des retours à la ligne. Je passe ainsi à 273 628 octets, soit un gain de 5 591 octets... C'est toujours ça de pris...&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Mon bandeau du haut était au format JPG. Pas des plus optimisé, PNG fait beaucoup mieux&amp;nbsp;! Cette simple conversion me fait gagner 35 690 octets (pour arriver à 237 938 octets au total). Pas mal du tout !&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;L'article propose d'ajouter &lt;em&gt;ob_start('ob_gzhandler');&lt;/em&gt; au fichier &lt;em&gt;index.php&lt;/em&gt; de &lt;a href="http://www.calexo.net/tag/Dotclear"&gt;Dotclear&lt;/a&gt;. La modification est en effet &lt;strong&gt;très facile&lt;/strong&gt;&amp;nbsp;: il suffit d'éditer ce fichier et&amp;nbsp;:
&lt;ul&gt;
&lt;li&gt;Cette modification me fait passer à 217 191 octets, soit encore un gain de 20 747 octets. C'est &lt;strong&gt;bien payé pour une modification si facile&lt;/strong&gt; à réaliser&amp;nbsp;! Cependant, cette modification ne me plait pas tant que ça&amp;nbsp;: elle fait modifier un fichier de &lt;a href="http://www.calexo.net/tag/Dotclear"&gt;Dotclear&lt;/a&gt; lui-même, et lors de la prochaine mise à jour, je risque d'être très embêté. &lt;strong&gt;La mise à jour automatique de &lt;a href="http://www.calexo.net/tag/Dotclear"&gt;Dotclear&lt;/a&gt; n'aime en effet pas du tout que les fichiers soient modifiés&lt;/strong&gt;...&lt;/li&gt;
&lt;li&gt;Pour tout autre site (non basé sur &lt;a href="http://www.calexo.net/tag/Dotclear"&gt;Dotclear&lt;/a&gt;), il vous suffit d'ajouter cette ligne à chacune de vos pages &lt;a href="http://www.calexo.net/tag/PHP"&gt;PHP&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Voici, pour &lt;a href="http://www.calexo.net/tag/Dotclear"&gt;Dotclear&lt;/a&gt;, le début du fichier &lt;em&gt;index.php&lt;/em&gt;&amp;nbsp;:&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt; &amp;lt;?php
 ob_start('ob_gzhandler');
 # ***** BEGIN LICENSE BLOCK *****
 # This file is part of DotClear.
 # Copyright (c) 2005 Olivier Meunier and contributors. All rights
 # reserved.&lt;/pre&gt;


&lt;ul&gt;
&lt;li&gt;Une astuce qui ne fait pas gagner en poids, et donc qui ne modifie pas le temps de chargement global, est de mettre les scripts &lt;a href="http://www.calexo.net/tag/Javascript"&gt;Javascripts&lt;/a&gt; à la fin. En effet, le chargement de certains de ces fichiers, comme la librairie &lt;a href="http://www.calexo.net/tag/Javascript"&gt;JQuery&lt;/a&gt;, peut mettre un certains temps, alors que ces scripts sont souvent inutile tant que la page n'est pas chargée. En mettant ces fichiers à la fin, l'utilisateur aura donc un ressenti de chargement plus rapide.&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Dans le même ordre d'idée, les scripts de statistiques comme &lt;a href="http://www.calexo.net/tag/Google"&gt;Google&lt;/a&gt; Analytics sont également à mettre à la fin.&lt;/li&gt;
&lt;li&gt;Dans &lt;a href="http://www.calexo.net/tag/Dotclear"&gt;Dotclear&lt;/a&gt;, les lignes dans &lt;em&gt;tpl/_head.html&lt;/em&gt; similaires à celles ci-dessous sont donc à mettre dans &lt;em&gt;tpl/_footer.html&lt;/em&gt;.&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt; &amp;lt;script type="text/javascript" src="http://www.calexo.net/post/2009_07_01/&lt;q&gt;tpl:BlogThemeURL&lt;/q&gt;/../default/js/jquery.js"&amp;gt;&amp;lt;/script&amp;gt;
 &amp;lt;script type="text/javascript" src="http://www.calexo.net/post/2009_07_01/&lt;q&gt;tpl:BlogThemeURL&lt;/q&gt;/../default/js/jquery.cookie.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;


&lt;p&gt;&lt;img src="http://www.calexo.net/public/.apache_t.jpg" alt="Apache" style="float:right; margin: 0 0 1em 1em;" title="Apache, juin 2009" /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Lors de la mise à jour de mon serveur &lt;a href="http://www.calexo.net/tag/Apache"&gt;Apache&lt;/a&gt; pour passer à la version 2.2.11 (Cf. &lt;a href="http://www.calexo.net/post/2009_06_24/Mise-a-jour-Apache-2.2.11"&gt;Mise à jour&amp;nbsp;: Apache 2.2.11&lt;/a&gt;), j'en ai profité pour activer le module &lt;a href="http://httpd.apache.org/docs/2.2/mod/mod_deflate.html"&gt;mod_deflate&lt;/a&gt;. Ce module permet d'envoyer les fichiers choisis compressés au format &lt;a href="http://fr.wikipedia.org/wiki/Gzip"&gt;GZip&lt;/a&gt; (.gz). Ce format est en effet reconnu par tout les navigateurs depuis bien longtemps. Le paramétrage permet de choisir quels types de fichiers doivent être compressés&amp;nbsp;: inutile en effet d'utiliser des ressources système pour compresser une image JPEG... Ainsi mes fichiers HTML, &lt;a href="http://www.calexo.net/tag/Javascript"&gt;Javascript&lt;/a&gt; et &lt;a href="http://www.calexo.net/tag/CSS"&gt;CSS&lt;/a&gt; sont &lt;strong&gt;tous compressés&lt;/strong&gt;, et la page d'accueil du blog arrive à un poids record de... &lt;strong&gt;80 482 octets&lt;/strong&gt;&amp;nbsp;! Soit moins d'un tiers du &lt;em&gt;poids&lt;/em&gt; de départ !&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Note&lt;/strong&gt; &lt;em&gt;&lt;/em&gt;: l'astuce ob_start('ob_gzhandler') ci-dessus est du coup inutile.&lt;/li&gt;
&lt;li&gt;Pour plus d'&lt;strong&gt;information sur la mise en place de ce module&lt;/strong&gt;, n'hésitez pas à me contacter, via le formulaire de &lt;a href="http://www.calexo.net/contact"&gt;Contact&lt;/a&gt; ou via un commentaire ci-dessous.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Conclusion&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Avant &lt;em&gt;mod_deflate&lt;/em&gt;, le &lt;strong&gt;gain a été tout de même de 22%&lt;/strong&gt;. Ce n'est pas négligeable, et si vous ne pouvez pas, pour une raison ou une autre (hébergement mutualisé, manque de temps ou de compétence, ...) avoir &lt;em&gt;mod_deflate&lt;/em&gt;, ces conseils vous permettront d'&lt;strong&gt;améliorer la réactivité&lt;/strong&gt; de votre site.&lt;/li&gt;
&lt;li&gt;L'utilisation de &lt;em&gt;mod_deflate&lt;/em&gt; permet quant à elle d'arriver à d'excellents résultats et rend à mon avis inutile CompreSS, que j'ai désactivé depuis, pour me faciliter la tâche lors des modifications de ces feuilles de styles.&lt;/li&gt;
&lt;li&gt;L'utilisation de &lt;em&gt;mod_deflate&lt;/em&gt; est bien évidemment &lt;strong&gt;valable pour tout type de sites&lt;/strong&gt;&amp;nbsp;!&lt;/li&gt;
&lt;li&gt;La prochaine étape dans l'optimisation d'un site est l'utilisation des &lt;strong&gt;Sprites &lt;a href="http://www.calexo.net/tag/CSS"&gt;CSS&lt;/a&gt;&lt;/strong&gt;. Mais cela demande pas mal de travail sur les images, et &lt;del&gt;fera&lt;/del&gt; fait donc l'objet d'un article dédié. &lt;strong&gt;Edit&lt;/strong&gt;: Cet article, le voici&amp;nbsp;: &lt;a href="http://www.calexo.net/post/2009_07_03/CSS-Sprites"&gt;Accélérez le chargement de vos pages avec les Sprites CSS&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Bonne optimisation&lt;/strong&gt;&amp;nbsp;! Et n'hésitez pas à venir nous faire part de vos expériences et améliorations ici&amp;nbsp;!&lt;/p&gt;      	  
	   
      &lt;p&gt; &lt;i&gt; Cet article original est publié sur &lt;a href="http://www.calexo.net"&gt;http://www.calexo.net&lt;/a&gt;. Toute reproduction, meme partielle, est interdite sans l'autorisation explicite de son auteur. &lt;/i&gt; &lt;/p&gt;

    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=WpEJDLc3IZg:lRtZhXo91iY:rfYFGETz4uk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=rfYFGETz4uk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=WpEJDLc3IZg:lRtZhXo91iY:JwF4sU492aU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=JwF4sU492aU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=WpEJDLc3IZg:lRtZhXo91iY:EsX4JAobb80"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=EsX4JAobb80" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/CalexoNet/~4/WpEJDLc3IZg" height="1" width="1"/&gt;</content>
    
          <wfw:comment>http://www.calexo.net/post/2009_07_01/Optimisation-blog-dotclear-ou-tout-type-de-site#comment-form</wfw:comment>
      <wfw:commentRss>http://www.calexo.net/feed/atom/comments/47</wfw:commentRss>
      <feedburner:origLink>http://www.calexo.net/post/2009_07_01/Optimisation-blog-dotclear-ou-tout-type-de-site</feedburner:origLink></entry>
    
  <entry>
    <title>Possibilité de s'abonner sans la catégorie "Serveurs Calexo"</title>
    <link href="http://feedproxy.google.com/~r/CalexoNet/~3/TyBG41GNavc/Possibilite-de-s-abonner-sans-la-categorie-Serveurs-Calexo" rel="alternate" type="text/html" title="Possibilité de s'abonner sans la catégorie &quot;Serveurs Calexo&quot;" />
    <id>urn:md5:e4d62515b46f0216e087a3ca77a24247</id>
    <updated>2009-06-26T16:38:00+02:00</updated>
    <author><name>Calexo</name></author>
        <dc:subject>Calexo*</dc:subject>
            
    <content type="html">

      
      	   &lt;p&gt;&lt;img src="http://www.calexo.net/public/rss.png" alt="RSS" style="float:right; margin: 0 0 1em 1em;" title="RSS" /&gt;
Pour ceux qui ne font pas partie de mes clients, utilisateurs, ... j'ai créé un nouveau flux RSS sans les articles de la &lt;a href="http://www.calexo.net/category/Serveurs-Calexo"&gt;rubrique "Serveurs Calexo"&lt;/a&gt; :&lt;br /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.calexo.net/public/rss-noserv.php"&gt;http://www.calexo.net/public/rss-noserv.php&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ce lien est disponible&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;sur la page &lt;a href="http://www.calexo.net/pages/Abonnements"&gt;Abonnements&lt;/a&gt;,&lt;/li&gt;
&lt;li&gt;et en haut à gauche de l'&lt;a href="http://www.calexo.net/"&gt;Accueil&lt;/a&gt;&amp;nbsp;:&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="http://www.calexo.net/public/Calexo/new-rss.png" alt="New RSS" style="display:block; margin:0 auto;" title="New RSS, juin 2009" /&gt;&lt;/p&gt;      	  
	   
      &lt;p&gt; &lt;i&gt; Cet article original est publié sur &lt;a href="http://www.calexo.net"&gt;http://www.calexo.net&lt;/a&gt;. Toute reproduction, meme partielle, est interdite sans l'autorisation explicite de son auteur. &lt;/i&gt; &lt;/p&gt;

    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=TyBG41GNavc:dxCH2EwBjSM:rfYFGETz4uk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=rfYFGETz4uk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=TyBG41GNavc:dxCH2EwBjSM:JwF4sU492aU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=JwF4sU492aU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=TyBG41GNavc:dxCH2EwBjSM:EsX4JAobb80"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=EsX4JAobb80" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/CalexoNet/~4/TyBG41GNavc" height="1" width="1"/&gt;</content>
    
          <wfw:comment>http://www.calexo.net/post/2009_06_26/Possibilite-de-s-abonner-sans-la-categorie-Serveurs-Calexo#comment-form</wfw:comment>
      <wfw:commentRss>http://www.calexo.net/feed/atom/comments/52</wfw:commentRss>
      <feedburner:origLink>http://www.calexo.net/post/2009_06_26/Possibilite-de-s-abonner-sans-la-categorie-Serveurs-Calexo</feedburner:origLink></entry>
    
  <entry>
    <title>Mise à jour : Apache 2.2.11</title>
    <link href="http://feedproxy.google.com/~r/CalexoNet/~3/r0co5WWBMRg/Mise-a-jour-Apache-2.2.11" rel="alternate" type="text/html" title="Mise à jour : Apache 2.2.11" />
    <id>urn:md5:dfbf6eee787ff700ba35ddd34b16a282</id>
    <updated>2009-06-24T16:03:00+02:00</updated>
    <author><name>Calexo</name></author>
        <dc:subject>Serveurs Calexo</dc:subject>
        <dc:subject>apache</dc:subject><dc:subject>blog</dc:subject><dc:subject>calexo</dc:subject><dc:subject>Dotclear</dc:subject><dc:subject>hébergement</dc:subject><dc:subject>PHP</dc:subject><dc:subject>serveur</dc:subject>    
    <content type="html">

      
      	   &lt;p&gt;&lt;strong&gt;Mise à jour réussie&lt;/strong&gt; (non sans mal !) pour &lt;a href="http://www.calexo.net/tag/apache"&gt;Apache&lt;/a&gt;&amp;nbsp;: on passe de la &lt;strong&gt;version 2.0.59 à 2.2.11&lt;/strong&gt;.&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;&lt;img src="http://www.calexo.net/public/apache.gif" alt="Apache" style="display:block; margin:0 auto;" title="Apache" /&gt;&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Pas de soucis&lt;/strong&gt; pour &lt;a href="http://www.calexo.net/tag/apache"&gt;Apache&lt;/a&gt; lui-même, mais j'en ai profité pour mettre à jour &lt;a href="http://www.suphp.org/"&gt;su_php&lt;/a&gt; (qui permet de lier  &lt;a href="http://www.calexo.net/tag/apache"&gt;Apache&lt;/a&gt; et &lt;a href="http://www.calexo.net/tag/PHP"&gt;PHP&lt;/a&gt;). Or, à partir de la version 0.7.0, il faut modifier le fichier de configuration (/usr/local/etc/suphp.conf chez moi) et ajouter des guillemets aux directives&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;x-httpd-php4="php:....."&lt;/li&gt;
&lt;li&gt;x-httpd-php5="php:...."&lt;/li&gt;
&lt;li&gt;x-suphp-cgi="execute:!self"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sinon aucun script &lt;a href="http://www.calexo.net/tag/PHP"&gt;PHP&lt;/a&gt; ne fonctionnait. J'avais les erreurs suivantes dans les logs&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SecurityException in Application.cpp:511: Unknown Interpreter: php&lt;/li&gt;
&lt;li&gt;Premature end of script headers: index.php&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;J'en ai également profité pour installer &lt;a href="http://httpd.apache.org/docs/2.2/mod/mod_deflate.html" hreflang="en"&gt;mod_deflate&lt;/a&gt;, afin de compresser les fichiers. Cela devrait &lt;strong&gt;accélérer le chargement de vos sites&lt;/strong&gt; !&lt;br /&gt;
Par exemple, la page d'accueil de ce &lt;a href="http://www.calexo.net/tag/blog"&gt;blog&lt;/a&gt; est ainsi passée de 219 991 octets à seulement... &lt;strong&gt;80 482 octets&lt;/strong&gt;&amp;nbsp;! Soit &lt;strong&gt;seulement 37% de la taille originale&lt;/strong&gt;&amp;nbsp;! Ceci après d'autres &lt;strong&gt;optimisations&lt;/strong&gt; qui avaientt déjà diminuer la taille de ce blog sous &lt;a href="http://www.calexo.net/tag/Dotclear"&gt;Dotclear&lt;/a&gt;. Mais cela fera l'objet d'&lt;strong&gt;un autre article&lt;/strong&gt;, très bientôt !&lt;br /&gt;&lt;/p&gt;      	  
	   		&lt;p&gt;
			&lt;i&gt;Note : &lt;/i&gt;Cet article concerne le serveur de Calexo, et peut ne pas vous intéresser. Pour vous abonner au flux RSS sans cette rubrique, vous pouvez choisir le flux &lt;i&gt;Sans Serveurs Calexo&lt;/i&gt;, disponible sur la page &lt;a href="http://www.calexo.net/pages/Abonnements"&gt;Abonnements&lt;/A&gt; ou en haut à droite de la page d'&lt;a href="http://www.calexo.net/"&gt;Accueil&lt;/a&gt;.
		&lt;/p&gt;
	   
      &lt;p&gt; &lt;i&gt; Cet article original est publié sur &lt;a href="http://www.calexo.net"&gt;http://www.calexo.net&lt;/a&gt;. Toute reproduction, meme partielle, est interdite sans l'autorisation explicite de son auteur. &lt;/i&gt; &lt;/p&gt;

    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=r0co5WWBMRg:_76mQi9aaHI:rfYFGETz4uk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=rfYFGETz4uk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=r0co5WWBMRg:_76mQi9aaHI:JwF4sU492aU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=JwF4sU492aU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=r0co5WWBMRg:_76mQi9aaHI:EsX4JAobb80"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=EsX4JAobb80" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/CalexoNet/~4/r0co5WWBMRg" height="1" width="1"/&gt;</content>
    
          <wfw:comment>http://www.calexo.net/post/2009_06_24/Mise-a-jour-Apache-2.2.11#comment-form</wfw:comment>
      <wfw:commentRss>http://www.calexo.net/feed/atom/comments/49</wfw:commentRss>
      <feedburner:origLink>http://www.calexo.net/post/2009_06_24/Mise-a-jour-Apache-2.2.11</feedburner:origLink></entry>
    
  <entry>
    <title>Copyright dans le flux RSS du blog</title>
    <link href="http://feedproxy.google.com/~r/CalexoNet/~3/mt9bBYyklYk/Copyright-dans-le-flux-RSS-du-blog" rel="alternate" type="text/html" title="Copyright dans le flux RSS du blog" />
    <id>urn:md5:76f6df46e94c7a88266ccf8e634133e8</id>
    <updated>2009-06-23T11:47:00+02:00</updated>
    <author><name>Calexo</name></author>
        <dc:subject>Webmaster et SEO</dc:subject>
        <dc:subject>Dotclear</dc:subject>    
    <content type="html">

      
      	   &lt;p&gt;&lt;img src="http://www.calexo.net/public/rss.png" alt="RSS" style="float:right; margin: 0 0 1em 1em;" title="RSS" /&gt;&lt;/p&gt;


&lt;p&gt;En me basant sur un article de &lt;a href="http://blog.websourcing.fr/" hreflang="fr"&gt;Websourcing&lt;/a&gt; (&lt;a href="http://blog.websourcing.fr/rss-footer-un-plugin-pour-inclure-du-texte-supplementaire-dans-son-flux-rss/" hreflang="fr"&gt;RSS Footer, un plugin pour inclure du texte supplémentaire dans son flux RSS&lt;/a&gt;), j'ai voulu ajouter un &lt;strong&gt;copyright au pied de chacun de mes articles&lt;/strong&gt; sur &lt;a href="http://calexo.net/public/rss.php" hreflang="fr"&gt;mon flux RSS&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Je l'ai donc adapté à &lt;a href="http://www.calexo.net/tag/Dotclear"&gt;Dotclear&lt;/a&gt;. Il faut donc modifier les &lt;em&gt;templates&lt;/em&gt; (par exemple en passant par l'éditeur de thème de &lt;a href="http://www.calexo.net/tag/Dotclear"&gt;Dotclear&lt;/a&gt;) :&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;Pour ajouter du contenu, il faut &lt;strong&gt;encoder en XML&lt;/strong&gt;, il faut donc transformer les &amp;lt; en &lt;em&gt;&amp;amp;lt;&lt;/em&gt; et les &amp;gt; en &lt;em&gt;&amp;amp;gt;&lt;/em&gt; ce qui rend un peu illisible le code à ajouter, mais rien de dramatique !&lt;br /&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dans &lt;strong&gt;atom.xml&lt;/strong&gt;, ajouter avant le &amp;lt;/content&amp;gt;&amp;nbsp;:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;     &amp;amp;lt;p&amp;amp;gt; &amp;amp;lt;i&amp;amp;gt; Cet article original est publié sur &amp;amp;lt;a href=&amp;amp;quot;http://www.calexo.net&amp;amp;quot;&amp;amp;gt;http://www.calexo.net&amp;amp;lt;/a&amp;amp;gt;. Toute reproduction, meme partielle, est interdite sans l'autorisation explicite de son auteur. &amp;amp;lt;/i&amp;amp;gt; &amp;amp;lt;/p&amp;amp;gt;&lt;/pre&gt;


&lt;p&gt;On a alors ceci&amp;nbsp;: &lt;a href="http://www.calexo.net/feed/atom" hreflang="fr"&gt;http://www.calexo.net/feed/atom&lt;/a&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Même chose dans &lt;strong&gt;rss2.xml&lt;/strong&gt; avant le &amp;lt;/description&amp;gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ce qui donne&amp;nbsp;: &lt;a href="http://www.calexo.net/feed/rss2"&gt;http://www.calexo.net/feed/rss2&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Merci à &lt;a href="http://blog.websourcing.fr/" hreflang="fr"&gt;Websourcing&lt;/a&gt; pour l'idée&amp;nbsp;!&lt;/p&gt;      	  
	   
      &lt;p&gt; &lt;i&gt; Cet article original est publié sur &lt;a href="http://www.calexo.net"&gt;http://www.calexo.net&lt;/a&gt;. Toute reproduction, meme partielle, est interdite sans l'autorisation explicite de son auteur. &lt;/i&gt; &lt;/p&gt;

    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=mt9bBYyklYk:HcNMTb_jsjM:rfYFGETz4uk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=rfYFGETz4uk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=mt9bBYyklYk:HcNMTb_jsjM:JwF4sU492aU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=JwF4sU492aU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CalexoNet?a=mt9bBYyklYk:HcNMTb_jsjM:EsX4JAobb80"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CalexoNet?d=EsX4JAobb80" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/CalexoNet/~4/mt9bBYyklYk" height="1" width="1"/&gt;</content>
    
          <wfw:comment>http://www.calexo.net/post/2009_06_23/Copyright-dans-le-flux-RSS-du-blog#comment-form</wfw:comment>
      <wfw:commentRss>http://www.calexo.net/feed/atom/comments/51</wfw:commentRss>
      <feedburner:origLink>http://www.calexo.net/post/2009_06_23/Copyright-dans-le-flux-RSS-du-blog</feedburner:origLink></entry>
  
</feed>
