<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/">
  <channel>
    <title>MicroBlog.ThierryPOINOT.com ! (without imported items)</title>
    <link>http://microblog.thierrypoinot.com/</link>
    <description>Le microblog de Thierry POINOT, mieux qu'un blog, car beaucoup plus mis &#224; jour&amp;amp;nbsp;</description>
<item><title>REGEXP courriel</title>
<description>&lt;pre&gt;
	if (!eregi("^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,4})$",$adr)){
		return "l'adresse mail est invalide";
    }
&lt;/pre&gt;
REGEXP pour v&#233;rifier un courriel</description><pubDate>Thu, 03 Jul 2008 12:00:57 GMT</pubDate><link>http://microblog.thierrypoinot.com/post/3783069/REGEXP-courriel</link><guid isPermaLink="false">urn:www-soup-io:1:3783069</guid><category domain="contenttype">regular</category></item><item><title>[Paris-Beyrouth] Un habillage irr&#233;gulier (float : ragged) (SPIP 1.9 et GD2)</title>
<description>&lt;a href="http://www.paris-beyrouth.org/Un-habillage-irregulier"&gt;s r&#233;aliser d&#8217;habillage&lt;/a&gt;</description><pubDate>Mon, 30 Jun 2008 14:43:10 GMT</pubDate><link>http://microblog.thierrypoinot.com/post/3721245/Paris-Beyrouth-Un-habillage-irr-gulier-float</link><guid isPermaLink="false">urn:www-soup-io:1:3721245</guid><category domain="contenttype">link</category></item><item><title>webcam.swf (Objet application/x-shockwave-flash)</title>
<description>&lt;a href="http://www.zanorg.com/prodperso/photobouze/webcam.swf"&gt;http://www.zanorg.com/prodperso/photobouze/webcam.swf&lt;/a&gt;</description><pubDate>Fri, 27 Jun 2008 12:52:19 GMT</pubDate><link>http://microblog.thierrypoinot.com/post/3666640/webcam-swf-Objet-application-x-shockwave-flash</link><guid isPermaLink="false">urn:www-soup-io:1:3666640</guid><category domain="contenttype">link</category></item><item><title>Tres prochainement, on se connectera sur Feedburner avec son compte Google</title>
<description>&lt;a href="http://blog.accessoweb.info/Tres-prochainement,-on-se-connectera-sur-Feedburner-avec-son-compte-Google_a3271.html"&gt;http://blog.accessoweb.info/Tres-prochainement,-on-se-connectera-sur-Feedburner-avec-son-compte-Google_a3271.html&lt;/a&gt;</description><pubDate>Thu, 26 Jun 2008 14:54:58 GMT</pubDate><link>http://microblog.thierrypoinot.com/post/3645657/Tres-prochainement-on-se-connectera-sur-Feedburner</link><guid isPermaLink="false">urn:www-soup-io:1:3645657</guid><category domain="contenttype">link</category></item><item><title>Microlife</title>
<description>&lt;a href="http://www.koreus.com/jeu/microlife.html"&gt;http://www.koreus.com/jeu/microlife.html&lt;/a&gt;</description><pubDate>Thu, 26 Jun 2008 13:10:44 GMT</pubDate><link>http://microblog.thierrypoinot.com/post/3643992/Microlife</link><guid isPermaLink="false">urn:www-soup-io:1:3643992</guid><category domain="contenttype">link</category></item><item><title>A Guide to CSS Support in Email</title>
<description>&lt;a href="http://www.campaignmonitor.com/css/"&gt;http://www.campaignmonitor.com/css/&lt;/a&gt;</description><pubDate>Tue, 24 Jun 2008 07:34:26 GMT</pubDate><link>http://microblog.thierrypoinot.com/post/3596421/A-Guide-to-CSS-Support-in-Email</link><guid isPermaLink="false">urn:www-soup-io:1:3596421</guid><category domain="contenttype">link</category></item><item><title>Quels sont les &#233;couteurs faits pour vous ? : Les intra auriculaires - Bons produits</title>
<description>&lt;a href="http://www.revioo.com/articles/a6674_3.html"&gt;ns bien ren&lt;/a&gt;</description><pubDate>Mon, 23 Jun 2008 14:52:42 GMT</pubDate><link>http://microblog.thierrypoinot.com/post/3581300/Quels-sont-les-couteurs-faits-pour-vous</link><guid isPermaLink="false">urn:www-soup-io:1:3581300</guid><category domain="contenttype">link</category></item><item><title>Acheter Sony Casque MDR-EX71 SLB avis choisir Casques audio</title>
<description>&lt;a href="http://www.digixo.com/audio-mp3/casques-audio/sony/p5533-casque-mdr-ex71-slb.html?affiliateID=2&amp;xtor=AL-2"&gt;bout d&lt;/a&gt;</description><pubDate>Mon, 23 Jun 2008 14:52:05 GMT</pubDate><link>http://microblog.thierrypoinot.com/post/3581285/Acheter-Sony-Casque-MDR-EX71-SLB-avis</link><guid isPermaLink="false">urn:www-soup-io:1:3581285</guid><category domain="contenttype">link</category></item><item><title>Shadowbox.js Media Viewer</title>
<description>&lt;a href="http://mjijackson.com/shadowbox/index.html"&gt;Une putain de lightbox compatible Mootools, Jquery, prototype, qui poss&#232;de plusieurs langues et plusieurs skins !&lt;br /&gt;Le must de la lightbox !&lt;/a&gt;</description><pubDate>Thu, 19 Jun 2008 21:28:10 GMT</pubDate><link>http://microblog.thierrypoinot.com/post/3510831/Shadowbox-js-Media-Viewer</link><guid isPermaLink="false">urn:www-soup-io:1:3510831</guid><category domain="contenttype">link</category></item><item><enclosure type="image/jpeg" length="0" url="http://asset.soup.io/asset/0084/5036_0526_400.jpeg"/>
<title>dieu_cr&#233;a les geeks</title>
<description>&lt;p&gt;&lt;a href="http://www.camentoucheunesansfairebougerlautre.com/images/detendage/dieu_geek_hq.jpg"&gt;&lt;img alt="5036_0526_400" height="1167" src="http://asset.soup.io/asset/0084/5036_0526_400.jpeg" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.camentoucheunesansfairebougerlautre.com/images/detendage/dieu_geek_hq.jpg"&gt;dieu_cr&#233;a les geeks&lt;/a&gt;&lt;/p&gt;</description><pubDate>Thu, 19 Jun 2008 14:25:45 GMT</pubDate><link>http://microblog.thierrypoinot.com/post/3503251/dieu-cr-a-les-geeks</link><guid isPermaLink="false">urn:www-soup-io:1:3503251</guid><category domain="contenttype">image</category></item><item><title>Revenus et audience de la blogsph&#232;re francophone - &#233;tat des lieux 2008 - Tux-planet</title>
<description>&lt;a href="http://www.tux-planet.fr/revenus-et-audience-de-la-blogsphere-francophone-etat-des-lieux-2008/"&gt;http://www.tux-planet.fr/revenus-et-audience-de-la-blogsphere-francophone-etat-des-lieux-2008/&lt;/a&gt;</description><pubDate>Thu, 19 Jun 2008 10:03:08 GMT</pubDate><link>http://microblog.thierrypoinot.com/post/3499500/Revenus-et-audience-de-la-blogsph-re</link><guid isPermaLink="false">urn:www-soup-io:1:3499500</guid><category domain="contenttype">link</category></item><item><title>Traitement automatis&#233; des images - SPIP</title>
<description>&lt;a href="http://www.spip.net/fr_article3327.html"&gt;http://www.spip.net/fr_article3327.html&lt;/a&gt;</description><pubDate>Thu, 19 Jun 2008 08:35:10 GMT</pubDate><link>http://microblog.thierrypoinot.com/post/3498377/Traitement-automatis-des-images-SPIP</link><guid isPermaLink="false">urn:www-soup-io:1:3498377</guid><category domain="contenttype">link</category></item><item><title>Delicious Bookmarks :: Firefox Add-ons</title>
<description>&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/3615"&gt;https://addons.mozilla.org/en-US/firefox/addon/3615&lt;/a&gt;</description><pubDate>Wed, 18 Jun 2008 09:37:04 GMT</pubDate><link>http://microblog.thierrypoinot.com/post/3477541/Delicious-Bookmarks-Firefox-Add-ons</link><guid isPermaLink="false">urn:www-soup-io:1:3477541</guid><category domain="contenttype">link</category></item><item><title>Subversion - Club d'entraide des d&#233;veloppeurs francophones</title>
<description>&lt;a href="http://hugo.developpez.com/tutoriels/outils/subversion/#LIII-1"&gt;http://hugo.developpez.com/tutoriels/outils/subversion/#LIII-1&lt;/a&gt;</description><pubDate>Tue, 17 Jun 2008 21:18:55 GMT</pubDate><link>http://microblog.thierrypoinot.com/post/3468328/Subversion-Club-d-entraide-des-d-veloppeurs</link><guid isPermaLink="false">urn:www-soup-io:1:3468328</guid><category domain="contenttype">link</category></item><item><title>iPhone 3G: ce que Steve Jobs ne nous a pas dit - businessMOBILE.fr</title>
<description>&lt;a href="http://www.businessmobile.fr/actualites/analyses/0,39044174,39381627,00.htm?xtor=RSS-1"&gt;http://www.businessmobile.fr/actualites/analyses/0,39044174,39381627,00.htm?xtor=RSS-1&lt;/a&gt;</description><pubDate>Tue, 17 Jun 2008 18:44:26 GMT</pubDate><link>http://microblog.thierrypoinot.com/post/3466045/iPhone-3G-ce-que-Steve-Jobs-ne</link><guid isPermaLink="false">urn:www-soup-io:1:3466045</guid><category domain="contenttype">link</category></item><item><title>AlphaBounce - L'espace infini et plus si affinit&#233;</title>
<description>&lt;a href="http://www.alphabounce.com/"&gt;http://www.alphabounce.com/&lt;/a&gt;</description><pubDate>Mon, 16 Jun 2008 07:38:13 GMT</pubDate><link>http://microblog.thierrypoinot.com/post/3432180/AlphaBounce-L-espace-infini-et-plus-si</link><guid isPermaLink="false">urn:www-soup-io:1:3432180</guid><category domain="contenttype">link</category></item><item><title>MK2k - Dev and 'tings</title>
<description>&lt;a href="http://www.mk2k.net/serendipity/index.php?serendipity%5Baction%5D=search&amp;serendipity%5BsearchTerm%5D=sleep%27n%27wake&amp;serendipity%5BsearchButton%5D=%3E"&gt;end/&lt;/a&gt;</description><pubDate>Sun, 15 Jun 2008 22:43:11 GMT</pubDate><link>http://microblog.thierrypoinot.com/post/3425951/MK2k-Dev-and-tings</link><guid isPermaLink="false">urn:www-soup-io:1:3425951</guid><category domain="contenttype">link</category></item><item><title>j0k3r.n3t - G&#233;rer les zip/d&#233;zip en PHP</title>
<description>&lt;a href="http://www.j0k3r.net/php-gerer-les-zip-dezip-25.html"&gt;http://www.j0k3r.net/php-gerer-les-zip-dezip-25.html&lt;/a&gt;</description><pubDate>Fri, 13 Jun 2008 12:06:13 GMT</pubDate><link>http://microblog.thierrypoinot.com/post/3384613/j0k3r-n3t-G-rer-les-zip-d</link><guid isPermaLink="false">urn:www-soup-io:1:3384613</guid><category domain="contenttype">link</category></item><item><title>Slider demo - scrollbar - Interface plugin for jQuery</title>
<description>&lt;a href="http://interface.eyecon.ro/demos/scrollbar.html"&gt;http://interface.eyecon.ro/demos/scrollbar.html&lt;/a&gt;</description><pubDate>Fri, 13 Jun 2008 09:32:40 GMT</pubDate><link>http://microblog.thierrypoinot.com/post/3382396/Slider-demo-scrollbar-Interface-plugin-for-jQuery</link><guid isPermaLink="false">urn:www-soup-io:1:3382396</guid><category domain="contenttype">link</category></item><item><title>Index of /demos Interface -&gt; Jquery</title>
<description>&lt;a href="http://interface.eyecon.ro/demos/?page=demos"&gt;http://interface.eyecon.ro/demos/?page=demos&lt;/a&gt;</description><pubDate>Fri, 13 Jun 2008 09:22:28 GMT</pubDate><link>http://microblog.thierrypoinot.com/post/3382257/Index-of-demos-Interface-Jquery</link><guid isPermaLink="false">urn:www-soup-io:1:3382257</guid><category domain="contenttype">link</category></item><item><title>Boycottons IE avec ces effets pr&#233;-int&#233;gr&#233;s</title>
<description>Utilisons les effets de IE pour le boycotter !!! : &lt;br /&gt;Rajouter ce code :&lt;br /&gt;&amp;nbsp;&lt;code&gt;style="filter: progid:DXImageTransform.Microsoft.Emboss( );"&lt;/code&gt;&lt;br /&gt;ou encore :&lt;br /&gt;&lt;code&gt;style="filter: progid:DXImageTransform.Microsoft.Blur( 
PixelRadius=10,MakeShadow=true,ShadowOpacity=0.50);"&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;dans la balise BODY de vos page et admirer le r&#233;sultat XD !!</description><pubDate>Fri, 13 Jun 2008 08:31:39 GMT</pubDate><link>http://microblog.thierrypoinot.com/post/3381505/Boycottons-IE-avec-ces-effets-pr-int</link><guid isPermaLink="false">urn:www-soup-io:1:3381505</guid><category domain="contenttype">regular</category></item><item><title>Filters and Transitions Interactive Demo</title>
<description>&lt;a href="http://samples.msdn.microsoft.com/workshop/samples/author/dhtml/DXTidemo/DXTidemo.htm"&gt;http://samples.msdn.microsoft.com/workshop/samples/author/dhtml/DXTidemo/DXTidemo.htm&lt;/a&gt;</description><pubDate>Fri, 13 Jun 2008 08:09:41 GMT</pubDate><link>http://microblog.thierrypoinot.com/post/3381274/Filters-and-Transitions-Interactive-Demo</link><guid isPermaLink="false">urn:www-soup-io:1:3381274</guid><category domain="contenttype">link</category></item><item><title>documentation css ie-alpha - Ressources pour d&#233;veloppeurs Adobe</title>
<description>&lt;a href="http://wiki.mediabox.fr/documentation/css/ie-alpha"&gt;http://wiki.mediabox.fr/documentation/css/ie-alpha&lt;/a&gt;</description><pubDate>Fri, 13 Jun 2008 08:00:20 GMT</pubDate><link>http://microblog.thierrypoinot.com/post/3381186/documentation-css-ie-alpha-Ressources-pour-d</link><guid isPermaLink="false">urn:www-soup-io:1:3381186</guid><category domain="contenttype">link</category></item><item><title>M&#233;moire sur le marketing online - m&#233;moire sur la promotion des marque - memoire communication en ligne - rapport sur le e-marketing - rapport sur la publicit&#233; sur internet - M&#233;moire en t&#233;l&#233;chargement gratuit - memoire sur l'e-pub - Les Enfants du Marketing - Blog sur les tendances marketing : cours de marketing, m&#233;moires en t&#233;l&#233;chargement, r&#233;flexions marketing et communication.</title>
<description>&lt;a href="http://www.lesenfantsdumarketing.com/spip.php?article64"&gt;http://www.lesenfantsdumarketing.com/spip.php?article64&lt;/a&gt;</description><pubDate>Wed, 11 Jun 2008 09:16:41 GMT</pubDate><link>http://microblog.thierrypoinot.com/post/3340762/M-moire-sur-le-marketing-online-m</link><guid isPermaLink="false">urn:www-soup-io:1:3340762</guid><category domain="contenttype">link</category></item><item><enclosure type="image/jpeg" length="0" url="http://asset.soup.io/asset/0080/2904_caca_400.jpeg"/>
<title>Je ne sais plus o&#249; je l'avais vu mais c'est B&#233;a qui &#224; flooder la boite mail c...</title>
<description>&lt;p&gt;&lt;a href=""&gt;&lt;img alt="2904_caca_400" height="282" src="http://asset.soup.io/asset/0080/2904_caca_400.jpeg" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Je ne sais plus o&#249; je l'avais vu mais c'est &lt;a href="http://www.beatricevalero.com"&gt;B&#233;a&lt;/a&gt; qui &#224; flooder la boite mail ce matin et qui m'a fait pens&#233; &#224; la poster...&lt;/p&gt;</description><pubDate>Tue, 10 Jun 2008 06:22:08 GMT</pubDate><link>http://microblog.thierrypoinot.com/post/3319059/Je-ne-sais-plus-o-je-l</link><guid isPermaLink="false">urn:www-soup-io:1:3319059</guid><category domain="contenttype">image</category></item><item><title>Le gouvernement dispos&#233; &#224; appliquer un filtrage renforc&#233; du Net - Actualit&#233;s - ZDNet.fr</title>
<description>&lt;a href="http://www.zdnet.fr/actualites/internet/0,39020774,39381573,00.htm?xtor=RSS-1"&gt;Abus&#233; ce projet de loi, va falloir faire quelque chose sinon les prochaines ann&#233;es du web fran&#231;ais seront vraiment pourries&lt;/a&gt;</description><pubDate>Mon, 09 Jun 2008 10:08:26 GMT</pubDate><link>http://microblog.thierrypoinot.com/post/3296748/Le-gouvernement-dispos-appliquer-un-filtrage-renforc</link><guid isPermaLink="false">urn:www-soup-io:1:3296748</guid><category domain="contenttype">link</category></item><item><title>Dschinghis Khan - Moskau</title>
<description>&lt;a href="http://www.koreus.com/video/dschinghiskhan-moskau.html"&gt;http://www.koreus.com/video/dschinghiskhan-moskau.html&lt;/a&gt;</description><pubDate>Mon, 09 Jun 2008 10:05:23 GMT</pubDate><link>http://microblog.thierrypoinot.com/post/3296717/Dschinghis-Khan-Moskau</link><guid isPermaLink="false">urn:www-soup-io:1:3296717</guid><category domain="contenttype">link</category></item><item><title>Play Music Catch - Free Online Web Game - Reflexive Arcade</title>
<description>&lt;a href="http://www.reflexive.com/index.php?PAGE=WebGamePlay&amp;WGID=94"&gt;Jeu superbe avec une musique magnifique ! j'adore le piano...&lt;/a&gt;</description><pubDate>Sun, 08 Jun 2008 18:38:45 GMT</pubDate><link>http://microblog.thierrypoinot.com/post/3289605/Play-Music-Catch-Free-Online-Web-Game</link><guid isPermaLink="false">urn:www-soup-io:1:3289605</guid><category domain="contenttype">link</category></item><item><title>BIG DOG: MI HOMME MI CHIEN - RoulezBoulet Le Blog! actus, auto, moto, jeux...</title>
<description>&lt;a href="http://www.roulezboulet-blog.com/article-20126643.html"&gt;http://www.roulezboulet-blog.com/article-20126643.html&lt;/a&gt;</description><pubDate>Fri, 06 Jun 2008 14:33:17 GMT</pubDate><link>http://microblog.thierrypoinot.com/post/3265466/BIG-DOG-MI-HOMME-MI-CHIEN-RoulezBoulet</link><guid isPermaLink="false">urn:www-soup-io:1:3265466</guid><category domain="contenttype">link</category></item><item><title>MP3 en sonnerie sur un sagem my501ci</title>
<description>&lt;a href="http://www.commentcamarche.net/forum/affich-2622803-mp3-en-sonnerie-sur-un-sagem-my501ci#20"&gt;http://www.commentcamarche.net/forum/affich-2622803-mp3-en-sonnerie-sur-un-sagem-my501ci#20&lt;/a&gt;</description><pubDate>Fri, 06 Jun 2008 09:12:07 GMT</pubDate><link>http://microblog.thierrypoinot.com/post/3261899/MP3-en-sonnerie-sur-un-sagem-my501ci</link><guid isPermaLink="false">urn:www-soup-io:1:3261899</guid><category domain="contenttype">link</category></item><item><title>*The* Subversion Repository: svn - Revision 31601: /trunk/tools/xslt</title>
<description>&lt;a href="http://svn.collab.net/repos/svn/trunk/tools/xslt/"&gt;http://svn.collab.net/repos/svn/trunk/tools/xslt/&lt;/a&gt;</description><pubDate>Thu, 05 Jun 2008 15:11:59 GMT</pubDate><link>http://microblog.thierrypoinot.com/post/3247372/The-Subversion-Repository-svn-Revision-31601-trunk</link><guid isPermaLink="false">urn:www-soup-io:1:3247372</guid><category domain="contenttype">link</category></item><item><title>Subversion - Apache configuration</title>
<description>&lt;a href="http://cyril-ravat.homeip.net/subversion.php"&gt;http://cyril-ravat.homeip.net/subversion.php&lt;/a&gt;</description><pubDate>Thu, 05 Jun 2008 15:10:34 GMT</pubDate><link>http://microblog.thierrypoinot.com/post/3247349/Subversion-Apache-configuration</link><guid isPermaLink="false">urn:www-soup-io:1:3247349</guid><category domain="contenttype">link</category></item><item><enclosure type="image/jpeg" length="0" url="http://asset.soup.io/asset/0077/5858_a6fa_400.jpeg"/>
<title>(Image)</title>
<description>&lt;p&gt;&lt;a href=""&gt;&lt;img alt="5858_a6fa_400" height="282" src="http://asset.soup.io/asset/0077/5858_a6fa_400.jpeg" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="source"&gt;Reposted from &lt;span class="user_container " &gt;&lt;a class="" href="http://sto.soup.io/post/3218285/Image"&gt;sto&lt;/a&gt;&lt;/span&gt; via &lt;span class="user_container " &gt;&lt;a class="" href="http://soup.tchuntfr.com/post/3218808/Image"&gt;tchuntfr&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;</description><pubDate>Thu, 05 Jun 2008 09:33:15 GMT</pubDate><link>http://microblog.thierrypoinot.com/post/3241920/Image</link><guid isPermaLink="false">urn:www-soup-io:1:3241920</guid><category domain="contenttype">image</category></item><item><title>French-Translation-of-the-2004-Global-Study-Summary.pdf (Objet application/pdf)</title>
<description>&lt;a href="http://w3.bsa.org/france/ressources/upload/French-Translation-of-the-2004-Global-Study-Summary.pdf"&gt;http://w3.bsa.org/france/ressources/upload/French-Translation-of-the-2004-Global-Study-Summary.pdf&lt;/a&gt;</description><pubDate>Thu, 05 Jun 2008 09:31:32 GMT</pubDate><link>http://microblog.thierrypoinot.com/post/3241874/French-Translation-of-the-2004-Global-Study</link><guid isPermaLink="false">urn:www-soup-io:1:3241874</guid><category domain="contenttype">link</category></item><item><title>yourminis :: widgets :: top rated</title>
<description>&lt;a href="http://www.yourminis.com/browse_minis.aspx?s=rating&amp;t=all"&gt;http://www.yourminis.com/browse_minis.aspx?s=rating&amp;t=all&lt;/a&gt;</description><pubDate>Thu, 05 Jun 2008 07:28:53 GMT</pubDate><link>http://microblog.thierrypoinot.com/post/3240089/yourminis-widgets-top-rated</link><guid isPermaLink="false">urn:www-soup-io:1:3240089</guid><category domain="contenttype">link</category></item><item><title>[Dahanne.net] Pr&#233;cis sur l'URL REWRITING avec SPIP</title>
<description>&lt;a href="http://dahanne.net/Precis-sur-l-URL-REWRITING-avec.html"&gt;http://dahanne.net/Precis-sur-l-URL-REWRITING-avec.html&lt;/a&gt;</description><pubDate>Wed, 04 Jun 2008 08:57:26 GMT</pubDate><link>http://microblog.thierrypoinot.com/post/3219368/Dahanne-net-Pr-cis-sur-l-URL</link><guid isPermaLink="false">urn:www-soup-io:1:3219368</guid><category domain="contenttype">link</category></item><item><title>Documentation du code de SPIP</title>
<description>&lt;a href="http://doc.spip.org/@Tuto-Se-servir-des-points-d-entree"&gt;Les pipelines pour plugins SPIP&lt;/a&gt;</description><pubDate>Wed, 04 Jun 2008 08:57:02 GMT</pubDate><link>http://microblog.thierrypoinot.com/post/3219363/Documentation-du-code-de-SPIP</link><guid isPermaLink="false">urn:www-soup-io:1:3219363</guid><category domain="contenttype">link</category></item><item><title>Script de r&#233;&#233;criture d'url personnalis&#233;es pour SPIP 1.9.2 bas&#233; sur celui de spip ecrire/urls/propres.php - ne fonctionne pas ...</title>
<description>&lt;pre&gt;
SPIP calculera alors ses liens sous la forme "Mon-titre-d-article".

Variante 'propres2' :
	&amp;lt; ?php $type_urls = 'propres2'; ? &amp;gt;
ajoutera '.html' aux adresses generees : "Mon-titre-d-article.html"

Variante 'qs' (experimentale) : ce systeme fonctionne en "Query-String",
c'est-a-dire sans utilisation de .htaccess ; les adresses sont de la forme
"/?Mon-titre-d-article"
	&amp;lt; ?php $type_urls = 'qs'; ? &amp;gt;

*/

define ('_terminaison_urls_propres', '/');
define ('_debut_urls_propres', './?');

// http://doc.spip.org/@_generer_url_propre
function _generer_url_propre($type, $id_objet) {
	$table = "spip_".table_objet($type);
	$col_id = id_table_objet($type);

	// Auteurs : on prend le nom
	if ($type == 'auteur')
		$champ_titre = 'nom AS titre';
	else if ($type == 'site' OR $type=='syndic')
		$champ_titre = 'nom_site AS titre';
	else
		$champ_titre = 'titre';

	// Mots-cles : pas de champ statut
	if ($type == 'mot')
		$statut = "'publie' as statut";
	else
		$statut = 'statut';

	// D'abord, essayer de recuperer l'URL existante si possible
	$result = spip_query("SELECT url_propre, $statut, $champ_titre FROM $table WHERE $col_id=$id_objet");
	if (!($row = spip_fetch_array($result))) return ""; # objet inexistant

	// Si l'on n'est pas dans spip_redirect.php3 sur un objet non publie
	// ou en preview (astuce pour corriger un url-propre) + admin connecte
	// Ne pas recalculer l'url-propre,
	// sauf si :
	// 1) il n'existe pas, ou
	// 2) l'objet n'est pas 'publie' et on est admin connecte, ou
	// 3) on le demande explicitement (preview) et on est admin connecte
	$modif_url_propre = false;
	if (function_exists('action_redirect_dist') AND
	($GLOBALS['preview'] OR ($row['statut'] &amp;lt;&amp;gt; 'publie'))
	AND $GLOBALS['auteur_session']['statut'] == '0minirezo')
		$modif_url_propre = true;

	if ($row['url_propre'] AND !$modif_url_propre)
		return $row['url_propre'];

	// Sinon, creer l'URL
	include_spip('inc/filtres');
	include_spip('inc/charsets');
	$url = translitteration(corriger_caracteres(
		supprimer_tags(supprimer_numero(extraire_multi($row['titre'])))
		));

	$url = @preg_replace(',[[:punct:][:space:]]+,u', ' ', $url);
	// S'il reste trop de caracteres non latins, ou trop peu
	// de caracteres latins, utiliser l'id a la place
	if (preg_match(",([^a-zA-Z0-9 ].*){5},", $url, $r)
	OR strlen($url)&amp;lt;3) {
		$url = $type.$id_objet;
	}
	else {
		$mots = preg_split(",[^a-zA-Z0-9]+,", $url);
		$url = '';
		foreach ($mots as $mot) {
			if (!$mot) continue;
			$url2 = $url.'-'.$mot;
			if (strlen($url2) &amp;gt; 35) {
				break;
			}
			$url = $url2;
		}
		$url = substr($url, 1);
		//echo "$url&lt;br /&gt;";
		if (strlen($url) &amp;lt; 2) $url = $type.$id_objet;
	}

	// Verifier les eventuels doublons et mettre a jour
	$lock = "url $type $id_objet";
	spip_get_lock($lock, 10);

	$n = spip_num_rows(spip_query("SELECT $col_id FROM $table WHERE url_propre=" . _q($url) . " AND $col_id != $id_objet LIMIT 1"));
	if ($n &amp;gt; 0) {
		$url = $url.','.$id_objet;
	}

	// Eviter de tamponner les URLs a l'ancienne (cas d'un article
	// intitule "auteur2")
	if ($type == 'article'
	AND preg_match(',^(article|breve|rubrique|mot|auteur)[0-9]+$,', $url))
		$url = $url.','.$id_objet;

	// Mettre a jour dans la base
	spip_query("UPDATE $table SET url_propre=" . _q($url) . " WHERE $col_id=$id_objet");

	spip_release_lock($lock);

	spip_log("Creation de l'url propre '$url' pour $col_id=$id_objet");

	return $url;
}

// http://doc.spip.org/@generer_url_article
function generer_url_article($id_article) {
	$url = _generer_url_propre('article', $id_article);
	if ($url)
		return _debut_urls_propres . '/article/' . $url . _terminaison_urls_propres;
	else
		return get_spip_script('./')."?page=article&amp;amp;id_article=$id_article";
}

// http://doc.spip.org/@generer_url_rubrique
function generer_url_rubrique($id_rubrique) {
	$url = _generer_url_propre('rubrique', $id_rubrique);
	if ($url)
		return _debut_urls_propres . '/rubrique/' . $url._terminaison_urls_propres;
	else
		return get_spip_script('./')."?page=rubrique&amp;amp;id_rubrique=$id_rubrique";
}

// http://doc.spip.org/@generer_url_breve
function generer_url_breve($id_breve) {
	$url = _generer_url_propre('breve', $id_breve);
	if ($url)
		return _debut_urls_propres . '/breve/' . $url._terminaison_urls_propres;
	else
		return get_spip_script('./')."?page=breve&amp;amp;id_breve=$id_breve";
}

// http://doc.spip.org/@generer_url_forum
function generer_url_forum($id_forum, $show_thread=false) {
	include_spip('inc/forum');
	return generer_url_forum_dist($id_forum, $show_thread);
}

// http://doc.spip.org/@generer_url_mot
function generer_url_mot($id_mot) {
	$url = _generer_url_propre('mot', $id_mot);
	if ($url)
		return _debut_urls_propres . '/mot/' . $url._terminaison_urls_propres;
	else
		return get_spip_script('./')."?page=mot&amp;amp;id_mot=$id_mot";
}

// http://doc.spip.org/@generer_url_auteur
function generer_url_auteur($id_auteur) {
	$url = _generer_url_propre('auteur', $id_auteur);
	if ($url)
		return _debut_urls_propres . '/auteur/' . $url._terminaison_urls_propres;
	else
		return get_spip_script('./')."?page=auteur&amp;amp;id_auteur=$id_auteur";
}

// http://doc.spip.org/@generer_url_site
function generer_url_site($id_syndic) {
	$url = _generer_url_propre('site', $id_syndic);
	if ($url)
		return _debut_urls_propres . '/site/' . $url._terminaison_urls_propres;
	else
		return get_spip_script('./')."?page=site&amp;amp;id_syndic=$id_syndic";
}

// http://doc.spip.org/@generer_url_document
function generer_url_document($id_document) {
	if (($id_document = intval($id_document)) &amp;lt;= 0)
		return '';
	if (($GLOBALS['meta']["creer_htaccess"]) == 'oui')
	  return generer_url_action('autoriser',"arg=$id_document", true);
	$row = @spip_fetch_array(spip_query("SELECT fichier FROM spip_documents WHERE id_document = $id_document"));
	if ($row) return ($row['fichier']);
	return '';
}

// http://doc.spip.org/@recuperer_parametres_url
function recuperer_parametres_url(&amp;amp;$fond, $url) {
	global $contexte;
	$id_objet = 0;

	// Migration depuis anciennes URLs ?
	if ($_SERVER['REQUEST_METHOD'] != 'POST') {
		if (preg_match(
		',(^|/)(article|breve|rubrique|mot|auteur|site)(\.php3?|[0-9]+\.html)'
		.'([?&amp;amp;].*)?$,', $url, $regs)
		) {
			$type = $regs[3];
			$id_table_objet = id_table_objet($type);
			$id_objet = intval($GLOBALS[$id_table_objet]);
		}

		/* Compatibilite urls-page */
		else if (preg_match(
		',[?/&amp;amp;](article|breve|rubrique|mot|auteur|site)[=]?([0-9]+),',
		$url, $regs)) {
			$type = $regs[1];
			$id_objet = $regs[2];
		}
	}
	if ($id_objet) {
		$func = "generer_url_$type";
		$url_propre = $func($id_objet);
		if (strlen($url_propre)
		AND !strstr($url,$url_propre)) {
			include_spip('inc/headers');
			http_status(301);
			// recuperer les arguments supplementaires (&amp;amp;debut_xxx=...)
			$reste = preg_replace('/^&amp;amp;/','?',
				preg_replace("/[?&amp;amp;]$id_table_objet=$id_objet/",'',$regs[5]));
			$reste .= preg_replace('/&amp;amp;/','?',
				preg_replace('/[?&amp;amp;]'.$type.'[=]?'.$id_objet.'/','',
				substr($url, strpos($url,'?'))));
			redirige_par_entete("$url_propre$reste");
		}
	}
	/* Fin compatibilite anciennes urls */


	// Chercher les valeurs d'environnement qui indiquent l'url-propre
	if (isset($_SERVER['REDIRECT_url_propre']))
		$url_propre = $_SERVER['REDIRECT_url_propre'];
	elseif (isset($GLOBALS['HTTP_ENV_VARS']['url_propre']))
		$url_propre = $GLOBALS['HTTP_ENV_VARS']['url_propre'];
	else {
		$url = substr($url, strrpos($url, '?') + 1);
		$url_propre = preg_replace(',[?].*,', '', $url);
	}
	// Mode Query-String ?
	$adapter_le_fond = false;
	if (!$url_propre
	AND preg_match(',([?])([^=/?&amp;amp;]+)(&amp;amp;.*)?$,', $GLOBALS['REQUEST_URI'], $r)) {
		$url_propre = $r[2];
		$adapter_le_fond = true;
	}
	if (!$url_propre) return;
	// Compatilibite avec propres2
	$url_propre = preg_replace(',\.html$,i', '', $url_propre);
	// Detecter les differents types d'objets demandes
	if (preg_match(',^/mot/(.*?)/$,', $url_propre, $regs)) {
		$type = 'mot';
		$url_propre = $regs[1];
	}
	else if (preg_match(',^/rubrique/(.*?)/$,', $url_propre, $regs)) {
		$type = 'rubrique';
		$url_propre = $regs[1];
	}
	else if (preg_match(',^/breve/(.*?)/$,', $url_propre, $regs)) {
		$type = 'breve';
		$url_propre = $regs[1];
	}
	else if (preg_match(',^/auteur/(.*?)/$,', $url_propre, $regs)) {
		$type = 'auteur';
		$url_propre = $regs[1];
	}
	else if (preg_match(',^/site/(.*?)/$,', $url_propre, $regs)) {
		$type = 'syndic';
		$url_propre = $regs[1];
	}
	else {
		$type = 'article';
		preg_match(',^/article/(.*)/$,', $url_propre, $regs);
		$url_propre = $regs[1];
	}
	$table = "spip_".table_objet($type);
	$col_id = id_table_objet($type);
	$result = spip_query("SELECT $col_id FROM $table WHERE url_propre=" . _q($url_propre));

	if ($row = spip_fetch_array($result)) {
		$contexte[$col_id] = $row[$col_id];
	}

	// En mode Query-String, on fixe ici le $fond utilise
	if ($adapter_le_fond) {
		$fond = $type;
		if ($type == 'syndic') $fond = 'site';
	}
//echo("type=$type &amp;amp; value=$url_propre");

	return;
}
 }

?&amp;gt;


&lt;/pre&gt;</description><pubDate>Wed, 04 Jun 2008 08:52:01 GMT</pubDate><link>http://microblog.thierrypoinot.com/post/3219263/Script-de-r-criture-d-url-personnalis</link><guid isPermaLink="false">urn:www-soup-io:1:3219263</guid><category domain="contenttype">regular</category></item><item><title>Utiliser des URLs personnalis&#233;es - SPIP</title>
<description>&lt;a href="http://www.spip.net/fr_article765.html?var_recherche=url"&gt;&#231;a &#231;a claque &#231;a chatte ! des URL plus que propres avec SPIP ! - &#224; voir...&lt;/a&gt;</description><pubDate>Wed, 04 Jun 2008 08:02:39 GMT</pubDate><link>http://microblog.thierrypoinot.com/post/3218476/Utiliser-des-URLs-personnalis-es-SPIP</link><guid isPermaLink="false">urn:www-soup-io:1:3218476</guid><category domain="contenttype">link</category></item><item><title>Cr&#233;er une redirection DynDNS | SkyMinds.Net</title>
<description>&lt;a href="http://www.skyminds.net/2005/03/24/creer-une-redirection-dyndns/"&gt;http://www.skyminds.net/2005/03/24/creer-une-redirection-dyndns/&lt;/a&gt;</description><pubDate>Tue, 03 Jun 2008 07:34:38 GMT</pubDate><link>http://microblog.thierrypoinot.com/post/3195525/Cr-er-une-redirection-DynDNS-SkyMinds-Net</link><guid isPermaLink="false">urn:www-soup-io:1:3195525</guid><category domain="contenttype">link</category></item>  </channel>
</rss>
