<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ChroGeek &#187; PHP</title>
	<atom:link href="http://www.chrogeek.com/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.chrogeek.com</link>
	<description>Les ChroGeeks d'un jeune ordinaire</description>
	<lastBuildDate>Mon, 02 Jan 2012 12:50:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.3</generator>
		<item>
		<title>[web] Comment développer et tester un site internet pour iPhone et Android</title>
		<link>http://www.chrogeek.com/2010/02/web-comment-developper-et-tester-un-site-internet-pour-iphone-et-android/</link>
		<comments>http://www.chrogeek.com/2010/02/web-comment-developper-et-tester-un-site-internet-pour-iphone-et-android/#comments</comments>
		<pubDate>Sat, 20 Feb 2010 14:19:37 +0000</pubDate>
		<dc:creator>jaguie</dc:creator>
				<category><![CDATA[Chrogeek]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://www.chrogeek.com/?p=3455</guid>
		<description><![CDATA[Bonjour à tous, Bon comme c&#8217;est la grande mode, et que Gartner va encore nous sortir une étude expliquant qu’en 2018 les morts utiliseront seesmic depuis leurs smartphones android, il faut bien prévoir le coup. Donc plutôt que de faire une application dédiée juste pour un site (et d&#8217;attendre 3semaines pour qu&#8217;elle soit sur appStore), [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Bonjour à tous,</strong></p>
<p style="text-align: center;"><strong><a href="http://www.chrogeek.com/wp-content/uploads/2010/02/site-web-pour-iphone-les-copines.jpg"><img class="aligncenter size-full wp-image-3457" title="site web pour iphone les copines" src="http://www.chrogeek.com/wp-content/uploads/2010/02/site-web-pour-iphone-les-copines.jpg" alt="" width="582" height="222" /></a><br />
</strong></p>
<p style="text-align: justify;">Bon comme c&#8217;est la grande mode, et que <strong>Gartner</strong> va encore nous sortir une  étude expliquant qu’en 2018 les morts utiliseront seesmic depuis leurs  smartphones <strong>android</strong>, il faut bien prévoir le coup.</p>
<p style="text-align: justify;">Donc plutôt que de faire une application dédiée juste pour un site (et  d&#8217;attendre 3semaines pour qu&#8217;elle soit sur appStore), je pense qu&#8217;il faut  développer une version mobile du site en question. De plus, je trouve que développer une  application ne se justifie pas, car on a déjà souvent bien trop d&#8217;application  sur son mobile</p>
<p style="text-align: justify;">Pour ce faire, il n&#8217;y a que deux solutions. La première, on perd un week-end  à coder du <strong>HTML/CSS</strong> afin de faire une jolie adaptation de son site/blog pour les  terminaux mobiles. La seconde, et de loin ma préférée, on est fainéant et on se  démerde pour trouver un truc presque tout prêt! Ca existe <img src='http://www.chrogeek.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  , et ça s&#8217;appelle<strong> WPtouch iPhone Theme</strong>. C&#8217;est un plugin pour <strong>wordpress </strong>et ça s&#8217;installe comme tous  les plug-ins, autrement dit, c&#8217;est tout con. Depuis le module d&#8217;administration  du <strong>plugin </strong>on peut faire pas mal de modifs, comme changer le code couleur ou  encore insérer ses codes adsense. Bref un très bon plug-in et on comprend donc  bien pourquoi il est dans le top sur wordpress.org.</p>
<p style="text-align: justify;">Pour les plus courageux d&#8217;entre nous (ou ceux qui n&#8217;utilisent pas wordpress),  qui déciderais de coder l&#8217;affaire à la main il faut savoir un truc: Comment  tester l&#8217;application/site internet que je développe depuis mon pc, surtout si je  n&#8217;ai pas de <strong>iPhone </strong>(le cas de bibi).</p>
<p style="text-align: justify;">Bah c&#8217;est tout con, mais il faut juste comprendre comment ça fonctionne  derrière l&#8217;écran (non avant le mur&#8230;). En fait, tous les navigateurs internet  (IE, Chrome, FF, Opéra, Safari &#8230;) ont une signature perso. C&#8217;est  grâce à ça  qu’un site peut soit s&#8217;afficher en version mobile, soit en version normale, soit  ne pas s&#8217;afficher du tout. Cette signature est appelée User Agent.</p>
<p style="text-align: justify;">Donc vous avez déjà tout compris, pour développer un site pour iPhone,  Android, Windows Mobile &#8230; il suffit de changer la signature de son navigateur.  Pour cela, je vous conseille d&#8217;utiliser l&#8217;extension <strong>User Agent Switcher</strong> de firefox car  elle fait très bien le boulot. Une fois installée il suffit d&#8217;aller dans le menu  outil-&gt;Default Agent User et de sélectionner celui qui vous convient. Dans  notre cas, c&#8217;est iPhone 3.0. Maintenant, il ne vous reste plus qu&#8217;à lancer votre  ide préféré (éclipse <img src='http://www.chrogeek.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  ) et de commencer à coder.</p>
<p style="text-align: justify;">Pour les<strong> non-déveur</strong>, c&#8217;est extension est aussi super utile puisqu&#8217;elle permet  de tester/consulter/modifier des sites web depuis votre PC/Mac comme si vous  étiez sur votre <strong>iPhone/Android</strong>.</p>
<p style="text-align: justify;">Ah oui, j&#8217;allais oublier, pour que <strong>WPtouch iPhone Theme </strong>fonctionne avec<strong> WP Super Cache, </strong>il faut bien configurer WP Super Cache.  En fait, il suffit de cocher l&#8217;option &laquo;&nbsp; <strong>Mobile device support using WordPress Mobile Edition</strong> &nbsp;&raquo; dans le menu d&#8217;administration du plugin  WP Super Cache de WordPress.</p>
<p>La version mobile de <strong>chrogeek </strong>ressemble donc maintenant à :</p>
<p style="text-align: center;"><a href="http://www.chrogeek.com/wp-content/uploads/2010/02/developpement-site-web-iphone.jpg"><img class="aligncenter size-full wp-image-3456" title="developpement site web iphone" src="http://www.chrogeek.com/wp-content/uploads/2010/02/developpement-site-web-iphone.jpg" alt="" width="580" height="454" /></a></p>
<p>Au fait, j&#8217;ai aussi mis en place WP Super Cache sur chroGeek, voyez-vous une  différence ?</p>
<p>Merveilleux week-end à tous,</p>
<p>Have fun,</p>
<p><strong>Jaguie</strong></p>
<h4 style="text-align: right;">nb, merci les copines pour la photo <img src='http://www.chrogeek.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </h4>
<h3  class="related_post_title">Billets similaires</h3><ul class="related_post"><li><a href="http://www.chrogeek.com/2010/05/bilan-le-phenomene-google-android-en-quelques-chiffres/" title="[Bilan] Le phénomène Google Android en quelques chiffres !">[Bilan] Le phénomène Google Android en quelques chiffres !</a></li><li><a href="http://www.chrogeek.com/2010/05/phone-mes-applications-indispensable-pour-android-market/" title="[Phone] Mes applications indispensables pour Android">[Phone] Mes applications indispensables pour Android</a></li><li><a href="http://www.chrogeek.com/2010/05/sauvegarde-comment-faire-un-backup-des-ses-sms-avec-android/" title="[Sauvegarde] Comment faire un backup des ses SMS avec Android">[Sauvegarde] Comment faire un backup des ses SMS avec Android</a></li><li><a href="http://www.chrogeek.com/2010/02/dev-google-chart-tools-ou-comment-faire-des-jolis-graphiquescharts-en-javascript/" title="[Dev] Google Chart Tools, ou comment faire des jolis graphiques/charts en Javascript">[Dev] Google Chart Tools, ou comment faire des jolis graphiques/charts en Javascript</a></li><li><a href="http://www.chrogeek.com/2010/01/apple-vs-google-apple-pourrait-remplacer-google-par-bing-comme-moteur-de-recherche-par-defaut-sur-liphone/" title="[Apple VS Google] Apple pourrait remplacer Google par Bing comme moteur de recherche par défaut  sur l&#8217;iPhone">[Apple VS Google] Apple pourrait remplacer Google par Bing comme moteur de recherche par défaut  sur l&#8217;iPhone</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.chrogeek.com/2010/02/web-comment-developper-et-tester-un-site-internet-pour-iphone-et-android/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>[Bilan] Une rapide synthèse du monde de l&#8217;open source et du logiciel libre</title>
		<link>http://www.chrogeek.com/2010/02/bilan-une-rapide-synthese-du-monde-de-lopen-source-et-du-logiciel-libre/</link>
		<comments>http://www.chrogeek.com/2010/02/bilan-une-rapide-synthese-du-monde-de-lopen-source-et-du-logiciel-libre/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 14:40:34 +0000</pubDate>
		<dc:creator>jaguie</dc:creator>
				<category><![CDATA[Chrogeek]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Progrès]]></category>
		<category><![CDATA[bilan]]></category>
		<category><![CDATA[chart]]></category>
		<category><![CDATA[logiciel libre]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://www.chrogeek.com/?p=3435</guid>
		<description><![CDATA[Bonjour à tous Hop, c&#8217;est le graph/chart qu&#8217;il manquait à la collection. Il va falloir que je prenne le temps de faire une catégorie I love Chart afin de tous les réuinirs. Aujourd&#8217;hui, le graphique bilan est au sujet du vaste monde de l&#8217;open source. C&#8217;est comme d&#8217;habitude super bien fait et une très bonne synthèse. [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Bonjour à tous</strong></p>
<p style="text-align: center;"><strong><a href="http://www.chrogeek.com/wp-content/uploads/2010/02/bilan-monde-open-source-graphique.jpg"><img class="aligncenter size-full wp-image-3437" title="bilan monde open source graphique" src="http://www.chrogeek.com/wp-content/uploads/2010/02/bilan-monde-open-source-graphique.jpg" alt="" width="582" height="222" /></a><br />
</strong></p>
<p>Hop, c&#8217;est le graph/chart qu&#8217;il manquait à la collection. Il va falloir que  je prenne le temps de faire une catégorie <strong><a href="http://ilovecharts.tumblr.com/" target="_blank">I love  Chart</a></strong> afin de tous les  réuinirs.</p>
<p>Aujourd&#8217;hui,<strong> le graphique bilan est au sujet du vaste monde de l&#8217;open source</strong>. C&#8217;est comme  d&#8217;habitude super bien fait et une très bonne synthèse.</p>
<p>Je vous conseille vraiment de <strong>prendre deux minutes pour au minimum regarder  la chronologie de l&#8217;histoire de l&#8217;open source</strong>.</p>
<p>Et comme toujours, c&#8217;est superbe visuellement parlant :</p>
<p style="text-align: center;"><a href="http://www.chrogeek.com/wp-content/uploads/2010/02/bilan-monde-logiciel-open-source-libre.jpg"><img class="aligncenter size-full wp-image-3436" title="bilan monde logiciel open source libre" src="http://www.chrogeek.com/wp-content/uploads/2010/02/bilan-monde-logiciel-open-source-libre.jpg" alt="" width="628" height="5005" /></a></p>
<p>J&#8217;ai tout de même été sidéré d&#8217;apprendre que<strong> Cuba utilise 100% de logiciel open  source</strong>, surement un héritage de l&#8217;embargo américain. Après il faudrait tout  de même mettre ses chiffres en perspective avec<strong> le taux de pénétration de  l&#8217;informatique</strong>.</p>
<p style="text-align: justify;">Le premier pays européen en terme d&#8217;utilisation de logiciel libre est la  République tchèque. Pour y avoir étudié, il y a une bonne paire d&#8217;années, je ne  peux que tout simplement confirmer (même si j&#8217;ai encore le nauséabond souvenir  d&#8217;avoir dû utiliser un Windows 2000 mal configuré avec un clavier tchèque (ils  sont pires que les Danois)&#8230;).</p>
<p>Voilà ce que je voulais rapidement ajouter !</p>
<p style="text-align: justify;">C&#8217;est marrant, j&#8217;étais en train de penser, que si je fais un bilan de mon  environnement informatique, c&#8217;est plus rapide de comptabiliser les logiciels non  open source que l&#8217;inverse <img src='http://www.chrogeek.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  . En gros ça se résume à Windows 7, Office,  TweetDeck, Remote Desktop et Skype (plus pour très longtemps si je m&#8217;abuse). Je  crois que je n&#8217;ai rien oublié.</p>
<p>vous?</p>
<p>Merveilleuse fin de journée à tous,</p>
<p>Have fun,</p>
<p><strong>Jaguie</strong></p>
<h3  class="related_post_title">Billets similaires</h3><ul class="related_post"><li><a href="http://www.chrogeek.com/2010/12/statistique-2010-lannee-de-twitter-de-facebook-ou-des-deux/" title="[Statistique] 2010, L&#8217;année de twitter, de facebook, ou des deux ?">[Statistique] 2010, L&#8217;année de twitter, de facebook, ou des deux ?</a></li><li><a href="http://www.chrogeek.com/2010/06/cest-combien-le-salaire-moyen-dun-ingenieur-en-france/" title="[Neurones] C&#8217;est combien le salaire moyen d&#8217;un ingénieur en France ?">[Neurones] C&#8217;est combien le salaire moyen d&#8217;un ingénieur en France ?</a></li><li><a href="http://www.chrogeek.com/2010/06/bilan-le-phenomene-porno-sur-le-web-en-quelques-chiffres-stats-pr0n/" title="[Bilan] Le phénomène porno sur le web en quelques chiffres &#8211; stats #pr0n !">[Bilan] Le phénomène porno sur le web en quelques chiffres &#8211; stats #pr0n !</a></li><li><a href="http://www.chrogeek.com/2010/05/bilan-le-phenomene-google-android-en-quelques-chiffres/" title="[Bilan] Le phénomène Google Android en quelques chiffres !">[Bilan] Le phénomène Google Android en quelques chiffres !</a></li><li><a href="http://www.chrogeek.com/2010/03/wow-lincroyable-monde-de-world-of-warcraft-en-quelques-chiffres/" title="[WOW] L&#8217;incroyable monde de World of Warcraft en quelques chiffres.">[WOW] L&#8217;incroyable monde de World of Warcraft en quelques chiffres.</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.chrogeek.com/2010/02/bilan-une-rapide-synthese-du-monde-de-lopen-source-et-du-logiciel-libre/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>[Dev] Google Chart Tools, ou comment faire des jolis graphiques/charts en Javascript</title>
		<link>http://www.chrogeek.com/2010/02/dev-google-chart-tools-ou-comment-faire-des-jolis-graphiquescharts-en-javascript/</link>
		<comments>http://www.chrogeek.com/2010/02/dev-google-chart-tools-ou-comment-faire-des-jolis-graphiquescharts-en-javascript/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 09:43:59 +0000</pubDate>
		<dc:creator>jaguie</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[javaScript]]></category>
		<category><![CDATA[prog]]></category>

		<guid isPermaLink="false">http://www.chrogeek.com/?p=3421</guid>
		<description><![CDATA[Bonjour à tous, Il y a dix mille solutions qui trainent sur la toile afin de générer des graphiques dynamiques ou statiques pour un site web. Google vient d&#8217;ajouter sa pierre à l&#8217;édifice en lançant la semaine dernière : Google Chart Tools. C&#8217;est basé sur deux API différentes : Image Charts et Interactive Charts. J&#8217;ai rapidement regardé l&#8217;affaire et [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Bonjour à tous,</strong></p>
<p style="text-align: center;"><strong><a href="http://www.chrogeek.com/wp-content/uploads/2010/02/google-chart-api-javascript.jpg"><img class="aligncenter size-full wp-image-3422" title="google chart api javascript" src="http://www.chrogeek.com/wp-content/uploads/2010/02/google-chart-api-javascript.jpg" alt="" width="582" height="222" /></a><br />
</strong></p>
<p>Il y a dix mille solutions qui trainent sur la toile afin de générer des  graphiques dynamiques ou statiques pour un site web. Google vient d&#8217;ajouter sa  pierre à l&#8217;édifice en lançant la semaine dernière : <strong>Google Chart Tools.</strong></p>
<p>C&#8217;est basé sur deux API différentes : <strong>Image Charts</strong> et <strong>Interactive Charts.</strong></p>
<p>J&#8217;ai rapidement regardé l&#8217;affaire et ça à l&#8217;air plutôt bien foutu. Je pense  que je vais un peu plus exploiter l&#8217;affaire dans les semaines qui viennent.</p>
<p>On peut voir un comparatif des deux solutions ici : <strong><a href="http://code.google.com/apis/charttools/docs/choosing.html" target="_blank">http://code.google.com/apis/charttools/docs/choosing.html</a>.</strong></p>
<p>Un petit exemple de l&#8217;API statique : <strong><a href="http://chart.apis.google.com/chart?cht=p3&amp;chd=s:Uf9a&amp;chs=250x100&amp; chl=January|February|March|April" target="_blank">http://chart.apis.google.com/chart?cht=p3&amp;chd=s:Uf9a&amp;chs=250&#215;100&amp;  chl=January|February|March|April</a></strong></p>
<p>Où qui faut aller ?</p>
<ul>
<li>Image Chart : <strong><a href="http://code.google.com/apis/chart/image_charts.html" target="_blank">http://code.google.com/apis/chart/image_charts.html</a></strong></li>
<li>Interactive Chart : <a href="http://code.google.com/apis/visualization/interactive_charts.html" target="_blank"><strong>http://code.google.com/apis/visualization/interactive_charts.html</strong></a></li>
</ul>
<p>Merveilleuse journée à tous,</p>
<p>Open up, open up !</p>
<p><strong>Jaguie</strong></p>
<h3  class="related_post_title">Billets similaires</h3><ul class="related_post"><li><a href="http://www.chrogeek.com/2009/06/prog-defi-geek-4-fork-en-php-ou-comment-faire-du-multi-tache-avec-php-en-cli/" title="[Prog] Defi Geek #4, fork en php ou comment faire du multi-tache avec PHP en CLI">[Prog] Defi Geek #4, fork en php ou comment faire du multi-tache avec PHP en CLI</a></li><li><a href="http://www.chrogeek.com/2009/06/prog-le-defi-geek-3-ou-comment-faire-des-redirections-http-avec-des-valeurs-de-post/" title="[PROG] Le Defi Geek #3, ou comment faire des redirections HTTP avec des valeurs de POST">[PROG] Le Defi Geek #3, ou comment faire des redirections HTTP avec des valeurs de POST</a></li><li><a href="http://www.chrogeek.com/2009/06/grop-resultat-et-bilan-du-defi-geek-2/" title="[GROP] Résultat et bilan du défi geek #2 ">[GROP] Résultat et bilan du défi geek #2 </a></li><li><a href="http://www.chrogeek.com/2009/06/prog-le-defi-geek-2-ou-comment-faire-recreer-lalphabet/" title="[Prog] Le défi geek #2, ou comment faire pour recréer l&#8217;alphabet !">[Prog] Le défi geek #2, ou comment faire pour recréer l&#8217;alphabet !</a></li><li><a href="http://www.chrogeek.com/2008/07/mes-plugins-pour-firefox/" title="Mes plugins pour FireFox">Mes plugins pour FireFox</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.chrogeek.com/2010/02/dev-google-chart-tools-ou-comment-faire-des-jolis-graphiquescharts-en-javascript/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>[Informatique] Quelle sont les meilleures certifications ?</title>
		<link>http://www.chrogeek.com/2010/02/informatique-quelle-sont-les-meilleures-certifications/</link>
		<comments>http://www.chrogeek.com/2010/02/informatique-quelle-sont-les-meilleures-certifications/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 09:41:16 +0000</pubDate>
		<dc:creator>jaguie</dc:creator>
				<category><![CDATA[Finance]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[études]]></category>

		<guid isPermaLink="false">http://www.chrogeek.com/?p=3386</guid>
		<description><![CDATA[Bonjour à tous, Si vous travaillez dans le monde de l&#8217;informatique, vous n&#8217;êtes pas sans savoir que les certifications (certifs&#8217; pour les intimes) sont un peu le Graal du nerd ! Mais toutes ne sont pas logées à la même enseigne. Le magazine américain &#171;&#160;Certification Magazine&#160;&#187; (ça ne s&#8217;invente pas) a récemment publié un bon [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Bonjour à tous,</strong></p>
<p style="text-align: center;"><strong><a href="http://www.chrogeek.com/wp-content/uploads/2010/02/certification-success.jpg"><img class="aligncenter size-full wp-image-3387" title="certification success" src="http://www.chrogeek.com/wp-content/uploads/2010/02/certification-success.jpg" alt="" width="582" height="222" /></a><br />
</strong></p>
<p style="text-align: justify;">Si vous travaillez dans le monde de l&#8217;informatique, vous n&#8217;êtes pas sans  savoir que les certifications (certifs&#8217; pour les intimes) sont un peu le Graal  du nerd !</p>
<p style="text-align: justify;">Mais toutes ne sont pas logées à la même enseigne. Le magazine américain  &laquo;&nbsp;<strong><a href="http://www.certmag.com/" target="_blank">Certification Magazine</a></strong>&nbsp;&raquo; (ça ne  s&#8217;invente pas) a récemment publié un bon classement mondial de la valeur des  certifs IT  basé sur les salaires.</p>
<p>Voilà, je vous laisse faire votre choix :</p>
<p style="text-align: center;"><a href="http://www.chrogeek.com/wp-content/uploads/2010/02/certification-it-remunerations.jpg" target="_blank"><img class="aligncenter size-medium wp-image-3388" title="certification it remunerations" src="http://www.chrogeek.com/wp-content/uploads/2010/02/certification-it-remunerations-300x163.jpg" alt="" width="300" height="163" /></a></p>
<p style="text-align: center;"><em>[Cliquer sur l'image pour l'agrandir]</em></p>
<p>Très bonne journée à tous,</p>
<p>Have fun,</p>
<p><strong>Jaguie</strong></p>
<h5 style="text-align: right;"><strong><em>[</em><a href="http://www.lemondeinformatique.fr/actualites/lire-certifications-quelles-sont-les-plus-remuneratrices-29858.html" target="_blank"><em>via</em></a><em>]</em></strong></h5>
<h3  class="related_post_title">Billets similaires</h3><ul class="related_post"><li><a href="http://www.chrogeek.com/2010/03/video-mais-ou-en-est-internet-en-quelques-chiffres/" title="[Video] Mais où en est internet en quelques chiffres ?">[Video] Mais où en est internet en quelques chiffres ?</a></li><li><a href="http://www.chrogeek.com/2010/02/document-le-tube-chaotique-ou-un-tres-bon-documentaire-de-france-5/" title="[Document] Le Tube Chaotique, ou un très bon documentaire de France 5">[Document] Le Tube Chaotique, ou un très bon documentaire de France 5</a></li><li><a href="http://www.chrogeek.com/2010/02/bilan-internet-en-2009-en-quelques-chiffres/" title="[Bilan] Internet en 2009 en quelques chiffres">[Bilan] Internet en 2009 en quelques chiffres</a></li><li><a href="http://www.chrogeek.com/2009/12/chiffres-un-jour-dinternet-en-quelques-chiffres/" title="[Chiffres] Un jour d&#8217;internet en quelques chiffres &#8230;">[Chiffres] Un jour d&#8217;internet en quelques chiffres &#8230;</a></li><li><a href="http://www.chrogeek.com/2009/10/a-savoir-au-fait-facebook-lite-vous-connaissez/" title="[A savoir!] Au fait, Facebook lite, vous connaissez ?">[A savoir!] Au fait, Facebook lite, vous connaissez ?</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.chrogeek.com/2010/02/informatique-quelle-sont-les-meilleures-certifications/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>[Dev] Comment bien choisir son Framework PHP, Ruby, JS, CSS</title>
		<link>http://www.chrogeek.com/2009/09/dev-comment-bien-choisir-son-framework-php-ruby-js-css/</link>
		<comments>http://www.chrogeek.com/2009/09/dev-comment-bien-choisir-son-framework-php-ruby-js-css/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 04:28:32 +0000</pubDate>
		<dc:creator>jaguie</dc:creator>
				<category><![CDATA[Chrogeek]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Projet]]></category>
		<category><![CDATA[developpeur]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[programmation]]></category>
		<category><![CDATA[zend]]></category>

		<guid isPermaLink="false">http://www.chrogeek.com/?p=2776</guid>
		<description><![CDATA[Bonjour à tous, Voilà l&#8217;une des questions les plus polémiques du monde des développeurs :  &#160;&#187;Quel framework choisir ? &#171;&#160;. C&#8217;est une de ces questions #openTroll faciles ! Il me parait évident qu&#8217;il faut bien sûr choisir son framework en fonction de ses réels besoins pour peu que l&#8217;on les ait bien définis&#8230; Hop voilà [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Bonjour à tous, </strong></p>
<p style="text-align: center;"><strong><a href="http://www.chrogeek.com/wp-content/uploads/2009/09/bien-choisir-son-framework-developpement.png"><img class="alignnone size-full wp-image-2777" title="bien-choisir-son-framework-developpement" src="http://www.chrogeek.com/wp-content/uploads/2009/09/bien-choisir-son-framework-developpement.png" alt="bien-choisir-son-framework-developpement" width="544" height="184" /></a></strong></p>
<p>Voilà l&#8217;une des questions les plus polémiques du monde des développeurs :   &nbsp;&raquo;<strong><em>Quel framework choisir ? </em></strong>&laquo;&nbsp;. C&#8217;est une de ces questions <strong>#openTroll faciles</strong> !</p>
<p>Il me parait évident qu&#8217;il faut bien sûr choisir son framework en fonction de  ses réels besoins pour peu que l&#8217;on les ait bien définis&#8230;</p>
<p>Hop voilà un petit site sans prétention, qui permettra de rapidement voir les<strong> avantages et inconvenients de chacun des principaux framework disponibles sur le  marché</strong>.</p>
<p>En gros, c&#8217;est une bonne synthèse schématique bien pratique.</p>
<p>Ceux qui passent régulièrement par ici, savent que <strong>je suis un grand fan et  admirateur du  projet Zend Framework</strong>, et je dois dire que ce petit comparatif me  renforce dans mon choix (au regard de mes besoins).</p>
<p style="text-align: center;">Ça se passe par là : <a href="http://www.bestwebframeworks.com/" target="_blank"><strong>http://www.bestwebframeworks.com/</strong></a></p>
<p>Voilà, bonne journée à tous.</p>
<p>Have fun,</p>
<p><strong>Jaguie</strong></p>
<h3  class="related_post_title">Billets similaires</h3><ul class="related_post"><li><a href="http://www.chrogeek.com/2009/01/petit-hack-entre-amis-freekr-ou-comment-telecharger-toutes-les-photos-de-flickr/" title="[Petit Hack entre amis] Freekr, ou comment télécharger toutes les photos de Flickr">[Petit Hack entre amis] Freekr, ou comment télécharger toutes les photos de Flickr</a></li><li><a href="http://www.chrogeek.com/2009/05/prog-lultime-debat-ou-comment-bien-indenter-son-code/" title="[Prog] L&#8217;ultime débat, ou comment bien indenter son code&#8230;">[Prog] L&#8217;ultime débat, ou comment bien indenter son code&#8230;</a></li><li><a href="http://www.chrogeek.com/2009/03/exclu-lensemble-des-noms-de-domaines-disponibles-en-fr-composes-de-3-lettres/" title="[Exclu] L&#8217;ensemble des noms de domaines disponibles en .fr composés de 3 lettres ">[Exclu] L&#8217;ensemble des noms de domaines disponibles en .fr composés de 3 lettres </a></li><li><a href="http://www.chrogeek.com/2008/07/blogoscopie-de-ce-dimanche-13-juillet-2008/" title="Blogoscopie de ce dimanche 13 juillet 2008">Blogoscopie de ce dimanche 13 juillet 2008</a></li><li><a href="http://www.chrogeek.com/2010/02/dev-google-chart-tools-ou-comment-faire-des-jolis-graphiquescharts-en-javascript/" title="[Dev] Google Chart Tools, ou comment faire des jolis graphiques/charts en Javascript">[Dev] Google Chart Tools, ou comment faire des jolis graphiques/charts en Javascript</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.chrogeek.com/2009/09/dev-comment-bien-choisir-son-framework-php-ruby-js-css/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>[Indispensable] Quelques mémos de programmation informatique: HTML et CSS</title>
		<link>http://www.chrogeek.com/2009/07/indispensable-quelques-memos-de-programmation-informatique-html-et-css/</link>
		<comments>http://www.chrogeek.com/2009/07/indispensable-quelques-memos-de-programmation-informatique-html-et-css/#comments</comments>
		<pubDate>Wed, 29 Jul 2009 06:23:24 +0000</pubDate>
		<dc:creator>jaguie</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[memo]]></category>
		<category><![CDATA[pratique]]></category>
		<category><![CDATA[prog]]></category>

		<guid isPermaLink="false">http://www.chrogeek.com/?p=2734</guid>
		<description><![CDATA[Bonjour à tous, Hop, grâce à Louis et via twitter, j&#8217;ai pu voir quelques bons petits mémos pour le développement WEB. Il y en a plein le web, mais ceux-là sont plutôt bien faits et lisibles ! Puis c&#8217;est toujours pratique d&#8217;avoir ça au dessus de la tête, lorsque l&#8217;on ne l&#8217;a pas dedans ! (Surtout le [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Bonjour à tous,</strong></p>
<p style="text-align: center;"><strong><a href="http://www.chrogeek.com/wp-content/uploads/2009/07/memo-html-how-to-met-ladies.png"><img class="alignnone size-full wp-image-2735" title="memo-html-how-to-met-ladies" src="http://www.chrogeek.com/wp-content/uploads/2009/07/memo-html-how-to-met-ladies.png" alt="memo-html-how-to-met-ladies" width="556" height="196" /></a></strong></p>
<p>Hop, grâce à <strong><a href="http://abricocotier.fr" target="_blank">Louis </a></strong>et via <strong><a href="http://twitter.com/LouisVolant/status/2896741072" target="_blank">twitter</a></strong>,  j&#8217;ai pu voir quelques <strong>bons petits mémos pour le développement WEB</strong>. Il y en a  plein le web, mais ceux-là sont plutôt bien faits et lisibles !<br />
Puis c&#8217;est toujours pratique d&#8217;avoir ça  au dessus de la tête, lorsque l&#8217;on ne l&#8217;a pas dedans ! (Surtout le CSS pour ma  part&#8230; )</p>
<p><strong><span style="text-decoration: underline;">Pour le HTML</span></strong> :</p>
<p style="text-align: center;"><a href="http://www.chrogeek.com/wp-content/uploads/2009/07/memo-html-chrogeek-pratique.png"><img class="alignnone size-medium wp-image-2736" title="memo-html-chrogeek-pratique" src="http://www.chrogeek.com/wp-content/uploads/2009/07/memo-html-chrogeek-pratique-221x300.png" alt="memo-html-chrogeek-pratique" width="221" height="300" /></a></p>
<p><strong><span style="text-decoration: underline;">Et le CSS</span></strong> :</p>
<p style="text-align: center;"><a href="http://www.chrogeek.com/wp-content/uploads/2009/07/feuille-memo-css-cheat-sheet-pratique-chrogeek.png"><img class="alignnone size-medium wp-image-2737" title="feuille-memo-css-cheat-sheet-pratique-chrogeek" src="http://www.chrogeek.com/wp-content/uploads/2009/07/feuille-memo-css-cheat-sheet-pratique-chrogeek-222x300.png" alt="feuille-memo-css-cheat-sheet-pratique-chrogeek" width="222" height="300" /></a></p>
<p>Il y en a d&#8217;autres pour différentes versions de Toshop et Ruby on Rails :  <strong><a href="http://hv-designs.co.uk/2009/07/27/cheat-sheets-you-shouldnt-be-without/" target="_blank">la</a></strong> .</p>
<p>Voilà,</p>
<p>Keyboards are fun !</p>
<p><strong>Jaguie</strong></p>
<h3  class="related_post_title">Billets similaires</h3><ul class="related_post"><li><a href="http://www.chrogeek.com/2010/02/dev-google-chart-tools-ou-comment-faire-des-jolis-graphiquescharts-en-javascript/" title="[Dev] Google Chart Tools, ou comment faire des jolis graphiques/charts en Javascript">[Dev] Google Chart Tools, ou comment faire des jolis graphiques/charts en Javascript</a></li><li><a href="http://www.chrogeek.com/2010/01/code-barre-2-0-la-ratp-deploie-la-technologie-flashcode-pour-les-bus-et-tramways/" title="[code-barre 2.0] La RATP déploie la technologie Flashcode pour les bus et tramways">[code-barre 2.0] La RATP déploie la technologie Flashcode pour les bus et tramways</a></li><li><a href="http://www.chrogeek.com/2010/01/pratique-isitsunshine-com-ou-comment-remplacer-definitivement-evelyne-dheliat/" title="[Pratique] IsItSunshine.com ou comment remplacer définitivement Evelyne Dheliat&#8230;">[Pratique] IsItSunshine.com ou comment remplacer définitivement Evelyne Dheliat&#8230;</a></li><li><a href="http://www.chrogeek.com/2010/01/petit-hack-entre-amis-comment-se-connecter-rapidement-a-un-autre-ordinateur-distant/" title="[Petit hack entre amis] Comment se connecter rapidement à un autre ordinateur distant">[Petit hack entre amis] Comment se connecter rapidement à un autre ordinateur distant</a></li><li><a href="http://www.chrogeek.com/2009/11/utile-trois-sites-bien-pratique-pour-poster-ses-photos-et-images-sans-inscription/" title="[Utile] Trois sites bien pratique pour poster ses photos et images sans inscription">[Utile] Trois sites bien pratique pour poster ses photos et images sans inscription</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.chrogeek.com/2009/07/indispensable-quelques-memos-de-programmation-informatique-html-et-css/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>[PHP] Comment parser des dates en fonction d&#8217;un format variable</title>
		<link>http://www.chrogeek.com/2009/07/php-comment-parser-des-dates-en-fonction-dun-format-variable/</link>
		<comments>http://www.chrogeek.com/2009/07/php-comment-parser-des-dates-en-fonction-dun-format-variable/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 16:10:30 +0000</pubDate>
		<dc:creator>jaguie</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[php date]]></category>

		<guid isPermaLink="false">http://www.chrogeek.com/?p=2644</guid>
		<description><![CDATA[Bonjour à tous, Cette semaine au boulot j&#8217;ai eu un petit souci qui m&#8217;a couté pas mal de cheveux&#8230; Je vous explique. Afin de finir d&#8217;implémenter un gestionnaire d&#8217;événement relatif à un calendrier, j&#8217;ai du parser des dates afin de les convertir en timestamps pour la DB. Jusqu&#8217;à la normal. Seulement le problème c&#8217;est que [...]]]></description>
			<content:encoded><![CDATA[<p><strong> Bonjour à tous,</strong></p>
<p style="text-align: center;"><strong><img class="alignnone size-full wp-image-2645" title="php-time-date-parse" src="http://www.chrogeek.com/wp-content/uploads/2009/07/php-time-date-parse.png" alt="php-time-date-parse" width="554" height="194" /></strong></p>
<p style="text-align: justify;">Cette semaine au boulot j&#8217;ai eu un petit souci qui m&#8217;a couté pas mal de  cheveux&#8230;</p>
<p style="text-align: justify;">Je vous explique. Afin de finir d&#8217;implémenter un gestionnaire d&#8217;événement  relatif à un calendrier, j&#8217;ai du parser des dates afin de les convertir en  timestamps pour la DB. Jusqu&#8217;à la normal.</p>
<p style="text-align: justify;">Seulement le problème c&#8217;est que j&#8217;avais besoin d&#8217;une fonction du style  <strong>timeparse($format, $date)</strong>. Par exemple<strong> timeparse(&laquo;&nbsp;m-d-Y&nbsp;&raquo;, &laquo;&nbsp;04-06-2008&#8243;)</strong> .</p>
<p style="text-align: justify;">Donc j&#8217;ai commencé à fouiller la doc php pour trouver cette fonction qui me  semblait triviale en soit puisque c&#8217;est juste l&#8217;inverse de la célèbre fonction  <strong>date()</strong> de PHP.</p>
<p style="text-align: justify;">Bref, après quelques recherches, j&#8217;ai donc trouvé THE fonction qui me fallait  :  <strong><a href="http://www.php.net/manual/fr/function.date-parse-from-format.php" target="_blank">date_parse_from_format</a></strong><strong>(string  $format, string $date) ;</strong></p>
<p style="text-align: justify;">Parfait donc hop hop hop, je finis d&#8217;implémenter ma logique et hop je balance  l&#8217;algo en test&#8230;.<strong> </strong></p>
<p style="text-align: justify;">Résultat : Il faut que j&#8217;apprenne à lire toute la doc PHP&#8230; . Cette fonction  n&#8217;est disponible que depuis PHP 5.3.0 , or et de façon volontaire, mon serveur  de dev tourne sous une 5.2  donc bye bye tous les espoirs <img src='http://www.chrogeek.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p style="text-align: justify;">Conclusion, j&#8217;ai rapidement codé une fonction qui parse une date, mais en  fonction d&#8217;un format d&#8217;un séparateur et d&#8217;une date. Je ne suis pas mécontent du  résultat, mais je m&#8217;étonne toujours qu&#8217;une telle fonction ne soit disponible que  depuis PHP5.3 &#8230;</p>
<p>Vous voyez une autre solution  ?</p>
<p>Merveilleux week-end à tous,</p>
<p>Have fun,</p>
<p><strong>jaguie</strong></p>
<h3  class="related_post_title">Autres Billets</h3><ul class="related_post"></ul>]]></content:encoded>
			<wfw:commentRss>http://www.chrogeek.com/2009/07/php-comment-parser-des-dates-en-fonction-dun-format-variable/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>[Dev] Hop, PHP 5.3.0 arrive dans les bacs&#8230;</title>
		<link>http://www.chrogeek.com/2009/06/dev-hop-php-530-arrive-dans-les-bacs/</link>
		<comments>http://www.chrogeek.com/2009/06/dev-hop-php-530-arrive-dans-les-bacs/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 15:31:34 +0000</pubDate>
		<dc:creator>jaguie</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[mise à jour]]></category>

		<guid isPermaLink="false">http://www.chrogeek.com/?p=2519</guid>
		<description><![CDATA[Bonjour à tous, Juste pour vous rappeler que PHP 5.3.0 vient de sortir, il est tout beau, tout frais et plein de nouveautés&#8230; Donc pensé à faire les mises à jour de vos serveurs dédiés. Petit rappel, les principales mises à jour : Some of the key new features include: namespaces, late static binding, closures, [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Bonjour à tous,</strong></p>
<p style="text-align: center;"><strong><img class="alignnone size-full wp-image-2520" title="new-php-530-fun" src="http://www.chrogeek.com/wp-content/uploads/2009/06/new-php-530-fun.png" alt="new-php-530-fun" width="554" height="194" /></strong></p>
<p>Juste pour vous rappeler que PHP 5.3.0 vient de sortir, il est<strong> tout beau</strong>,  <strong>tout frais</strong> et plein de <strong>nouveautés</strong>&#8230;</p>
<p>Donc pensé à faire les mises à jour de vos serveurs dédiés.</p>
<p>Petit rappel, les principales mises à jour :</p>
<blockquote><p><em>Some of the key new features include: </em><a href="http://php.net/namespaces"><em>namespaces</em></a><em>, </em><a href="http://php.net/lsb"><em>late static binding</em></a><em>, </em><a href="http://php.net/closures"><em>closures</em></a><em>, optional </em><a href="http://php.net/gc_enable"><em>garbage collection</em></a><em> for cyclic  references, new extensions (like </em><a href="http://php.net/phar"><em>ext/phar</em></a><em>,</em><a href="http://php.net/intl"><em>ext/intl</em></a><em> and </em><a href="http://php.net/fileinfo"><em>ext/fileinfo</em></a><em>) , over 140 bug fixes  and</em>much more.</p></blockquote>
<p>Voilà, pour le DL ça se passe par la: <a href="http://php.net/downloads.php#v5.3.0">http://php.net/downloads.php#v5.3.0</a></p>
<p>Bonne journée à tous,</p>
<p>Enjoy,</p>
<p><strong>Jaguie</strong></p>
<h3  class="related_post_title">Billets similaires</h3><ul class="related_post"><li><a href="http://www.chrogeek.com/2010/02/dev-google-chart-tools-ou-comment-faire-des-jolis-graphiquescharts-en-javascript/" title="[Dev] Google Chart Tools, ou comment faire des jolis graphiques/charts en Javascript">[Dev] Google Chart Tools, ou comment faire des jolis graphiques/charts en Javascript</a></li><li><a href="http://www.chrogeek.com/2009/09/dev-comment-bien-choisir-son-framework-php-ruby-js-css/" title="[Dev] Comment bien choisir son Framework PHP, Ruby, JS, CSS">[Dev] Comment bien choisir son Framework PHP, Ruby, JS, CSS</a></li><li><a href="http://www.chrogeek.com/2009/07/ski-mozilla-ou-comment-upgrader-le-web-en-35-jours/" title="[Ski] Mozilla, ou comment upgrader le web en 35 jours &#8230; ">[Ski] Mozilla, ou comment upgrader le web en 35 jours &#8230; </a></li><li><a href="http://www.chrogeek.com/2009/06/prog-defi-geek-4-fork-en-php-ou-comment-faire-du-multi-tache-avec-php-en-cli/" title="[Prog] Defi Geek #4, fork en php ou comment faire du multi-tache avec PHP en CLI">[Prog] Defi Geek #4, fork en php ou comment faire du multi-tache avec PHP en CLI</a></li><li><a href="http://www.chrogeek.com/2009/06/prog-le-defi-geek-3-ou-comment-faire-des-redirections-http-avec-des-valeurs-de-post/" title="[PROG] Le Defi Geek #3, ou comment faire des redirections HTTP avec des valeurs de POST">[PROG] Le Defi Geek #3, ou comment faire des redirections HTTP avec des valeurs de POST</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.chrogeek.com/2009/06/dev-hop-php-530-arrive-dans-les-bacs/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>[Prog] Defi Geek #4, fork en php ou comment faire du multi-tache avec PHP en CLI</title>
		<link>http://www.chrogeek.com/2009/06/prog-defi-geek-4-fork-en-php-ou-comment-faire-du-multi-tache-avec-php-en-cli/</link>
		<comments>http://www.chrogeek.com/2009/06/prog-defi-geek-4-fork-en-php-ou-comment-faire-du-multi-tache-avec-php-en-cli/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 16:29:15 +0000</pubDate>
		<dc:creator>jaguie</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[defi geek]]></category>
		<category><![CDATA[fork]]></category>
		<category><![CDATA[prog]]></category>
		<category><![CDATA[systeme]]></category>

		<guid isPermaLink="false">http://www.chrogeek.com/?p=2459</guid>
		<description><![CDATA[Bonjour à tous, Hop, j&#8217;ai pas mal hésité avant de proposer ce défi geek, puis finalement je me suis décidé &#8230; Je pense qu&#8217;il va durer quelque chose comme deux semaines ou plus en fonction des réponses&#8230; [c'est surtout que j'ai plus d'idée pour le défi geek suivant ^^ ] L&#8217;idée du défi  est la suivante : Avec [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Bonjour à tous,</strong></p>
<p style="text-align: center;"><strong><img class="alignnone size-full wp-image-2461" title="fork-php-linux-cli" src="http://www.chrogeek.com/wp-content/uploads/2009/06/fork-php-linux-cli.png" alt="fork-php-linux-cli" width="554" height="194" /></strong></p>
<p style="text-align: justify;">Hop, j&#8217;ai pas mal hésité avant de proposer <strong>ce défi geek</strong>, puis finalement je me  suis décidé &#8230;</p>
<p style="text-align: justify;">Je pense qu&#8217;il va durer quelque chose comme deux  semaines ou plus en fonction des réponses&#8230; [c'est surtout que j'ai plus d'idée  pour le défi geek suivant ^^ ]</p>
<p>L&#8217;idée du défi  est la suivante :</p>
<ul>
<li>Avec PHP on<strong> ne peut pas  facilement faire du multi-tache</strong>(comme en Java ou C# par exemple)</li>
<li>Sous un Linux quelconque, on peut<strong> facilement faire des forks  d&#8217;applications</strong></li>
<li>PHP s&#8217;interface très bien avec n&#8217;importe quel <strong>terminal sous Linux</strong></li>
</ul>
<p style="text-align: justify;">Donc afin de simuler <strong>un pseudo  comportement multitache de PHP</strong>, nous allons utiliser des fork en PHP CLI  .</p>
<p style="text-align: justify;">Bon, je conçois tout à fait que le problème de ce  défi geek c&#8217;est que <strong>vous devez  absolument avoir un linux de dev sous la main</strong>&#8230; Mais en même temps si  l&#8217;adjectif geek vous correspond, je pense qu&#8217;un Linux doit facilement être  trouvable&#8230; Sinon un petit coup de virtualisation est c&#8217;est parti !</p>
<p>Bon, structurons un peu le projet :</p>
<ul>
<li>Un fichier principal <strong>main.php</strong> qui dispache et synchronise les forks</li>
<li>un fichier <strong>fork.php</strong> qui réalise un métier de  l&#8217;application</li>
</ul>
<p style="text-align: justify;">Comme <strong>métier</strong>, j&#8217;ai pensé un  appel à un webservice, car dans ce cas là, les forks se justifient sans  problème.</p>
<p style="text-align: justify;">Comme webservice <strong>je vous laisse choisir le vôtre</strong>, mais  pour les plus indécis, on peut très bien utiliser celui de twitter :</p>
<ul>
<li>Doc : <a href="http://apiwiki.twitter.com/Twitter-Search-API-Method:-search"><strong>http://apiwiki.twitter.com/Twitter-Search-API-Method:-search</strong></a></li>
<li>Ex : <strong><a href="http://search.twitter.com/search.rss?q=wtf" target="_blank">http://search.twitter.com/search.rss?q=wtf</a></strong></li>
</ul>
<p style="text-align: justify;">Pour moi, <strong>le principal problème</strong> d&#8217;un tel programme est et restera <strong>la synchronisation des forks</strong>. C&#8217;est  d&#8217;ailleurs là-dessus que se base le défi geek. La solution évidente est de  passer par un fichier tierce, mais on peut en imaginer plein d&#8217;autres comme un  gestionnaire de signaux pour les plus motivés&#8230;</p>
<p>Pour ceux qui veulent juste se renseigner sur le sujet :</p>
<ul>
<li>Les fonctions utiles : <a href="http://us3.php.net/manual/en/book.pcntl.php"><strong>http://us3.php.net/manual/en/book.pcntl.php</strong></a></li>
<li>Descriptif du système de fork : <a href="http://www.commentcamarche.net/faq/sujet-10611-que-fait-un-fork"><strong>http://www.commentcamarche.net/faq/sujet-10611-que-fait-un-fork</strong></a> (très  bien fait)</li>
</ul>
<p style="text-align: justify;">Le but de ce défi est aussi de réaliser <strong>de la documentation en français sur  ce sujet</strong>, car le web fr en est peu fourni à mon humble avis &#8230;</p>
<p>Bref,  à vos claviers <img src='http://www.chrogeek.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Enjoy,</p>
<p><strong>Jaguie</strong></p>
<h3  class="related_post_title">Billets similaires</h3><ul class="related_post"><li><a href="http://www.chrogeek.com/2009/06/prog-le-defi-geek-3-ou-comment-faire-des-redirections-http-avec-des-valeurs-de-post/" title="[PROG] Le Defi Geek #3, ou comment faire des redirections HTTP avec des valeurs de POST">[PROG] Le Defi Geek #3, ou comment faire des redirections HTTP avec des valeurs de POST</a></li><li><a href="http://www.chrogeek.com/2010/02/dev-google-chart-tools-ou-comment-faire-des-jolis-graphiquescharts-en-javascript/" title="[Dev] Google Chart Tools, ou comment faire des jolis graphiques/charts en Javascript">[Dev] Google Chart Tools, ou comment faire des jolis graphiques/charts en Javascript</a></li><li><a href="http://www.chrogeek.com/2009/06/grop-resultat-et-bilan-du-defi-geek-2/" title="[GROP] Résultat et bilan du défi geek #2 ">[GROP] Résultat et bilan du défi geek #2 </a></li><li><a href="http://www.chrogeek.com/2009/06/prog-le-defi-geek-2-ou-comment-faire-recreer-lalphabet/" title="[Prog] Le défi geek #2, ou comment faire pour recréer l&#8217;alphabet !">[Prog] Le défi geek #2, ou comment faire pour recréer l&#8217;alphabet !</a></li><li><a href="http://www.chrogeek.com/2008/08/multithread-en-php-le-point-sur-les-differentes-techniques/" title="Multithread en PHP : le point sur les différentes techniques">Multithread en PHP : le point sur les différentes techniques</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.chrogeek.com/2009/06/prog-defi-geek-4-fork-en-php-ou-comment-faire-du-multi-tache-avec-php-en-cli/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>[PROG] Le Defi Geek #3, ou comment faire des redirections HTTP avec des valeurs de POST</title>
		<link>http://www.chrogeek.com/2009/06/prog-le-defi-geek-3-ou-comment-faire-des-redirections-http-avec-des-valeurs-de-post/</link>
		<comments>http://www.chrogeek.com/2009/06/prog-le-defi-geek-3-ou-comment-faire-des-redirections-http-avec-des-valeurs-de-post/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 15:38:41 +0000</pubDate>
		<dc:creator>jaguie</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[defi geek]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[prog]]></category>

		<guid isPermaLink="false">http://www.chrogeek.com/?p=2432</guid>
		<description><![CDATA[Bonjour à tous,  Désolé pour le retard, j&#8217;avais dit mercredi midi, mais je n&#8217;avais pas précisé où sur la planète &#8230; Dans mon cas je suis même en avance &#8230; Bon bref osef, cette semaine le défi geek va peut être en faire rire certain, mais je pense qu&#8217;il pourrait être utile à un paquet de [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Bonjour à tous, </strong></p>
<p style="text-align: center;"><strong><img class="alignnone size-full wp-image-2433" title="defi-geek-3-redirection-header-avec-post" src="http://www.chrogeek.com/wp-content/uploads/2009/06/defi-geek-3-redirection-header-avec-post.png" alt="defi-geek-3-redirection-header-avec-post" width="505" height="170" /></strong></p>
<p style="text-align: justify;">Désolé pour le retard, j&#8217;avais dit mercredi midi, mais<strong> je n&#8217;avais pas précisé  où sur la planète</strong> &#8230; Dans mon cas je suis même en avance &#8230;</p>
<p style="text-align: justify;">Bon bref <strong>osef</strong>, cette semaine le défi geek va peut être en faire rire certain,  mais je pense qu&#8217;<strong>il pourrait être utile à un paquet de monde</strong>, car il y a peut de  doc FR claire sur le sujet.</p>
<p>Il y a deux semaines, je me suis cassé les dents à essayer de faire une  redirection PHP avec des valeurs de POST&#8230;</p>
<p style="text-align: justify;">Je n&#8217;y suis pas arrivé, sachant que j&#8217;avais <strong>juste la fonction header() sous  la main</strong> et je ne voulais pas créer tout un bordel de socket&#8230; . J&#8217;ai lu, je ne  sais, plus ou que <strong>c&#8217;est impossible à faire</strong>, mais cela me semble quand même  bizarre&#8230;</p>
<p style="text-align: justify;">Donc, voilà, le défi geek de cette semaine c&#8217;est de faire<strong> un script le plus  propre possible gérant les redirections HTTP avec headers et des valeurs posts</strong>.  Si ce n&#8217;est pas possible, je vous propose alors de faire un petit hack le plus  élégant possible !</p>
<p style="text-align: justify;">Je vous rappelle que l&#8217;on ne gagne à peu près rien, mis à part quelques BL et  la reconnaissance de ses compères geek. (Certaines choses n&#8217;ont pas de prix &#8230;  )</p>
<p>À vos claviers,  attention<strong> Kane et Skreo</strong> trainent dans le coin !</p>
<p>Bonne journée à tous, </p>
<p>Enjoy,</p>
<p><strong>Jaguie</strong></p>
<h3  class="related_post_title">Billets similaires</h3><ul class="related_post"><li><a href="http://www.chrogeek.com/2009/06/prog-defi-geek-4-fork-en-php-ou-comment-faire-du-multi-tache-avec-php-en-cli/" title="[Prog] Defi Geek #4, fork en php ou comment faire du multi-tache avec PHP en CLI">[Prog] Defi Geek #4, fork en php ou comment faire du multi-tache avec PHP en CLI</a></li><li><a href="http://www.chrogeek.com/2010/02/dev-google-chart-tools-ou-comment-faire-des-jolis-graphiquescharts-en-javascript/" title="[Dev] Google Chart Tools, ou comment faire des jolis graphiques/charts en Javascript">[Dev] Google Chart Tools, ou comment faire des jolis graphiques/charts en Javascript</a></li><li><a href="http://www.chrogeek.com/2009/06/grop-resultat-et-bilan-du-defi-geek-2/" title="[GROP] Résultat et bilan du défi geek #2 ">[GROP] Résultat et bilan du défi geek #2 </a></li><li><a href="http://www.chrogeek.com/2009/06/prog-le-defi-geek-2-ou-comment-faire-recreer-lalphabet/" title="[Prog] Le défi geek #2, ou comment faire pour recréer l&#8217;alphabet !">[Prog] Le défi geek #2, ou comment faire pour recréer l&#8217;alphabet !</a></li><li><a href="http://www.chrogeek.com/2008/08/tutoriel-comment-se-connecter-en-telnet-avec-php/" title="Tutoriel: Comment se connecter en Telnet avec PHP">Tutoriel: Comment se connecter en Telnet avec PHP</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.chrogeek.com/2009/06/prog-le-defi-geek-3-ou-comment-faire-des-redirections-http-avec-des-valeurs-de-post/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>[Prog] Le défi geek #2, ou comment faire pour recréer l&#8217;alphabet !</title>
		<link>http://www.chrogeek.com/2009/06/prog-le-defi-geek-2-ou-comment-faire-recreer-lalphabet/</link>
		<comments>http://www.chrogeek.com/2009/06/prog-le-defi-geek-2-ou-comment-faire-recreer-lalphabet/#comments</comments>
		<pubDate>Thu, 04 Jun 2009 16:31:08 +0000</pubDate>
		<dc:creator>jaguie</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[defi]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[prog]]></category>

		<guid isPermaLink="false">http://www.chrogeek.com/?p=2399</guid>
		<description><![CDATA[Bonjour à tous, Et voilà la suite des défis geek (le premier volet) , le seul concours du web ou l&#8217;on gagne ce que l&#8217;on décide &#8230;. ou pas ! Aujourd&#8217;hui on va se pencher sur un truc tout con, mais qui m&#8217;a fait perdre pas mal de temps&#8230; Pour divers script, j&#8217;ai eu besoin [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Bonjour à tous,</strong></p>
<p style="text-align: center;"><strong><a href="http://www.chrogeek.com/wp-content/uploads/2009/06/alphageek-function-php-alphabet.png"><img class="alignnone size-full wp-image-2400" title="alphageek-function-php-alphabet" src="http://www.chrogeek.com/wp-content/uploads/2009/06/alphageek-function-php-alphabet.png" alt="alphageek-function-php-alphabet" width="495" height="204" /></a></strong></p>
<p style="text-align: justify;">Et voilà la suite des défis geek (<a href="http://www.chrogeek.com/2009/05/eod-le-defi-facebook-konami-suite-fin-et-bilan/" target="_blank"><strong>le premier  volet</strong></a>) , le seul concours du web ou <strong>l&#8217;on gagne ce que l&#8217;on décide</strong> &#8230;. ou pas  !</p>
<p style="text-align: justify;">Aujourd&#8217;hui on va se pencher sur <strong>un truc tout  con</strong>, mais qui m&#8217;a fait perdre pas mal de temps&#8230;</p>
<p style="text-align: justify;">Pour divers script, j&#8217;ai eu besoin d&#8217;une fonction  renvoyant la lettre suivante de l&#8217;alphabet. <strong>Nommons la fonction alphageek</strong> !</p>
<p style="text-align: justify;"><em>Donc par exemple alphageek(&laquo;&nbsp;e&nbsp;&raquo;) doit renvoyer  &laquo;&nbsp;f&nbsp;&raquo;&#8230;. Jusqu&#8217;à là, ça va ! Mais alphageek(&laquo;&nbsp;z&nbsp;&raquo;) doit renvoyer &laquo;&nbsp;aa&nbsp;&raquo; et ainsi de  suite pour &laquo;&nbsp;zz&nbsp;&raquo; on doit récupérer &laquo;&nbsp;aaa&nbsp;&raquo; &#8230;</em></p>
<p style="text-align: justify;">J&#8217;ai une solution à ce problème, mais je ne la  trouve pas méga-élégante&#8230; Je vous la posterais plus tard.</p>
<p style="text-align: justify;">Donc, voilà, soumettez votre version, on en  discute puis on décide du gagnant !</p>
<p style="text-align: justify;">Ah voui, au sujet du langage, <strong>j&#8217;ai une petite  préférence pour PHP</strong>, mais si vous voulez le faire dans un autre, faites-vous  plaisir !</p>
<p>À vos claviers,</p>
<p>Have fun,</p>
<p><strong>Jaguie</strong></p>
<h3  class="related_post_title">Billets similaires</h3><ul class="related_post"><li><a href="http://www.chrogeek.com/2009/06/grop-resultat-et-bilan-du-defi-geek-2/" title="[GROP] Résultat et bilan du défi geek #2 ">[GROP] Résultat et bilan du défi geek #2 </a></li><li><a href="http://www.chrogeek.com/2009/05/eod-le-defi-facebook-konami-suite-fin-et-bilan/" title="[EoD] Le Defi facebook &#8211; Konami , suite, fin et bilan !">[EoD] Le Defi facebook &#8211; Konami , suite, fin et bilan !</a></li><li><a href="http://www.chrogeek.com/2010/02/dev-google-chart-tools-ou-comment-faire-des-jolis-graphiquescharts-en-javascript/" title="[Dev] Google Chart Tools, ou comment faire des jolis graphiques/charts en Javascript">[Dev] Google Chart Tools, ou comment faire des jolis graphiques/charts en Javascript</a></li><li><a href="http://www.chrogeek.com/2009/06/prog-defi-geek-4-fork-en-php-ou-comment-faire-du-multi-tache-avec-php-en-cli/" title="[Prog] Defi Geek #4, fork en php ou comment faire du multi-tache avec PHP en CLI">[Prog] Defi Geek #4, fork en php ou comment faire du multi-tache avec PHP en CLI</a></li><li><a href="http://www.chrogeek.com/2009/06/prog-le-defi-geek-3-ou-comment-faire-des-redirections-http-avec-des-valeurs-de-post/" title="[PROG] Le Defi Geek #3, ou comment faire des redirections HTTP avec des valeurs de POST">[PROG] Le Defi Geek #3, ou comment faire des redirections HTTP avec des valeurs de POST</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.chrogeek.com/2009/06/prog-le-defi-geek-2-ou-comment-faire-recreer-lalphabet/feed/</wfw:commentRss>
		<slash:comments>32</slash:comments>
		</item>
		<item>
		<title>[Prog] L&#8217;ultime débat, ou comment bien indenter son code&#8230;</title>
		<link>http://www.chrogeek.com/2009/05/prog-lultime-debat-ou-comment-bien-indenter-son-code/</link>
		<comments>http://www.chrogeek.com/2009/05/prog-lultime-debat-ou-comment-bien-indenter-son-code/#comments</comments>
		<pubDate>Sat, 16 May 2009 10:00:38 +0000</pubDate>
		<dc:creator>jaguie</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[indentation]]></category>
		<category><![CDATA[julien pauli]]></category>
		<category><![CDATA[typage]]></category>
		<category><![CDATA[zend]]></category>

		<guid isPermaLink="false">http://www.chrogeek.com/?p=2316</guid>
		<description><![CDATA[Bonjour à tous, Comme vous avez pu le lire (ou le comprendre), je viens de commencer depuis deux semaines mon nouveau boulot aux USA. Le premier jour, après deux heures de travail il y a eu un drame interne dans la startup &#8230; Mon boss et moi-même n&#8217;indentons pas du tout le code de la [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Bonjour à tous, </strong></p>
<p style="text-align: center;"><strong><a href="http://www.chrogeek.com/wp-content/uploads/2009/05/indent-cookies-php.png"><img class="alignnone size-full wp-image-2321" title="indent-cookies-php" src="http://www.chrogeek.com/wp-content/uploads/2009/05/indent-cookies-php.png" alt="indent-cookies-php" width="554" height="194" /></a><br />
</strong></p>
<p style="text-align: justify;">Comme vous avez pu le lire (ou le comprendre), je  viens de commencer depuis deux semaines mon nouveau boulot aux USA. Le premier  jour, après deux heures de travail il y a eu un drame interne dans la startup  &#8230;</p>
<p style="text-align: justify;">Mon boss et moi-même<strong> n&#8217;indentons pas du tout  le code de la même façon</strong>&#8230; Et j&#8217;ajouterais même que l&#8217;on fait presque  l&#8217;inverse sur tout ! Il s&#8217;en est donc suivi une intense et intéressante  discussion autour de ce débat de type &#8217;open-troll&#8217;. Je vais donc essayer de vous  exposer <strong>la théorie du boss au sujet de l&#8217;indentation</strong>.</p>
<p style="text-align: justify;">Bon pour les non-informaticiens qui trainent  (encore <img src='http://www.chrogeek.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ) par ici,<strong> &#8216;indenter&#8217; signifie la façon de présenter son code</strong>.  On peut facilement dire qu&#8217;il y a autant de méthode que de codeurs, cependant il  existe deux principaux chemins.</p>
<p style="text-align: justify;"><strong>Pour que les choses soient plus claires</strong>,  je vais d&#8217;abord vous montrer comment j&#8217;indentais mon code jusqu&#8217;à il y a encore  une semaine:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000000; font-weight: bold;">function</span> exemple<span style="color: #009900;">&#40;</span>UnObject <span style="color: #000088;">$obj_un</span><span style="color: #339933;">,</span> <span style="color: #000088;">$var_test</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$var_test</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$test</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			try<span style="color: #009900;">&#123;</span>
				<span style="color: #000088;">$test</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$obj_un</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">checker</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$test</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$test</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">&quot;quelquechose&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span> 
			<span style="color: #009900;">&#125;</span>catch<span style="color: #009900;">&#40;</span>Exception <span style="color: #000088;">$e</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				<span style="color: #990000;">Log</span><span style="color: #339933;">::</span><span style="color: #004000;">Msg</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$e</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>	<span style="color: #0000ff;">'une'</span><span style="color: #339933;">,</span> 
									<span style="color: #0000ff;">'explication'</span><span style="color: #339933;">,</span> 
									<span style="color: #0000ff;">'detaille'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #b1b100;">else</span><span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p style="text-align: justify;">Je codais donc principalement avec<strong> les  conventions Zend FrameWork</strong> (et oui, <a href="http://julien-pauli.developpez.com/" target="_blank"><strong>Julien Pauli</strong></a> est mon  maître spirituel ^^).</p>
<p>Maintenant la méthode de mon boss :</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000000; font-weight: bold;">function</span> exemple<span style="color: #009900;">&#40;</span>UnObject <span style="color: #000088;">$i_oUn</span><span style="color: #339933;">,</span> <span style="color: #000088;">$i_varTest</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$var_test</span> <span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$condition</span> <span style="color: #339933;">==</span> <span style="color: #009900; font-weight: bold;">false</span> <span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			try<span style="color: #009900;">&#123;</span>
				<span style="color: #000088;">$o_sTest</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$obj_un</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">checker</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$test</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$o_sTest</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">&quot;quelquechose&quot;</span><span style="color: #009900;">&#41;</span>
				<span style="color: #009900;">&#123;</span>
					<span style="color: #b1b100;">break</span><span style="color: #339933;">;</span> 
				<span style="color: #009900;">&#125;</span>
			<span style="color: #009900;">&#125;</span>catch<span style="color: #009900;">&#40;</span>Exception <span style="color: #000088;">$e</span><span style="color: #009900;">&#41;</span>
			<span style="color: #009900;">&#123;</span>
				<span style="color: #990000;">Log</span><span style="color: #339933;">::</span><span style="color: #004000;">Msg</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$e</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>	<span style="color: #0000ff;">'une'</span><span style="color: #339933;">,</span> 
								<span style="color: #0000ff;">'explication'</span><span style="color: #339933;">,</span> 
								<span style="color: #0000ff;">'detaille'</span>
								<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #000088;">$o_sTest</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #b1b100;">else</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Bon, pour les non-initiés, la différence ne saute pas forcément aux yeux,   mais grosso modo, ce qu&#8217;il faut voir :</p>
<ol>
<li><strong>Le nommage du typage de la variable</strong> (o = object, i = integer, s =  string &#8230;)</li>
<li><strong>Le nommage du statut de la variable</strong> ($i_ pour un input et $o_ pour un  output)</li>
<li><strong>La présentation du texte par bloc</strong> (avec notamment un { à la  ligne)</li>
<li><strong>Des espaces en plus entre les boucles et les conditions</strong> ( if ( $cond  ) au lieu de if($cond))</li>
<li>&#8230;</li>
</ol>
<p style="text-align: justify;">Bon, les points 1 et 2 sont plus sujets de la  convention de nommage que de l&#8217;indentation. Mais j&#8217;ai fait <strong>&#8216;le package&#8217;</strong> comme on dit <img src='http://www.chrogeek.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  .</p>
<p>Mon boss possède une bonne dizaine d&#8217;années d&#8217;expérience de code, il n&#8217;a donc  pas fait ce choix par hasard et il me la même justifié !</p>
<p>En fait, vous avez surement déjà tous lu <strong>la célèbre étude de l&#8217;université  de Cambridge</strong> :</p>
<p style="text-align: center;"><a href="http://www.chrogeek.com/wp-content/uploads/2009/05/lordredeslettres.png"><img class="alignnone size-full wp-image-2322" title="lordredeslettres" src="http://www.chrogeek.com/wp-content/uploads/2009/05/lordredeslettres.png" alt="lordredeslettres" width="453" height="336" /></a></p>
<p style="text-align: left;">Le cerveau est donc plus à l&#8217;aise pour voir <strong>les  espaces et le début des &#8216;mots&#8217;</strong> que les lettres qui le composent. De plus,  tout programmeur vous le dira: &laquo;&nbsp;<em>une fonction c&#8217;est 5 min à taper et 20 min à  déboguer</em>&laquo;&nbsp;, ou autrement dit, on passe beaucoup plus de temps à lire son code  qu’à le taper, il faut donc mieux l&#8217;adapter à la lecture.</p>
<p style="text-align: left;">Voilà la justification de mon boss, et j&#8217;ai trouvé  cette théorie corrélée à l&#8217;étude de Cambridge vraiment intéressante (et même  pertinente !).</p>
<p style="text-align: left;">Et puis si vous vous posez encore la question, comme  c&#8217;est le boss, je n&#8217;avais pas vraiment le choix et j&#8217;ai dû m&#8217;adapter ^^.</p>
<p style="text-align: right;"><em>(Mais il m&#8217;a tout de même avoué qu&#8217;à l&#8217;époque il  codait avec mon indentation initiale).</em></p>
<p style="text-align: left;">Et vous, vous indentez comment ?</p>
<p style="text-align: left;"><em>Bonne journée à tous,<br />
</em></p>
<p style="text-align: left;"><em>Enjoy , </em></p>
<p><strong>Jaguie</strong></p>
<h3  class="related_post_title">Billets similaires</h3><ul class="related_post"><li><a href="http://www.chrogeek.com/2009/09/dev-comment-bien-choisir-son-framework-php-ruby-js-css/" title="[Dev] Comment bien choisir son Framework PHP, Ruby, JS, CSS">[Dev] Comment bien choisir son Framework PHP, Ruby, JS, CSS</a></li><li><a href="http://www.chrogeek.com/2009/05/appel-hug-me-i-know-c/" title="[Appel !] Hug me i know C++ ! ">[Appel !] Hug me i know C++ ! </a></li><li><a href="http://www.chrogeek.com/2009/03/exclu-lensemble-des-noms-de-domaines-disponibles-en-fr-composes-de-3-lettres/" title="[Exclu] L&#8217;ensemble des noms de domaines disponibles en .fr composés de 3 lettres ">[Exclu] L&#8217;ensemble des noms de domaines disponibles en .fr composés de 3 lettres </a></li><li><a href="http://www.chrogeek.com/2009/01/petit-hack-entre-amis-freekr-ou-comment-telecharger-toutes-les-photos-de-flickr/" title="[Petit Hack entre amis] Freekr, ou comment télécharger toutes les photos de Flickr">[Petit Hack entre amis] Freekr, ou comment télécharger toutes les photos de Flickr</a></li><li><a href="http://www.chrogeek.com/2008/07/blogoscopie-de-ce-dimanche-13-juillet-2008/" title="Blogoscopie de ce dimanche 13 juillet 2008">Blogoscopie de ce dimanche 13 juillet 2008</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.chrogeek.com/2009/05/prog-lultime-debat-ou-comment-bien-indenter-son-code/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>[Petit Hack entre amis] Comment utiliser l&#8217;API DNS d&#8217;OVH pour tout savoir sur un nom de domaine</title>
		<link>http://www.chrogeek.com/2009/03/petit-hack-entre-amis-comment-utiliser-lapi-dns-dovh-pour-tout-savoir-sur-un-nom-de-domaine/</link>
		<comments>http://www.chrogeek.com/2009/03/petit-hack-entre-amis-comment-utiliser-lapi-dns-dovh-pour-tout-savoir-sur-un-nom-de-domaine/#comments</comments>
		<pubDate>Fri, 27 Mar 2009 05:18:50 +0000</pubDate>
		<dc:creator>jaguie</dc:creator>
				<category><![CDATA[Chrogeek]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Le merveilleux monde des Geeks]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[ovh]]></category>

		<guid isPermaLink="false">http://www.chrogeek.com/?p=2211</guid>
		<description><![CDATA[Bonjour à tous, Edit : Si vous avez des questions, ou des petits hack entre amis à faire tourner, je viens de mettre en place un petit forum dédié à cela : http://www.hackitecte.fr Voilà, see there soon Chose promise, comme j&#8217;ai pu vous en parler dans le billet d’hier: [Exclu] L’ensemble des noms de domaines [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Bonjour à tous,</strong></p>
<p style="text-align: center;"><strong><a href="http://www.chrogeek.com/wp-content/uploads/2009/03/dns-hack-ovh.png"><img class="alignnone size-full wp-image-2218" title="dns-hack-ovh" src="http://www.chrogeek.com/wp-content/uploads/2009/03/dns-hack-ovh.png" alt="dns-hack-ovh" width="534" height="194" /></a><br />
</strong></p>
<blockquote>
<p style="text-align: justify;"><strong>Edit</strong> :</p>
<p style="text-align: justify;">Si vous avez des questions, ou des petits hack entre amis à faire tourner, je viens de mettre en place un petit forum dédié à cela :</p>
<h2 style="text-align: center;"><strong><a href="http://www.hackitecte.fr" target="_blank">http://www.hackitecte.fr</a></strong></h2>
<p style="text-align: left;">Voilà, see there soon <img src='http://www.chrogeek.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
</blockquote>
<p style="text-align: justify;">
<p style="text-align: justify;">Chose promise, comme j&#8217;ai pu vous en parler dans le billet d’hier: <strong><a href="http://www.chrogeek.com/2009/03/exclu-lensemble-des-noms-de-domaines-disponibles-en-fr-composes-de-3-lettres/" target="_blank">[Exclu]  L’ensemble des noms de domaines disponibles en .fr composés de 3 lettres</a>, </strong>je vais essayer de vous expliquer le plus simplement possible comment  utiliser l&#8217;API d&#8217;OVH pour avoir des informations sur un nom de domaine.</p>
<p style="text-align: justify;"><em>[note: Pour  ceux qui ne sont pas forcément super à l'aise avec certains concepts de ce  billet, j'ai mis pas mal de référence à la fin de l'article]</em></p>
<h2><strong>1. Comprendre avec les mains :</strong></h2>
<p><strong><br />
</strong></p>
<p style="text-align: justify;">À l&#8217;époque où je faisais encore un peu de physique, j&#8217;aime bien sentir les  phénomènes et que l&#8217;on me l&#8217;explique d&#8217;abord avec les mains avant de sortir tout  le formalisme mathématique classique qui souvent cache la simplicité et la  beauté de l&#8217;équation&#8230; Sentiment purement personnel, mais je vais essayer de  procéder de la sorte dans cet humble billet&#8230; [Ça peut surprendre, mais il n'y  a pas que des Geeks poilus qui passent sur ces pages !]</p>
<p>La première chose est de charger dans son navigateur la page suivante : <a href="https://www.ovh.com/cgi-bin/newOrder/order.cgi" target="_blank"><strong>https://www.ovh.com/cgi-bin/newOrder/order.cgi</strong></a></p>
<p>Cette page, on s&#8217;en fou un peu, mais c&#8217;est pour des raisons de cookies et de  session, il faut absolument la charger.</p>
<p style="text-align: justify;">La page qui  nous intéresse vraiment est la suivante. Partons du principe que  nous voulons des informations sur le domaine <strong>chrogeek.com</strong> (je sais, je suis une  personne pleine d&#8217;originalité !), et bien il suffit d&#8217;ouvrir cette page la :  <a href="https://www.ovh.com/cgi-bin/newOrder/ajax-newOrderDomainChecker.pl?csid=0&amp;domain=chrogeek.com" target="_blank"><strong>https://www.ovh.com/cgi-bin/newOrder/ajax-newOrderDomainChecker.pl?csid=0&amp;domain=chrogeek.com</strong></a></p>
<p style="text-align: justify;"><strong>Génial non</strong> ! un joli <strong>petit fichier XML</strong> comme on les aime, simple et  rapidement exploitable avec un peu de PHP et DOM (pour l&#8217;XML) &#8230; Voilà, le hack  est là !</p>
<p style="text-align: justify;"><span id="more-2211"></span></p>
<p style="text-align: justify;">En fait pour trouver cette URL d&#8217;accès à l&#8217;API ovh, il suffit <strong>de fouiller un  peu dans les sources de la première page</strong>, on se rend compte qu&#8217;il y a des  requêtes AJAX donc l&#8217;idée est juste de récupérer le retour de la requête AJAX  sans tout le &#8216;bordel &#8216; de page HTML qui va avec&#8230;</p>
<p><span style="text-decoration: underline;">Ce qu&#8217;il faut retenir dans la deuxième URL</span>:</p>
<ul>
<li>l&#8217;url jusqu&#8217;à<strong> <em>.pl?</em></strong> , c&#8217;est une requête ajax passée &#8216;normalement&#8217; via javascript</li>
<li><em><strong>csid=0</strong></em> , l&#8217;id de l&#8217;utilisateur, comme on a pas besoin d&#8217;être loggué,<strong> il suffit de laisser le 0</strong> ça marche parfaitement</li>
<li><em><strong>domain=chrogeek.com</strong></em> , c&#8217;est bien sûr sur cette information que l&#8217;on va jouer !</li>
</ul>
<p>Voilà maintenant vous avez tout compris, on va formaliser l&#8217;affaire !</p>
<h2>2. Y&#8217;a plus qu&#8217;à !</h2>
<p>Y&#8217;a plus qu&#8217;à coder une classe PHP faisant<strong> le boulot d&#8217;automatisation</strong>.</p>
<p style="text-align: justify;">Mise en garde, je vous livre mon code tel quel, il est loin d&#8217;être parfait ou  optimisé, mais je pense qu&#8217;il pourrait intéresser certaine personnes, si vous  avez des <strong>remarques et/ou optimisations</strong> à me suggérer, comme d&#8217;hab les  commentaires sont la pour m&#8217;insulter !</p>
<p style="text-align: justify;">Bon, comme vous l&#8217;avez vue avec les mains, il y a deux étapes fondamentales  pour récupérer le fichier XML qui nous intéresse. La première est d&#8217;ouvrir la  &#8216;véritable&#8217; page HTML afin de <strong>charger le cookie</strong> et tout ce qui va bien. Si on ne  le fait pas, on n&#8217;a pas accès à la seconde [en fait, on obtient un très joli  "expired" (faites le test (sous chrome avec la navigation privée))]. Les plus  attentifs auront sans doute déjà remarqué que pour récupérer le fichier XML qui  nous plait, on doit (obligation) passer par une<strong> connexion HTTPS, </strong>rien  de bien compliquer, mais comme c&#8217;est un peu plus lourd (et surtout relou) à  mettre en place directement avec <strong>les sockets PHP5</strong>, ça m&#8217;a fait une bonne excuse  pour utiliser le FrameWork Zend qui fait ça à merveille et dont<span style="text-decoration: underline;"> la qualité de la  doc est juste légendaire</span> !</p>
<p style="text-align: justify;">En fait, Zend est aussi et surtout ultrapratique pour la gestion des cookies.  On va d&#8217;abord instancier un client Http avec gestion des cookies puis ouvrir la  première page.<strong> On garde tout ça bien au chaud</strong> dans la classe et ensuite, pour  toutes les requêtes suivantes, il suffit d&#8217;appeler la même classe et de  directement demander la seconde page (celle XML) et <strong>Zend s&#8217;occupe en background  de gérer tous les problèmes de connexion</strong>.</p>
<p style="text-align: justify;">Cette classe est modélisée avec un modèle de singleton, non pas que je  trouvais ça classe (sans jeu de mots ! [ndlr: cette phrase est  presque symétrique <img src='http://www.chrogeek.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> ]), mais juste que dans le cas de mon script, je ne voulais  pas <strong>ouvrir 10 000 sockets différents</strong> pour me connecter à la première page.  D&#8217;autant plus que l&#8217;accès à cette page est &#8216;relativement&#8217; long, donc il suffit  d&#8217;une connexion pour initialiser la classe et les cookies puis hop on travaille  toujours sur le même objet&#8230; Le modèle du singleton me semblait donc être le  plus adéquat [je suis loin d'être un spécialiste en design pattern, j'ai fait la  bêtise de prendre l'option réseau... ]</p>
<p style="text-align: right;">Dans cet exemple d&#8217;utilisation on ne peut pas voir l&#8217;intérêt du singleton, voir référence à la  fin de l&#8217;article.</p>
<p><span style="text-decoration: underline;">Bon, passons tout de suite au code (fichier nddinfo.php )</span> :</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"> <span style="color: #0000ff;">'Zend_Http_Client_Adapter_Socket'</span><span style="color: #339933;">,</span>
  					 <span style="color: #0000ff;">'ssltransport'</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #0000ff;">'tls'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000088;">$client</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">function</span> __construct<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>setProvider<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">function</span> __clone<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">function</span> setProvider<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>                          <span style="color: #666666; font-style: italic;">//Connexion a la premiere page pour recupere</span>
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>client <span style="color: #339933;">=</span>  <span style="color: #000000; font-weight: bold;">new</span> Zend_Http_Client<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   <span style="color: #666666; font-style: italic;">//tout ce qui va bien</span>
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>client<span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>setConfig<span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>config<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>client<span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>setCookieJar<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>client<span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>setUri<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;https://www.ovh.com/cgi-bin/newOrder/order.cgi&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//Premiere page</span>
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>client<span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>request<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">public</span> static <span style="color: #000000; font-weight: bold;">function</span> getInstance <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #000088;">$_instance</span> instanceof <span style="color: #000000; font-weight: bold;">self</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
            <span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #000088;">$_instance</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #000000; font-weight: bold;">self</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #b1b100;">return</span> <span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #000088;">$_instance</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">function</span> getXmlInfo<span style="color: #009900;">&#40;</span><span style="color: #000088;">$domain</span><span style="color: #339933;">,</span> <span style="color: #000088;">$tld</span><span style="color: #339933;">=</span><span style="color: #0000ff;">'fr'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$uri</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>provider<span style="color: #339933;">.</span><span style="color: #0000ff;">'&amp;amp;domain='</span><span style="color: #339933;">.</span><span style="color: #000088;">$domain</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'.'</span><span style="color: #339933;">.</span><span style="color: #000088;">$tld</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>client<span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>setUri<span style="color: #009900;">&#40;</span><span style="color: #000088;">$uri</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>client<span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>request<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$xml</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$result</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>getBody<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #000088;">$xml</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
?<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span></pre></div></div>

<p><span style="text-decoration: underline;">Pour son utilisation (fichier script.php)</span> :</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">getXmlInfo<span style="color: #009900;">&#40;</span><span style="color: #000088;">$domain</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #000088;">$domain</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
Zend_Debug<span style="color: #339933;">::</span><span style="color: #004000;">dump</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$xml_data</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//pratique pour les debugs</span>
&nbsp;
<span style="color: #666666; font-style: italic;">############################
</span>?<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span></pre></div></div>

<p><span style="text-decoration: underline;">Et on obtient</span> :</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"> string<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">466</span><span style="color: #009900;">&#41;</span> <span style="color: #0000ff;">&quot;
    1
    domain owned by Ovh
    domain owned by Ovh
    domain owned by Ovh
no pending order for this domain
    domain name valid
&nbsp;
&quot;</span>
  <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> string<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">482</span><span style="color: #009900;">&#41;</span> <span style="color: #0000ff;">&quot;
    1
    domain already registred
    domain not in Ovh
    this domain is transferable
no pending order for this domain
    domain name valid
&nbsp;
&quot;</span>
  <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> string<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">465</span><span style="color: #009900;">&#41;</span> <span style="color: #0000ff;">&quot;
    1
    domain owned by Ovh
    domain owned by Ovh
    domain owned by Ovh
no pending order for this domain
    domain name valid
&nbsp;
&quot;</span>
  <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> string<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">472</span><span style="color: #009900;">&#41;</span> <span style="color: #0000ff;">&quot;
    1
    domain already registred
    domain not in Ovh
    domain transferable
no pending order for this domain
    domain name valid
&nbsp;
&quot;</span>
  <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">4</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> string<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">462</span><span style="color: #009900;">&#41;</span> <span style="color: #0000ff;">&quot;
    1
    domain owned by Ovh
    domain owned by Ovh
    domain owned by Ovh
no pending order for this domain
    domain name valid
&nbsp;
&quot;</span>
  <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">5</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> string<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">478</span><span style="color: #009900;">&#41;</span> <span style="color: #0000ff;">&quot;
    1
    domain available
    domain not in Ovh
    not transferable because domain available
no pending order for this domain
    domain name valid
&nbsp;
&quot;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
?<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span></pre></div></div>

<p style="text-align: justify;">Pour utiliser ce script, il vous faut obligatoirement le Zend Framework qui  est disponible là :<strong> </strong><a href="http://framework.zend.com/download/current/" target="_blank"><strong>http://framework.zend.com/download/current/</strong></a></p>
<p style="text-align: justify;">Voilà, j&#8217;espère avoir été assez clair, si ce n&#8217;est pas le cas, n&#8217;hésitez pas  à me poser des questions, mais encore une fois je suis loin d&#8217;être un  spécialiste (quoi qu&#8217;il <strong><a href="http://www.abricocotier.fr/" target="_blank"> en pense </a></strong> <img src='http://www.chrogeek.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  [cf, <strong><a href="http://www.chrogeek.com/2009/03/exclu-lensemble-des-noms-de-domaines-disponibles-en-fr-composes-de-3-lettres/comment-page-1/#comment-4903" target="_blank">la</a></strong> ]) !</p>
<p>&#8212;&#8212;&#8211;</p>
<p>Explication sur le modèle Singleton : <a href="http://www.apprendre-php.com/tutoriels/tutoriel-45-singleton-instance-unique-d-une-classe.html" target="_blank"><strong>http://www.apprendre-php.com/tutoriels/tutoriel-45-singleton-instance-unique-d-une-classe.html</strong></a></p>
<p>Explication sur les Design Pattern : <a href="http://fr.wikipedia.org/wiki/Patron_de_conception" target="_blank"><strong>http://fr.wikipedia.org/wiki/Patron_de_conception</strong></a></p>
<p>Les antipattern : <a href="http://fr.wikipedia.org/wiki/Antipattern" target="_blank"><strong>http://fr.wikipedia.org/wiki/Antipattern </strong></a></p>
<p>Doc sur Zend_Http : <a href="http://framework.zend.com/manual/fr/zend.http.html" target="_blank"><strong>http://framework.zend.com/manual/fr/zend.http.html</strong></a></p>
<p>Utilisation de XML avec PHP : <a href="http://eusebius.developpez.com/php5dom/" target="_blank"><strong>http://eusebius.developpez.com/php5dom/</strong></a></p>
<p>La Classe DOM de PHP5 : <a href="http://fr.php.net/dom" target="_blank"><strong>http://fr.php.net/dom</strong></a></p>
<p>&#8212;&#8212;&#8211;</p>
<p>Merveilleux week-end à tous,</p>
<p>Enjoy,</p>
<p><strong>Jaguie</strong></p>
<h3  class="related_post_title">Billets similaires</h3><ul class="related_post"><li><a href="http://www.chrogeek.com/2009/06/petit-hack-entre-amis-comment-se-faire-twitter-avec-la-classe/" title="[petit hack entre amis] Comment se faire twitter avec la classe !">[petit hack entre amis] Comment se faire twitter avec la classe !</a></li><li><a href="http://www.chrogeek.com/2009/06/grop-resultat-et-bilan-du-defi-geek-2/" title="[GROP] Résultat et bilan du défi geek #2 ">[GROP] Résultat et bilan du défi geek #2 </a></li><li><a href="http://www.chrogeek.com/2009/05/appel-hug-me-i-know-c/" title="[Appel !] Hug me i know C++ ! ">[Appel !] Hug me i know C++ ! </a></li><li><a href="http://www.chrogeek.com/2009/03/exclu-lensemble-des-noms-de-domaines-disponibles-en-fr-composes-de-3-lettres/" title="[Exclu] L&#8217;ensemble des noms de domaines disponibles en .fr composés de 3 lettres ">[Exclu] L&#8217;ensemble des noms de domaines disponibles en .fr composés de 3 lettres </a></li><li><a href="http://www.chrogeek.com/2009/03/php-comment-connaitre-la-taille-dun-fichier-distant-avec-redirection/" title="[PHP] Comment connaitre la taille d&#8217;un fichier distant avec redirection">[PHP] Comment connaitre la taille d&#8217;un fichier distant avec redirection</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.chrogeek.com/2009/03/petit-hack-entre-amis-comment-utiliser-lapi-dns-dovh-pour-tout-savoir-sur-un-nom-de-domaine/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>[Exclu] L&#8217;ensemble des noms de domaines disponibles en .fr composés de 3 lettres</title>
		<link>http://www.chrogeek.com/2009/03/exclu-lensemble-des-noms-de-domaines-disponibles-en-fr-composes-de-3-lettres/</link>
		<comments>http://www.chrogeek.com/2009/03/exclu-lensemble-des-noms-de-domaines-disponibles-en-fr-composes-de-3-lettres/#comments</comments>
		<pubDate>Thu, 26 Mar 2009 11:05:56 +0000</pubDate>
		<dc:creator>jaguie</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[nom de domaines]]></category>
		<category><![CDATA[zend]]></category>

		<guid isPermaLink="false">http://www.chrogeek.com/?p=2203</guid>
		<description><![CDATA[Bonjour à tous, Il y a quelques jours,  je me suis demandé combien de noms de domaine (ndd) en point fr et composé de 3 lettres étaient encore disponibles&#8230; Une bonne question &#8216;alacon&#8217; en somme, mais étant geek et ayant définitivement décider de perdre les plus belles années de ma vie devant un truc ou [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Bonjour à tous,</strong></p>
<p style="text-align: center;"><strong><a href="http://www.chrogeek.com/wp-content/uploads/2009/03/domain-name-fr-liste.png"><img class="alignnone size-full wp-image-2205" title="domain-name-fr-liste" src="http://www.chrogeek.com/wp-content/uploads/2009/03/domain-name-fr-liste.png" alt="domain-name-fr-liste" width="440" height="194" /></a><br />
</strong></p>
<p style="text-align: justify;">
<p style="text-align: justify;">Il y a quelques jours,  je me suis demandé<strong> combien de noms de domaine (ndd)  en point fr et composé de 3 lettres étaient encore disponibles&#8230;</strong></p>
<p style="text-align: justify;">Une bonne question <strong>&#8216;alacon&#8217;</strong> en somme, mais étant geek et ayant définitivement  décider de perdre les plus belles années de ma vie devant un truc ou en cliquant  sur démarrer on l&#8217;arrête [VDM ?], j&#8217;ai ressorti <em>Zend Studio, Zend FrameWork et  le cerveau</em> (rayer la mention inutile ^^).</p>
<p>Bon pour faire un tel script il faut déjà dimensionner l&#8217;affaire :</p>
<ul>
<li>26 lettres dans l&#8217;alphabet donc ndd de 3 lettres =&gt;<strong> 17576 noms de  domaines diffèrent</strong></li>
<li>Besoin d&#8217;<strong>une bonne API</strong> (webservice) pour récupérer rapidement les informations  précédentes</li>
<li>XML ou BDD</li>
</ul>
<p>Bon, passons <span style="text-decoration: underline;">ces trois points en revue</span>:</p>
<p style="text-align: justify;">Les 17576 noms de domaines, à l&#8217;échelle humaine ça commence à faire pas mal,  mais pour l&#8217;informatique c&#8217;est encore des dimensions assez &laquo;&nbsp;amicale&nbsp;&raquo; &#8230; De ce  fait, je me suis dit qu’<strong>un fichier XML doit suffir</strong>, car pas envie de perdre de  temps à interfacer une BDD sur mon serveur (mutualisé) OVH. On fera le bilan à la  fin promis !</p>
<p style="text-align: justify;">Besoin d&#8217;une bonne api, la c&#8217;est le point ou j&#8217;ai perdu le plus de temps. J&#8217;ai  d&#8217;abord fouillé de partout l&#8217;excellent <a href="http://www.programmableweb.com/apis" target="_blank"><strong>programmableweb.com</strong></a> <em>[qui mériterait d'ailleurs un billet...]</em>, mais je n&#8217;ai pas trouvé d&#8217;API du style  WHOIS qui soit GRATUITE et rapidement déployable (j&#8217;avais un peu la flemme de  lire<strong> 300 pages de doc</strong>&#8230;).</p>
<p><span id="more-2203"></span></p>
<p style="text-align: justify;">Bref, j&#8217;avais l&#8217;idée, l&#8217;envie, mais pas d&#8217;API <img src='http://www.chrogeek.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  . La solution était en fait  tout à côté de moi <img src='http://www.chrogeek.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   chez <strong>OVH</strong> ! J&#8217;ai fait <strong>un petit hack</strong> rapide de leur système  d&#8217;<strong>interrogation de registrat DNS </strong>et j&#8217;avais mieux que mon bonheur ! (ndlr,<span style="text-decoration: line-through;"> je  ferais un billet demain pour vous expliquer ce petit hack</span> c&#8217;est par là: <a href="http://www.chrogeek.com/2009/03/petit-hack-entre-amis-comment-utiliser-lapi-dns-dovh-pour-tout-savoir-sur-un-nom-de-domaine/" target="_blank"><strong>le petit hack entre amis</strong></a> , /!\ Bon gros billet  geek avec <strong>un singleton</strong>, <strong>des sockets</strong>,<strong> du HTTPS</strong> et du <strong>Zend_Http_Client</strong> <img src='http://www.chrogeek.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ).</p>
<p style="text-align: justify;">Bon bin à ce moment-là, j&#8217;avais tout pour coder un &#8216;petit&#8217; script  interrogeant l&#8217;API d&#8217;OVH pour les 17000 et des poussières nom de domaines&#8230;  Première version non optimisée codée en 2 heures, mais ce fut la catastrophe  lorsque je me suis rendu compte que même avec set_time_limit à 0, <strong>OVH arrête mon  script au bout d&#8217;en gros 100 secondes </strong>(101 pour être précis&#8230;). Moi pas content  là !</p>
<p style="text-align: justify;">Bon finalement, je me suis rendu à l&#8217;évidence que je devais coder un bordel  d&#8217;automatisation Ajax à la main&#8230; Bon soyons honnête, avec<strong> jQuery ce n&#8217;est pas  trop compliqué</strong> (même si j&#8217;ai horreur du JS).</p>
<p>Bref à partir de ce moment là, j&#8217;avais u<strong>n script opérationnel et prêt à  envoyer du paté</strong> <img src='http://www.chrogeek.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  !</p>
<p>Hop c&#8217;est lancé &#8230;.</p>
<p>&#8230;.</p>
<p>&#8230;.</p>
<p>Et 4 heures plus tard, j&#8217;ai mon fichier XML avec les résultats <img src='http://www.chrogeek.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  .</p>
<p>Au fait, le fichier XML c&#8217;était un peu pas trop malin, car à la fin les  requêtes Xpath et autre amusement de geek, <strong>apa trop aimé ça PHP</strong> sur un fichier  XML de plus de 1Mo&#8230;</p>
<p>Bon, allé, j&#8217;arrête de vous faire patienter (456 mots) je vous livre tout de  suite <span style="text-decoration: underline;"><strong>la liste des noms de domaines .fr de 3 lettres libres</strong></span> :</p>
<p style="text-align: center;"><em><strong>$list = null; !</strong></em></p>
<p>Apas de nom de domaine, enfin &#8216;aplu&#8217; plutôt !</p>
<p>Voilà j&#8217;ai donc ma réponse, je suis <strong>toujours aussi con</strong> et presque <strong>un peu  déçu</strong> !</p>
<p>Je vais essayer de franchement optimiser le script pour le relancer avec 4  lettres &#8230; Mais là ça fait tout de même <strong>456 976 noms de domaines</strong>&#8230; Commence à  être un nombre conséquent même pour l&#8217;informatique !</p>
<p>Sinon la conclusion de l&#8217;étude, si vous voulez monter une entreprise, marque,  startup ou encore une association, <strong>ne prennez pas un nom de 3 lettres</strong> ou sinon vous n&#8217;aurez pas de &laquo;&nbsp;joli&nbsp;&raquo;  nom de domaine .fr</p>
<p>&#8212;&#8212;</p>
<p>Pour les sceptiques, voilà mes fichiers de résultats :</p>
<p>Version XML:      <a href="http://www.chrogeek.com/wp-content/uploads/2009/03/domain.xml">domaine</a> [ 1500 ko ]</p>
<p>Version HTML:   <a href="http://www.chrogeek.com/wp-content/uploads/2009/03/domain.htm">domaine</a> [ 4.18 mo ]</p>
<p>&#8212;&#8211;</p>
<p>Bonne fin de semaine à tous <img src='http://www.chrogeek.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Enjoy,</p>
<p><strong>Jaguie</strong></p>
<p>[ <span style="text-decoration: underline;"><em>ndlr</em></span>, Au fait, je soupçonne fortement un <a href="http://twitter.com/ChauffeurDeBuzz" target="_blank"><strong>@chauffeurdebuzz</strong></a> ou  associé similaire d'avoir fait une razia de nom de domaines de trois lettres <img src='http://www.chrogeek.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />    ]</p>
<h3  class="related_post_title">Billets similaires</h3><ul class="related_post"><li><a href="http://www.chrogeek.com/2009/01/petit-hack-entre-amis-freekr-ou-comment-telecharger-toutes-les-photos-de-flickr/" title="[Petit Hack entre amis] Freekr, ou comment télécharger toutes les photos de Flickr">[Petit Hack entre amis] Freekr, ou comment télécharger toutes les photos de Flickr</a></li><li><a href="http://www.chrogeek.com/2009/09/dev-comment-bien-choisir-son-framework-php-ruby-js-css/" title="[Dev] Comment bien choisir son Framework PHP, Ruby, JS, CSS">[Dev] Comment bien choisir son Framework PHP, Ruby, JS, CSS</a></li><li><a href="http://www.chrogeek.com/2009/05/prog-lultime-debat-ou-comment-bien-indenter-son-code/" title="[Prog] L&#8217;ultime débat, ou comment bien indenter son code&#8230;">[Prog] L&#8217;ultime débat, ou comment bien indenter son code&#8230;</a></li><li><a href="http://www.chrogeek.com/2009/03/petit-hack-entre-amis-comment-utiliser-lapi-dns-dovh-pour-tout-savoir-sur-un-nom-de-domaine/" title="[Petit Hack entre amis] Comment utiliser l&#8217;API DNS d&#8217;OVH pour tout savoir sur un nom de domaine">[Petit Hack entre amis] Comment utiliser l&#8217;API DNS d&#8217;OVH pour tout savoir sur un nom de domaine</a></li><li><a href="http://www.chrogeek.com/2009/03/php-comment-connaitre-la-taille-dun-fichier-distant-avec-redirection/" title="[PHP] Comment connaitre la taille d&#8217;un fichier distant avec redirection">[PHP] Comment connaitre la taille d&#8217;un fichier distant avec redirection</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.chrogeek.com/2009/03/exclu-lensemble-des-noms-de-domaines-disponibles-en-fr-composes-de-3-lettres/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>[PHP] Comment connaitre la taille d&#8217;un fichier distant avec redirection</title>
		<link>http://www.chrogeek.com/2009/03/php-comment-connaitre-la-taille-dun-fichier-distant-avec-redirection/</link>
		<comments>http://www.chrogeek.com/2009/03/php-comment-connaitre-la-taille-dun-fichier-distant-avec-redirection/#comments</comments>
		<pubDate>Tue, 17 Mar 2009 06:20:18 +0000</pubDate>
		<dc:creator>jaguie</dc:creator>
				<category><![CDATA[Chrogeek]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[snippet]]></category>
		<category><![CDATA[socket]]></category>

		<guid isPermaLink="false">http://www.chrogeek.com/?p=2130</guid>
		<description><![CDATA[Bonjour à tous, Tiens un peu de PHP aujourd&#8217;hui. Je viens de trouver un snippet PHP (ie. Bout de code php) parfait pour mes besoins. Il permet de connaitre la taille d&#8217;un fichier distant (eg. http://www.example.com/file.html ). Ça peut paraitre tout con, mais cette fonction n&#8217;est pas mal implémentée nativement en php. Enfait, il existe [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Bonjour à tous,</strong></p>
<p style="text-align: center;"><strong><a href="http://www.chrogeek.com/wp-content/uploads/2009/03/sockets-php.png"><img class="alignnone size-full wp-image-2133" title="sockets-php" src="http://www.chrogeek.com/wp-content/uploads/2009/03/sockets-php.png" alt="sockets-php" width="455" height="201" /></a><br />
</strong></p>
<p style="text-align: justify;">Tiens un peu de PHP aujourd&#8217;hui. Je viens de trouver <strong>un snippet PHP</strong><em> (ie. Bout de code php) </em>parfait  pour mes besoins.</p>
<p style="text-align: justify;">Il permet de connaitre la taille d&#8217;un fichier distant (eg.  http://www.example.com/file.html ). Ça peut paraitre tout con, mais cette  fonction n&#8217;est <span style="text-decoration: line-through;">pas</span> mal implémentée nativement en php. Enfait,  il existe bien la fonction <a href="http://sg2.php.net/manual/fr/function.stat.php" target="_blank"><strong>stat</strong></a>() et  une amélioration avec <a href="http://sg2.php.net/filesize" target="_blank"><strong>filesize()</strong></a> , mais ce n’est pas  terrible pour les fichiers distants ou du moins je n&#8217;ai pas su l&#8217;exploiter de  façon efficace.</p>
<p style="text-align: justify;"><span style="text-decoration: line-through;">Le problème persistant avec la fonction que je vous propose c&#8217;est qu&#8217;<strong>il faut  télécharger la page distante</strong> avant de pouvoir calculer sa taille. Pas très  pratique en terme de bande passante, mais bon ça marche et c&#8217;est efficace.</span></p>
<p style="text-align: justify;"><span style="text-decoration: underline;"><strong>Faux Faux Faux et archi faux</strong></span> ! J&#8217;ai honte <img src='http://www.chrogeek.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  &#8230; En fait, on envoie une requete HTTP avec l&#8217;entête HEAD qui ne demande que des informations sur le fichier distant donc on ne DL pas le fichier en question.</p>
<p style="text-align: justify;">Par contre le nouveau souci, c&#8217;est que certains serveurs ne fournissent pas ces information pour  quelques page. Exemple classique : <a href="http://pagead2.googlesyndication.com/pagead/show_ads.js"><strong>http://pagead2.googlesyndication.com/pagead/show_ads.js</strong></a> ne renvoi aucune valeur de <strong>HEAD</strong>&#8230; J&#8217;ai fait <strong>un petit hack</strong> de la fonction si dessous pour dans ces cas précis faire une requete GET (donc télécharger le fichier (donc pas terrible mais je ne vois pas d&#8217;autre solution)) puis en déduire la taille. Si c<strong>e hack vous interesse</strong>, faites moi signe.</p>
<p style="text-align: justify;">Pour mes besoins, j&#8217;ai un peu modifié cette fonction en y ajoutant<strong> une  gestion des erreurs plus élaborée</strong> afin de remonter des erreurs [try, catch,  throw], car comme tout le monde le sait,<strong> l&#8217;informatique n&#8217;est pas une science  exacte</strong> et encore moins quand <strong>on travaille avec des sockets</strong>&#8230; (là c&#8217;est même  parfois carrément un mystère de la vie <img src='http://www.chrogeek.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ).</p>
<p><span style="text-decoration: underline;">Voilà l&#8217;affaire</span> :</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> get_remote_file_size<span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #339933;">,</span> <span style="color: #000088;">$readable</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
   <span style="color: #000088;">$parsed</span> <span style="color: #339933;">=</span> <span style="color: #990000;">parse_url</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$host</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$parsed</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;host&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$fp</span> <span style="color: #339933;">=</span> <span style="color: #339933;">@</span><span style="color: #990000;">fsockopen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$host</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">80</span><span style="color: #339933;">,</span> <span style="color: #000088;">$errno</span><span style="color: #339933;">,</span> <span style="color: #000088;">$errstr</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">20</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$fp</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
   <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
       <span style="color: #339933;">@</span><span style="color: #990000;">fputs</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;HEAD <span style="color: #006699; font-weight: bold;">$url</span> HTTP/1.1<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
       <span style="color: #339933;">@</span><span style="color: #990000;">fputs</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;HOST: <span style="color: #006699; font-weight: bold;">$host</span><span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
       <span style="color: #339933;">@</span><span style="color: #990000;">fputs</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;Connection: close<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
       <span style="color: #000088;">$headers</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>
       <span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!@</span><span style="color: #990000;">feof</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #000088;">$headers</span> <span style="color: #339933;">.=</span> <span style="color: #339933;">@</span><span style="color: #990000;">fgets</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">128</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span>
   <span style="color: #339933;">@</span><span style="color: #990000;">fclose</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$return</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$arr_headers</span> <span style="color: #339933;">=</span> <span style="color: #990000;">explode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$headers</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$arr_headers</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$header</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #666666; font-style: italic;">// follow redirect</span>
			<span style="color: #000088;">$s</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'Location: '</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">strtolower</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$header</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$s</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #990000;">strtolower</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$s</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #000088;">$url</span> <span style="color: #339933;">=</span> <span style="color: #990000;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$header</span><span style="color: #339933;">,</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$s</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #b1b100;">return</span> get_remote_file_size<span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #339933;">,</span> <span style="color: #000088;">$readable</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
&nbsp;
			<span style="color: #666666; font-style: italic;">// parse for content length</span>
       <span style="color: #000088;">$s</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Content-Length: &quot;</span><span style="color: #339933;">;</span>
       <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">strtolower</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$header</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$s</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #990000;">strtolower</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$s</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
           <span style="color: #000088;">$return</span> <span style="color: #339933;">=</span> <span style="color: #990000;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$header</span><span style="color: #339933;">,</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$s</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
           <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
       <span style="color: #009900;">&#125;</span>
   <span style="color: #009900;">&#125;</span>
   <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$return</span> <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;&amp;</span>amp<span style="color: #339933;">;</span> <span style="color: #000088;">$readable</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$size</span> <span style="color: #339933;">=</span> <span style="color: #990000;">round</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$return</span> <span style="color: #339933;">/</span> <span style="color: #cc66cc;">1024</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$sz</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;KB&quot;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Size In KB</span>
			<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$size</span> <span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #cc66cc;">1024</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #000088;">$size</span> <span style="color: #339933;">=</span> <span style="color: #990000;">round</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$size</span> <span style="color: #339933;">/</span> <span style="color: #cc66cc;">1024</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000088;">$sz</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;MB&quot;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Size in MB</span>
			<span style="color: #009900;">&#125;</span>
			<span style="color: #000088;">$return</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$size</span> <span style="color: #006699; font-weight: bold;">$sz</span>&quot;</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span>
   <span style="color: #b1b100;">return</span> <span style="color: #000088;">$return</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Vous en pensez quoi? Quelles modifications?</p>
<p style="text-align: justify;">Au fait, <strong>les fidèles lecteurs auront tout de suite compris</strong> pourquoi je  travaille avec une telle fonction <img src='http://www.chrogeek.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  <small>[<a href="http://www.chrogeek.com/2009/03/wikio-le-classement-des-blogs-high-tech-en-fonction-de-leurs-temps-de-chargement-mars-2009/" target="_blank"><strong>ici</strong></a>]</small></p>
<p>Bonne journée à tous,</p>
<p>Enjoy,</p>
<p><strong>Jaguie</strong></p>
<h3  class="related_post_title">Billets similaires</h3><ul class="related_post"><li><a href="http://www.chrogeek.com/2009/03/petit-hack-entre-amis-comment-utiliser-lapi-dns-dovh-pour-tout-savoir-sur-un-nom-de-domaine/" title="[Petit Hack entre amis] Comment utiliser l&#8217;API DNS d&#8217;OVH pour tout savoir sur un nom de domaine">[Petit Hack entre amis] Comment utiliser l&#8217;API DNS d&#8217;OVH pour tout savoir sur un nom de domaine</a></li><li><a href="http://www.chrogeek.com/2009/03/exclu-lensemble-des-noms-de-domaines-disponibles-en-fr-composes-de-3-lettres/" title="[Exclu] L&#8217;ensemble des noms de domaines disponibles en .fr composés de 3 lettres ">[Exclu] L&#8217;ensemble des noms de domaines disponibles en .fr composés de 3 lettres </a></li><li><a href="http://www.chrogeek.com/2009/01/petit-hack-entre-amis-freekr-ou-comment-telecharger-toutes-les-photos-de-flickr/" title="[Petit Hack entre amis] Freekr, ou comment télécharger toutes les photos de Flickr">[Petit Hack entre amis] Freekr, ou comment télécharger toutes les photos de Flickr</a></li><li><a href="http://www.chrogeek.com/2009/01/petit-hack-entre-amis-confession-dun-appreti-spammeur-de-facebook/" title="[Petit hack entre amis] Confession d&#8217;un apprenti spammeur de Facebook!">[Petit hack entre amis] Confession d&#8217;un apprenti spammeur de Facebook!</a></li><li><a href="http://www.chrogeek.com/2008/11/petit-hack-entre-amis-comment-trouver-rapidement-un-mot-de-passe-md5/" title="[Petit hack entre amis] Comment trouver rapidement un mot de passe MD5">[Petit hack entre amis] Comment trouver rapidement un mot de passe MD5</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.chrogeek.com/2009/03/php-comment-connaitre-la-taille-dun-fichier-distant-avec-redirection/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>[PHP] Un mauvais développeur PHP en 41 points</title>
		<link>http://www.chrogeek.com/2009/02/php-un-mauvais-developpeur-php-en-41-points/</link>
		<comments>http://www.chrogeek.com/2009/02/php-un-mauvais-developpeur-php-en-41-points/#comments</comments>
		<pubDate>Thu, 26 Feb 2009 11:51:34 +0000</pubDate>
		<dc:creator>jaguie</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[deveur]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[liste]]></category>

		<guid isPermaLink="false">http://www.chrogeek.com/?p=1965</guid>
		<description><![CDATA[Bonjour à tous, Hop, comme Witalk j&#8217;ai reçu la petite chaine décrivant un mauvais déveur PHP en 41 points&#8230; C&#8217;est parfois un peu extrême, mais cela dit l&#8217;esprit est bon ! L&#8217;utilité d&#8217;une telle liste n&#8217;est pas de se faire traiter de nuls, mais plutôt de voir les points importants que l&#8217;on peu doit améliorer. [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Bonjour à tous, </strong></p>
<p style="text-align: center;"><strong><a href="http://www.chrogeek.com/wp-content/uploads/2009/02/php.png"><img class="alignnone size-full wp-image-1972" title="php" src="http://www.chrogeek.com/wp-content/uploads/2009/02/php.png" alt="php" width="478" height="208" /></a><br />
</strong></p>
<p style="text-align: justify;">Hop, comme <a href="http://blog.witalk.fr/2008/04/16/reconnaitre-un-dev-php-bidon/" target="_blank"><strong>Witalk</strong></a> j&#8217;ai reçu la petite chaine décrivant un mauvais déveur PHP en 41 points&#8230; C&#8217;est  parfois un peu extrême, mais cela dit l&#8217;esprit est bon !</p>
<p style="text-align: justify;">L&#8217;utilité d&#8217;une telle liste n&#8217;est pas de se faire traiter de nuls, mais  plutôt de <strong>voir les points importants que l&#8217;on <span style="text-decoration: line-through;">peu</span> doit améliorer</strong>.</p>
<p style="text-align: justify;"><strong>Witalk</strong> a fermé les commentaires sur son billet, je ne le ferais pas. Vous pouvez donc m&#8217;insulter et me traiter de newbie tant que vous voulez <img src='http://www.chrogeek.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><span style="text-decoration: underline;">La version française</span> :</p>
<p style="text-align: center;"><em>Vous êtes &laquo;&nbsp;mauvais&nbsp;&raquo; si: </em></p>
<p><strong>1.</strong> Vous ne commentez pas votre code comme le veut le manuel phpDoc</p>
<p><strong>2.</strong> Vous ne voyez pas la nécessité et / ou les avantages d’une bonne programmation IDE comme Zend Studio ou Eclipse PDT</p>
<p><span id="more-1965"></span></p>
<p><strong>3.</strong> Vous n’avez jamais utilisé une certaine forme de contrôle de version comme Subclipse</p>
<p><strong>4.</strong> Vous n’adoptez pas les normes de codage et de “nommage”, de conventions générales et de s’en tenir à eux au moins tout au long du projet</p>
<p><strong>5.</strong>Vous n’utilisez pas une méthodologie cohérente</p>
<p><strong>6.</strong> Vous n’échappez pas et / ou ne validez pas correctement entrée ou de requêtes sql</p>
<p><strong>7.</strong> Vous ne planifiez pas votre demande de manière approfondie avant de commencer à coder</p>
<p><strong>8.</strong> Vous n’utilisez pas de test axé sur le développement</p>
<p><strong>9.</strong> Vous ne programmez  pas, ni testez avec des rapports d’erreurs</p>
<p><strong>10.</strong> Vous ne voyez pas les avantages d’un “débugger”</p>
<p><strong>11.</strong> Vous ne factorisez pas votre code</p>
<p><strong>12.</strong> Vous ne conservez pas les différentes couches séparées en utilisant quelque chose comme MVC</p>
<p><strong>13.</strong> Vous ne savez pas ce que représentent : KISS, DRY, MVC, POO, REST</p>
<p><strong>14.</strong> Vous ne retournez pas le contenu, mais l’écho ou l’imprimé de vos fonctions ou de vos classes</p>
<p><strong>15.</strong> Vous n’avez jamais vu l’avantage des tests unitaires ou d’essai en général</p>
<p><strong>16.</strong> Les sorties sont toujours du HTML et ne sont ni des données, ni du texte, ni des objets.</p>
<p><strong>17.</strong> Code dur messages et les paramètres de configuration</p>
<p><strong>18.</strong> Vous n’optimisez pas vos requêtes sql</p>
<p><strong>19.</strong> Vous n’utilisez pas __autoload</p>
<p><strong>20.</strong> Vous ne permettez pas de gestion des erreurs intelligentes</p>
<p><strong>21.</strong> Vous utilisez $ _GET au lieu de $ _POST pour toute action destructrice</p>
<p><strong>22.</strong> Vous ne savez pas comment utiliser les expressions régulières</p>
<p><strong>23.</strong> Vous n’avez jamais entendu parler de sql injection ou cross-site scripting</p>
<p><strong>24.</strong> Vous ne permettez pas la simple configuration, les paramètres peuvent être transmis à un constructeur de la classe, set / get méthodes appelées plus tard, ou constantes définies à un moment de l’exécution.</p>
<p><strong>25.</strong> Vous ne comprenez pas les avantages et les limites de la “programmation orientée objets”</p>
<p><strong>26.</strong> Détournement POO / tout ce que vous écrivez, quel que soit ce qui est petit est POO</p>
<p><strong>27.</strong> Vous pensez que les logiciels réutilisables pour votre code nécessitent d’être POO</p>
<p><strong>28.</strong> Vous ne choisissez pas de défaut intelligent</p>
<p><strong>29.</strong> Vous n’avez pas un seul fichier de configuration</p>
<p><strong>30.</strong> Vous ne voulez pas que le contenu du fichier soit vu, alors vous lui donnez une extension .Inc au lieu de .Php</p>
<p><strong>31.</strong> Vous n’utilisez pas de couche d’abstraction de base de données</p>
<p><strong>32.</strong> Ne pas tenir compte du DRY (Dont repeat Yourself). Si vous devez copier et coller ou dupliquer quelque chose de votre dessin ou modèle doit être améliorer.</p>
<p><strong>33.</strong> Vous ne faites pas de fonction / classe / méthode pour faire une seule chose et ne pas les faire interagir.</p>
<p><strong>34.</strong> Vous n’essayez pas de tirer parti des caractéristiques spécifiques comme la POO résumé / interface classes, héritage polymorphisme et l’accès préférentielle.</p>
<p><strong>35.</strong> Vous n’optimisez pas votre conception d’application établie avec les schémas de design</p>
<p><strong>36.</strong> Vous ne permettez pas à votre utilisateur de définir le répertoire de base si vous avez plusieurs fichiers et / ou répertoires</p>
<p><strong>37.</strong> Vous polluez l’espace de “nommage” global, une option serait de préfixer les fonctions dans votre bibliothèque avec une chaine de caractères</p>
<p><strong>38.</strong> Vous ne permettez pas de préfixe de table lors de l’utilisation de tables de bases de données</p>
<p><strong>39.</strong> Vous utilisez un moteur de template</p>
<p><strong>40.</strong> Vous ne jetez pas un coup d’œil à établir des cadres d’inspiration php, la plupart d’entre eux ont avancé des concepts de dev web et de bon code</p>
<p><span style="text-decoration: underline;">La version originale anglaise</span> :</p>
<ol>
<li>don&#8217;t comment your code properly with something like <a href="http://www.phpdoc.org/">phpDoc</a></li>
<li>don&#8217;t see the need and/or benefits of a good programming IDE like <a href="http://www.zend.com/de/">Zend Studio</a> or <a href="http://www.zend.com/en/community/pdt" target="_blank">Eclipse PDT</a></li>
<li>have never used some form of version control like <a href="http://subclipse.tigris.org/" target="_blank">Subclipse</a></li>
<li>don&#8217;t adopt some <a href="http://pear.php.net/manual/en/standards.php" target="_blank">coding &amp; naming standards</a> and general conventions and stick to to them at least throughout the project</li>
<li>don&#8217;t use a consistent methodology</li>
<li>don&#8217;t escape and/or validate properly input or sql queries</li>
<li>don&#8217;t plan your application thoroughly before starting to code</li>
<li>don&#8217;t use test-driven development</li>
<li>don&#8217;t program &amp; test with error reporting on</li>
<li>don&#8217;t see the benefits of a debugger</li>
<li>don&#8217;t refactor your code</li>
<li>don&#8217;t keep the different layers seperated using something like <a href="http://toys.lerdorf.com/archives/38-The-no-framework-PHP-MVC-framework.html" target="_blank">MVC</a></li>
<li>don&#8217;t know what these stand for: <a href="http://en.wikipedia.org/wiki/KISS_principle" target="_blank">KISS</a>, <a href="http://en.wikipedia.org/wiki/Don%27t_repeat_yourself" target="_blank">DRY</a>, <a href="http://toys.lerdorf.com/archives/38-The-no-framework-PHP-MVC-framework.html" target="_blank">MVC</a>, <a href="http://www.php.net/manual/en/language.oop5.php" target="_blank">OOP</a>, <a href="http://en.wikipedia.org/wiki/Representational_State_Transfer" target="_blank">REST</a></li>
<li> don&#8217;t return content but echo or print it from your functions or classes</li>
<li>have never seen the advantage of unit tests or testing in general</li>
<li> return HTML, not data, strings, or objects.</li>
<li>hard code messages and configuration parameters</li>
<li>don&#8217;t optimize your sql queries</li>
<li>don&#8217;t use __autoload</li>
<li> don&#8217;t allow intelligent error handling</li>
<li>use $_GET instead of $_POST for any destructive actions</li>
<li>don&#8217;t know how to use regular expressions</li>
<li>you&#8217;ve never heard of sql injection or cross-site scripting</li>
<li> don&#8217;t allow simple configuration, can be parameters passed to a class’s constructor, set/get methods called later, or constants defined at a runtime.</li>
<li>don&#8217;t understand the benefits and limitations of Object Oriented Programming</li>
<li>misuse OOP / everything you write , no matter how small is OOP</li>
<li>you think reusable software equals/requires your code to be OOP</li>
<li> don&#8217;t choose intelligent defaults</li>
<li>don&#8217;t have one single configuration file</li>
<li>don&#8217;t want the file contents to be seen, but give it a .inc extension instead of .php</li>
<li>don&#8217;t use a database abstraction layer</li>
<li>don&#8217;t keep it DRY, Don&#8217;t repeat yourself. If you have to copy and paste or duplicate something your design may be off.</li>
<li>don&#8217;t make a function/class/method do just one thing and don&#8217;t make them interact.</li>
<li>don&#8217;t try to take advantage of OOP specific features like abstract/interface classes, inheritage polymorphism &amp; access modifiers.</li>
<li>don&#8217;t optimize your application design with established <a href="http://www.sitepoint.com/forums/showthread.php?t=248721" target="_blank">design patterns</a></li>
<li> don&#8217;t allow your user to define a base directory if you have multiple files and/or directories</li>
<li>pollute the global namespace, one option is to prefix the functions in your library with a common string</li>
<li> don&#8217;t allow a table prefix when using database tables</li>
<li>use a separate <a href="http://www.sitepoint.com/forums/showthread.php?t=67849" target="_blank">template engine</a></li>
<li>don&#8217;t take a look at established <a href="http://www.phpit.net/article/ten-different-php-frameworks/" target="_blank">php frameworks</a> for inspiration, most of them have advanced web dev</li>
</ol>
<p style="text-align: right;"><em>Je suis évidement un mauvais !</em></p>
<p>Un commentaire a faire?</p>
<p>Have fun,</p>
<p><strong>Jaguie</strong></p>
<p><strong><small>[<a href="http://www.flickr.com/photos/imagicweb/412815146/" target="_blank">photo</a>]</small><br />
</strong></p>
<h3  class="related_post_title">Billets similaires</h3><ul class="related_post"><li><a href="http://www.chrogeek.com/2009/06/grop-resultat-et-bilan-du-defi-geek-2/" title="[GROP] Résultat et bilan du défi geek #2 ">[GROP] Résultat et bilan du défi geek #2 </a></li><li><a href="http://www.chrogeek.com/2009/05/appel-hug-me-i-know-c/" title="[Appel !] Hug me i know C++ ! ">[Appel !] Hug me i know C++ ! </a></li><li><a href="http://www.chrogeek.com/2009/03/petit-hack-entre-amis-comment-utiliser-lapi-dns-dovh-pour-tout-savoir-sur-un-nom-de-domaine/" title="[Petit Hack entre amis] Comment utiliser l&#8217;API DNS d&#8217;OVH pour tout savoir sur un nom de domaine">[Petit Hack entre amis] Comment utiliser l&#8217;API DNS d&#8217;OVH pour tout savoir sur un nom de domaine</a></li><li><a href="http://www.chrogeek.com/2009/02/so-geeky-le-magique-framework-php-qui-tien-dans-un-twitt/" title="[So Geeky!] Le magique framework PHP qui tient dans un twitt ! ">[So Geeky!] Le magique framework PHP qui tient dans un twitt ! </a></li><li><a href="http://www.chrogeek.com/2010/12/lunix-le-nouvel-assistant-daide-pour-lediteur-vivim/" title="[LuNix] Le nouvel assistant d&#8217;aide pour l&#8217;editeur VI/VIM">[LuNix] Le nouvel assistant d&#8217;aide pour l&#8217;editeur VI/VIM</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.chrogeek.com/2009/02/php-un-mauvais-developpeur-php-en-41-points/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>[So Geeky!] Le magique framework PHP qui tient dans un twitt !</title>
		<link>http://www.chrogeek.com/2009/02/so-geeky-le-magique-framework-php-qui-tien-dans-un-twitt/</link>
		<comments>http://www.chrogeek.com/2009/02/so-geeky-le-magique-framework-php-qui-tien-dans-un-twitt/#comments</comments>
		<pubDate>Tue, 24 Feb 2009 10:17:27 +0000</pubDate>
		<dc:creator>jaguie</dc:creator>
				<category><![CDATA[Chrogeek]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.chrogeek.com/?p=1952</guid>
		<description><![CDATA[Bonjour à tous, Hop, Luc vient de me réactiver un billet qui trainé depuis une grosse semaine dans un(e?) socket de ma pile FIFO de billets&#8230;. Ca s&#8217;appelle Twitto est c&#8217;est un framework PHP qui tien dans un twitt, il fait donc moins de 145 caractères et il est tout à fait fonctionnel&#8230; Seul gros [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Bonjour à tous,</strong></p>
<p style="text-align: center;"><strong><a href="http://www.chrogeek.com/wp-content/uploads/2009/02/twitto1.png"><img class="alignnone size-full wp-image-1956" title="twitto1" src="http://www.chrogeek.com/wp-content/uploads/2009/02/twitto1.png" alt="twitto1" width="478" height="202" /></a><br />
</strong></p>
<p>Hop, <a href="http://wanasport.com" target="_blank"><strong>Luc</strong></a> vient de me réactiver un billet qui trainé depuis une grosse semaine  dans un(e?) socket de ma pile FIFO de billets&#8230;.</p>
<p style="text-align: justify;">Ca s&#8217;appelle Twitto est c&#8217;est un <strong>framework PHP</strong> qui tien dans un twitt, il  fait donc <strong>moins de 145 caractères</strong> et il est tout à fait fonctionnel&#8230; Seul gros défaut : La  Sécurité ! Il n&#8217;y en a pas du tout&#8230;</p>
<p>Hop,<span style="text-decoration: underline;"> le voici et en entier </span>:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">require</span> __DIR__<span style="color: #339933;">.</span><span style="color: #0000ff;">'/c.php'</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">is_callable</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$c</span> <span style="color: #339933;">=</span> <span style="color: #339933;">@</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'c'</span><span style="color: #009900;">&#93;</span> ?<span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'Woah!'</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
  throw <span style="color: #000000; font-weight: bold;">new</span> Exception<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Error'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$c</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p><span style="text-decoration: underline;">Usage</span> :</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// c.php</span>
<span style="color: #000000; font-weight: bold;">function</span> hello_world<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'Hello World!'</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p><span style="text-decoration: underline;">Et le .htaccess qui va bien</span> :</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">RewriteEngine On
RewriteCond <span style="color: #339933;">%</span><span style="color: #009900;">&#123;</span>REQUEST_FILENAME<span style="color: #009900;">&#125;</span> <span style="color: #339933;">!-</span>f
RewriteRule ^<span style="color: #009900;">&#40;</span><span style="color: #339933;">.*</span><span style="color: #009900;">&#41;</span>$ twitto<span style="color: #339933;">.</span>php?c<span style="color: #339933;">=</span>$<span style="color: #cc66cc;">1</span> <span style="color: #009900;">&#91;</span>L<span style="color: #009900;">&#93;</span></pre></div></div>

<p style="text-align: justify;">Tout est là&#8230; C&#8217;est bête et méchant, mais c&#8217;est fonctionnel ! Par contre, il  vous faut absolument utiliser PHP 5.3 car il utilise les nouveautés amenées par  celui-ci.</p>
<p><span style="text-decoration: underline;">Pour en savoir plus</span> :</p>
<ul>
<li><a href="http://fr.wikipedia.org/wiki/Framework" target="_blank"><strong>Article wikipedia sur les framework</strong></a></li>
<li><a href="http://twitto.org/" target="_blank"><strong>Article source de Twitto</strong></a></li>
</ul>
<p>Bonne journée à tous,</p>
<p>Enjoy,</p>
<p><strong>Jaguie</strong></p>
<h3  class="related_post_title">Billets similaires</h3><ul class="related_post"><li><a href="http://www.chrogeek.com/2010/06/buzz-twhoswho-le-whos-who-politiquement-incorrect-de-twitter/" title="[Buzz] Twhoswho, le Who&#8217;s Who politiquement incorrect de Twitter &#8230;">[Buzz] Twhoswho, le Who&#8217;s Who politiquement incorrect de Twitter &#8230;</a></li><li><a href="http://www.chrogeek.com/2009/10/beau-birds-on-the-wires-et-si-cetait-lhymne-de-twitter/" title="[Beau!] Birds on the Wires &#8211; Et si c&#8217;était l&#8217;hymne de twitter !">[Beau!] Birds on the Wires &#8211; Et si c&#8217;était l&#8217;hymne de twitter !</a></li><li><a href="http://www.chrogeek.com/2009/06/petit-hack-entre-amis-comment-se-faire-twitter-avec-la-classe/" title="[petit hack entre amis] Comment se faire twitter avec la classe !">[petit hack entre amis] Comment se faire twitter avec la classe !</a></li><li><a href="http://www.chrogeek.com/2009/06/grop-resultat-et-bilan-du-defi-geek-2/" title="[GROP] Résultat et bilan du défi geek #2 ">[GROP] Résultat et bilan du défi geek #2 </a></li><li><a href="http://www.chrogeek.com/2009/05/appel-hug-me-i-know-c/" title="[Appel !] Hug me i know C++ ! ">[Appel !] Hug me i know C++ ! </a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.chrogeek.com/2009/02/so-geeky-le-magique-framework-php-qui-tien-dans-un-twitt/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>[Historique] A ne surtout pas louper aujourd&#8217;hui Vendredi 13 février 2009</title>
		<link>http://www.chrogeek.com/2009/02/historique-a-ne-surtout-pas-louper-aujourdhui-vendredi-13-fevrier-2009/</link>
		<comments>http://www.chrogeek.com/2009/02/historique-a-ne-surtout-pas-louper-aujourdhui-vendredi-13-fevrier-2009/#comments</comments>
		<pubDate>Fri, 13 Feb 2009 09:15:14 +0000</pubDate>
		<dc:creator>jaguie</dc:creator>
				<category><![CDATA[Chrogeek]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[date]]></category>
		<category><![CDATA[heure]]></category>
		<category><![CDATA[timestamp]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://www.chrogeek.com/?p=1843</guid>
		<description><![CDATA[Bonjour à tous, Il y a vraiment des jours différents des autres&#8230;. Non pas que nous sommes le vendredi 13, ça, on s&#8217;en fout ! Mais, c&#8217;est surtout qu&#8217;aujourd&#8217;hui en fait demain samedi: le UNIX TIMESTAMP aura la super valeur de 1234567890 à 00h 31mn et 30 secondes [France] Une date historique à ne surtout [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Bonjour à tous,</strong></p>
<p style="text-align: center;"><strong><a href="http://www.chrogeek.com/wp-content/uploads/2009/02/heures.png"><img class="alignnone size-full wp-image-1844" title="heures" src="http://www.chrogeek.com/wp-content/uploads/2009/02/heures.png" alt="heures" width="450" height="182" /></a><br />
</strong></p>
<p>Il y a vraiment des jours différents des autres&#8230;. Non pas que nous sommes <strong> le vendredi 13</strong>, ça, on s&#8217;en fout ! Mais, c&#8217;est surtout <span style="text-decoration: line-through;">qu&#8217;aujourd&#8217;hui</span> en fait demain samedi:</p>
<p style="text-align: center;"><em>le <strong>UNIX TIMESTAMP</strong> aura la super valeur de  <strong>1234567890</strong> à </em><strong>00h 31mn et 30 </strong><em><strong>secondes</strong> [France]<br />
</em></p>
<p style="text-align: left;"><strong>Une date historique</strong> à ne surtout pas louper donc  !</p>
<p style="text-align: justify;">Pour ceux qui ne savent pas ce que c&#8217;est que le  timestamp Unix, c&#8217;est un système de mesures du temps basé sur le nombre de  secondes écoulées depuis<strong> le 1er janvier 1970 à 00:00 UTC</strong>. On s&#8217;en sert tout le  temps en programmation, dès que l&#8217;on travaille sur des durées, le système de  calcul derrière c&#8217;est le <strong>TIMESTAMP</strong> &#8230;</p>
<p style="text-align: left;">Pour le visualiser en direct : <a href="http://www.1234567890day.com/" target="_blank"><strong>http://www.1234567890day.com/</strong></a><a href="http://www.unixtimestamp.com/index.php" target="_blank"><strong></strong></a></p>
<p style="text-align: right;">Je m&#8217;engage à payer la tournée en avril à celui qui  m&#8217;envoie un screen de ce site avec<strong> la super valeur</strong> !</p>
<p>Pour en savoir plus: <a href="http://en.wikipedia.org/wiki/Unix_time" target="_blank"><strong>http://en.wikipedia.org/wiki/Unix_time</strong></a></p>
<p>Bonne journée à tous,</p>
<p>Enjoy,</p>
<p><strong>Jaguie</strong></p>
<h3  class="related_post_title">Billets similaires</h3><ul class="related_post"><li><a href="http://www.chrogeek.com/2010/12/lunix-le-nouvel-assistant-daide-pour-lediteur-vivim/" title="[LuNix] Le nouvel assistant d&#8217;aide pour l&#8217;editeur VI/VIM">[LuNix] Le nouvel assistant d&#8217;aide pour l&#8217;editeur VI/VIM</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.chrogeek.com/2009/02/historique-a-ne-surtout-pas-louper-aujourdhui-vendredi-13-fevrier-2009/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>[Blogosphère] Le classement général des blogs en fonction de leurs temps de réponse &#8211; Février 2009</title>
		<link>http://www.chrogeek.com/2009/02/blogosphere-le-classement-general-des-blogs-en-fonction-de-leurs-temps-de-reponse/</link>
		<comments>http://www.chrogeek.com/2009/02/blogosphere-le-classement-general-des-blogs-en-fonction-de-leurs-temps-de-reponse/#comments</comments>
		<pubDate>Fri, 06 Feb 2009 09:58:11 +0000</pubDate>
		<dc:creator>jaguie</dc:creator>
				<category><![CDATA[Blogosphère]]></category>
		<category><![CDATA[Chrogeek]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[classement]]></category>
		<category><![CDATA[hack]]></category>

		<guid isPermaLink="false">http://www.chrogeek.com/?p=1768</guid>
		<description><![CDATA[Bonjour à tous, Hop, je me suis bien amusé aujourd&#8217;hui ! Les blogueurs le savent tous, les autres un peu moins, mais le classement Wikio février 2009 des blogs est sorti hier. Comme chaque début de mois, il y a les déçus et les autres. Mais la seule question déjà mille fois discutée c&#8217;est la [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Bonjour à tous, </strong></p>
<p style="text-align: center;"><strong><a href="http://www.chrogeek.com/wp-content/uploads/2009/02/classement.png"><img class="alignnone size-full wp-image-1780" title="classement" src="http://www.chrogeek.com/wp-content/uploads/2009/02/classement.png" alt="classement" width="499" height="267" /></a><br />
</strong></p>
<p style="text-align: justify;">Hop, je me suis bien amusé aujourd&#8217;hui ! <strong>Les blogueurs le savent tous</strong>, les autres  un peu moins, mais <a href="http://www.wikio.fr/blogs/top" target="_blank"><strong>le classement Wikio février 2009</strong></a> des blogs est sorti hier.</p>
<p style="text-align: justify;">Comme chaque début de mois, il y a les déçus et les autres. Mais la seule  question déjà mille fois discutée c&#8217;est la pertinence d&#8217;un<strong> classement  principalement basé sur les backlinks</strong>&#8230;</p>
<p style="text-align: justify;">Bref en gros tout le monde regarde ce classement, car personne n&#8217;en a un de  mieux pour le moment (je compte beaucoup sur <strong>OverBlog</strong> personnellement).</p>
<p style="text-align: justify;">Depuis hier, on dispose donc du classement des blogs du mois de février de  Wikio. L&#8217;occasion est trop belle pour s&#8217;amuser un peu.</p>
<p style="text-align: justify;">J&#8217;ai donc écrit un petit script qui pingue ( ie. fonction qui établi une  connexion et retourne la durée entre autres) les blogs du <strong>classement général de  Wikio</strong>. Puis celui-ci les trie et fournit un tableau HTML.</p>
<p style="text-align: justify;">Bon, je vous arrête tout de suite, je conviens tout à fait que <strong>le ping est un mauvais moyen de classement</strong> car tout les serveurs de l&#8217;acceptent pas. Ceci dit ça permet tout de même de dégager une tendance et de comparer les  differents hébergeurs.</p>
<p style="text-align: justify;">Ce qu&#8217;il faut savoir, j&#8217;ai pris le temps de réponse moyen généré par 4 pings  (réalisé sous Windows). Les pings avec un temps de réponse de 9999ms sont les  blogs qui n&#8217;ont pas répondu.</p>
<p style="text-align: justify;">Enfin, <em>the last but not the least</em> comme on le dirai, j&#8217;ai réalisé ce test  depuis<span style="text-decoration: underline;"><strong> SINGAPOUR</strong></span> donc forcement on ne peut pas ne pas prendre cet argument en  compte. Cependant, la contrainte de distance est la même pour tout le monde.</p>
<p>De plus le test à été lancé dans les environs de 16h heure locale soit 9h en  France.</p>
<p style="text-align: justify;">J&#8217;ai effectué plusieurs fois le test afin de<strong> confronter les résultats</strong>, ce que  je peux dire c&#8217;est que dans l&#8217;esprit ça reste identique. On peut constater une  variation de 4 à 5 places maximum dans la <strong>grande majorité des cas</strong>.</p>
<p><span style="text-decoration: underline;">Voici donc le tableau des résultats:</span></p>
<p><span id="more-1768"></span></p>
<table class="tpc" border="0">
<thead></thead>
<thead>
<tr class="tphd">
<td>#</td>
<td>Nom</td>
<td># Wikio</td>
<td>Catégorie</td>
<td>Ping</td>
</tr>
</thead>
<tbody>
<tr class="bgc">
<td class="tdrank">1</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://pisani.blog.lemonde.fr');" href="http://pisani.blog.lemonde.fr" target="_blank">Transnets</a></td>
<td class="tdnum">28</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">12</td>
</tr>
<tr>
<td class="tdrank">2</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://vidberg.blog.lemonde.fr/');" href="http://vidberg.blog.lemonde.fr/" target="_blank">L&#8217;actu en patates</a></td>
<td class="tdnum">51</td>
<td class="tdcat">BD</td>
<td class="tdping">18</td>
</tr>
<tr class="bgc">
<td class="tdrank">3</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://slovar.blogspot.com');" href="http://slovar.blogspot.com" target="_blank">SLOVAR les nouvelles &#8211; expressions libres</a></td>
<td class="tdnum">264</td>
<td class="tdcat">Politique</td>
<td class="tdping">40</td>
</tr>
<tr>
<td class="tdrank">4</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://reseau-lhc.blogspot.com/');" href="http://reseau-lhc.blogspot.com/" target="_blank">Réseau LHC</a></td>
<td class="tdnum">269</td>
<td class="tdcat">Politique</td>
<td class="tdping">40</td>
</tr>
<tr class="bgc">
<td class="tdrank">5</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://quicoulol.blogspot.com');" href="http://quicoulol.blogspot.com" target="_blank">Quicoulol</a></td>
<td class="tdnum">271</td>
<td class="tdcat">Divers</td>
<td class="tdping">40</td>
</tr>
<tr>
<td class="tdrank">6</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://julieadoreart.blogspot.com/');" href="http://julieadoreart.blogspot.com/" target="_blank">JULIE ♥  ADORE</a></td>
<td class="tdnum">159</td>
<td class="tdcat">Loisirs</td>
<td class="tdping">40</td>
</tr>
<tr class="bgc">
<td class="tdrank">7</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://leplafond.blogspot.com/');" href="http://leplafond.blogspot.com/" target="_blank">Le Plafond</a></td>
<td class="tdnum">194</td>
<td class="tdcat">Divers</td>
<td class="tdping">41</td>
</tr>
<tr>
<td class="tdrank">8</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://grumeautique.blogspot.com/');" href="http://grumeautique.blogspot.com/" target="_blank">Petit précis de Grumeautique</a></td>
<td class="tdnum">298</td>
<td class="tdcat">BD</td>
<td class="tdping">41</td>
</tr>
<tr class="bgc">
<td class="tdrank">9</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://comite-de-salut-public.blogspot.com');" href="http://comite-de-salut-public.blogspot.com" target="_blank">CSP</a></td>
<td class="tdnum">236</td>
<td class="tdcat">Politique</td>
<td class="tdping">41</td>
</tr>
<tr>
<td class="tdrank">10</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://criticusleblog.blogspot.com');" href="http://criticusleblog.blogspot.com" target="_blank">Criticus</a></td>
<td class="tdnum">191</td>
<td class="tdcat">Politique</td>
<td class="tdping">42</td>
</tr>
<tr class="bgc">
<td class="tdrank">11</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://ratousnet.blogspot.com/');" href="http://ratousnet.blogspot.com/" target="_blank">Ratou&#8217;s Net</a></td>
<td class="tdnum">280</td>
<td class="tdcat">Divers</td>
<td class="tdping">47</td>
</tr>
<tr>
<td class="tdrank">12</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://pire-racaille.blogspot.com');" href="http://pire-racaille.blogspot.com" target="_blank">La pire Racaille</a></td>
<td class="tdnum">293</td>
<td class="tdcat">Politique</td>
<td class="tdping">53</td>
</tr>
<tr class="bgc">
<td class="tdrank">13</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://blog.sfadj.com/');" href="http://blog.sfadj.com/" target="_blank">Rubin Sfadj</a></td>
<td class="tdnum">115</td>
<td class="tdcat">Politique</td>
<td class="tdping">56</td>
</tr>
<tr>
<td class="tdrank">14</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://falconhill.blogspot.com');" href="http://falconhill.blogspot.com" target="_blank">La Maison du Faucon</a></td>
<td class="tdnum">292</td>
<td class="tdcat">Divers</td>
<td class="tdping">67</td>
</tr>
<tr class="bgc">
<td class="tdrank">15</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://jegper.blogspot.com');" href="http://jegper.blogspot.com" target="_blank">Partageons mes âneries</a></td>
<td class="tdnum">36</td>
<td class="tdcat">Divers</td>
<td class="tdping">180</td>
</tr>
<tr>
<td class="tdrank">16</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://e-coloriage.blogspot.com/');" href="http://e-coloriage.blogspot.com/" target="_blank">E-COLORIAGE</a></td>
<td class="tdnum">243</td>
<td class="tdcat">Environnement</td>
<td class="tdping">181</td>
</tr>
<tr class="bgc">
<td class="tdrank">17</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://unclavesien.blogspot.com');" href="http://unclavesien.blogspot.com" target="_blank">Le coucou de Claviers</a></td>
<td class="tdnum">74</td>
<td class="tdcat">Politique</td>
<td class="tdping">181</td>
</tr>
<tr>
<td class="tdrank">18</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://777socrate.blogspot.com');" href="http://777socrate.blogspot.com" target="_blank">Ma vie en Narcisse</a></td>
<td class="tdnum">56</td>
<td class="tdcat">Politique</td>
<td class="tdping">182</td>
</tr>
<tr class="bgc">
<td class="tdrank">19</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://detoutetderiensurtoutderiendailleurs.blogspot.com');" href="http://detoutetderiensurtoutderiendailleurs.blogspot.com" target="_blank">De tout et de rien, surtout de rien d&#8217;ailleurs</a></td>
<td class="tdnum">10</td>
<td class="tdcat">Divers</td>
<td class="tdping">198</td>
</tr>
<tr>
<td class="tdrank">20</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://lespriviliegiesparlent.blogspot.com/');" href="http://lespriviliegiesparlent.blogspot.com/" target="_blank">Les privilégiés parlent aux Français&#8230;</a></td>
<td class="tdnum">66</td>
<td class="tdcat">Politique</td>
<td class="tdping">204</td>
</tr>
<tr class="bgc">
<td class="tdrank">21</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://jai-lu.blogspot.com');" href="http://jai-lu.blogspot.com" target="_blank">J&#8217;ai lu&#8230;</a></td>
<td class="tdnum">122</td>
<td class="tdcat">Littérature</td>
<td class="tdping">205</td>
</tr>
<tr>
<td class="tdrank">22</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://lily-et-ses-livres.blogspot.com');" href="http://lily-et-ses-livres.blogspot.com" target="_blank">Lily et ses livres</a></td>
<td class="tdnum">113</td>
<td class="tdcat">Littérature</td>
<td class="tdping">206</td>
</tr>
<tr class="bgc">
<td class="tdrank">23</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://befaure.blogspot.com');" href="http://befaure.blogspot.com" target="_blank">BeFaure</a></td>
<td class="tdnum">140</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">212</td>
</tr>
<tr>
<td class="tdrank">24</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://pralinerie.blogspot.com');" href="http://pralinerie.blogspot.com" target="_blank">Pralineries</a></td>
<td class="tdnum">234</td>
<td class="tdcat">Littérature</td>
<td class="tdping">214</td>
</tr>
<tr class="bgc">
<td class="tdrank">25</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://lafeuille.homo-numericus.net/');" href="http://lafeuille.homo-numericus.net/" target="_blank">La feuille</a></td>
<td class="tdnum">213</td>
<td class="tdcat">Science</td>
<td class="tdping">214</td>
</tr>
<tr>
<td class="tdrank">26</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://henrikaufman.typepad.com/et_si_lon_parlait_marketi');" href="http://henrikaufman.typepad.com/et_si_lon_parlait_marketi" target="_blank">Et si l&#8217;on parlait Marketing</a></td>
<td class="tdnum">177</td>
<td class="tdcat">Marketing</td>
<td class="tdping">214</td>
</tr>
<tr class="bgc">
<td class="tdrank">27</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://henrikaufman.typepad.com/eclectihklog');" href="http://henrikaufman.typepad.com/eclectihklog" target="_blank">Eclectihk log</a></td>
<td class="tdnum">109</td>
<td class="tdcat">Divers</td>
<td class="tdping">214</td>
</tr>
<tr>
<td class="tdrank">28</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://aixtal.blogspot.com');" href="http://aixtal.blogspot.com" target="_blank">Technologies du Langage</a></td>
<td class="tdnum">64</td>
<td class="tdcat">Science</td>
<td class="tdping">215</td>
</tr>
<tr class="bgc">
<td class="tdrank">29</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://margauxmotin.typepad.fr/margaux_motin/');" href="http://margauxmotin.typepad.fr/margaux_motin/" target="_blank">Margaux Motin</a></td>
<td class="tdnum">231</td>
<td class="tdcat">BD</td>
<td class="tdping">215</td>
</tr>
<tr>
<td class="tdrank">30</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://sarkofrance.blogspot.com');" href="http://sarkofrance.blogspot.com" target="_blank">Sarkofrance</a></td>
<td class="tdnum">12</td>
<td class="tdcat">Politique</td>
<td class="tdping">215</td>
</tr>
</tbody>
</table>
<p>Une petite<span style="text-decoration: underline;"> représentation graphique</span> pour avoir une idée de <strong>l&#8217;évolution</strong>:</p>
<p style="text-align: center;"><a href="http://www.chrogeek.com/wp-content/uploads/2009/02/classment_blog.png"><img class="size-full wp-image-1778 aligncenter" title="classment_blog" src="http://www.chrogeek.com/wp-content/uploads/2009/02/classment_blog.png" alt="classment_blog" width="536" height="684" /></a></p>
<p style="text-align: justify;">Bon il faut quand même en tiré <strong>une conclusion rapides</strong>. Ce que l&#8217;on voit principalement c&#8217;est que les plateformes hébergées tiennent le haut du pavé. Après, je suis quand même surpris par le gap que l&#8217;on peut voir sur le graphique. Si quelqu&#8217;un peu me l&#8217;expliquer</p>
<p>Afin que l&#8217;étude soit complète, je vous mets le classement des <strong>300 premiers blogs français Wikio</strong> :</p>
<table class="tpc" border="0">
<thead></thead>
<thead>
<tr class="tphd">
<td>#</td>
<td>Nom</td>
<td># Wikio</td>
<td>Catégorie</td>
<td>Ping</td>
</tr>
</thead>
<tbody>
<tr class="bgc">
<td class="tdrank">1</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://pisani.blog.lemonde.fr');" href="http://pisani.blog.lemonde.fr" target="_blank">Transnets</a></td>
<td class="tdnum">28</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">12</td>
</tr>
<tr>
<td class="tdrank">2</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://vidberg.blog.lemonde.fr/');" href="http://vidberg.blog.lemonde.fr/" target="_blank">L&#8217;actu en patates</a></td>
<td class="tdnum">51</td>
<td class="tdcat">BD</td>
<td class="tdping">18</td>
</tr>
<tr class="bgc">
<td class="tdrank">3</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://slovar.blogspot.com');" href="http://slovar.blogspot.com" target="_blank">SLOVAR les nouvelles &#8211; expressions libres</a></td>
<td class="tdnum">264</td>
<td class="tdcat">Politique</td>
<td class="tdping">40</td>
</tr>
<tr>
<td class="tdrank">4</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://reseau-lhc.blogspot.com/');" href="http://reseau-lhc.blogspot.com/" target="_blank">Réseau LHC</a></td>
<td class="tdnum">269</td>
<td class="tdcat">Politique</td>
<td class="tdping">40</td>
</tr>
<tr class="bgc">
<td class="tdrank">5</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://quicoulol.blogspot.com');" href="http://quicoulol.blogspot.com" target="_blank">Quicoulol</a></td>
<td class="tdnum">271</td>
<td class="tdcat">Divers</td>
<td class="tdping">40</td>
</tr>
<tr>
<td class="tdrank">6</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://julieadoreart.blogspot.com/');" href="http://julieadoreart.blogspot.com/" target="_blank">JULIE   ADORE</a></td>
<td class="tdnum">159</td>
<td class="tdcat">Loisirs</td>
<td class="tdping">40</td>
</tr>
<tr class="bgc">
<td class="tdrank">7</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://leplafond.blogspot.com/');" href="http://leplafond.blogspot.com/" target="_blank">Le Plafond</a></td>
<td class="tdnum">194</td>
<td class="tdcat">Divers</td>
<td class="tdping">41</td>
</tr>
<tr>
<td class="tdrank">8</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://grumeautique.blogspot.com/');" href="http://grumeautique.blogspot.com/" target="_blank">Petit précis de Grumeautique</a></td>
<td class="tdnum">298</td>
<td class="tdcat">BD</td>
<td class="tdping">41</td>
</tr>
<tr class="bgc">
<td class="tdrank">9</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://comite-de-salut-public.blogspot.com');" href="http://comite-de-salut-public.blogspot.com" target="_blank">CSP</a></td>
<td class="tdnum">236</td>
<td class="tdcat">Politique</td>
<td class="tdping">41</td>
</tr>
<tr>
<td class="tdrank">10</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://criticusleblog.blogspot.com');" href="http://criticusleblog.blogspot.com" target="_blank">Criticus</a></td>
<td class="tdnum">191</td>
<td class="tdcat">Politique</td>
<td class="tdping">42</td>
</tr>
<tr class="bgc">
<td class="tdrank">11</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://ratousnet.blogspot.com/');" href="http://ratousnet.blogspot.com/" target="_blank">Ratou&#8217;s Net</a></td>
<td class="tdnum">280</td>
<td class="tdcat">Divers</td>
<td class="tdping">47</td>
</tr>
<tr>
<td class="tdrank">12</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://pire-racaille.blogspot.com');" href="http://pire-racaille.blogspot.com" target="_blank">La pire Racaille</a></td>
<td class="tdnum">293</td>
<td class="tdcat">Politique</td>
<td class="tdping">53</td>
</tr>
<tr class="bgc">
<td class="tdrank">13</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://blog.sfadj.com/');" href="http://blog.sfadj.com/" target="_blank">Rubin Sfadj</a></td>
<td class="tdnum">115</td>
<td class="tdcat">Politique</td>
<td class="tdping">56</td>
</tr>
<tr>
<td class="tdrank">14</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://falconhill.blogspot.com');" href="http://falconhill.blogspot.com" target="_blank">La Maison du Faucon</a></td>
<td class="tdnum">292</td>
<td class="tdcat">Divers</td>
<td class="tdping">67</td>
</tr>
<tr class="bgc">
<td class="tdrank">15</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://jegper.blogspot.com');" href="http://jegper.blogspot.com" target="_blank">Partageons mes âneries</a></td>
<td class="tdnum">36</td>
<td class="tdcat">Divers</td>
<td class="tdping">180</td>
</tr>
<tr>
<td class="tdrank">16</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://e-coloriage.blogspot.com/');" href="http://e-coloriage.blogspot.com/" target="_blank">E-COLORIAGE</a></td>
<td class="tdnum">243</td>
<td class="tdcat">Environnement</td>
<td class="tdping">181</td>
</tr>
<tr class="bgc">
<td class="tdrank">17</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://unclavesien.blogspot.com');" href="http://unclavesien.blogspot.com" target="_blank">Le coucou de Claviers</a></td>
<td class="tdnum">74</td>
<td class="tdcat">Politique</td>
<td class="tdping">181</td>
</tr>
<tr>
<td class="tdrank">18</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://777socrate.blogspot.com');" href="http://777socrate.blogspot.com" target="_blank">Ma vie en Narcisse</a></td>
<td class="tdnum">56</td>
<td class="tdcat">Politique</td>
<td class="tdping">182</td>
</tr>
<tr class="bgc">
<td class="tdrank">19</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://detoutetderiensurtoutderiendailleurs.blogspot.com');" href="http://detoutetderiensurtoutderiendailleurs.blogspot.com" target="_blank">De tout et de rien, surtout de rien d&#8217;ailleurs</a></td>
<td class="tdnum">10</td>
<td class="tdcat">Divers</td>
<td class="tdping">198</td>
</tr>
<tr>
<td class="tdrank">20</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://lespriviliegiesparlent.blogspot.com/');" href="http://lespriviliegiesparlent.blogspot.com/" target="_blank">Les privilégiés parlent aux Français&#8230;</a></td>
<td class="tdnum">66</td>
<td class="tdcat">Politique</td>
<td class="tdping">204</td>
</tr>
<tr class="bgc">
<td class="tdrank">21</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://jai-lu.blogspot.com');" href="http://jai-lu.blogspot.com" target="_blank">J&#8217;ai lu&#8230;</a></td>
<td class="tdnum">122</td>
<td class="tdcat">Littérature</td>
<td class="tdping">205</td>
</tr>
<tr>
<td class="tdrank">22</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://lily-et-ses-livres.blogspot.com');" href="http://lily-et-ses-livres.blogspot.com" target="_blank">Lily et ses livres</a></td>
<td class="tdnum">113</td>
<td class="tdcat">Littérature</td>
<td class="tdping">206</td>
</tr>
<tr class="bgc">
<td class="tdrank">23</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://befaure.blogspot.com');" href="http://befaure.blogspot.com" target="_blank">BeFaure</a></td>
<td class="tdnum">140</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">212</td>
</tr>
<tr>
<td class="tdrank">24</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://pralinerie.blogspot.com');" href="http://pralinerie.blogspot.com" target="_blank">Pralineries</a></td>
<td class="tdnum">234</td>
<td class="tdcat">Littérature</td>
<td class="tdping">214</td>
</tr>
<tr class="bgc">
<td class="tdrank">25</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://lafeuille.homo-numericus.net/');" href="http://lafeuille.homo-numericus.net/" target="_blank">La feuille</a></td>
<td class="tdnum">213</td>
<td class="tdcat">Science</td>
<td class="tdping">214</td>
</tr>
<tr>
<td class="tdrank">26</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://henrikaufman.typepad.com/et_si_lon_parlait_marketi');" href="http://henrikaufman.typepad.com/et_si_lon_parlait_marketi" target="_blank">Et si l&#8217;on parlait Marketing</a></td>
<td class="tdnum">177</td>
<td class="tdcat">Marketing</td>
<td class="tdping">214</td>
</tr>
<tr class="bgc">
<td class="tdrank">27</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://henrikaufman.typepad.com/eclectihklog');" href="http://henrikaufman.typepad.com/eclectihklog" target="_blank">Eclectihk log</a></td>
<td class="tdnum">109</td>
<td class="tdcat">Divers</td>
<td class="tdping">214</td>
</tr>
<tr>
<td class="tdrank">28</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://aixtal.blogspot.com');" href="http://aixtal.blogspot.com" target="_blank">Technologies du Langage</a></td>
<td class="tdnum">64</td>
<td class="tdcat">Science</td>
<td class="tdping">215</td>
</tr>
<tr class="bgc">
<td class="tdrank">29</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://margauxmotin.typepad.fr/margaux_motin/');" href="http://margauxmotin.typepad.fr/margaux_motin/" target="_blank">Margaux Motin</a></td>
<td class="tdnum">231</td>
<td class="tdcat">BD</td>
<td class="tdping">215</td>
</tr>
<tr>
<td class="tdrank">30</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://sarkofrance.blogspot.com');" href="http://sarkofrance.blogspot.com" target="_blank">Sarkofrance</a></td>
<td class="tdnum">12</td>
<td class="tdcat">Politique</td>
<td class="tdping">215</td>
</tr>
<tr class="bgc">
<td class="tdrank">31</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://bouchedela.blogspot.com');" href="http://bouchedela.blogspot.com" target="_blank">Bouche de là<br />
</a></td>
<td class="tdnum">92</td>
<td class="tdcat">Divers</td>
<td class="tdping">216</td>
</tr>
<tr>
<td class="tdrank">32</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://untempsderetard.blogspot.com/');" href="http://untempsderetard.blogspot.com/" target="_blank">Un temps de retard</a></td>
<td class="tdnum">70</td>
<td class="tdcat">Divers</td>
<td class="tdping">220</td>
</tr>
<tr class="bgc">
<td class="tdrank">33</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://pierre-philippe.blogspot.com');" href="http://pierre-philippe.blogspot.com" target="_blank">PPC&#8217;s</a></td>
<td class="tdnum">37</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">222</td>
</tr>
<tr>
<td class="tdrank">34</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://jegweb.blogspot.com');" href="http://jegweb.blogspot.com" target="_blank">Partageons le reste !</a></td>
<td class="tdnum">111</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">223</td>
</tr>
<tr class="bgc">
<td class="tdrank">35</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://jegpol.blogspot.com');" href="http://jegpol.blogspot.com" target="_blank">Partageons mon avis</a></td>
<td class="tdnum">4</td>
<td class="tdcat">Politique</td>
<td class="tdping">223</td>
</tr>
<tr>
<td class="tdrank">36</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://scally.typepad.com');" href="http://scally.typepad.com" target="_blank">C&#8217;est moi qui l&#8217;ai fait !</a></td>
<td class="tdnum">254</td>
<td class="tdcat">Gastronomie</td>
<td class="tdping">223</td>
</tr>
<tr class="bgc">
<td class="tdrank">37</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://undimanche.blogspot.com');" href="http://undimanche.blogspot.com" target="_blank">Un dimanche a la campagne</a></td>
<td class="tdnum">112</td>
<td class="tdcat">Gastronomie</td>
<td class="tdping">224</td>
</tr>
<tr>
<td class="tdrank">38</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://balmeyer.blogspot.com');" href="http://balmeyer.blogspot.com" target="_blank">balmeyer&#8217;s blog</a></td>
<td class="tdnum">45</td>
<td class="tdcat">Littérature</td>
<td class="tdping">225</td>
</tr>
<tr class="bgc">
<td class="tdrank">39</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.ginisty.com/weblog');" href="http://www.ginisty.com/weblog" target="_blank">Christophe Ginisty</a></td>
<td class="tdnum">132</td>
<td class="tdcat">Politique</td>
<td class="tdping">228</td>
</tr>
<tr>
<td class="tdrank">40</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.auntiejofunnykitchen.blogspot.com');" href="http://www.auntiejofunnykitchen.blogspot.com" target="_blank">Auntie Jo Funny Little Kitchen</a></td>
<td class="tdnum">229</td>
<td class="tdcat">Gastronomie</td>
<td class="tdping">231</td>
</tr>
<tr class="bgc">
<td class="tdrank">41</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.darkplanneur.com');" href="http://www.darkplanneur.com" target="_blank">Dark Planneur</a></td>
<td class="tdnum">203</td>
<td class="tdcat">Divers</td>
<td class="tdping">231</td>
</tr>
<tr>
<td class="tdrank">42</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://tonnegrande973.blogspot.com');" href="http://tonnegrande973.blogspot.com" target="_blank">C&#8217;est pas moi qui filosofe</a></td>
<td class="tdnum">148</td>
<td class="tdcat">Divers</td>
<td class="tdping">233</td>
</tr>
<tr class="bgc">
<td class="tdrank">43</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://papillesetpupilles.blogspot.com');" href="http://papillesetpupilles.blogspot.com" target="_blank">Papilles et Pupilles</a></td>
<td class="tdnum">32</td>
<td class="tdcat">Gastronomie</td>
<td class="tdping">233</td>
</tr>
<tr>
<td class="tdrank">44</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://doriannn.blogspot.com');" href="http://doriannn.blogspot.com" target="_blank">Mais pourquoi est-ce que je vous raconte Ã§a</a></td>
<td class="tdnum">61</td>
<td class="tdcat">Gastronomie</td>
<td class="tdping">237</td>
</tr>
<tr class="bgc">
<td class="tdrank">45</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://trublyonnevoitlavieenrouge.blogspot.com/');" href="http://trublyonnevoitlavieenrouge.blogspot.com/" target="_blank">Trublyonne voit la vie en rouge</a></td>
<td class="tdnum">57</td>
<td class="tdcat">Politique</td>
<td class="tdping">237</td>
</tr>
<tr>
<td class="tdrank">46</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.festival-blogs-bd.com');" href="http://www.festival-blogs-bd.com" target="_blank">Festival des blog BD</a></td>
<td class="tdnum">263</td>
<td class="tdcat">BD</td>
<td class="tdping">238</td>
</tr>
<tr class="bgc">
<td class="tdrank">47</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://mtislav.blogspot.com/');" href="http://mtislav.blogspot.com/" target="_blank">mtislav</a></td>
<td class="tdnum">85</td>
<td class="tdcat">Divers</td>
<td class="tdping">239</td>
</tr>
<tr>
<td class="tdrank">48</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://delasexualitedesaraignees.blogspot.com');" href="http://delasexualitedesaraignees.blogspot.com" target="_blank">De la sexualité des araignÃ©es</a></td>
<td class="tdnum">33</td>
<td class="tdcat">Littérature</td>
<td class="tdping">243</td>
</tr>
<tr class="bgc">
<td class="tdrank">49</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.objectifliberte.fr');" href="http://www.objectifliberte.fr" target="_blank">Objectif Liberté</a></td>
<td class="tdnum">251</td>
<td class="tdcat">Politique</td>
<td class="tdping">246</td>
</tr>
<tr>
<td class="tdrank">50</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.larecrue.net/');" href="http://www.larecrue.net/" target="_blank">La Recrue du Mois</a></td>
<td class="tdnum">145</td>
<td class="tdcat">Littérature</td>
<td class="tdping">246</td>
</tr>
<tr class="bgc">
<td class="tdrank">51</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://nefisa.blogspot.com');" href="http://nefisa.blogspot.com" target="_blank">Rêves de Comptoirs</a></td>
<td class="tdnum">84</td>
<td class="tdcat">Divers</td>
<td class="tdping">246</td>
</tr>
<tr>
<td class="tdrank">52</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://romainblachier.typepad.fr');" href="http://romainblachier.typepad.fr" target="_blank">Lyonnitude(s)</a></td>
<td class="tdnum">100</td>
<td class="tdcat">Politique</td>
<td class="tdping">247</td>
</tr>
<tr class="bgc">
<td class="tdrank">53</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://gregorypouy.blogs.com');" href="http://gregorypouy.blogs.com" target="_blank">Grégory Pouy</a></td>
<td class="tdnum">68</td>
<td class="tdcat">Marketing</td>
<td class="tdping">249</td>
</tr>
<tr>
<td class="tdrank">54</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://monsieurpoireau.blogspot.com');" href="http://monsieurpoireau.blogspot.com" target="_blank">Monsieur Poireau</a></td>
<td class="tdnum">59</td>
<td class="tdcat">Divers</td>
<td class="tdping">250</td>
</tr>
<tr class="bgc">
<td class="tdrank">55</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.penelope-jolicoeur.com');" href="http://www.penelope-jolicoeur.com" target="_blank">Ma vie est tout à  fait fascinante</a></td>
<td class="tdnum">3</td>
<td class="tdcat">BD</td>
<td class="tdping">254</td>
</tr>
<tr>
<td class="tdrank">56</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.politique.blomig.com');" href="http://www.politique.blomig.com" target="_blank">Expression Libre</a></td>
<td class="tdnum">80</td>
<td class="tdcat">Politique</td>
<td class="tdping">255</td>
</tr>
<tr class="bgc">
<td class="tdrank">57</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://mry.blogs.com');" href="http://mry.blogs.com" target="_blank">Choses vues by mry</a></td>
<td class="tdnum">17</td>
<td class="tdcat">Divers</td>
<td class="tdping">255</td>
</tr>
<tr>
<td class="tdrank">58</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.salondublogculinaire.com');" href="http://www.salondublogculinaire.com" target="_blank">Salon du blog culinaire</a></td>
<td class="tdnum">135</td>
<td class="tdcat">Gastronomie</td>
<td class="tdping">260</td>
</tr>
<tr class="bgc">
<td class="tdrank">59</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.monputeaux.com');" href="http://www.monputeaux.com" target="_blank">MonPuteaux.com</a></td>
<td class="tdnum">248</td>
<td class="tdcat">Politique</td>
<td class="tdping">260</td>
</tr>
<tr>
<td class="tdrank">60</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://roget.biz/');" href="http://roget.biz/" target="_blank">Cocktail de Web News</a></td>
<td class="tdnum">44</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">261</td>
</tr>
<tr class="bgc">
<td class="tdrank">61</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://clement.blogs.com');" href="http://clement.blogs.com" target="_blank">Thomas Clément</a></td>
<td class="tdnum">200</td>
<td class="tdcat">Divers</td>
<td class="tdping">261</td>
</tr>
<tr>
<td class="tdrank">62</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.thetrendygirl.net/');" href="http://www.thetrendygirl.net/" target="_blank">The Trendy Girl</a></td>
<td class="tdnum">186</td>
<td class="tdcat">Loisirs</td>
<td class="tdping">263</td>
</tr>
<tr class="bgc">
<td class="tdrank">63</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.kelblog.com/');" href="http://www.kelblog.com/" target="_blank">Kelblog</a></td>
<td class="tdnum">20</td>
<td class="tdcat">Divers</td>
<td class="tdping">263</td>
</tr>
<tr>
<td class="tdrank">64</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.ed-productions.com/leszed');" href="http://www.ed-productions.com/leszed" target="_blank">Les Zed</a></td>
<td class="tdnum">221</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">263</td>
</tr>
<tr class="bgc">
<td class="tdrank">65</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.caledosphere.com');" href="http://www.caledosphere.com" target="_blank">Calédosphère</a></td>
<td class="tdnum">97</td>
<td class="tdcat">Divers</td>
<td class="tdping">263</td>
</tr>
<tr>
<td class="tdrank">66</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.vinvin.org/');" href="http://www.vinvin.org/" target="_blank">Vinvin</a></td>
<td class="tdnum">180</td>
<td class="tdcat">Divers</td>
<td class="tdping">264</td>
</tr>
<tr class="bgc">
<td class="tdrank">67</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://billaut.typepad.com');" href="http://billaut.typepad.com" target="_blank">Jean Michel Billaut</a></td>
<td class="tdnum">226</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">265</td>
</tr>
<tr>
<td class="tdrank">68</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.trendsnow.net');" href="http://www.trendsnow.net" target="_blank">TrendsNow</a></td>
<td class="tdnum">86</td>
<td class="tdcat">Divers</td>
<td class="tdping">265</td>
</tr>
<tr class="bgc">
<td class="tdrank">69</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://mydaruma.wordpress.com/');" href="http://mydaruma.wordpress.com/" target="_blank">My Daruma</a></td>
<td class="tdnum">287</td>
<td class="tdcat">Loisirs</td>
<td class="tdping">265</td>
</tr>
<tr>
<td class="tdrank">70</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.loiclemeur.com/france');" href="http://www.loiclemeur.com/france" target="_blank">Loic le Meur</a></td>
<td class="tdnum">55</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">265</td>
</tr>
<tr class="bgc">
<td class="tdrank">71</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://secretdefense.blogs.liberation.fr/defense/');" href="http://secretdefense.blogs.liberation.fr/defense/" target="_blank">Secret Défense</a></td>
<td class="tdnum">185</td>
<td class="tdcat">Divers</td>
<td class="tdping">274</td>
</tr>
<tr>
<td class="tdrank">72</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://extra-ball.blogspot.com/');" href="http://extra-ball.blogspot.com/" target="_blank">Extra-Ball</a></td>
<td class="tdnum">38</td>
<td class="tdcat">LittÃ©rature</td>
<td class="tdping">293</td>
</tr>
<tr class="bgc">
<td class="tdrank">73</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.guim.fr/blog');" href="http://www.guim.fr/blog" target="_blank">GuiM</a></td>
<td class="tdnum">25</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">298</td>
</tr>
<tr>
<td class="tdrank">74</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://sarkofrance.wordpress.com');" href="http://sarkofrance.wordpress.com" target="_blank">Les coulisses de Sarkofrance</a></td>
<td class="tdnum">76</td>
<td class="tdcat">Politique</td>
<td class="tdping">306</td>
</tr>
<tr class="bgc">
<td class="tdrank">75</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.michelleblanc.com');" href="http://www.michelleblanc.com" target="_blank">Michelle Blanc</a></td>
<td class="tdnum">143</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">312</td>
</tr>
<tr>
<td class="tdrank">76</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://piratages.wordpress.com/');" href="http://piratages.wordpress.com/" target="_blank">Piratage(s)</a></td>
<td class="tdnum">172</td>
<td class="tdcat">Politique</td>
<td class="tdping">312</td>
</tr>
<tr class="bgc">
<td class="tdrank">77</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.culture-buzz.fr');" href="http://www.culture-buzz.fr" target="_blank">Culture-buzz</a></td>
<td class="tdnum">144</td>
<td class="tdcat">Marketing</td>
<td class="tdping">317</td>
</tr>
<tr>
<td class="tdrank">78</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.penseesdoutrepolitique.wordpress.com');" href="http://www.penseesdoutrepolitique.wordpress.com" target="_blank">PensÃ©es d&#8217;outre-politique</a></td>
<td class="tdnum">166</td>
<td class="tdcat">Politique</td>
<td class="tdping">318</td>
</tr>
<tr class="bgc">
<td class="tdrank">79</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://5emedecouverture.wordpress.com/');" href="http://5emedecouverture.wordpress.com/" target="_blank">CinquiÃ¨me de couverture</a></td>
<td class="tdnum">170</td>
<td class="tdcat">LittÃ©rature</td>
<td class="tdping">321</td>
</tr>
<tr>
<td class="tdrank">80</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://fr.mashable.com');" href="http://fr.mashable.com" target="_blank">Mashable</a></td>
<td class="tdnum">34</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">330</td>
</tr>
<tr class="bgc">
<td class="tdrank">81</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://internetetopinion.wordpress.com');" href="http://internetetopinion.wordpress.com" target="_blank">Internet et Opinion</a></td>
<td class="tdnum">217</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">332</td>
</tr>
<tr>
<td class="tdrank">82</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://fr.techcrunch.com');" href="http://fr.techcrunch.com" target="_blank">TechCrunch France</a></td>
<td class="tdnum">2</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">333</td>
</tr>
<tr class="bgc">
<td class="tdrank">83</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://descary.com');" href="http://descary.com" target="_blank">Descary.com</a></td>
<td class="tdnum">90</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">341</td>
</tr>
<tr>
<td class="tdrank">84</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.2803.fr');" href="http://www.2803.fr" target="_blank">2803</a></td>
<td class="tdnum">40</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">344</td>
</tr>
<tr class="bgc">
<td class="tdrank">85</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://jeromechoain.wordpress.com');" href="http://jeromechoain.wordpress.com" target="_blank">JCFrogBlogII</a></td>
<td class="tdnum">274</td>
<td class="tdcat">Divers</td>
<td class="tdping">346</td>
</tr>
<tr>
<td class="tdrank">86</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://chefdamien.750g.com/');" href="http://chefdamien.750g.com/" target="_blank">Le petit journal de Chef Damien</a></td>
<td class="tdnum">268</td>
<td class="tdcat">Gastronomie</td>
<td class="tdping">350</td>
</tr>
<tr class="bgc">
<td class="tdrank">87</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://econoclaste.org.free.fr/dotclear');" href="http://econoclaste.org.free.fr/dotclear" target="_blank">Econoclaste</a></td>
<td class="tdnum">117</td>
<td class="tdcat">Divers</td>
<td class="tdping">356</td>
</tr>
<tr>
<td class="tdrank">88</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.business-garden.com');" href="http://www.business-garden.com" target="_blank">Business Garden</a></td>
<td class="tdnum">150</td>
<td class="tdcat">Marketing</td>
<td class="tdping">362</td>
</tr>
<tr class="bgc">
<td class="tdrank">89</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://cuisineplurielle.canalblog.com');" href="http://cuisineplurielle.canalblog.com" target="_blank">Cuisine plurielle</a></td>
<td class="tdnum">228</td>
<td class="tdcat">Gastronomie</td>
<td class="tdping">364</td>
</tr>
<tr>
<td class="tdrank">90</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://laosurlacolline.canalblog.com');" href="http://laosurlacolline.canalblog.com" target="_blank">Lao sur la Colline</a></td>
<td class="tdnum">174</td>
<td class="tdcat">Divers</td>
<td class="tdping">365</td>
</tr>
<tr class="bgc">
<td class="tdrank">91</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://sauce.over-blog.org');" href="http://sauce.over-blog.org" target="_blank">sauce politique</a></td>
<td class="tdnum">133</td>
<td class="tdcat">Politique</td>
<td class="tdping">365</td>
</tr>
<tr>
<td class="tdrank">92</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://1petitbazar.canalblog.com/');" href="http://1petitbazar.canalblog.com/" target="_blank">Mon Petit Bazar</a></td>
<td class="tdnum">220</td>
<td class="tdcat">Loisirs</td>
<td class="tdping">365</td>
</tr>
<tr class="bgc">
<td class="tdrank">93</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.kallou.fr/blog/');" href="http://www.kallou.fr/blog/" target="_blank">les moutons de kallou</a></td>
<td class="tdnum">62</td>
<td class="tdcat">Loisirs</td>
<td class="tdping">366</td>
</tr>
<tr>
<td class="tdrank">94</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://lillyetseslivres.canalblog.com');" href="http://lillyetseslivres.canalblog.com" target="_blank">lilly et ses livres</a></td>
<td class="tdnum">296</td>
<td class="tdcat">LittÃ©rature</td>
<td class="tdping">366</td>
</tr>
<tr class="bgc">
<td class="tdrank">95</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.virginiebichet.org');" href="http://www.virginiebichet.org" target="_blank">Virginie B</a></td>
<td class="tdnum">235</td>
<td class="tdcat">Divers</td>
<td class="tdping">366</td>
</tr>
<tr>
<td class="tdrank">96</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.bahbycc.com');" href="http://www.bahbycc.com" target="_blank">Bah !?</a></td>
<td class="tdnum">30</td>
<td class="tdcat">Politique</td>
<td class="tdping">368</td>
</tr>
<tr class="bgc">
<td class="tdrank">97</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://jen-airienadireetalors.20minutes-blogs.fr/');" href="http://jen-airienadireetalors.20minutes-blogs.fr/" target="_blank">Je n&#8217;ai rien Ã  dire ! et alors ??</a></td>
<td class="tdnum">278</td>
<td class="tdcat">Politique</td>
<td class="tdping">368</td>
</tr>
<tr>
<td class="tdrank">98</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://unefilleordinaire.net/');" href="http://unefilleordinaire.net/" target="_blank">une fille ordinaire&#8230; ou pas.</a></td>
<td class="tdnum">163</td>
<td class="tdcat">Divers</td>
<td class="tdping">371</td>
</tr>
<tr class="bgc">
<td class="tdrank">99</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://beautifulthings.canalblog.com/');" href="http://beautifulthings.canalblog.com/" target="_blank">Beautiful things</a></td>
<td class="tdnum">53</td>
<td class="tdcat">Loisirs</td>
<td class="tdping">374</td>
</tr>
<tr>
<td class="tdrank">100</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.baptisteblog.com');" href="http://www.baptisteblog.com" target="_blank">Le blog de Baptiste Roynette</a></td>
<td class="tdnum">147</td>
<td class="tdcat">Marketing</td>
<td class="tdping">374</td>
</tr>
<tr class="bgc">
<td class="tdrank">101</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.blogiphone.fr');" href="http://www.blogiphone.fr" target="_blank">Le blog iPhone</a></td>
<td class="tdnum">239</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">375</td>
</tr>
<tr>
<td class="tdrank">102</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.koztoujours.fr');" href="http://www.koztoujours.fr" target="_blank">Koztoujours</a></td>
<td class="tdnum">116</td>
<td class="tdcat">Politique</td>
<td class="tdping">378</td>
</tr>
<tr class="bgc">
<td class="tdrank">103</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.geeek.org');" href="http://www.geeek.org" target="_blank">Blog de Geeek</a></td>
<td class="tdnum">266</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">378</td>
</tr>
<tr>
<td class="tdrank">104</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.plumedepresse.com');" href="http://www.plumedepresse.com" target="_blank">Plume de presse</a></td>
<td class="tdnum">141</td>
<td class="tdcat">Politique</td>
<td class="tdping">379</td>
</tr>
<tr class="bgc">
<td class="tdrank">105</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.korben.info');" href="http://www.korben.info" target="_blank">Korben</a></td>
<td class="tdnum">11</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">380</td>
</tr>
<tr>
<td class="tdrank">106</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.vincentabry.com');" href="http://www.vincentabry.com" target="_blank">VincentAbry.com</a></td>
<td class="tdnum">54</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">382</td>
</tr>
<tr class="bgc">
<td class="tdrank">107</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.patricecassard.com');" href="http://www.patricecassard.com" target="_blank">Patrice Cassard</a></td>
<td class="tdnum">187</td>
<td class="tdcat">Divers</td>
<td class="tdping">382</td>
</tr>
<tr>
<td class="tdrank">108</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.myloubook.com/');" href="http://www.myloubook.com/" target="_blank">My Lou Book</a></td>
<td class="tdnum">233</td>
<td class="tdcat">LittÃ©rature</td>
<td class="tdping">382</td>
</tr>
<tr class="bgc">
<td class="tdrank">109</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://audreycuisine.canalblog.com');" href="http://audreycuisine.canalblog.com" target="_blank">Ma p&#8217;tite cuisine</a></td>
<td class="tdnum">227</td>
<td class="tdcat">Gastronomie</td>
<td class="tdping">382</td>
</tr>
<tr>
<td class="tdrank">110</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://arcencielolavabo.canalblog.com/');" href="http://arcencielolavabo.canalblog.com/" target="_blank">Un Arc En Ciel Dans Le Lavabo</a></td>
<td class="tdnum">182</td>
<td class="tdcat">Loisirs</td>
<td class="tdping">383</td>
</tr>
<tr class="bgc">
<td class="tdrank">111</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://moncoinlecture.over-blog.com');" href="http://moncoinlecture.over-blog.com" target="_blank">Mon coin lecture</a></td>
<td class="tdnum">131</td>
<td class="tdcat">LittÃ©rature</td>
<td class="tdping">383</td>
</tr>
<tr>
<td class="tdrank">112</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.exotech.biz');" href="http://www.exotech.biz" target="_blank">Exotech.biz</a></td>
<td class="tdnum">284</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">383</td>
</tr>
<tr class="bgc">
<td class="tdrank">113</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.cedricgiorgi.com/');" href="http://www.cedricgiorgi.com/" target="_blank">Carnet Web de Cedric Giorgi</a></td>
<td class="tdnum">277</td>
<td class="tdcat">Marketing</td>
<td class="tdping">383</td>
</tr>
<tr>
<td class="tdrank">114</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://zoelioth.canalblog.com/');" href="http://zoelioth.canalblog.com/" target="_blank">ZoÃ©lioth</a></td>
<td class="tdnum">270</td>
<td class="tdcat">Loisirs</td>
<td class="tdping">385</td>
</tr>
<tr class="bgc">
<td class="tdrank">115</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://blog.plafonddeverre.fr/');" href="http://blog.plafonddeverre.fr/" target="_blank">Olympe et le plafond de verre</a></td>
<td class="tdnum">124</td>
<td class="tdcat">Politique</td>
<td class="tdping">385</td>
</tr>
<tr>
<td class="tdrank">116</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.presse-citron.net');" href="http://www.presse-citron.net" target="_blank">Presse-citron</a></td>
<td class="tdnum">1</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">387</td>
</tr>
<tr class="bgc">
<td class="tdrank">117</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://bellepoulette.canalblog.com/');" href="http://bellepoulette.canalblog.com/" target="_blank">Beautiful Poulette</a></td>
<td class="tdnum">272</td>
<td class="tdcat">Loisirs</td>
<td class="tdping">388</td>
</tr>
<tr>
<td class="tdrank">118</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://bbcreation.canalblog.com');" href="http://bbcreation.canalblog.com" target="_blank">BBCrÃ©ation</a></td>
<td class="tdnum">161</td>
<td class="tdcat">Loisirs</td>
<td class="tdping">389</td>
</tr>
<tr class="bgc">
<td class="tdrank">119</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://froufrouetcapu.canalblog.com');" href="http://froufrouetcapu.canalblog.com" target="_blank">froufrou et capucine</a></td>
<td class="tdnum">82</td>
<td class="tdcat">Loisirs</td>
<td class="tdping">392</td>
</tr>
<tr>
<td class="tdrank">120</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://400coups.canalblog.com/');" href="http://400coups.canalblog.com/" target="_blank">400coups</a></td>
<td class="tdnum">126</td>
<td class="tdcat">Loisirs</td>
<td class="tdping">393</td>
</tr>
<tr class="bgc">
<td class="tdrank">121</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.w3sh.com');" href="http://www.w3sh.com" target="_blank">w3sh</a></td>
<td class="tdnum">107</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">394</td>
</tr>
<tr>
<td class="tdrank">122</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://gonzague.me/');" href="http://gonzague.me/" target="_blank">Gonzague Dambricourt</a></td>
<td class="tdnum">43</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">395</td>
</tr>
<tr class="bgc">
<td class="tdrank">123</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://assiettesduchef.canalblog.com');" href="http://assiettesduchef.canalblog.com" target="_blank">Assiettes gourmandes</a></td>
<td class="tdnum">162</td>
<td class="tdcat">Gastronomie</td>
<td class="tdping">399</td>
</tr>
<tr>
<td class="tdrank">124</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://marc.vasseur.over-blog.com');" href="http://marc.vasseur.over-blog.com" target="_blank">Marc Vasseur</a></td>
<td class="tdnum">13</td>
<td class="tdcat">Politique</td>
<td class="tdping">400</td>
</tr>
<tr class="bgc">
<td class="tdrank">125</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://blog.lefigaro.fr/rioufol/');" href="http://blog.lefigaro.fr/rioufol/" target="_blank">Ivan Rioufol</a></td>
<td class="tdnum">156</td>
<td class="tdcat">Politique</td>
<td class="tdping">400</td>
</tr>
<tr>
<td class="tdrank">126</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://viacomit.free.fr');" href="http://viacomit.free.fr" target="_blank">ViaComIT</a></td>
<td class="tdnum">188</td>
<td class="tdcat">Divers</td>
<td class="tdping">400</td>
</tr>
<tr class="bgc">
<td class="tdrank">127</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://mamzellepetronie.canalblog.com');" href="http://mamzellepetronie.canalblog.com" target="_blank">Les Bidouilleries de Petronie</a></td>
<td class="tdnum">260</td>
<td class="tdcat">Divers</td>
<td class="tdping">401</td>
</tr>
<tr>
<td class="tdrank">128</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.acquatofana.fr/');" href="http://www.acquatofana.fr/" target="_blank">Acqua Tofana</a></td>
<td class="tdnum">265</td>
<td class="tdcat">Divers</td>
<td class="tdping">401</td>
</tr>
<tr class="bgc">
<td class="tdrank">129</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://biknok.canalblog.com/');" href="http://biknok.canalblog.com/" target="_blank">bik-nok</a></td>
<td class="tdnum">89</td>
<td class="tdcat">Loisirs</td>
<td class="tdping">401</td>
</tr>
<tr>
<td class="tdrank">130</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.radeville.com');" href="http://www.radeville.com" target="_blank">Radeville</a></td>
<td class="tdnum">240</td>
<td class="tdcat">Divers</td>
<td class="tdping">402</td>
</tr>
<tr class="bgc">
<td class="tdrank">131</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.zebulle.canalblog.com');" href="http://www.zebulle.canalblog.com" target="_blank">zÃ¨bre et libellule</a></td>
<td class="tdnum">164</td>
<td class="tdcat">Loisirs</td>
<td class="tdping">403</td>
</tr>
<tr>
<td class="tdrank">132</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://techtrends.eu/blog/');" href="http://techtrends.eu/blog/" target="_blank">Techtrends</a></td>
<td class="tdnum">118</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">403</td>
</tr>
<tr class="bgc">
<td class="tdrank">133</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://blisscocotte.canalblog.com');" href="http://blisscocotte.canalblog.com" target="_blank">Bliss cocotte</a></td>
<td class="tdnum">208</td>
<td class="tdcat">Loisirs</td>
<td class="tdping">403</td>
</tr>
<tr>
<td class="tdrank">134</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.tapahont.info');" href="http://www.tapahont.info" target="_blank">Tapahont</a></td>
<td class="tdnum">108</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">404</td>
</tr>
<tr class="bgc">
<td class="tdrank">135</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://lesadressesdevm.canalblog.com/');" href="http://lesadressesdevm.canalblog.com/" target="_blank">Les adresses de VM</a></td>
<td class="tdnum">282</td>
<td class="tdcat">Loisirs</td>
<td class="tdping">404</td>
</tr>
<tr>
<td class="tdrank">136</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.heaven.fr');" href="http://www.heaven.fr" target="_blank">heaven</a></td>
<td class="tdnum">83</td>
<td class="tdcat">Divers</td>
<td class="tdping">404</td>
</tr>
<tr class="bgc">
<td class="tdrank">137</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://maitre-eolas.fr');" href="http://maitre-eolas.fr" target="_blank">Journal d&#8217;un avocat</a></td>
<td class="tdnum">8</td>
<td class="tdcat">Droit</td>
<td class="tdping">404</td>
</tr>
<tr>
<td class="tdrank">138</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://mlgsblog.canalblog.com');" href="http://mlgsblog.canalblog.com" target="_blank">mlg&#8217;s blog</a></td>
<td class="tdnum">206</td>
<td class="tdcat">Loisirs</td>
<td class="tdping">406</td>
</tr>
<tr class="bgc">
<td class="tdrank">139</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.universfreebox.com');" href="http://www.universfreebox.com" target="_blank">Univers Freebox</a></td>
<td class="tdnum">95</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">406</td>
</tr>
<tr>
<td class="tdrank">140</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.papygeek.com');" href="http://www.papygeek.com" target="_blank">PapyGeek</a></td>
<td class="tdnum">49</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">406</td>
</tr>
<tr class="bgc">
<td class="tdrank">141</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://blog.lefigaro.fr/hightech');" href="http://blog.lefigaro.fr/hightech" target="_blank">Suivez le Geek</a></td>
<td class="tdnum">195</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">406</td>
</tr>
<tr>
<td class="tdrank">142</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.mae-bd.fr');" href="http://www.mae-bd.fr" target="_blank">MaÃ© la BD</a></td>
<td class="tdnum">165</td>
<td class="tdcat">BD</td>
<td class="tdping">408</td>
</tr>
<tr class="bgc">
<td class="tdrank">143</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.oliviermermet.com/blog');" href="http://www.oliviermermet.com/blog" target="_blank">Blog de nuit</a></td>
<td class="tdnum">130</td>
<td class="tdcat">Marketing</td>
<td class="tdping">408</td>
</tr>
<tr>
<td class="tdrank">144</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.amandameyre.com/');" href="http://www.amandameyre.com/" target="_blank">Amanda Meyre</a></td>
<td class="tdnum">178</td>
<td class="tdcat">LittÃ©rature</td>
<td class="tdping">410</td>
</tr>
<tr class="bgc">
<td class="tdrank">145</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://meloamelie.canalblog.com');" href="http://meloamelie.canalblog.com" target="_blank">Les Jolis TrÃ©sors d&#8217;AMELIE</a></td>
<td class="tdnum">160</td>
<td class="tdcat">Loisirs</td>
<td class="tdping">410</td>
</tr>
<tr>
<td class="tdrank">146</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://missdiane.canalblog.com');" href="http://missdiane.canalblog.com" target="_blank">Les carnets de Miss Diane</a></td>
<td class="tdnum">262</td>
<td class="tdcat">Gastronomie</td>
<td class="tdping">410</td>
</tr>
<tr class="bgc">
<td class="tdrank">147</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.leslecturesdeflorinette.com');" href="http://www.leslecturesdeflorinette.com" target="_blank">Les lectures de Florinette</a></td>
<td class="tdnum">196</td>
<td class="tdcat">LittÃ©rature</td>
<td class="tdping">410</td>
</tr>
<tr>
<td class="tdrank">148</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://journal-d-une-lectrice.over-blog.net');" href="http://journal-d-une-lectrice.over-blog.net" target="_blank">Journal d&#8217;une lectrice</a></td>
<td class="tdnum">232</td>
<td class="tdcat">LittÃ©rature</td>
<td class="tdping">410</td>
</tr>
<tr class="bgc">
<td class="tdrank">149</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://luluetsidonie.canalblog.com');" href="http://luluetsidonie.canalblog.com" target="_blank">les tartines de sidonie</a></td>
<td class="tdnum">259</td>
<td class="tdcat">Divers</td>
<td class="tdping">411</td>
</tr>
<tr>
<td class="tdrank">150</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://mesdoudouxetcompagnie.fr');" href="http://mesdoudouxetcompagnie.fr" target="_blank">Mes DouDouX et CompaGnie</a></td>
<td class="tdnum">209</td>
<td class="tdcat">Divers</td>
<td class="tdping">412</td>
</tr>
<tr class="bgc">
<td class="tdrank">151</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://ilenfautpeupour.canalblog.com');" href="http://ilenfautpeupour.canalblog.com" target="_blank">Il en faut peu pour Ãªtre heureux</a></td>
<td class="tdnum">123</td>
<td class="tdcat">Gastronomie</td>
<td class="tdping">412</td>
</tr>
<tr>
<td class="tdrank">152</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://afondlacaisse.canalblog.com');" href="http://afondlacaisse.canalblog.com" target="_blank">A FOND LA CAISSE !!!</a></td>
<td class="tdnum">104</td>
<td class="tdcat">Divers</td>
<td class="tdping">412</td>
</tr>
<tr class="bgc">
<td class="tdrank">153</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.tierslivre.net/spip');" href="http://www.tierslivre.net/spip" target="_blank">Le tiers livre</a></td>
<td class="tdnum">50</td>
<td class="tdcat">LittÃ©rature</td>
<td class="tdping">412</td>
</tr>
<tr>
<td class="tdrank">154</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://lilafanfreluche.canalblog.com');" href="http://lilafanfreluche.canalblog.com" target="_blank">Lila Fanfreluche</a></td>
<td class="tdnum">46</td>
<td class="tdcat">Loisirs</td>
<td class="tdping">412</td>
</tr>
<tr class="bgc">
<td class="tdrank">155</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://tara0308.canalblog.com');" href="http://tara0308.canalblog.com" target="_blank">Tara Sweet Tara</a></td>
<td class="tdnum">137</td>
<td class="tdcat">Loisirs</td>
<td class="tdping">412</td>
</tr>
<tr>
<td class="tdrank">156</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.toreador.fr');" href="http://www.toreador.fr" target="_blank">Toreador</a></td>
<td class="tdnum">245</td>
<td class="tdcat">Politique</td>
<td class="tdping">412</td>
</tr>
<tr class="bgc">
<td class="tdrank">157</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.soglamourous.com');" href="http://www.soglamourous.com" target="_blank">So GlamoUrous</a></td>
<td class="tdnum">237</td>
<td class="tdcat">Divers</td>
<td class="tdping">413</td>
</tr>
<tr>
<td class="tdrank">158</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://damiblog.fr');" href="http://damiblog.fr" target="_blank">Damiblog.fr</a></td>
<td class="tdnum">207</td>
<td class="tdcat">Divers</td>
<td class="tdping">413</td>
</tr>
<tr class="bgc">
<td class="tdrank">159</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://no2108.canalblog.com');" href="http://no2108.canalblog.com" target="_blank">From me to you</a></td>
<td class="tdnum">42</td>
<td class="tdcat">Loisirs</td>
<td class="tdping">413</td>
</tr>
<tr>
<td class="tdrank">160</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://dlivresetdchamps.canalblog.com');" href="http://dlivresetdchamps.canalblog.com" target="_blank">Des Livres et des Champs</a></td>
<td class="tdnum">261</td>
<td class="tdcat">LittÃ©rature</td>
<td class="tdping">413</td>
</tr>
<tr class="bgc">
<td class="tdrank">161</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://disbonjouraladam.canalblog.com/');" href="http://disbonjouraladam.canalblog.com/" target="_blank">Dis bonjour Ã  la dame</a></td>
<td class="tdnum">16</td>
<td class="tdcat">Loisirs</td>
<td class="tdping">413</td>
</tr>
<tr>
<td class="tdrank">162</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://lustucru.canalblog.com');" href="http://lustucru.canalblog.com" target="_blank">Tu l&#8217;as lu(stucru) ?</a></td>
<td class="tdnum">121</td>
<td class="tdcat">Loisirs</td>
<td class="tdping">413</td>
</tr>
<tr class="bgc">
<td class="tdrank">163</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://requia.canalblog.com');" href="http://requia.canalblog.com" target="_blank">Chez Requia</a></td>
<td class="tdnum">246</td>
<td class="tdcat">Gastronomie</td>
<td class="tdping">414</td>
</tr>
<tr>
<td class="tdrank">164</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://standblog.org/blog');" href="http://standblog.org/blog" target="_blank">Standblog</a></td>
<td class="tdnum">91</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">414</td>
</tr>
<tr class="bgc">
<td class="tdrank">165</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.marketing-alternatif.com');" href="http://www.marketing-alternatif.com" target="_blank">Marketing Alternatif</a></td>
<td class="tdnum">189</td>
<td class="tdcat">Marketing</td>
<td class="tdping">414</td>
</tr>
<tr>
<td class="tdrank">166</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://erynfollecuisine.canalblog.com');" href="http://erynfollecuisine.canalblog.com" target="_blank">Eryn et sa folle cuisine</a></td>
<td class="tdnum">41</td>
<td class="tdcat">Gastronomie</td>
<td class="tdping">414</td>
</tr>
<tr class="bgc">
<td class="tdrank">167</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.mercotte.fr/');" href="http://www.mercotte.fr/" target="_blank">La Cuisine de Mercotte</a></td>
<td class="tdnum">88</td>
<td class="tdcat">Gastronomie</td>
<td class="tdping">414</td>
</tr>
<tr>
<td class="tdrank">168</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.cuneipage.com');" href="http://www.cuneipage.com" target="_blank">Cuneipage</a></td>
<td class="tdnum">72</td>
<td class="tdcat">LittÃ©rature</td>
<td class="tdping">414</td>
</tr>
<tr class="bgc">
<td class="tdrank">169</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://hypos.over-blog.com');" href="http://hypos.over-blog.com" target="_blank">Le blog de Hypos</a></td>
<td class="tdnum">58</td>
<td class="tdcat">Politique</td>
<td class="tdping">414</td>
</tr>
<tr>
<td class="tdrank">170</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://fredemickadeletc.canalblog.com');" href="http://fredemickadeletc.canalblog.com" target="_blank">on va voir si je m&#8217;y tiens!</a></td>
<td class="tdnum">18</td>
<td class="tdcat">Loisirs</td>
<td class="tdping">415</td>
</tr>
<tr class="bgc">
<td class="tdrank">171</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://expat-prague.com/leblog');" href="http://expat-prague.com/leblog" target="_blank">Expat-Prague</a></td>
<td class="tdnum">184</td>
<td class="tdcat">Politique</td>
<td class="tdping">415</td>
</tr>
<tr>
<td class="tdrank">172</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://jeanmarcmorandini.tele7.fr/');" href="http://jeanmarcmorandini.tele7.fr/" target="_blank">JeanMarcMorandini.com</a></td>
<td class="tdnum">129</td>
<td class="tdcat">Divers</td>
<td class="tdping">415</td>
</tr>
<tr class="bgc">
<td class="tdrank">173</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://lafeeunvoeu.canalblog.com');" href="http://lafeeunvoeu.canalblog.com" target="_blank">FÃ©e un voeu</a></td>
<td class="tdnum">139</td>
<td class="tdcat">Divers</td>
<td class="tdping">416</td>
</tr>
<tr>
<td class="tdrank">174</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://japancouture.canalblog.com');" href="http://japancouture.canalblog.com" target="_blank">Japan couture addict&#8217;s</a></td>
<td class="tdnum">60</td>
<td class="tdcat">Loisirs</td>
<td class="tdping">416</td>
</tr>
<tr class="bgc">
<td class="tdrank">175</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.zorgloob.com');" href="http://www.zorgloob.com" target="_blank">Zorgloob</a></td>
<td class="tdnum">103</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">416</td>
</tr>
<tr>
<td class="tdrank">176</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.dotclear.net/log');" href="http://www.dotclear.net/log" target="_blank">Dotclear</a></td>
<td class="tdnum">153</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">416</td>
</tr>
<tr class="bgc">
<td class="tdrank">177</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://happyfew.hautetfort.com');" href="http://happyfew.hautetfort.com" target="_blank">Happy Few</a></td>
<td class="tdnum">31</td>
<td class="tdcat">LittÃ©rature</td>
<td class="tdping">416</td>
</tr>
<tr>
<td class="tdrank">178</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.giiks.com');" href="http://www.giiks.com" target="_blank">Giiks.com</a></td>
<td class="tdnum">158</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">416</td>
</tr>
<tr class="bgc">
<td class="tdrank">179</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://sylire.over-blog.com');" href="http://sylire.over-blog.com" target="_blank">Sylire</a></td>
<td class="tdnum">173</td>
<td class="tdcat">LittÃ©rature</td>
<td class="tdping">417</td>
</tr>
<tr>
<td class="tdrank">180</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.iphon.fr');" href="http://www.iphon.fr" target="_blank">Iphon.fr</a></td>
<td class="tdnum">120</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">417</td>
</tr>
<tr class="bgc">
<td class="tdrank">181</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://pivoinemerlin.hautetfort.com/');" href="http://pivoinemerlin.hautetfort.com/" target="_blank">Pivoine Merlin.com</a></td>
<td class="tdnum">106</td>
<td class="tdcat">Divers</td>
<td class="tdping">419</td>
</tr>
<tr>
<td class="tdrank">182</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://heresie.hautetfort.com');" href="http://heresie.hautetfort.com" target="_blank">HÃ©rÃ©sie</a></td>
<td class="tdnum">94</td>
<td class="tdcat">Politique</td>
<td class="tdping">419</td>
</tr>
<tr class="bgc">
<td class="tdrank">183</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://feesmaison.canalblog.com');" href="http://feesmaison.canalblog.com" target="_blank">FÃ©es maison</a></td>
<td class="tdnum">19</td>
<td class="tdcat">Loisirs</td>
<td class="tdping">420</td>
</tr>
<tr>
<td class="tdrank">184</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.garancedore.fr');" href="http://www.garancedore.fr" target="_blank">Garance DorÃ©</a></td>
<td class="tdnum">192</td>
<td class="tdcat">Divers</td>
<td class="tdping">421</td>
</tr>
<tr class="bgc">
<td class="tdrank">185</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.webdeux.info');" href="http://www.webdeux.info" target="_blank">RÃ©volution Web 2.0 en Live !</a></td>
<td class="tdnum">96</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">421</td>
</tr>
<tr>
<td class="tdrank">186</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.fubiz.net/blog/');" href="http://www.fubiz.net/blog/" target="_blank">Fubiz</a></td>
<td class="tdnum">14</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">421</td>
</tr>
<tr class="bgc">
<td class="tdrank">187</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.bouletcorp.com/blog');" href="http://www.bouletcorp.com/blog" target="_blank">Bouletcorp</a></td>
<td class="tdnum">128</td>
<td class="tdcat">BD</td>
<td class="tdping">421</td>
</tr>
<tr>
<td class="tdrank">188</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.kickandblog.com/');" href="http://www.kickandblog.com/" target="_blank">Kick &amp; Blog</a></td>
<td class="tdnum">204</td>
<td class="tdcat">Divers</td>
<td class="tdping">422</td>
</tr>
<tr class="bgc">
<td class="tdrank">189</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.archicampus.net/wordpress');" href="http://www.archicampus.net/wordpress" target="_blank">teXtes</a></td>
<td class="tdnum">249</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">423</td>
</tr>
<tr>
<td class="tdrank">190</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://cecilef.canalblog.com');" href="http://cecilef.canalblog.com" target="_blank">facilecÃ©cile</a></td>
<td class="tdnum">65</td>
<td class="tdcat">Loisirs</td>
<td class="tdping">423</td>
</tr>
<tr class="bgc">
<td class="tdrank">191</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://22rue.canalblog.com/');" href="http://22rue.canalblog.com/" target="_blank">22 rue&#8230;</a></td>
<td class="tdnum">255</td>
<td class="tdcat">Loisirs</td>
<td class="tdping">424</td>
</tr>
<tr>
<td class="tdrank">192</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.blogeee.net');" href="http://www.blogeee.net" target="_blank">Blogeee.net</a></td>
<td class="tdnum">125</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">424</td>
</tr>
<tr class="bgc">
<td class="tdrank">193</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://2yeux2oreilles.hautetfort.com');" href="http://2yeux2oreilles.hautetfort.com" target="_blank">2yeux2oreilles</a></td>
<td class="tdnum">295</td>
<td class="tdcat">Divers</td>
<td class="tdping">424</td>
</tr>
<tr>
<td class="tdrank">194</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.gaduman.com/');" href="http://www.gaduman.com/" target="_blank">Gaduman</a></td>
<td class="tdnum">79</td>
<td class="tdcat">Marketing</td>
<td class="tdping">424</td>
</tr>
<tr class="bgc">
<td class="tdrank">195</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://soisbelleetparle.fr/');" href="http://soisbelleetparle.fr/" target="_blank">Sois belle et parle</a></td>
<td class="tdnum">77</td>
<td class="tdcat">Divers</td>
<td class="tdping">424</td>
</tr>
<tr>
<td class="tdrank">196</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://richard.ying.fr/blog');" href="http://richard.ying.fr/blog" target="_blank">Richard Ying</a></td>
<td class="tdnum">179</td>
<td class="tdcat">Divers</td>
<td class="tdping">424</td>
</tr>
<tr class="bgc">
<td class="tdrank">197</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.conseilsmarketing.fr');" href="http://www.conseilsmarketing.fr" target="_blank">ConseilsMarketing.fr</a></td>
<td class="tdnum">81</td>
<td class="tdcat">Marketing</td>
<td class="tdping">425</td>
</tr>
<tr>
<td class="tdrank">198</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://dinersroom.free.fr');" href="http://dinersroom.free.fr" target="_blank">Diner&#8217;s room</a></td>
<td class="tdnum">241</td>
<td class="tdcat">Politique</td>
<td class="tdping">425</td>
</tr>
<tr class="bgc">
<td class="tdrank">199</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://leblog.vendeesign.com');" href="http://leblog.vendeesign.com" target="_blank">Vendeesign</a></td>
<td class="tdnum">47</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">426</td>
</tr>
<tr>
<td class="tdrank">200</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://ilonet.fr');" href="http://ilonet.fr" target="_blank">ilonet.fr</a></td>
<td class="tdnum">222</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">426</td>
</tr>
<tr class="bgc">
<td class="tdrank">201</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://sylvaindrapau.com');" href="http://sylvaindrapau.com" target="_blank">Sylvain Drapau</a></td>
<td class="tdnum">149</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">426</td>
</tr>
<tr>
<td class="tdrank">202</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://authueil.org');" href="http://authueil.org" target="_blank">Authueil</a></td>
<td class="tdnum">69</td>
<td class="tdcat">Politique</td>
<td class="tdping">426</td>
</tr>
<tr class="bgc">
<td class="tdrank">203</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.pingoo.com');" href="http://www.pingoo.com" target="_blank">Pingoo.com</a></td>
<td class="tdnum">23</td>
<td class="tdcat">Divers</td>
<td class="tdping">427</td>
</tr>
<tr>
<td class="tdrank">204</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://cathulu.hautetfort.com/');" href="http://cathulu.hautetfort.com/" target="_blank">Cathulu</a></td>
<td class="tdnum">219</td>
<td class="tdcat">LittÃ©rature</td>
<td class="tdping">428</td>
</tr>
<tr class="bgc">
<td class="tdrank">205</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.nowhereelse.fr');" href="http://www.nowhereelse.fr" target="_blank">Nowhere Else 2.0</a></td>
<td class="tdnum">6</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">428</td>
</tr>
<tr>
<td class="tdrank">206</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://abadinte.canalblog.com');" href="http://abadinte.canalblog.com" target="_blank">Abadinte</a></td>
<td class="tdnum">93</td>
<td class="tdcat">Politique</td>
<td class="tdping">428</td>
</tr>
<tr class="bgc">
<td class="tdrank">207</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://blogclarabel.canalblog.com');" href="http://blogclarabel.canalblog.com" target="_blank">Chez Clarabel</a></td>
<td class="tdnum">22</td>
<td class="tdcat">LittÃ©rature</td>
<td class="tdping">428</td>
</tr>
<tr>
<td class="tdrank">208</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://catpointzero.com');" href="http://catpointzero.com" target="_blank">Cat.0</a></td>
<td class="tdnum">134</td>
<td class="tdcat">Divers</td>
<td class="tdping">428</td>
</tr>
<tr class="bgc">
<td class="tdrank">209</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://laviecommeca.canalblog.com');" href="http://laviecommeca.canalblog.com" target="_blank">La vie comme Ã§a</a></td>
<td class="tdnum">276</td>
<td class="tdcat">Loisirs</td>
<td class="tdping">428</td>
</tr>
<tr>
<td class="tdrank">210</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.berrebi.org');" href="http://www.berrebi.org" target="_blank">Jeremie Berrebi</a></td>
<td class="tdnum">212</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">429</td>
</tr>
<tr class="bgc">
<td class="tdrank">211</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.deedeeparis.com/blog/');" href="http://www.deedeeparis.com/blog/" target="_blank">Deedee</a></td>
<td class="tdnum">136</td>
<td class="tdcat">Divers</td>
<td class="tdping">429</td>
</tr>
<tr>
<td class="tdrank">212</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://fr.readwriteweb.com');" href="http://fr.readwriteweb.com" target="_blank">ReadWriteWeb</a></td>
<td class="tdnum">26</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">429</td>
</tr>
<tr class="bgc">
<td class="tdrank">213</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.geekandhype.com');" href="http://www.geekandhype.com" target="_blank">Geek and Hype</a></td>
<td class="tdnum">215</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">429</td>
</tr>
<tr>
<td class="tdrank">214</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://leblogdecath.canalblog.com');" href="http://leblogdecath.canalblog.com" target="_blank">Le blog de Cath</a></td>
<td class="tdnum">211</td>
<td class="tdcat">Loisirs</td>
<td class="tdping">430</td>
</tr>
<tr class="bgc">
<td class="tdrank">215</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://fadhilabrahimi.blogspirit.com');" href="http://fadhilabrahimi.blogspirit.com" target="_blank">Le Blog de Fadhila Brahimi</a></td>
<td class="tdnum">127</td>
<td class="tdcat">Divers</td>
<td class="tdping">431</td>
</tr>
<tr>
<td class="tdrank">216</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://maximepisano.com/');" href="http://maximepisano.com/" target="_blank">Victoire au poing</a></td>
<td class="tdnum">214</td>
<td class="tdcat">Politique</td>
<td class="tdping">431</td>
</tr>
<tr class="bgc">
<td class="tdrank">217</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.cachemireetsoie.fr');" href="http://www.cachemireetsoie.fr" target="_blank">Cachemire &amp; Soie</a></td>
<td class="tdnum">190</td>
<td class="tdcat">Divers</td>
<td class="tdping">432</td>
</tr>
<tr>
<td class="tdrank">218</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.suchablog.com');" href="http://www.suchablog.com" target="_blank">Suchablog</a></td>
<td class="tdnum">39</td>
<td class="tdcat">Divers</td>
<td class="tdping">432</td>
</tr>
<tr class="bgc">
<td class="tdrank">219</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.punky-b.com');" href="http://www.punky-b.com" target="_blank">Punky B&#8217;s fashion Diary</a></td>
<td class="tdnum">256</td>
<td class="tdcat">Divers</td>
<td class="tdping">432</td>
</tr>
<tr>
<td class="tdrank">220</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://isapurple.canalblog.com/');" href="http://isapurple.canalblog.com/" target="_blank">Isapurple</a></td>
<td class="tdnum">169</td>
<td class="tdcat">Loisirs</td>
<td class="tdping">433</td>
</tr>
<tr class="bgc">
<td class="tdrank">221</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://antoine.besnehard.over-blog.org');" href="http://antoine.besnehard.over-blog.org" target="_blank">La social-dÃ©mocratie est un sport de combat</a></td>
<td class="tdnum">205</td>
<td class="tdcat">Politique</td>
<td class="tdping">433</td>
</tr>
<tr>
<td class="tdrank">222</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://quietglover.com');" href="http://quietglover.com" target="_blank">Quietglover</a></td>
<td class="tdnum">267</td>
<td class="tdcat">Marketing</td>
<td class="tdping">434</td>
</tr>
<tr class="bgc">
<td class="tdrank">223</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.bibliosurf.com/');" href="http://www.bibliosurf.com/" target="_blank">Bibliosurf.com</a></td>
<td class="tdnum">238</td>
<td class="tdcat">Divers</td>
<td class="tdping">434</td>
</tr>
<tr>
<td class="tdrank">224</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.taha.fr/blog');" href="http://www.taha.fr/blog" target="_blank">Farid Taha</a></td>
<td class="tdnum">114</td>
<td class="tdcat">Politique</td>
<td class="tdping">434</td>
</tr>
<tr class="bgc">
<td class="tdrank">225</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.jeanmariegall.com');" href="http://www.jeanmariegall.com" target="_blank">Jean-Marie Gall.com</a></td>
<td class="tdnum">101</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">434</td>
</tr>
<tr>
<td class="tdrank">226</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://georgesandetmoi.hautetfort.com/');" href="http://georgesandetmoi.hautetfort.com/" target="_blank">George Sand et moi</a></td>
<td class="tdnum">281</td>
<td class="tdcat">Divers</td>
<td class="tdping">434</td>
</tr>
<tr class="bgc">
<td class="tdrank">227</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.vinzblog.com');" href="http://www.vinzblog.com" target="_blank">Le VinZ de blog</a></td>
<td class="tdnum">285</td>
<td class="tdcat">Divers</td>
<td class="tdping">435</td>
</tr>
<tr>
<td class="tdrank">228</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.e-zabel.fr');" href="http://www.e-zabel.fr" target="_blank">e-zabel</a></td>
<td class="tdnum">252</td>
<td class="tdcat">Divers</td>
<td class="tdping">435</td>
</tr>
<tr class="bgc">
<td class="tdrank">229</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://jebrode.canalblog.com');" href="http://jebrode.canalblog.com" target="_blank">missfil</a></td>
<td class="tdnum">210</td>
<td class="tdcat">Loisirs</td>
<td class="tdping">435</td>
</tr>
<tr>
<td class="tdrank">230</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.blogoliviersc.org/');" href="http://www.blogoliviersc.org/" target="_blank">Bloguer ou ne pas bloguer</a></td>
<td class="tdnum">291</td>
<td class="tdcat">Divers</td>
<td class="tdping">435</td>
</tr>
<tr class="bgc">
<td class="tdrank">231</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://mrsclooney.hautetfort.com');" href="http://mrsclooney.hautetfort.com" target="_blank">Mrs Clooney</a></td>
<td class="tdnum">283</td>
<td class="tdcat">Divers</td>
<td class="tdping">436</td>
</tr>
<tr>
<td class="tdrank">232</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://crisedanslesmedias.hautetfort.com');" href="http://crisedanslesmedias.hautetfort.com" target="_blank">Crise dans les mÃ©dias</a></td>
<td class="tdnum">21</td>
<td class="tdcat">Divers</td>
<td class="tdping">436</td>
</tr>
<tr class="bgc">
<td class="tdrank">233</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://lespenseesdemanu.hautetfort.com/');" href="http://lespenseesdemanu.hautetfort.com/" target="_blank">LES PENSEES DE MANU</a></td>
<td class="tdnum">67</td>
<td class="tdcat">Divers</td>
<td class="tdping">436</td>
</tr>
<tr>
<td class="tdrank">234</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.mamina.fr/');" href="http://www.mamina.fr/" target="_blank">Et si c&#8217;Ã©tait bon&#8230;</a></td>
<td class="tdnum">199</td>
<td class="tdcat">Gastronomie</td>
<td class="tdping">436</td>
</tr>
<tr class="bgc">
<td class="tdrank">235</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.30joursdebd.com');" href="http://www.30joursdebd.com" target="_blank">30 jours de BD</a></td>
<td class="tdnum">105</td>
<td class="tdcat">BD</td>
<td class="tdping">437</td>
</tr>
<tr>
<td class="tdrank">236</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.ohmybloogness.com/');" href="http://www.ohmybloogness.com/" target="_blank">Oh my bloogness !</a></td>
<td class="tdnum">193</td>
<td class="tdcat">Divers</td>
<td class="tdping">438</td>
</tr>
<tr class="bgc">
<td class="tdrank">237</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://encoresurlenet.canalblog.com/');" href="http://encoresurlenet.canalblog.com/" target="_blank">Elle est encore sur le net</a></td>
<td class="tdnum">175</td>
<td class="tdcat">Loisirs</td>
<td class="tdping">438</td>
</tr>
<tr>
<td class="tdrank">238</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://poppyroses.canalblog.com');" href="http://poppyroses.canalblog.com" target="_blank">Poppyrose et la vie en rose</a></td>
<td class="tdnum">24</td>
<td class="tdcat">Loisirs</td>
<td class="tdping">438</td>
</tr>
<tr class="bgc">
<td class="tdrank">239</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.fredzone.org');" href="http://www.fredzone.org" target="_blank">fredzone</a></td>
<td class="tdnum">78</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">438</td>
</tr>
<tr>
<td class="tdrank">240</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.intox2007.info');" href="http://www.intox2007.info" target="_blank">Intox2007.info</a></td>
<td class="tdnum">15</td>
<td class="tdcat">Politique</td>
<td class="tdping">438</td>
</tr>
<tr class="bgc">
<td class="tdrank">241</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.woweffect.be');" href="http://www.woweffect.be" target="_blank">Wow Effect !</a></td>
<td class="tdnum">181</td>
<td class="tdcat">Divers</td>
<td class="tdping">438</td>
</tr>
<tr>
<td class="tdrank">242</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.mediassociaux.com');" href="http://www.mediassociaux.com" target="_blank">MÃ©diasSociaux.com</a></td>
<td class="tdnum">288</td>
<td class="tdcat">Divers</td>
<td class="tdping">439</td>
</tr>
<tr class="bgc">
<td class="tdrank">243</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.i-love-my-shoes.com');" href="http://www.i-love-my-shoes.com" target="_blank">I love my shoes</a></td>
<td class="tdnum">250</td>
<td class="tdcat">Divers</td>
<td class="tdping">439</td>
</tr>
<tr>
<td class="tdrank">244</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://attias.net/blog');" href="http://attias.net/blog" target="_blank">Digital Experience</a></td>
<td class="tdnum">273</td>
<td class="tdcat">Marketing</td>
<td class="tdping">439</td>
</tr>
<tr class="bgc">
<td class="tdrank">245</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.tuxboard.com');" href="http://www.tuxboard.com" target="_blank">Tuxboard</a></td>
<td class="tdnum">275</td>
<td class="tdcat">Divers</td>
<td class="tdping">440</td>
</tr>
<tr>
<td class="tdrank">246</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://casadolcecasa.canalblog.com');" href="http://casadolcecasa.canalblog.com" target="_blank">Casa dolce casa</a></td>
<td class="tdnum">154</td>
<td class="tdcat">Loisirs</td>
<td class="tdping">440</td>
</tr>
<tr class="bgc">
<td class="tdrank">247</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://missgally.com/blog');" href="http://missgally.com/blog" target="_blank">Le Blog de Miss Gally</a></td>
<td class="tdnum">142</td>
<td class="tdcat">BD</td>
<td class="tdping">440</td>
</tr>
<tr>
<td class="tdrank">248</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://beaualalouche.canalblog.com');" href="http://beaualalouche.canalblog.com" target="_blank">Beau Ã  la louche</a></td>
<td class="tdnum">224</td>
<td class="tdcat">Gastronomie</td>
<td class="tdping">440</td>
</tr>
<tr class="bgc">
<td class="tdrank">249</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.bibliobsession.net');" href="http://www.bibliobsession.net" target="_blank">Bibliobsession 2.0</a></td>
<td class="tdnum">168</td>
<td class="tdcat">Science</td>
<td class="tdping">440</td>
</tr>
<tr>
<td class="tdrank">250</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://redaction.blog.regionsjob.com');" href="http://redaction.blog.regionsjob.com" target="_blank">Mode(s) d&#8217;emploi</a></td>
<td class="tdnum">299</td>
<td class="tdcat">Divers</td>
<td class="tdping">440</td>
</tr>
<tr class="bgc">
<td class="tdrank">251</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://moderateur.blog.regionsjob.com');" href="http://moderateur.blog.regionsjob.com" target="_blank">Le blog du modÃ©rateur</a></td>
<td class="tdnum">52</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">440</td>
</tr>
<tr>
<td class="tdrank">252</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.lesmotsontunsens.com/');" href="http://www.lesmotsontunsens.com/" target="_blank">Les mots ont un sens</a></td>
<td class="tdnum">63</td>
<td class="tdcat">Divers</td>
<td class="tdping">441</td>
</tr>
<tr class="bgc">
<td class="tdrank">253</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.menageresdemoinsde50ans.com');" href="http://www.menageresdemoinsde50ans.com" target="_blank">MÃ©nagÃ¨res de moins de 50 ans</a></td>
<td class="tdnum">71</td>
<td class="tdcat">Divers</td>
<td class="tdping">441</td>
</tr>
<tr>
<td class="tdrank">254</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://blog.monolecte.fr');" href="http://blog.monolecte.fr" target="_blank">Le Monolecte</a></td>
<td class="tdnum">138</td>
<td class="tdcat">Politique</td>
<td class="tdping">442</td>
</tr>
<tr class="bgc">
<td class="tdrank">255</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.duperrin.com');" href="http://www.duperrin.com" target="_blank">Bloc Note de Bertrand DUPERRIN</a></td>
<td class="tdnum">294</td>
<td class="tdcat">Divers</td>
<td class="tdping">443</td>
</tr>
<tr>
<td class="tdrank">256</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://boitadamocamelia.canalblog.com');" href="http://boitadamocamelia.canalblog.com" target="_blank">Boite Ã  Damocamelia</a></td>
<td class="tdnum">223</td>
<td class="tdcat">Loisirs</td>
<td class="tdping">444</td>
</tr>
<tr class="bgc">
<td class="tdrank">257</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://passouline.blog.lemonde.fr');" href="http://passouline.blog.lemonde.fr" target="_blank">La rÃ©publique des livres</a></td>
<td class="tdnum">48</td>
<td class="tdcat">LittÃ©rature</td>
<td class="tdping">444</td>
</tr>
<tr>
<td class="tdrank">258</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.weezonaute.fr');" href="http://www.weezonaute.fr" target="_blank">Le blogueur masquÃ©</a></td>
<td class="tdnum">244</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">445</td>
</tr>
<tr class="bgc">
<td class="tdrank">259</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.peuples.net');" href="http://www.peuples.net" target="_blank">Peuples.net</a></td>
<td class="tdnum">87</td>
<td class="tdcat">Politique</td>
<td class="tdping">445</td>
</tr>
<tr>
<td class="tdrank">260</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.arhv.lhivic.org');" href="http://www.arhv.lhivic.org" target="_blank">ActualitÃ© de la Recherche en Histoire Visuelle</a></td>
<td class="tdnum">73</td>
<td class="tdcat">Science</td>
<td class="tdping">448</td>
</tr>
<tr class="bgc">
<td class="tdrank">261</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://marie-isabelle.hautetfort.com');" href="http://marie-isabelle.hautetfort.com" target="_blank">le blog de MIP</a></td>
<td class="tdnum">300</td>
<td class="tdcat">Politique</td>
<td class="tdping">451</td>
</tr>
<tr>
<td class="tdrank">262</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.emob.fr/dotclear');" href="http://www.emob.fr/dotclear" target="_blank">Emob</a></td>
<td class="tdnum">75</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">452</td>
</tr>
<tr class="bgc">
<td class="tdrank">263</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://bienbienbien.net');" href="http://bienbienbien.net" target="_blank">BienBienBien</a></td>
<td class="tdnum">35</td>
<td class="tdcat">Divers</td>
<td class="tdping">452</td>
</tr>
<tr>
<td class="tdrank">264</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.le-hiboo.com');" href="http://www.le-hiboo.com" target="_blank">Le HibOO</a></td>
<td class="tdnum">171</td>
<td class="tdcat">Musique</td>
<td class="tdping">453</td>
</tr>
<tr class="bgc">
<td class="tdrank">265</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.lignepapilles.com/');" href="http://www.lignepapilles.com/" target="_blank">Ligne et papilles</a></td>
<td class="tdnum">257</td>
<td class="tdcat">Gastronomie</td>
<td class="tdping">454</td>
</tr>
<tr>
<td class="tdrank">266</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://brocatelle.canalblog.com');" href="http://brocatelle.canalblog.com" target="_blank">Les Trucs de Marie</a></td>
<td class="tdnum">155</td>
<td class="tdcat">Loisirs</td>
<td class="tdping">454</td>
</tr>
<tr class="bgc">
<td class="tdrank">267</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://innamorata.canalblog.com');" href="http://innamorata.canalblog.com" target="_blank">Innamorata</a></td>
<td class="tdnum">279</td>
<td class="tdcat">Loisirs</td>
<td class="tdping">456</td>
</tr>
<tr>
<td class="tdrank">268</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://framablog.org');" href="http://framablog.org" target="_blank">Framablog</a></td>
<td class="tdnum">225</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">457</td>
</tr>
<tr class="bgc">
<td class="tdrank">269</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://auremalou.canalblog.com');" href="http://auremalou.canalblog.com" target="_blank">Une poule Ã  petits pas</a></td>
<td class="tdnum">7</td>
<td class="tdcat">Loisirs</td>
<td class="tdping">458</td>
</tr>
<tr>
<td class="tdrank">270</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.gasteroprod.com/blog/');" href="http://www.gasteroprod.com/blog/" target="_blank">Gastero Prod</a></td>
<td class="tdnum">99</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">458</td>
</tr>
<tr class="bgc">
<td class="tdrank">271</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.crepegeorgette.com');" href="http://www.crepegeorgette.com" target="_blank">Crepe georgette</a></td>
<td class="tdnum">247</td>
<td class="tdcat">Divers</td>
<td class="tdping">459</td>
</tr>
<tr>
<td class="tdrank">272</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.accessoweb.com/');" href="http://www.accessoweb.com/" target="_blank">AccessOWeb</a></td>
<td class="tdnum">5</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">459</td>
</tr>
<tr class="bgc">
<td class="tdrank">273</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://lesjeuneslibres.hautetfort.com');" href="http://lesjeuneslibres.hautetfort.com" target="_blank">Des Jeunes libres de s&#8217;engager</a></td>
<td class="tdnum">151</td>
<td class="tdcat">Politique</td>
<td class="tdping">461</td>
</tr>
<tr>
<td class="tdrank">274</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://ptipimous.hautetfort.com/');" href="http://ptipimous.hautetfort.com/" target="_blank">Pimousse</a></td>
<td class="tdnum">102</td>
<td class="tdcat">Divers</td>
<td class="tdping">462</td>
</tr>
<tr class="bgc">
<td class="tdrank">275</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.mercipourlechocolat.fr');" href="http://www.mercipourlechocolat.fr" target="_blank">Merci pour le Chocolat !</a></td>
<td class="tdnum">297</td>
<td class="tdcat">Divers</td>
<td class="tdping">462</td>
</tr>
<tr>
<td class="tdrank">276</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.capitaine-commerce.com');" href="http://www.capitaine-commerce.com" target="_blank">Capitaine Commerce</a></td>
<td class="tdnum">197</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">464</td>
</tr>
<tr class="bgc">
<td class="tdrank">277</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.leblogdantoine.com');" href="http://www.leblogdantoine.com" target="_blank">Le blog d&#8217;Antoine</a></td>
<td class="tdnum">289</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">466</td>
</tr>
<tr>
<td class="tdrank">278</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://lescreationsdemm.canalblog.com');" href="http://lescreationsdemm.canalblog.com" target="_blank">FÃ©e Niasse !</a></td>
<td class="tdnum">167</td>
<td class="tdcat">Loisirs</td>
<td class="tdping">466</td>
</tr>
<tr class="bgc">
<td class="tdrank">279</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.mrboo.fr');" href="http://www.mrboo.fr" target="_blank">mrboo.fr</a></td>
<td class="tdnum">152</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">467</td>
</tr>
<tr>
<td class="tdrank">280</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://contreinfo.info/');" href="http://contreinfo.info/" target="_blank">ContreInfo</a></td>
<td class="tdnum">27</td>
<td class="tdcat">Divers</td>
<td class="tdping">468</td>
</tr>
<tr class="bgc">
<td class="tdrank">281</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.bodoi.info');" href="http://www.bodoi.info" target="_blank">Le blog de BoDoÃ¯</a></td>
<td class="tdnum">230</td>
<td class="tdcat">BD</td>
<td class="tdping">471</td>
</tr>
<tr>
<td class="tdrank">282</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.cleacuisine.fr');" href="http://www.cleacuisine.fr" target="_blank">Clea Cuisine</a></td>
<td class="tdnum">242</td>
<td class="tdcat">Gastronomie</td>
<td class="tdping">475</td>
</tr>
<tr class="bgc">
<td class="tdrank">283</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.camilledessayage.com');" href="http://www.camilledessayage.com" target="_blank">Camille d&#8217;Essayage</a></td>
<td class="tdnum">157</td>
<td class="tdcat">Divers</td>
<td class="tdping">9999</td>
</tr>
<tr>
<td class="tdrank">284</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://blogs.lexpress.fr/cafe-mode');" href="http://blogs.lexpress.fr/cafe-mode" target="_blank">CafÃ© Mode</a></td>
<td class="tdnum">202</td>
<td class="tdcat">Divers</td>
<td class="tdping">9999</td>
</tr>
<tr class="bgc">
<td class="tdrank">285</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.journaldugamer.com');" href="http://www.journaldugamer.com" target="_blank">Le Journal du Gamer</a></td>
<td class="tdnum">201</td>
<td class="tdcat">Jeux VidÃ©o</td>
<td class="tdping">9999</td>
</tr>
<tr>
<td class="tdrank">286</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.monsieurlam.com');" href="http://www.monsieurlam.com" target="_blank">Monsieur LÃ¢m</a></td>
<td class="tdnum">119</td>
<td class="tdcat">Divers</td>
<td class="tdping">9999</td>
</tr>
<tr class="bgc">
<td class="tdrank">287</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.RomainLibeau.com');" href="http://www.RomainLibeau.com" target="_blank">Romain Libeau.com</a></td>
<td class="tdnum">253</td>
<td class="tdcat">Divers</td>
<td class="tdping">9999</td>
</tr>
<tr>
<td class="tdrank">288</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://ecoloinfo.com/index.php');" href="http://ecoloinfo.com/index.php" target="_blank">Ecolo-Info</a></td>
<td class="tdnum">216</td>
<td class="tdcat">Environnement</td>
<td class="tdping">9999</td>
</tr>
<tr class="bgc">
<td class="tdrank">289</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.h2-blog.com');" href="http://www.h2-blog.com" target="_blank">HISTOIRE 2</a></td>
<td class="tdnum">218</td>
<td class="tdcat">Divers</td>
<td class="tdping">9999</td>
</tr>
<tr>
<td class="tdrank">290</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://penseesderonde.mabulle.com');" href="http://penseesderonde.mabulle.com" target="_blank">PensÃ©es de ronde</a></td>
<td class="tdnum">258</td>
<td class="tdcat">Divers</td>
<td class="tdping">9999</td>
</tr>
<tr class="bgc">
<td class="tdrank">291</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.lyricis.fr/');" href="http://www.lyricis.fr/" target="_blank">Lyricis Web Info</a></td>
<td class="tdnum">146</td>
<td class="tdcat">CinÃ©ma</td>
<td class="tdping">9999</td>
</tr>
<tr>
<td class="tdrank">292</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.leblogdecyprien.com/');" href="http://www.leblogdecyprien.com/" target="_blank">Le blog de Cyprien</a></td>
<td class="tdnum">290</td>
<td class="tdcat">Divers</td>
<td class="tdping">9999</td>
</tr>
<tr class="bgc">
<td class="tdrank">293</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://blogs.rtl.fr/aphatie');" href="http://blogs.rtl.fr/aphatie" target="_blank">Le blog de Jean-Michel Aphatie</a></td>
<td class="tdnum">110</td>
<td class="tdcat">Politique</td>
<td class="tdping">9999</td>
</tr>
<tr>
<td class="tdrank">294</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://blogs.lexpress.fr/3001');" href="http://blogs.lexpress.fr/3001" target="_blank">3001</a></td>
<td class="tdnum">198</td>
<td class="tdcat">Divers</td>
<td class="tdping">9999</td>
</tr>
<tr class="bgc">
<td class="tdrank">295</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.journaldugeek.com');" href="http://www.journaldugeek.com" target="_blank">Le Journal du Geek</a></td>
<td class="tdnum">9</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">9999</td>
</tr>
<tr>
<td class="tdrank">296</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.blogeek.ch');" href="http://www.blogeek.ch" target="_blank">Blogeek</a></td>
<td class="tdnum">286</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">9999</td>
</tr>
<tr class="bgc">
<td class="tdrank">297</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.gizmodo.fr/');" href="http://www.gizmodo.fr/" target="_blank">Gizmodo</a></td>
<td class="tdnum">29</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">9999</td>
</tr>
<tr>
<td class="tdrank">298</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://fr.theinquirer.net');" href="http://fr.theinquirer.net" target="_blank">The Inquirer</a></td>
<td class="tdnum">98</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">9999</td>
</tr>
<tr class="bgc">
<td class="tdrank">299</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://blog.zanorg.com');" href="http://blog.zanorg.com" target="_blank">.chez kek.</a></td>
<td class="tdnum">183</td>
<td class="tdcat">Divers</td>
<td class="tdping">9999</td>
</tr>
<tr>
<td class="tdrank">300</td>
<td class="tdurl"><a onclick="javascript:pageTracker._trackPageview ('/outbound/http://www.fran6art.com');" href="http://www.fran6art.com" target="_blank">Fran6art, le blog</a></td>
<td class="tdnum">176</td>
<td class="tdcat">High-Tech</td>
<td class="tdping">9999</td>
</tr>
</tbody>
</table>
<p>Voilà, tout est là ! Je vous laisse en tirer <strong>les conclusions et les  analyses, </strong>car je ne  vais pas faire le boulot tout seul quand même <img src='http://www.chrogeek.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  .</p>
<p style="text-align: justify;">Bon dès que je  peux je fais la même pour<strong> les 100 premiers High Tech</strong> et je publierai mon  script PHP en même temps.</p>
<p>Si certains veulent <strong>le fichier Excel</strong> de ce classement, faut demander  !</p>
<p style="text-align: justify;"><em>J&#8217;espère  avoir été un peu utile avec ce billet, mais soyons honnête la seule véritable  prouesse de ce billet, c&#8217;est d&#8217;avoir réussi à backlinker la moitié de la  blogosphère française en un seul article <img src='http://www.chrogeek.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />    <img src='http://www.chrogeek.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </em></p>
<p style="text-align: center;"><strong>Je vous laisse </strong><strong>seul juge de la pertinance de ce classement</strong>&#8230;</p>
<p style="text-align: right;">&#8230; Mais c&#8217;est toujours une bonne occasion pour découvrir quelques blogs sympatiques !</p>
<p>Bon week end à tous,</p>
<p>Have Fun,</p>
<p><strong>Jaguie</strong></p>
<h3  class="related_post_title">Billets similaires</h3><ul class="related_post"><li><a href="http://www.chrogeek.com/2009/06/oupas-blog-trop-perso-inventons-un-nouveau-mot/" title="[OuPas!] Blog trop perso, inventons un nouveau mot !">[OuPas!] Blog trop perso, inventons un nouveau mot !</a></li><li><a href="http://www.chrogeek.com/2009/03/wikio-le-classement-des-blogs-high-tech-en-fonction-de-leurs-temps-de-chargement-mars-2009/" title="[Wikio!] Le classement des blogs High tech en fonction de leurs temps de chargement &#8211; Mars 2009">[Wikio!] Le classement des blogs High tech en fonction de leurs temps de chargement &#8211; Mars 2009</a></li><li><a href="http://www.chrogeek.com/2010/03/video-mais-ou-en-est-internet-en-quelques-chiffres/" title="[Video] Mais où en est internet en quelques chiffres ?">[Video] Mais où en est internet en quelques chiffres ?</a></li><li><a href="http://www.chrogeek.com/2010/02/petit-hack-entre-amis-self-audit-my-server-net-ou-comment-faire-un-audit-complet-de-son-server-pour-les-nuls-t/" title="[Petit hack entre amis] self-audit-my-server.net, ou comment faire un audit complet de son server pour les nuls !">[Petit hack entre amis] self-audit-my-server.net, ou comment faire un audit complet de son server pour les nuls !</a></li><li><a href="http://www.chrogeek.com/2010/02/petit-hack-entre-amis-spoofing-phising-ou-comment-bien-lire-une-url-pour-les-nuls/" title="[Petit hack entre amis] Spoofing &#038; Phishing, ou comment bien lire une url pour les nuls !">[Petit hack entre amis] Spoofing &#038; Phishing, ou comment bien lire une url pour les nuls !</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.chrogeek.com/2009/02/blogosphere-le-classement-general-des-blogs-en-fonction-de-leurs-temps-de-reponse/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
		<item>
		<title>[Petit hack entre amis] Le Hack Twitter de Korben pour les nuls ;)</title>
		<link>http://www.chrogeek.com/2009/01/petit-hack-entre-amis-le-hack-twitter-de-korben-pour-les-nuls/</link>
		<comments>http://www.chrogeek.com/2009/01/petit-hack-entre-amis-le-hack-twitter-de-korben-pour-les-nuls/#comments</comments>
		<pubDate>Fri, 30 Jan 2009 09:32:34 +0000</pubDate>
		<dc:creator>jaguie</dc:creator>
				<category><![CDATA[Chrogeek]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[iframe]]></category>
		<category><![CDATA[korben]]></category>
		<category><![CDATA[malin]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.chrogeek.com/?p=1700</guid>
		<description><![CDATA[Bonjour à tous, Cette nuit Tonton Korben nous a bien mis dedans sur Twitter ! Il a fait tourner un petit hack [via James Padolsey] dont je n&#8217;ai pas été le seul a avoir être eu ! Ce hack était destiné aux usagers de twitter, mais il peut facilement être déployé sur d&#8217;autre site. Bon je me permets de [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Bonjour à tous, </strong></p>
<p style="text-align: center;"><strong><a href="http://www.chrogeek.com/wp-content/uploads/2009/01/hacke-hand.png"><img class="size-full wp-image-1708 aligncenter" title="hacke-hand" src="http://www.chrogeek.com/wp-content/uploads/2009/01/hacke-hand.png" alt="hacke-hand" width="509" height="207" /></a><br />
</strong></p>
<p>Cette nuit <a href="http://www.korben.info/petit-cours-de-twitt-jacking.html" target="_blank"><strong>Tonton Korben</strong></a> nous a bien mis dedans sur Twitter ! Il a fait  tourner un petit hack [via <a href="http://james.padolsey.com/general/clickjacking-twitter/" target="_blank"><strong>James Padolsey</strong></a>] dont je n&#8217;ai pas été le seul a avoir être eu !</p>
<p>Ce<strong> hack </strong>était destiné aux usagers de <a href="http://twitter.com/jaguie" target="_blank"><strong>twitter</strong></a>, mais il peut facilement être  déployé sur d&#8217;autre site.</p>
<p>Bon je me permets de vous fournir les principaux éléments de son billet  explicatif:</p>
<blockquote>
<p style="text-align: justify;">[...] L’idée est simple… avec une petite astuce CSS/HTML, on peut cacher une  iframe pointant vers Twitter.com avec un bouton… Et lorsque la personne clique  dessus, un message est envoyé grâce à l’URL de status de Twitter.</p>
<p><strong>Vous n’avez rien compris ?</strong></p>
<p>Alors démonstration !!!!!</p>
<ol>
<li>Connectez vous d’abord sur <a href="http://www.twitter.com/" target="_blank">Twitter</a> avec votre compte</li>
<li>Ensuite, revenez ici et <strong><a href="http://www.korben.info/twitter/ohoh.html">allez sur cette  page</a></strong></li>
<li>Cliquez sur le bouton !!</li>
<li>Et retournez sur votre compte <a href="http://www.twitter.com/" target="_blank">Twitter</a> pour voir le joli  message qui s’est affiché</li>
</ol>
</blockquote>
<blockquote>
<p style="text-align: justify;"><strong>Le hack n’est pas méchant</strong> mais suffisamment ennuyeux. Le hic (du hack)  c’est qu’il ne s’agit pas d’un bug de navigateur ! C’est carrement lié au  fonctionnement CSS / Frame… Du coup, il n’y a pas de solution pour empêcher ça,  mis à part installer l’extension <a href="http://noscript.net/" target="_blank">NoScript</a> pour Firefox (et du coup utiliser  Firefox)</p>
<p>[Lire <strong>la suite</strong> (et le début (et plein d'autres trucs encore)) sur <a href="http://www.korben.info/petit-cours-de-twitt-jacking.html/" target="_blank"><strong> Korben.info</strong></a>]</p></blockquote>
<p style="text-align: justify;">Bon, sympathique ce petit billet, mais pour ceux que ça intéresse et qui ne sont pas forcement très à l&#8217;aise avec tous les aspects techniques du HTML/CSS je vais vous  expliquer plus en détail le hack.</p>
<h3>1. Au commencement il y avait deux pages &#8230;.</h3>
<p><span id="more-1700"></span></p>
<ul>
<li>Une page blanche avec un titre (&lt;titre&gt;)  un bouton (&lt;bouton&gt;) et un petit paragraphe (&lt;p&gt;)</li>
</ul>
<p>Je vous laisse regarder<strong> le code source de la page originale</strong> :</p>

<div class="wp_syntax"><div class="code"><pre class="xhtml" style="font-family:monospace;">	CLIQUEZ ICI
&nbsp;
		&lt;button&gt;CLIQUEZ ICI&lt;/button&gt;
&nbsp;
Cliquez sur le bouton et le lapin magique apparaitra :-)</pre></div></div>

<ul>
<li><strong>La seconde page</strong> est simplement la page votre page de http://www.twitter.com/home un peu  modifiée. En effet, on y ajoute un paramètre GET:http://twitter.com/home?status=Allez%20faire%20un%20tour%20sur%20www.korben.info &#8230;</li>
</ul>
<p style="text-align: justify;">Ce parametre<strong> status</strong> est la valeur du champs de votre statut. En gros je veux pas rentrer dans les détail mais <strong>PHP</strong> récupère cette valeur<strong> $_GET['statut']</strong> puis l&#8217;ajoute comme valeur au champ de votre <strong>status</strong>. Enfin tout ça,  ça se passe chez <strong>twitter</strong> donc on s&#8217;en fou. Mais c&#8217;est paradoxalement la dedans que réside<strong> l&#8217;intelligence du hack de tonton</strong>!<br />
En effet <a href="http://www.korben.info"><strong>Korben</strong></a>, [enfin plutôt <a href="http://james.padolsey.com/general/clickjacking-twitter/" target="_blank"><strong>James</strong></a>] c&#8217;est rendu compte que la la variable &laquo;&nbsp;status&nbsp;&raquo; de l&#8217;URL donnée directement accès au champs de twitt. Magnifiquement bête mais terriblement efficace !</p>
<h3>2. Ensuite ce n&#8217;est que de la technique CSS et HTML.</h3>
<p style="padding-left: 30px;">a.<span style="text-decoration: underline;"> <strong>Pour le HTML</strong></span></p>
<p style="text-align: justify;">Je vous explique rapidement<strong> l&#8217;affaire.</strong><br />
D&#8217;abord on ajoute<strong> &lt;iframe&gt; </strong>dans notre page presque blanche précédente avec <strong>l&#8217;URL modifiée</strong>. Ce qui nous donne finalement comme <strong>body</strong>:</p>

<div class="wp_syntax"><div class="code"><pre class="xhtml" style="font-family:monospace;">		&lt;button&gt;CLIQUEZ ICI&lt;/button&gt;
&nbsp;
Cliquez sur le bouton et le lapin magique apparaitra :-)</pre></div></div>

<p style="text-align: right;">On masque aussi les ascenseurs avec la parametre scrolling.</p>
<p>Bon voila <strong>pour le HTML, ça c&#8217;est fait !</strong></p>
<p>Mais à ce moment la on obtient quelque chose <span style="text-decoration: underline;">dans ce style</span>:</p>
<p style="text-align: center;"><a href="http://www.chrogeek.com/wp-content/uploads/2009/01/hack_1.png"><img class="alignnone size-full wp-image-1707" title="hack_1" src="http://www.chrogeek.com/wp-content/uploads/2009/01/hack_1.png" alt="hack_1" width="476" height="272" /></a></p>
<p style="padding-left: 30px;">b. <span style="text-decoration: underline;"><strong>Pour le CSS</strong></span></p>
<p style="text-align: justify;">Bon, maintenant tout est sur la page, il ne suffit plus que de tout régler comme il faut. Le <strong>CSS est la pour ça</strong>.<br />
D&#8217;abord il faut positionner le iframe sur le bouton &#8216;update&#8217; de twitter:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">iframe <span style="color: #00AA00;">&#123;</span>
<span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">absolute</span><span style="color: #00AA00;">;</span>
<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span> <span style="color: #933;">550px</span><span style="color: #00AA00;">;</span>
<span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span> <span style="color: #933;">228px</span><span style="color: #00AA00;">;</span>
<span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">:</span> <span style="color: #933;">-190px</span><span style="color: #00AA00;">;</span>
<span style="color: #000000; font-weight: bold;">left</span><span style="color: #00AA00;">:</span> <span style="color: #933;">-420px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>Ensuite, il faut positionner l&#8217;iframe en dessous du bouton,<br />
on a pour cela:<br />
z-index: 2;<br />
et enfin, on rend transparente l&#8217;iframe:<br />
opacity: 0;<br />
filter: alpha(opacity=0);</p>
<p style="text-align: justify;">Voilà c&#8217;est fini pour l&#8217;iframe <img src='http://www.chrogeek.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Maintenant on s&#8217;occupe rapidement du<strong> button</strong> que l&#8217;on dimensionne et que l&#8217;on dispose avec une priorité supérieure à l&#8217;iframe afin d&#8217;être sûr de bien <strong>masquer celle la</strong>.</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">button <span style="color: #00AA00;">&#123;</span>
<span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">absolute</span><span style="color: #00AA00;">;</span>
<span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">:</span> <span style="color: #933;">10px</span><span style="color: #00AA00;">;</span>
<span style="color: #000000; font-weight: bold;">left</span><span style="color: #00AA00;">:</span> <span style="color: #933;">10px</span><span style="color: #00AA00;">;</span>
<span style="color: #000000; font-weight: bold;">z-index</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">1</span><span style="color: #00AA00;">;</span>
<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span> <span style="color: #933;">120px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>Voilà, on insère enfin le CSS dans des balises &lt;<strong>script&gt;</strong> dans le header, et on obtient le résultat de <a href="http://korben.info" target="_blank"><strong>korben</strong></a>.</p>
<pre style="text-align: center;" lang="css"><a href="http://www.chrogeek.com/wp-content/uploads/2009/01/hack1.png"><img class="alignnone size-full wp-image-1706" title="hack1" src="http://www.chrogeek.com/wp-content/uploads/2009/01/hack1.png" alt="hack1" width="477" height="189" /></a></pre>
<p>Vraiment tout con non ?</p>
<p><strong>Jaguie</strong></p>
<p><strong>[<a href="http://www.flickr.com/photos/nielsprovos/138907447/" target="_blank">photo</a>]<br />
</strong></p>
<h3  class="related_post_title">Billets similaires</h3><ul class="related_post"><li><a href="http://www.chrogeek.com/2009/06/petit-hack-entre-amis-comment-se-faire-twitter-avec-la-classe/" title="[petit hack entre amis] Comment se faire twitter avec la classe !">[petit hack entre amis] Comment se faire twitter avec la classe !</a></li><li><a href="http://www.chrogeek.com/2009/02/pour-les-nuls-comment-bien-debuter-avec-twitter/" title="[Pour les nuls!] Comment bien débuter avec Twitter ?">[Pour les nuls!] Comment bien débuter avec Twitter ?</a></li><li><a href="http://www.chrogeek.com/2010/12/statistique-2010-lannee-de-twitter-de-facebook-ou-des-deux/" title="[Statistique] 2010, L&#8217;année de twitter, de facebook, ou des deux ?">[Statistique] 2010, L&#8217;année de twitter, de facebook, ou des deux ?</a></li><li><a href="http://www.chrogeek.com/2010/06/buzz-twhoswho-le-whos-who-politiquement-incorrect-de-twitter/" title="[Buzz] Twhoswho, le Who&#8217;s Who politiquement incorrect de Twitter &#8230;">[Buzz] Twhoswho, le Who&#8217;s Who politiquement incorrect de Twitter &#8230;</a></li><li><a href="http://www.chrogeek.com/2010/02/petit-hack-entre-amis-self-audit-my-server-net-ou-comment-faire-un-audit-complet-de-son-server-pour-les-nuls-t/" title="[Petit hack entre amis] self-audit-my-server.net, ou comment faire un audit complet de son server pour les nuls !">[Petit hack entre amis] self-audit-my-server.net, ou comment faire un audit complet de son server pour les nuls !</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.chrogeek.com/2009/01/petit-hack-entre-amis-le-hack-twitter-de-korben-pour-les-nuls/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>[Petit Hack entre amis] Freekr, ou comment télécharger toutes les photos de Flickr</title>
		<link>http://www.chrogeek.com/2009/01/petit-hack-entre-amis-freekr-ou-comment-telecharger-toutes-les-photos-de-flickr/</link>
		<comments>http://www.chrogeek.com/2009/01/petit-hack-entre-amis-freekr-ou-comment-telecharger-toutes-les-photos-de-flickr/#comments</comments>
		<pubDate>Mon, 26 Jan 2009 08:11:38 +0000</pubDate>
		<dc:creator>jaguie</dc:creator>
				<category><![CDATA[Chrogeek]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[flikr]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[freekr]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[photo]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[zend]]></category>

		<guid isPermaLink="false">http://www.chrogeek.com/?p=1671</guid>
		<description><![CDATA[Bonjour à tous, Cette semaine un petit hack un peu particulier puisqu&#8217;on a poussé le bouchon un peu plus loin que d&#8217;habitude &#8230; Comme toujours, les petits hacks ne sont pas faits pour être utilisés puisqu&#8217;ils sont souvent illégaux, mais plutôt pour découvrir une nouvelle technologie ou technique. Ainsi, comme je débute sous Zend FrameWork, [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Bonjour à tous, </strong></p>
<p style="text-align: center;"><strong><a href="http://www.chrogeek.com/wp-content/uploads/2009/01/freekr.jpg"><img class="alignnone size-full wp-image-1674" title="freekr" src="http://www.chrogeek.com/wp-content/uploads/2009/01/freekr.jpg" alt="freekr" width="508" height="188" /></a><br />
</strong></p>
<p>Cette semaine un petit hack un peu particulier puisqu&#8217;<strong>on</strong> a poussé  le<strong> bouchon</strong> un peu plus loin que d&#8217;habitude &#8230;</p>
<p style="text-align: justify;">Comme toujours, les petits hacks ne sont pas faits pour être utilisés  puisqu&#8217;ils sont souvent illégaux, mais plutôt pour découvrir une nouvelle  technologie ou technique. Ainsi, comme je débute sous Zend FrameWork, j&#8217;ai pensé  que faire un petit projet autour d&#8217;un hack pourrait être utile à certaines  personnes.</p>
<p style="text-align: justify;">Le hack de la semaine est donc un petit script permettant de télécharger  toutes les photos de <strong>Flickr</strong> [un site communautaire de partage de photos].  Par exemple, essayer de télécharger la photo [avec un clic droit "enregister la  photo"] disponible à l&#8217;adresse:<a href="http://www.flickr.com/photos/manteys/2381693525/" target="_blank"> </a><strong><a href="http://www.flickr.com/photos/manteys/2381693525/" target="_blank">http://www.flickr.com/photos/manteys/2381693525/</a> . Vous obtiendrez une image d&#8217;un pixel.</strong></p>
<p style="text-align: justify;">En fait, <strong>la protection</strong> mise en place par Flickr n&#8217;est pas bien difficile,  <strong>mais terrible efficace</strong>. Pour bien la comprendre, il suffit juste de regarder un  peu les sources HTML de la page :</p>
<blockquote><p>&lt;div class=&nbsp;&raquo;photoImgDiv&nbsp;&raquo; style=&nbsp;&raquo;width: 502px;&nbsp;&raquo;  id=&nbsp;&raquo;photoImgDiv2381693525&#8243;&gt;<br />
<strong>&lt;img</strong> height=&nbsp;&raquo;332&#8243; width=&nbsp;&raquo;500&#8243;  <strong>class=&nbsp;&raquo;reflect&nbsp;&raquo;</strong> onload=&nbsp;&raquo;show_notes_initially();&nbsp;&raquo; title=&nbsp;&raquo;" alt=&nbsp;&raquo;Old scene  new tricks by Sean Mantey.&nbsp;&raquo;  src=&nbsp;&raquo;http://farm3.static.flickr.com/2250/2381693525_800fc79411.jpg?v=1207125544&#8243;/&gt;<br />
<strong>&lt;img</strong> height=&nbsp;&raquo;332&#8243; width=&nbsp;&raquo;500&#8243; alt=&nbsp;&raquo;"  <strong>src=&nbsp;&raquo;http://l.yimg.com/g/images/spaceball.gif&nbsp;&raquo; </strong>style=&nbsp;&raquo;position: relative;  top: -334px; margin-bottom: -334px; display:  block;&nbsp;&raquo;/&gt;&lt;/div&gt;</p></blockquote>
<p style="text-align: justify;">Flickr superpose deux images l&#8217;une sur l&#8217;autre, et donc elle que vous  télécharger est juste la spaceball.gif qui est une image de 1pixel avec un fond  transparent&#8230; Pas bête hein !</p>
<p style="text-align: justify;"><span id="more-1671"></span></p>
<p style="text-align: justify;">Le principe du hack de la semaine est donc tout con, il suffit de récupérer  le code HTML la page Flickr, puis de le parser afin d&#8217;extraire la véritable URL  de l&#8217;image, ici c&#8217;est  &laquo;&nbsp;http://farm3.static.flickr.com/2250/2381693525_800fc79411.jpg&nbsp;&raquo; .</p>
<p>J&#8217;ai donc réalisé rapidement un petit script avec <strong>Zend Framework</strong> réalisant  cette unique fonction.</p>
<p style="text-align: justify;">S&#8217;il y en a que ça intéresse,<strong> je peux</strong> rédiger dans les jours qui viennent un  petit tuto pour expliquer en détail le fonctionnement <strong>du code de Freekr</strong>.</p>
<p style="text-align: justify;">Au début du billet j&#8217;ai dit &laquo;&nbsp;on&nbsp;&raquo;, en effet, la magie de twitter à encore  frappée ! Lorsque je codais <strong>mon script</strong>, je l&#8217;ai fait testé à un certain <span class="entry-content"><a href="http://graphism.fr/" target="_blank"><strong>Geoffrey Dorne</strong>,</a> un graphiste <strong>de  talent</strong>, qui a trouvé le projet sympa et m&#8217;a donc gracieusement filé une  maquette pour le design <img src='http://www.chrogeek.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> . énorme merci pour<a href="http://twitter.com/geoffreydorne" target="_blank"><strong> lui</strong></a>.</span></p>
<p style="text-align: justify;"><span class="entry-content">J&#8217;ai aussi dit précédemment que l&#8217;on avait poussé  le bouchon un peu plus loin que d&#8217;habitude&#8230; En effet, j&#8217;ai acheté un petit nom  de domaine pour mettre online un test du script.</span></p>
<p><span class="entry-content">Donc pour ceux qui veulent voir à quoi ça  ressemble, il faut aller sur: <a href="http://www.freekr.net"><strong>http://www.freekr.net</strong></a> .</span></p>
<p style="text-align: justify;">Si tout se passe bien, je pense que dans 2 jours <strong>Freekr.net sera dans la  black list de Flickr</strong> donc dépêchez-vous de tester l&#8217;affaire.</p>
<p style="text-align: justify;">Enfin, pour ceux que ça intéresse, je vous donne  gracieusement mon script. Iest bien sûr sous licence GNU et tout ce qui va avec  <img src='http://www.chrogeek.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  . Si certains veulent <strong>le faire évoluer</strong>, il faut juste <strong>faire attention</strong>, car  j&#8217;ai énormément allégé la <strong>librairie Zend</strong> afin que le projet ne soit pas trop  lourd.</p>
<p><strong>Télécharger les sources</strong>:  <strong><a href="http://www.chrogeek.com/wp-content/uploads/2009/01/freekr.rar">freekr</a></strong> [947 KB]</p>
<p>Voilà je crois que tout est dit, oups j&#8217;ai faillit oublié, ce script à été  réalisé suite à lecture de <a href="http://blog.geekfg.net/2008/10/rcuprer-une-photo-flickr-protge.html" target="_blank"><strong>ce  billet</strong></a> sur cet excellent blog: <a href="http://blog.geekfg.net" target="_blank"><strong>geekfg.net</strong></a> éditer  par<span class="given-name"> <strong>Francois-Guillaume</strong></span><strong> </strong><span class="family-name"><strong>Ribreau</strong> dont je vous recommande la  lecture.<br />
</span></p>
<p>Il en parle aussi: <a href="http://graphism.fr/post/73184193/comment-t-l-charger-les-photos-prot-g-es-sur-flickr" target="_blank"><strong>ICI</strong></a></p>
<p>Bonne semaine à tous,</p>
<p>Hack Fun,</p>
<p><strong>Jaguie</strong></p>
<h3  class="related_post_title">Billets similaires</h3><ul class="related_post"><li><a href="http://www.chrogeek.com/2009/09/dev-comment-bien-choisir-son-framework-php-ruby-js-css/" title="[Dev] Comment bien choisir son Framework PHP, Ruby, JS, CSS">[Dev] Comment bien choisir son Framework PHP, Ruby, JS, CSS</a></li><li><a href="http://www.chrogeek.com/2009/03/exclu-lensemble-des-noms-de-domaines-disponibles-en-fr-composes-de-3-lettres/" title="[Exclu] L&#8217;ensemble des noms de domaines disponibles en .fr composés de 3 lettres ">[Exclu] L&#8217;ensemble des noms de domaines disponibles en .fr composés de 3 lettres </a></li><li><a href="http://www.chrogeek.com/2009/01/petit-hack-entre-amis-confession-dun-appreti-spammeur-de-facebook/" title="[Petit hack entre amis] Confession d&#8217;un apprenti spammeur de Facebook!">[Petit hack entre amis] Confession d&#8217;un apprenti spammeur de Facebook!</a></li><li><a href="http://www.chrogeek.com/2009/05/prog-lultime-debat-ou-comment-bien-indenter-son-code/" title="[Prog] L&#8217;ultime débat, ou comment bien indenter son code&#8230;">[Prog] L&#8217;ultime débat, ou comment bien indenter son code&#8230;</a></li><li><a href="http://www.chrogeek.com/2009/03/petit-hack-entre-amis-comment-utiliser-lapi-dns-dovh-pour-tout-savoir-sur-un-nom-de-domaine/" title="[Petit Hack entre amis] Comment utiliser l&#8217;API DNS d&#8217;OVH pour tout savoir sur un nom de domaine">[Petit Hack entre amis] Comment utiliser l&#8217;API DNS d&#8217;OVH pour tout savoir sur un nom de domaine</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.chrogeek.com/2009/01/petit-hack-entre-amis-freekr-ou-comment-telecharger-toutes-les-photos-de-flickr/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>[Petit hack entre amis] Confession d&#8217;un apprenti spammeur de Facebook!</title>
		<link>http://www.chrogeek.com/2009/01/petit-hack-entre-amis-confession-dun-appreti-spammeur-de-facebook/</link>
		<comments>http://www.chrogeek.com/2009/01/petit-hack-entre-amis-confession-dun-appreti-spammeur-de-facebook/#comments</comments>
		<pubDate>Wed, 07 Jan 2009 12:07:28 +0000</pubDate>
		<dc:creator>jaguie</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://www.chrogeek.com/?p=1497</guid>
		<description><![CDATA[Bonjour à tous, J&#8217;ai une drôle d&#8217;histoire à vous raconter ! Au commencement, il y avait &#8230; ce billet :  [FaceBook] Peut on savoir qui visite son profil FaceBook ? Je vous conseille de le lire ou du moins de le survoler rapidement si vous voulez comprendre la suite ! La suite: En fait, lorsque j&#8217;ai [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Bonjour à tous, </strong></p>
<p style="text-align: center;"><strong><a href="http://www.chrogeek.com/wp-content/uploads/2009/01/spamme.jpg"><img class="alignnone size-full wp-image-1498" title="spamme" src="http://www.chrogeek.com/wp-content/uploads/2009/01/spamme.jpg" alt="spamme" width="528" height="198" /></a><br />
</strong></p>
<p>J&#8217;ai une<strong> drôle d&#8217;histoire</strong> à vous raconter !</p>
<p style="text-align: justify;">Au commencement, il y avait &#8230; ce billet :  <strong><a title="[FaceBook] Peut on savoir qui visite son profil FaceBook ?" href="../2008/11/facebook-peut-on-savoir-qui-visite-son-profil-facebook/">[FaceBook]  Peut on savoir qui visite son profil FaceBook ?</a> </strong> Je vous conseille de le  lire ou du moins de le survoler rapidement si vous voulez comprendre<span style="text-decoration: underline;"> la suite</span> !</p>
<p style="text-align: justify;"><span style="text-decoration: underline;">La suite</span>: En fait, lorsque j&#8217;ai rédigé ce petit billet, j&#8217;avais aussi l&#8217;idée en tête de le  poster comme une sorte de <em>warning </em>sur les différents groupes qui proposent des  soi-disante applications permettant de savoir &laquo;&nbsp;<strong>kitekifadonf</strong>&nbsp;&raquo; !</p>
<p>Et c&#8217;est même <strong>ce que j&#8217;ai fait</strong>!</p>
<p style="text-align: justify;">Et je l&#8217;ai fait de manière plus ou moins <strong>régulièrement</strong> tous les deux ou trois  jours. J&#8217;avais donc une liste de <strong>3 ou 4 groupes </strong>dans lesquels je rajoutais un  link vers mon billet. Et je faisais ça comme ça, juste en ayant un brin d&#8217;espoir  de calmer ce phénomène complètement ridicule  et donc de ne plus recevoir<strong> les 18  invitations quotidiennes</strong> pour ce style de groupes.</p>
<p style="text-align: justify;">Ce train-train a duré une bonne 10aines de jours. Il y a 5 jours, j&#8217;ai reçu  un mystérieux, mais fort sympathique mail d&#8217;un collègue blogueur nommé <a href="http://simonlefur.com/" target="_blank"><strong>Simon</strong></a> que je ne connaissais pas !</p>
<p><span style="text-decoration: underline;">Dans celui-ci : </span></p>
<blockquote>
<p style="text-align: justify;">[...] tu utilisais le même filon de grattage de trafic via les &laquo;&nbsp;<strong>posted  items</strong>&nbsp;&raquo; des groupes <em>&laquo;&nbsp;pour savoir qui t&#8217;aime&nbsp;&raquo;</em>, que j&#8217;ai suivi le lien  vers ton blog sur lequel j&#8217;étais déjà tombé une fois via Presse-citron et que  j&#8217;avais trouvé bien cool [...]</p>
</blockquote>
<p style="text-align: right;">(re)Merci</p>
<p style="text-align: left;">Bon il y a <span style="text-decoration: underline;">deux choses à noter</span>:</p>
<ol style="text-align: justify;">
<li>Quoi qu&#8217;on fasse on en revient toujours à <strong>Presse-Citron</strong> &#8230; [Humour]  <img src='http://www.chrogeek.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </li>
<li><em>&laquo;&nbsp;Le terme de grattage de trafic &laquo;&nbsp;</em>, je le répète et même je l&#8217;assume,  je ne faisais pas vraiment ça dans ce sens-là. Ça m&#8217;a rapporté  <strong>une grosse 50aines de visiteurs</strong> par jours. De plus ce trafic n&#8217;est pas  forcement des plus intéressants, car c&#8217;est un trafic qui commente peu. (stats  inside !).</li>
</ol>
<p>Bon, bilan:<strong> je passe donc pour un gratteur</strong>, une sorte de <strong>floodeur</strong> <img src='http://www.chrogeek.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Et c&#8217;est la que je me suis dit : &laquo;&nbsp;quitte à passer pour un floodeur autant <strong>le  faire bien</strong> et devenir un <strong>SPAMMEUR</strong>&laquo;&nbsp;  gnagnagnagna&#8230;</p>
<p>Je ne sais pas, ça doit être ma formation qui me fais aujourd&#8217;hui<strong> raisonner  comme ça</strong> ! (j&#8217;ai presque peur !)</p>
<p>Bon, fier de ce constat, j&#8217;ai sorti mon<strong> Zend Studio</strong>, j&#8217;ai ressorti le  <strong>FrameWork Zend</strong>, et puis j&#8217;ai pissé du code comme on dit <img src='http://www.chrogeek.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  .</p>
<p>J&#8217;ai codé quoi? Un<strong> petit script PHP </strong>tout con pour <strong>automatiser </strong>mon postage de billet  et se<strong> répandre aux groupes voisins</strong>.</p>
<p style="text-align: center;">C&#8217;est donc, un script <strong>de spam</strong>.</p>
<p>Je vous résume rapidement<span style="text-decoration: underline;"> l&#8217;idée de l&#8217;algorithme</span> :</p>
<p><span id="more-1497"></span></p>
<ol>
<li>Se connecter à la page de login de FaceBook (pour initialiser les cookies  )</li>
<li>Se loguer</li>
<li>Se rendre sur la page du groupe (initialisé manuellement) via un id  group</li>
<li>{</li>
<li>mettre l&#8217;id dans une table &#8216;$used&#8217;</li>
<li><strong>Si</strong> post link possible sans inscription
<ol>
<li><strong>poster link de mon billet</strong></li>
</ol>
</li>
<li><strong>Sinon</strong>
<ol>
<li>joindre le groupe</li>
<li><strong>poster le lien de mon billet</strong></li>
<li>quitter le groupe</li>
</ol>
</li>
<li>revenir sur le groupe</li>
<li>sélectionner les groupes liés et mettre le groupe id (gid) dans une table si  pas déjà présent</li>
<li>Sélectionner un gid au hasard qui n&#8217;existe pas dans $used</li>
<li>aller sur groupe</li>
<li>}</li>
</ol>
<p>Grosso modo, vous l&#8217;imaginez, c&#8217;est fait <em>à la va très très vite</em> et c&#8217;est loin  de ressembler à ça &#8230;</p>
<p>Bref, je code l&#8217;histoire en faisant un paquet de tests, car c&#8217;est la première  fois que j&#8217;utilisais Zend_http_client , qui est d&#8217;ailleurs une pure merveille   :d .</p>
<p>Et miracle de l&#8217;informatique, ça a même presque marché. Jusqu&#8217;au &#8230;..</p>
<p style="padding-left: 150px;">&#8230;</p>
<p>&#8230; moment où FaceBook m&#8217;envoya un drôle de code Java Script un peu spécial dans mes résultats!</p>
<p>Par réflexe, <strong>je me loggue</strong> &#8216;normalement&#8217; et là j&#8217;ai eu la chance de découvrir  cette nouvelle page d&#8217;accueil dont je suis très fier :</p>
<p><a href="http://www.chrogeek.com/wp-content/uploads/2009/01/fb.jpg"><img class="size-full wp-image-1499 alignnone" title="fb" src="http://www.chrogeek.com/wp-content/uploads/2009/01/fb.jpg" alt="fb" width="562" height="303" /></a></p>
<p>Bref, mes 18 000 tests de connexion ont sans doute du<strong> leur semblé louches</strong>.  Surtout que je faisais tout ça (comme un con) avec mon compte principal. Bon  c&#8217;est n&#8217;ai pas que<strong> j&#8217;ai eu peur</strong> mais ça me ferais vraiment galérer de ne plus  avoir <strong>mon compte FB</strong> j&#8217;ai donc décidé d&#8217;arrêter (temporairement) les tests de <strong>mon spambot</strong>.</p>
<p style="text-align: center;">Fin de l&#8217;histoire&#8230; ou pas !</p>
<p>En fait, je dois avouer que même si ce script est tout con, j&#8217;ai vraiment  pris du plaisir à le coder, à essayer de comprendre la logique de facebook (pas  bien compliquée, mais super bien faite) et à découvrir<strong> Zend</strong>. Je me suis régalé.  Et alors que je fais du<strong> PHP toute la journée</strong>, pour une fois, c&#8217;était marrant  !</p>
<p>J&#8217;ai un peu honte de la dire, mais d&#8217;un certain côté je comprends maintenant  une certaine<strong> motivation des spammeurs</strong> &#8230;</p>
<p>Bon sinon, pour en revenir au script, il traine sur mon<strong> Gmail</strong>, je ne veux pas  avoir de problème alors je ne le publie pas directement, mais s&#8217;il intéresse des  gens <span style="text-decoration: underline;"><strong>dites-le en commentaires</strong></span> et je le publierai&#8230; <strong>ou pas</strong> en fonction de mon humeur <img src='http://www.chrogeek.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Je ne veux pas que l&#8217;on m&#8217;accuse de<strong> pourrir le réseau</strong> non plus <img src='http://www.chrogeek.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Non mais  !</p>
<p>Je tiens à préciser avant tout que le script en lui-même est <strong>vraiment dégueu</strong> et tout con. C&#8217;est plus ou moins volontaire, car il n&#8217;est pas fini, il est dans  une archi MVC, mais n&#8217;exploite pas du tout ce design! [et puis je ne suis pas expert en PHP !]</p>
<p>Bref, si je dois le publier laissez-moi<strong> le temps de l&#8217;arranger</strong> un peu (et  donner moi des codes fakes FB pour les tests ^^).</p>
<p>Bien sûr si je le publie, ce n&#8217;est pas pour que vous <strong>spammez Facebook</strong>, mais  pour le code en lui même&#8230; J&#8217;ai des doutes !</p>
<p>Vous en pensez quoi?</p>
<p>Bonne journée</p>
<p>Enjoy jam,</p>
<p><strong>Jaguie</strong></p>
<p>[<a href="http://www.flickr.com/photos/david-trattnig/262091025/" target="_blank"><strong>photo</strong></a>]</p>
<h3  class="related_post_title">Billets similaires</h3><ul class="related_post"><li><a href="http://www.chrogeek.com/2009/01/petit-hack-entre-amis-freekr-ou-comment-telecharger-toutes-les-photos-de-flickr/" title="[Petit Hack entre amis] Freekr, ou comment télécharger toutes les photos de Flickr">[Petit Hack entre amis] Freekr, ou comment télécharger toutes les photos de Flickr</a></li><li><a href="http://www.chrogeek.com/2009/06/oupa-rigolons-un-peu-avec-les-dns-et-jean-marc-morandini/" title="[OuPa] Rigolons un peu avec les DNS et Jean-Marc Morandini">[OuPa] Rigolons un peu avec les DNS et Jean-Marc Morandini</a></li><li><a href="http://www.chrogeek.com/2009/03/petit-hack-entre-amis-comment-utiliser-lapi-dns-dovh-pour-tout-savoir-sur-un-nom-de-domaine/" title="[Petit Hack entre amis] Comment utiliser l&#8217;API DNS d&#8217;OVH pour tout savoir sur un nom de domaine">[Petit Hack entre amis] Comment utiliser l&#8217;API DNS d&#8217;OVH pour tout savoir sur un nom de domaine</a></li><li><a href="http://www.chrogeek.com/2009/03/exclu-lensemble-des-noms-de-domaines-disponibles-en-fr-composes-de-3-lettres/" title="[Exclu] L&#8217;ensemble des noms de domaines disponibles en .fr composés de 3 lettres ">[Exclu] L&#8217;ensemble des noms de domaines disponibles en .fr composés de 3 lettres </a></li><li><a href="http://www.chrogeek.com/2009/03/php-comment-connaitre-la-taille-dun-fichier-distant-avec-redirection/" title="[PHP] Comment connaitre la taille d&#8217;un fichier distant avec redirection">[PHP] Comment connaitre la taille d&#8217;un fichier distant avec redirection</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.chrogeek.com/2009/01/petit-hack-entre-amis-confession-dun-appreti-spammeur-de-facebook/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>Multithread en PHP : le point sur les différentes techniques</title>
		<link>http://www.chrogeek.com/2008/08/multithread-en-php-le-point-sur-les-differentes-techniques/</link>
		<comments>http://www.chrogeek.com/2008/08/multithread-en-php-le-point-sur-les-differentes-techniques/#comments</comments>
		<pubDate>Mon, 18 Aug 2008 09:29:11 +0000</pubDate>
		<dc:creator>Brindavoine</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[curl]]></category>
		<category><![CDATA[fork]]></category>
		<category><![CDATA[multithread]]></category>

		<guid isPermaLink="false">http://www.chrogeek.com/?p=441</guid>
		<description><![CDATA[La programmation multithreadée en PHP est un véritable casse tête, en effet il n&#8217;existe pas à l&#8217;heure d&#8217;aujourd&#8217;hui de véritable moyen de faire du multithread en PHP 5. Petit rappel au passage : Un programme multithreadé est un programme exécutant plusieurs tâches (threads) en parallèle, ce qui permet d&#8217;optimiser les temps de traitement et de [...]]]></description>
			<content:encoded><![CDATA[<p>La <strong>programmation multithreadée</strong> en PHP est un véritable casse tête, en effet il n&#8217;existe pas à l&#8217;heure d&#8217;aujourd&#8217;hui de <strong>véritable moyen</strong> de faire du <strong>multithread </strong>en PHP 5.</p>
<p><em>Petit rappel au passage :</em></p>
<blockquote><p>Un programme multithreadé est un programme exécutant plusieurs tâches (threads) en parallèle, ce qui permet d&#8217;<strong>optimiser </strong>les temps de traitement et de <strong>ne pas bloquer l&#8217;exécution</strong> globale d&#8217;un programme.</p></blockquote>
<p>Étant en train de coder un système de mise à jour des profils facebook pour l&#8217;application dédiée <a href="http://www.wanasport.com">wanasport</a>, j&#8217;ai été confronté à un problème : facebook a un <strong>temps de réponse ultra lent</strong> ce qui ralentit mon script de mise à jour. Pour l&#8217;instant pas trop de problème sur la mise à jour d&#8217;une centaine de profils, mais j&#8217;ai été amené à me renseigner sur les méthodes de multithreading PHP afin d&#8217;<strong>améliorer la mise à jour</strong>.</p>
<p>N&#8217;y connaissant rien à la base, voilà les différentes méthodes que j&#8217;ai pu trouver au cours de mes recherches et ce que j&#8217;en ai retenu. Ces méthodes permettent de mettre en place un &laquo;&nbsp;pseudo multithreading&nbsp;&raquo;.</p>
<p><span style="text-decoration: underline;"><strong>Méthode 1 : Les Forks (Ne fonctionne QUE sous unix):</strong></span><br />
PHP propose via les <a href="http://www.php.net/manual/fr/ref.pcntl.php">fonctions PCNTL</a> des moyens de création, gestion et contrôle des processus qui, couplées à une gestion des <a href="http://ch2.php.net/manual/fr/ref.sem.php">Sémaphores</a> permet de gérer plusieurs processus simultanément.</p>
<p>Attention cette méthode n&#8217;est <strong>pas portable</strong>, et peut produire des <strong>résultats inattendus</strong>, et il y a des <strong>risques de saturation de la mémoire</strong> si le programme est mal codé.</p>
<p>Voila un exemple de programme multithreadé utilisant ces deux modules : <a href="http://www.noisette.ch/wiki/index.php/PHP/Multithread">http://www.noisette.ch/wiki/index.php/PHP/Multithread</a></p>
<p><strong><span style="text-decoration: underline;">Méthode 2 (Ne fonctionne QUE sous unix):</span><br />
</strong>Contrairement à PHP, Apache 2 lancé en <strong>mode Worker </strong>gère correctement le multithread. Nous pouvons donc exécuter, par <strong>appels asynchrones</strong> depuis PHP, plusieurs scripts en <strong>même temps</strong>.</p>
<p><strong><span style="text-decoration: underline;">Méthode 3 : Utilisation des streams</span><br />
</strong>Une utilisation astucieuse des streams permet d&#8217;effectuer simultanément plusieurs requêtes. La méthode est <a href="http://netevil.org/blog/2005/may/guru-multiplexing">expliquée par Wez Furlong</a></p>
<p><span style="text-decoration: underline;"><strong>Méthode 4 : Utilisation de Curl</strong></span><br />
L&#8217;extension Curl pour PHP, qui permet d&#8217;exécuter simplement des requêtes à travers différents protocoles, offre aussi une possibilité de simili multithread lors de requetes distantes. Tout est expliqué dans <a href="http://www.ibuildings.com/blog/archives/811-Multithreading-in-PHP-with-CURL.html">cet article sur ibuildings</a></p>
<p><span style="text-decoration: underline;"><strong>Méthode 5 : Utillisation d&#8217;AJAX<br />
</strong></span>La dernière solution consiste à créer une page mère, qui lancée depuis un navigateur, ferrais différentes requêtes AJAX vers plusieurs scripts qui seraient alors traités simultanément. Attention, il existe généralement une limite d&#8217;appels simultanés sur les navigateurs web.</p>
<p><strong>Conclusion :</strong></p>
<p>Voila un petit tour d&#8217;horizon qui met en lumière les différentes méthodes de multithread. Pour résoudre mon problème je me penche actuellement sur les méthodes 3 et 4. Je vous tiendrai au courant sur mes différents tests. en attendant, on ne peux qu&#8217;espérer que PHP 6 implémente enfin la question du multithread (aussi simplement qu&#8217;en Java par exemple ce serait top !)</p>
<p><a href="http://www.wanasport.com">Brindavoine</a></p>
<h3  class="related_post_title">Billets similaires</h3><ul class="related_post"><li><a href="http://www.chrogeek.com/2009/06/prog-defi-geek-4-fork-en-php-ou-comment-faire-du-multi-tache-avec-php-en-cli/" title="[Prog] Defi Geek #4, fork en php ou comment faire du multi-tache avec PHP en CLI">[Prog] Defi Geek #4, fork en php ou comment faire du multi-tache avec PHP en CLI</a></li><li><a href="http://www.chrogeek.com/2010/02/dev-google-chart-tools-ou-comment-faire-des-jolis-graphiquescharts-en-javascript/" title="[Dev] Google Chart Tools, ou comment faire des jolis graphiques/charts en Javascript">[Dev] Google Chart Tools, ou comment faire des jolis graphiques/charts en Javascript</a></li><li><a href="http://www.chrogeek.com/2009/09/dev-comment-bien-choisir-son-framework-php-ruby-js-css/" title="[Dev] Comment bien choisir son Framework PHP, Ruby, JS, CSS">[Dev] Comment bien choisir son Framework PHP, Ruby, JS, CSS</a></li><li><a href="http://www.chrogeek.com/2009/06/dev-hop-php-530-arrive-dans-les-bacs/" title="[Dev] Hop, PHP 5.3.0 arrive dans les bacs&#8230;">[Dev] Hop, PHP 5.3.0 arrive dans les bacs&#8230;</a></li><li><a href="http://www.chrogeek.com/2009/06/prog-le-defi-geek-3-ou-comment-faire-des-redirections-http-avec-des-valeurs-de-post/" title="[PROG] Le Defi Geek #3, ou comment faire des redirections HTTP avec des valeurs de POST">[PROG] Le Defi Geek #3, ou comment faire des redirections HTTP avec des valeurs de POST</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.chrogeek.com/2008/08/multithread-en-php-le-point-sur-les-differentes-techniques/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>PHP : Classer simplement ses tableaux bidimensionnels</title>
		<link>http://www.chrogeek.com/2008/08/php-classer-simplement-ses-tableaux-bidimensionnels/</link>
		<comments>http://www.chrogeek.com/2008/08/php-classer-simplement-ses-tableaux-bidimensionnels/#comments</comments>
		<pubDate>Tue, 12 Aug 2008 12:13:14 +0000</pubDate>
		<dc:creator>Brindavoine</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[astuce]]></category>
		<category><![CDATA[classement]]></category>
		<category><![CDATA[tableau]]></category>

		<guid isPermaLink="false">http://www.chrogeek.com/?p=343</guid>
		<description><![CDATA[Pour continuer la série des Astuces PHP, n&#8217;étant pas du tout satisfait de la fonction array_multisort() (que je trouve trop complexe d&#8217;utillisation et qui renvoi parfois des résultats obscurs !), je vous propose une solution alternative qui vous permettra de classer un tableau bidimensionnel selon une de ses colonnes. Si comme moi vous utilisez souvent [...]]]></description>
			<content:encoded><![CDATA[<p>Pour continuer la série des Astuces PHP, n&#8217;étant pas du tout satisfait de la fonction <strong>array_multisort()</strong> (que je trouve trop complexe d&#8217;utillisation et qui renvoi parfois des résultats obscurs !), je vous propose une <strong>solution alternative</strong> qui vous permettra de classer un tableau bidimensionnel selon une de ses colonnes.</p>
<p>Si comme moi vous utilisez souvent des tableaux bidimensionnels pour traiter le résultat de vos requêtes SQL, cette fonction pourra sûrement vous être utile !</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> sortByKey<span style="color: #009900;">&#40;</span><span style="color: #000088;">$array</span><span style="color: #339933;">,</span> <span style="color: #000088;">$index</span><span style="color: #339933;">,</span> <span style="color: #000088;">$order</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'ASC'</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
     <span style="color: #000088;">$sort</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$array</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$key</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$val</span><span style="color: #009900;">&#41;</span>
     <span style="color: #009900;">&#123;</span>
          <span style="color: #000088;">$sort</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$key</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$val</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$index</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
     <span style="color: #009900;">&#125;</span>
     <span style="color: #990000;">natcasesort</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$sort</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #000088;">$output</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$sort</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$key</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$val</span><span style="color: #009900;">&#41;</span>
     <span style="color: #009900;">&#123;</span>
          <span style="color: #000088;">$output</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$array</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$key</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
     <span style="color: #009900;">&#125;</span>
     <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$order</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'DESC'</span><span style="color: #009900;">&#41;</span>
     <span style="color: #009900;">&#123;</span>
          <span style="color: #000088;">$output</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array_reverse</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$output</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #009900;">&#125;</span>
     <span style="color: #b1b100;">return</span> <span style="color: #000088;">$output</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>La fonction est simple à utiliser : elle prends comme argument le tableau à classer et la colonne selon laquelle le classement sera fait. Un argument optionnel spécifie le sens du classement.</p>
<p>Rien ne vaut mieux qu&#8217;un bel exemple :</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$a_classer</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
	<span style="color: #cc66cc;">0</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'name'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Jean'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'date'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'2008-04-01'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'gender'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'M'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
	<span style="color: #cc66cc;">1</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'name'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Paul'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'date'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'2008-06-08'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'gender'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'M'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
	<span style="color: #cc66cc;">2</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'name'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Joseph'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'date'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'2005-11-23'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'gender'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'M'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
	<span style="color: #cc66cc;">3</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'name'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Albert'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'date'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'2007-09-13'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'gender'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'M'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
	<span style="color: #cc66cc;">3</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'name'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Sonia'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'date'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'2007-12-30'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'gender'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'S'</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// On classe par prénom</span>
<span style="color: #990000;">print_r</span><span style="color: #009900;">&#40;</span>sortByKey<span style="color: #009900;">&#40;</span><span style="color: #000088;">$a_classer</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'name'</span> <span style="color: #339933;">,</span> <span style="color: #0000ff;">'ASC'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">//On classe par date d'inscription</span>
<span style="color: #990000;">print_r</span><span style="color: #009900;">&#40;</span>sortByKey<span style="color: #009900;">&#40;</span><span style="color: #000088;">$a_classer</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'date'</span> <span style="color: #339933;">,</span> <span style="color: #0000ff;">'DESC'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Voila, plus de prises de tête avec array_multisort() ou de nouvelles requêtes inutiles !</p>
<p><a href="http://www.wanasport.com">Brindavoine</a></p>
<h3  class="related_post_title">Billets similaires</h3><ul class="related_post"><li><a href="http://www.chrogeek.com/2009/03/wikio-le-classement-des-blogs-high-tech-en-fonction-de-leurs-temps-de-chargement-mars-2009/" title="[Wikio!] Le classement des blogs High tech en fonction de leurs temps de chargement &#8211; Mars 2009">[Wikio!] Le classement des blogs High tech en fonction de leurs temps de chargement &#8211; Mars 2009</a></li><li><a href="http://www.chrogeek.com/2010/03/video-mais-ou-en-est-internet-en-quelques-chiffres/" title="[Video] Mais où en est internet en quelques chiffres ?">[Video] Mais où en est internet en quelques chiffres ?</a></li><li><a href="http://www.chrogeek.com/2010/02/chart-la-repartition-et-les-evolutions-des-revenus-de-microsoft/" title="[chart] La répartition et les évolutions des revenus de Microsoft">[chart] La répartition et les évolutions des revenus de Microsoft</a></li><li><a href="http://www.chrogeek.com/2010/02/dev-google-chart-tools-ou-comment-faire-des-jolis-graphiquescharts-en-javascript/" title="[Dev] Google Chart Tools, ou comment faire des jolis graphiques/charts en Javascript">[Dev] Google Chart Tools, ou comment faire des jolis graphiques/charts en Javascript</a></li><li><a href="http://www.chrogeek.com/2010/02/classement-cmsmatrix-org-ou-le-comparatif-ultime-des-cms/" title="[Classement] Cmsmatrix.org, ou le comparatif ultime des CMS.">[Classement] Cmsmatrix.org, ou le comparatif ultime des CMS.</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.chrogeek.com/2008/08/php-classer-simplement-ses-tableaux-bidimensionnels/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PHP : Optimiser ses titres et découper un texte sans couper un mot</title>
		<link>http://www.chrogeek.com/2008/08/php-optimiser-ses-titres-et-decouper-un-texte-sans-couper-un-mot/</link>
		<comments>http://www.chrogeek.com/2008/08/php-optimiser-ses-titres-et-decouper-un-texte-sans-couper-un-mot/#comments</comments>
		<pubDate>Mon, 11 Aug 2008 12:09:58 +0000</pubDate>
		<dc:creator>Brindavoine</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[tuto]]></category>

		<guid isPermaLink="false">http://www.chrogeek.com/?p=307</guid>
		<description><![CDATA[Voila deux petites fonctions PHP qui faciliteront la vie de tout codeur de site gréant du contenu (un blog, un module de news, un forum)&#8230; Fonction 1 : Générer des titres propres d&#8217;url en format optimisé pour du référencement (permaliens) Cette fonction supprime les caractères accentués, remplace les espaces par des tirets et supprime les [...]]]></description>
			<content:encoded><![CDATA[<p>Voila deux petites fonctions PHP qui faciliteront la vie de tout codeur de site gréant du contenu (un blog, un module de news, un forum)&#8230;</p>
<p><strong>Fonction 1 : Générer des titres propres d&#8217;url en format optimisé pour du référencement (permaliens)<br />
</strong></p>
<p>Cette fonction supprime les caractères accentués, remplace les espaces par des tirets et supprime les caractères non-conformes. C&#8217;est par exemple le cas de la génération des permaliens sous wordpress.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> optimise_title<span style="color: #009900;">&#40;</span><span style="color: #000088;">$titre</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
     <span style="color: #666666; font-style: italic;">// Suppression des accents:</span>
     <span style="color: #000088;">$titre</span> <span style="color: #339933;">=</span> <span style="color: #990000;">strtr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$titre</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'àáâãäçèéêëìíîïñòóôõöùúûüýÿÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝ '</span><span style="color: #339933;">,</span>
     <span style="color: #0000ff;">'aaaaaceeeeiiiinooooouuuuyyAAAAACEEEEIIIINOOOOOUUUUY-'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #666666; font-style: italic;">// Supression des majuscules (optionnel) :</span>
     <span style="color: #000088;">$titre</span> <span style="color: #339933;">=</span> <span style="color: #990000;">strtolower</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$titre</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #666666; font-style: italic;">// Ajoute les séparateurs</span>
     <span style="color: #000088;">$title</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'!\s!'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'-'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$title</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #666666; font-style: italic;">// Supression des caracteres nons voulus :</span>
     <span style="color: #000088;">$titre</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'![^0-9a-z-_]!'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span> <span style="color: #000088;">$titre</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #666666; font-style: italic;">// Supression des séparateurs redondants :</span>
     <span style="color: #000088;">$titre</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'!(-)+!'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'-'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$titre</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #b1b100;">return</span> <span style="color: #000088;">$titre</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">echo</span> optimise_title<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;PHP : Optimiser ses titres et découper un texte sans couper un mot&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// renvoie : php-optimiser-ses-titres-et-decouper-un-texte-sans-couper-un-mot</span></pre></div></div>

<p><strong>Fonction 2 : Découper un texte sans couper un mot</strong></p>
<p>Voila un problème récurrent, beaucoup se sont sûrement déjà adonné à l&#8217;exercice mais voilà ma solution à ce problème ! Un substr() classique tranche généralement des mots ou pire une entité html ce qui n&#8217;est aps très &laquo;&nbsp;sexy&nbsp;&raquo;. La fonction prends en argument le texte à découper et l&#8217;offset : le nombre maximal de caractères voulus. La fonction s&#8217;occupe du reste !</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> subtext<span style="color: #009900;">&#40;</span><span style="color: #000088;">$text</span><span style="color: #339933;">,</span> <span style="color: #000088;">$offset</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">300</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
     <span style="color: #990000;">preg_match</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'!.{0,'</span><span style="color: #339933;">.</span><span style="color: #000088;">$offset</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'}\s!si'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$text</span><span style="color: #339933;">,</span> <span style="color: #000088;">$match</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #b1b100;">return</span> <span style="color: #000088;">$match</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #666666; font-style: italic;">//exemple :</span>
<span style="color: #b1b100;">echo</span> subtext<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean quis risus ut purus suscipit mattis. Cras elementum augue eget mi. Aliquam at ipsum. Nunc mollis. Etiam pellentesque odio eu dolor. Proin faucibus, lectus vitae imperdiet dictum, mi felis tristique mauris, quis feugiat elit eros quis purus. Proin at ligula. Nunc tellus lorem, pellentesque non, pulvinar in, condimentum et, tortor. Etiam at urna adipiscing arcu luctus commodo. Duis quis eros at odio fringilla ultricies. Praesent et nisl. Etiam pede. Cras ornare, quam at ultrices gravida, ante massa vestibulum dolor, et luctus velit orci ut dolor. Vivamus dictum, ante ac porttitor ultricies, velit urna imperdiet risus, eu pulvinar diam eros et diam. Cras tortor enim, sollicitudin ut, mollis at, vehicula id, dui. Duis adipiscing, orci sit amet placerat vehicula, ipsum ante sodales nunc, nec viverra magna mauris sed sem. Nam commodo lorem ac risus. Quisque gravida velit ut urna. Vestibulum non ligula ut nisl sagittis tincidunt. Ut fringilla tortor quis sem gravida iaculis.'</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">300</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Voilà, c&#8217;est cadeau !</p>
<p><a href="http://www.wanasport.com">Brindavoine</a></p>
<h3  class="related_post_title">Billets similaires</h3><ul class="related_post"><li><a href="http://www.chrogeek.com/2008/08/tutoriel-comment-se-connecter-en-telnet-avec-php/" title="Tutoriel: Comment se connecter en Telnet avec PHP">Tutoriel: Comment se connecter en Telnet avec PHP</a></li><li><a href="http://www.chrogeek.com/2010/02/dev-google-chart-tools-ou-comment-faire-des-jolis-graphiquescharts-en-javascript/" title="[Dev] Google Chart Tools, ou comment faire des jolis graphiques/charts en Javascript">[Dev] Google Chart Tools, ou comment faire des jolis graphiques/charts en Javascript</a></li><li><a href="http://www.chrogeek.com/2009/09/dev-comment-bien-choisir-son-framework-php-ruby-js-css/" title="[Dev] Comment bien choisir son Framework PHP, Ruby, JS, CSS">[Dev] Comment bien choisir son Framework PHP, Ruby, JS, CSS</a></li><li><a href="http://www.chrogeek.com/2009/07/petit-hack-entre-amis-comment-telecharger-une-video-de-canal-plus/" title="[petit hack entre amis] Comment télécharger une vidéo de Canal Plus">[petit hack entre amis] Comment télécharger une vidéo de Canal Plus</a></li><li><a href="http://www.chrogeek.com/2009/06/dev-hop-php-530-arrive-dans-les-bacs/" title="[Dev] Hop, PHP 5.3.0 arrive dans les bacs&#8230;">[Dev] Hop, PHP 5.3.0 arrive dans les bacs&#8230;</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.chrogeek.com/2008/08/php-optimiser-ses-titres-et-decouper-un-texte-sans-couper-un-mot/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

