<?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>The Troll&#039;s factory &#187; Scripts, astuces, dév. web</title>
	<atom:link href="http://trollfactory.fr/category/scripts-astuces-dev-web/feed" rel="self" type="application/rss+xml" />
	<link>http://trollfactory.fr</link>
	<description>Geekeries &#38; pensées</description>
	<lastBuildDate>Mon, 09 Jun 2014 19:43:25 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.41</generator>
	<item>
		<title>Output Popen subprocess stdout (and stderr) in real-time in Python</title>
		<link>http://trollfactory.fr/output-popen-subprocess-stdout-and-stderr-in-real-time-in-python-731</link>
		<comments>http://trollfactory.fr/output-popen-subprocess-stdout-and-stderr-in-real-time-in-python-731#comments</comments>
		<pubDate>Mon, 09 Jun 2014 19:43:25 +0000</pubDate>
		<dc:creator><![CDATA[Troll]]></dc:creator>
				<category><![CDATA[astuces]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Scripts, astuces, dév. web]]></category>
		<category><![CDATA[popen]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[subprocess]]></category>

		<guid isPermaLink="false">http://trollfactory.fr/?p=731</guid>
		<description><![CDATA[So you&#8217;re writing a Python script and you are launching some other external command. To achieve that, you are using the subprocess.Popen command, right. But the subprocess is very slow, and it outputs data during it runtime, so you would like to output this data to the user as well, so that the user does [...]]]></description>
				<content:encoded><![CDATA[<p>So you&rsquo;re writing a Python script and you are launching some other external command.</p>
<p>To achieve that, you are using the <b>subprocess.Popen</b> command, right.</p>
<p>But the subprocess is very slow, and it outputs data during it runtime, so you would like to output this data to the user as well, so that the user does not wait for the end of the subprocess before getting the information?</p>
<p>Example of a slow subprocess:</p>
<pre>
#!/bin/bash
for i in 1 2 3 4 5 6; do sleep 5 &#038;&#038; echo "${i}th output" &#038;&#038; echo "err output num ${i}" >&#038;2; done
</pre>
<p>Well, that&rsquo;s fairly easy, just redirect the subprocess&rsquo;s stdout to your own stdout:</p>
<pre>
import sys
from subprocess import Popen
Popen("./slow_cmd_output.sh", stdout=sys.stdout, stderr=sys.stderr).communicate()
</pre>
<p>Although the catch here is the <b>.communicate()</b>. This will allow your program to wait for the end of the subprocess before executing the next line of code. So that your programm does not terminate execution before its subprocess, for instance.</p>
<p>Not that if you want to deamonize the script / zombify it, you can remove the <b>.communicate()</b> and the redirection of stdout and stderr will still work after your program&rsquo;s termination.</p>
Share and Enjoy:<a rel="nofollow" target="_blank"  href="http://www.printfriendly.com/print/new?url=http%3A%2F%2Ftrollfactory.fr%2Foutput-popen-subprocess-stdout-and-stderr-in-real-time-in-python-731" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/printfriendly.png" class="sociable-img sociable-hovers" title="Print" alt="Print" /></a><a rel="nofollow" target="_blank"  href="http://www.printfriendly.com/print/new?url=http%3A%2F%2Ftrollfactory.fr%2Foutput-popen-subprocess-stdout-and-stderr-in-real-time-in-python-731" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/pdf.png" class="sociable-img sociable-hovers" title="PDF" alt="PDF" /></a><a rel="nofollow" target="_blank"  href="http://twitter.com/home?status=Output%20Popen%20subprocess%20stdout%20%28and%20stderr%29%20in%20real-time%20in%20Python%20-%20http%3A%2F%2Ftrollfactory.fr%2Foutput-popen-subprocess-stdout-and-stderr-in-real-time-in-python-731" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/twitter.png" class="sociable-img sociable-hovers" title="Twitter" alt="Twitter" /></a><a rel="nofollow" target="_blank"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Ftrollfactory.fr%2Foutput-popen-subprocess-stdout-and-stderr-in-real-time-in-python-731&amp;t=Output%20Popen%20subprocess%20stdout%20%28and%20stderr%29%20in%20real-time%20in%20Python" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/facebook.png" class="sociable-img sociable-hovers" title="Facebook" alt="Facebook" /></a><a rel="nofollow" target="_blank"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Ftrollfactory.fr%2Foutput-popen-subprocess-stdout-and-stderr-in-real-time-in-python-731&amp;title=Output%20Popen%20subprocess%20stdout%20%28and%20stderr%29%20in%20real-time%20in%20Python&amp;source=The+Troll%26%23039%3Bs+factory+Geekeries+%26amp%3B+pens%C3%A9es&amp;summary=So%20you%27re%20writing%20a%20Python%20script%20and%20you%20are%20launching%20some%20other%20external%20command.%0D%0A%0D%0ATo%20achieve%20that%2C%20you%20are%20using%20the%20subprocess.Popen%20command%2C%20right.%0D%0A%0D%0ABut%20the%20subprocess%20is%20very%20slow%2C%20and%20it%20outputs%20data%20during%20it%20runtime%2C%20so%20you%20would%20like%20t" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/linkedin.png" class="sociable-img sociable-hovers" title="LinkedIn" alt="LinkedIn" /></a><a rel="nofollow" target="_blank"  href="http://trollfactory.fr/feed" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/rss.png" class="sociable-img sociable-hovers" title="RSS" alt="RSS" /></a><a rel="nofollow" target="_blank"  href="http://www.wikio.fr/vote?url=http%3A%2F%2Ftrollfactory.fr%2Foutput-popen-subprocess-stdout-and-stderr-in-real-time-in-python-731" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/wikio.png" class="sociable-img sociable-hovers" title="Wikio FR" alt="Wikio FR" /></a><a rel="nofollow" target="_blank"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Ftrollfactory.fr%2Foutput-popen-subprocess-stdout-and-stderr-in-real-time-in-python-731&amp;title=Output%20Popen%20subprocess%20stdout%20%28and%20stderr%29%20in%20real-time%20in%20Python&amp;bodytext=So%20you%27re%20writing%20a%20Python%20script%20and%20you%20are%20launching%20some%20other%20external%20command.%0D%0A%0D%0ATo%20achieve%20that%2C%20you%20are%20using%20the%20subprocess.Popen%20command%2C%20right.%0D%0A%0D%0ABut%20the%20subprocess%20is%20very%20slow%2C%20and%20it%20outputs%20data%20during%20it%20runtime%2C%20so%20you%20would%20like%20t" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/digg.png" class="sociable-img sociable-hovers" title="Digg" alt="Digg" /></a><a rel="nofollow" target="_blank"  href="http://delicious.com/post?url=http%3A%2F%2Ftrollfactory.fr%2Foutput-popen-subprocess-stdout-and-stderr-in-real-time-in-python-731&amp;title=Output%20Popen%20subprocess%20stdout%20%28and%20stderr%29%20in%20real-time%20in%20Python&amp;notes=So%20you%27re%20writing%20a%20Python%20script%20and%20you%20are%20launching%20some%20other%20external%20command.%0D%0A%0D%0ATo%20achieve%20that%2C%20you%20are%20using%20the%20subprocess.Popen%20command%2C%20right.%0D%0A%0D%0ABut%20the%20subprocess%20is%20very%20slow%2C%20and%20it%20outputs%20data%20during%20it%20runtime%2C%20so%20you%20would%20like%20t" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/delicious.png" class="sociable-img sociable-hovers" title="del.icio.us" alt="del.icio.us" /></a><a rel="nofollow" target="_blank"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Ftrollfactory.fr%2Foutput-popen-subprocess-stdout-and-stderr-in-real-time-in-python-731&amp;title=Output%20Popen%20subprocess%20stdout%20%28and%20stderr%29%20in%20real-time%20in%20Python&amp;annotation=So%20you%27re%20writing%20a%20Python%20script%20and%20you%20are%20launching%20some%20other%20external%20command.%0D%0A%0D%0ATo%20achieve%20that%2C%20you%20are%20using%20the%20subprocess.Popen%20command%2C%20right.%0D%0A%0D%0ABut%20the%20subprocess%20is%20very%20slow%2C%20and%20it%20outputs%20data%20during%20it%20runtime%2C%20so%20you%20would%20like%20t" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/googlebookmark.png" class="sociable-img sociable-hovers" title="Google Bookmarks" alt="Google Bookmarks" /></a><a rel="nofollow" target="_blank"  href="http://technorati.com/faves?add=http%3A%2F%2Ftrollfactory.fr%2Foutput-popen-subprocess-stdout-and-stderr-in-real-time-in-python-731" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/technorati.png" class="sociable-img sociable-hovers" title="Technorati" alt="Technorati" /></a><a rel="nofollow" target="_blank"  href="http://sphinn.com/index.php?c=post&amp;m=submit&amp;link=http%3A%2F%2Ftrollfactory.fr%2Foutput-popen-subprocess-stdout-and-stderr-in-real-time-in-python-731" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/sphinn.png" class="sociable-img sociable-hovers" title="Sphinn" alt="Sphinn" /></a><a rel="nofollow" target="_blank"  href="http://www.mixx.com/submit?page_url=http%3A%2F%2Ftrollfactory.fr%2Foutput-popen-subprocess-stdout-and-stderr-in-real-time-in-python-731&amp;title=Output%20Popen%20subprocess%20stdout%20%28and%20stderr%29%20in%20real-time%20in%20Python" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/mixx.png" class="sociable-img sociable-hovers" title="Mixx" alt="Mixx" /></a><a rel="nofollow" target="_blank" title="Add to favorites" href="#" onclick="AddToFavorites(); return false;"><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/addtofavorites.png" class="sociable-img sociable-hovers" title="Add to favorites" alt="Add to favorites" /></a><a rel="nofollow" target="_blank"  href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Ftrollfactory.fr%2Foutput-popen-subprocess-stdout-and-stderr-in-real-time-in-python-731&amp;title=Output%20Popen%20subprocess%20stdout%20%28and%20stderr%29%20in%20real-time%20in%20Python" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/live.png" class="sociable-img sociable-hovers" title="Live" alt="Live" /></a><a rel="nofollow" target="_blank"  href="http://www.netvibes.com/share?title=Output%20Popen%20subprocess%20stdout%20%28and%20stderr%29%20in%20real-time%20in%20Python&amp;url=http%3A%2F%2Ftrollfactory.fr%2Foutput-popen-subprocess-stdout-and-stderr-in-real-time-in-python-731" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/netvibes.png" class="sociable-img sociable-hovers" title="Netvibes" alt="Netvibes" /></a><a rel="nofollow" target="_blank"  href="http://www.scoopeo.com/scoop/new?newurl=http%3A%2F%2Ftrollfactory.fr%2Foutput-popen-subprocess-stdout-and-stderr-in-real-time-in-python-731&amp;title=Output%20Popen%20subprocess%20stdout%20%28and%20stderr%29%20in%20real-time%20in%20Python" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/scoopeo.png" class="sociable-img sociable-hovers" title="Scoopeo" alt="Scoopeo" /></a><a rel="nofollow" target="_blank"  href="http://www.viadeo.com/shareit/share/?url=http%3A%2F%2Ftrollfactory.fr%2Foutput-popen-subprocess-stdout-and-stderr-in-real-time-in-python-731&title=Output%20Popen%20subprocess%20stdout%20%28and%20stderr%29%20in%20real-time%20in%20Python&urllanguage=fr" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/viadeo.png" class="sociable-img sociable-hovers" title="viadeo FR" alt="viadeo FR" /></a><a rel="nofollow" target="_blank"  href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Ftrollfactory.fr%2Foutput-popen-subprocess-stdout-and-stderr-in-real-time-in-python-731" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/identica.png" class="sociable-img sociable-hovers" title="Identi.ca" alt="Identi.ca" /></a><a rel="nofollow" target="_blank"  href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Ftrollfactory.fr%2Foutput-popen-subprocess-stdout-and-stderr-in-real-time-in-python-731&amp;t=Output%20Popen%20subprocess%20stdout%20%28and%20stderr%29%20in%20real-time%20in%20Python" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/myspace.png" class="sociable-img sociable-hovers" title="MySpace" alt="MySpace" /></a><a rel="nofollow" target="_blank"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Ftrollfactory.fr%2Foutput-popen-subprocess-stdout-and-stderr-in-real-time-in-python-731&amp;title=Output%20Popen%20subprocess%20stdout%20%28and%20stderr%29%20in%20real-time%20in%20Python" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/stumbleupon.png" class="sociable-img sociable-hovers" title="StumbleUpon" alt="StumbleUpon" /></a><a rel="nofollow" target="_blank"  href="http://buzz.yahoo.com/submit/?submitUrl=http%3A%2F%2Ftrollfactory.fr%2Foutput-popen-subprocess-stdout-and-stderr-in-real-time-in-python-731&amp;submitHeadline=Output%20Popen%20subprocess%20stdout%20%28and%20stderr%29%20in%20real-time%20in%20Python&amp;submitSummary=So%20you%27re%20writing%20a%20Python%20script%20and%20you%20are%20launching%20some%20other%20external%20command.%0D%0A%0D%0ATo%20achieve%20that%2C%20you%20are%20using%20the%20subprocess.Popen%20command%2C%20right.%0D%0A%0D%0ABut%20the%20subprocess%20is%20very%20slow%2C%20and%20it%20outputs%20data%20during%20it%20runtime%2C%20so%20you%20would%20like%20t&amp;submitCategory=science&amp;submitAssetType=text" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/yahoobuzz.png" class="sociable-img sociable-hovers" title="Yahoo! Buzz" alt="Yahoo! Buzz" /></a><br/><br/>]]></content:encoded>
			<wfw:commentRss>http://trollfactory.fr/output-popen-subprocess-stdout-and-stderr-in-real-time-in-python-731/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PHP: USE concatenation NOT multiple echo / parameters</title>
		<link>http://trollfactory.fr/php-use-concatenation-not-multiple-echo-parameters-586</link>
		<comments>http://trollfactory.fr/php-use-concatenation-not-multiple-echo-parameters-586#comments</comments>
		<pubDate>Sun, 12 Aug 2012 22:21:54 +0000</pubDate>
		<dc:creator><![CDATA[Troll]]></dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Scripts, astuces, dév. web]]></category>
		<category><![CDATA[benchmark]]></category>
		<category><![CDATA[echo]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[print]]></category>

		<guid isPermaLink="false">http://trollfactory.fr/?p=586</guid>
		<description><![CDATA[Print vs. Echo I just went accross an interesting article about which of &#171;&#160;print&#160;&#187; or &#171;&#160;echo&#160;&#187; we should use in PHP. The author has benchmarked the two solutions (though the data are certainly a bit old) shows that, although there is not much difference between the two, echo seems to be more efficient. Great, I [...]]]></description>
				<content:encoded><![CDATA[<h2>Print vs. Echo</h2>
<p>I just went accross an interesting article about which of &laquo;&nbsp;print&nbsp;&raquo; or &laquo;&nbsp;echo&nbsp;&raquo; we should use in PHP.</p>
<p>The author has benchmarked the two solutions (though the data are certainly a bit old) shows that, although there is not much difference between the two, echo seems to be more efficient.</p>
<p>Great, I believe you.</p>
<h2>Echo multiple statements / arguments vs. Concatenation</h2>
<p>But at the end of the article, the author also suggest to use <strong>multiple parameters</strong> given to one echo statement <strong>instead of concatenation because concatenation is slow&#8230;</strong> bla bla&#8230;</p>
<p>As I have always been using concatenation (did not even know echo could take multiple arguments) and I never had any performance issue, I decided to check that and make a benchmark: echo 100,000 times two concatenated strings and do the same thing with two parameters and two echos statements&#8230;</p>
<p><strong>The benchmark was clear: concatenation IS FASTER</strong> than the two other solutions.</p>
<h2>String caching? Making a more relevant benchmark</h2>
<p>As it appeared a bit weird to me, having been doing Java / C# mostly recently (with their slow concatenation that recreated a new object blabla), I thought &laquo;&nbsp;maybe the PHP VM is <strong>caching</strong> the result of the concatenated string, thus the benchmark is not relevant&nbsp;&raquo;.</p>
<p>OK, let&rsquo;s check with a counter-possible-caching benchmark then:</p>
<pre>

$t0 = microtime(true);

define("MAX", 2000000);
File_put_ConTents("echobench._log", "");
function _log($str)
{
	File_put_ConTents("echobench._log", file_get_contents("echobench._log") . $str);
}

// Generating a bunch of string to concatenate to avoid PHP VM-caching
$strs = array();
for ($i=0; $i < MAX+1; $i++) { 
	$m = mt_rand(0, 200);
	$strs[$i] = '';
	for ($j=0; $j < $m; $j++) { 
		$strs[$i] .= chr(mt_rand(0, 255));
	}
}

// Loop where string concatenation caching is possible :
$t1 = microtime(true);
for ($i=0; $i < MAX; $i++) { 
	echo "Hello" . "World! <br />";
}
$t2 = microtime(true);
_log("Concatenation, cached: " . ($t2-$t1) . "s\n");

// Loop where is is not :
$t1 = microtime(true);
for ($i=0; $i < MAX; $i++) { 
	echo $strs[$i] . $strs[$i + 1];
}
$t2 = microtime(true);
_log("Concatenation, not cached: " . ($t2-$t1) . "s\n");

// Other ways to display stuff, with and without caching possible each time:
$t1 = microtime(true);
for ($i=0; $i < MAX; $i++) { 
	echo $strs[$i];
	echo $strs[$i + 1];
}
$t2 = microtime(true);
_log("Two echos, not cached: " . ($t2-$t1) . "s\n");

$t1 = microtime(true);
for ($i=0; $i < MAX; $i++) { 
	echo "Hello" , "<br />";
	echo "World" , "<br />";
}
$t2 = microtime(true);
_log("Two echos, cached: " . ($t2-$t1) . "s\n");

$t1 = microtime(true);
for ($i=0; $i < MAX; $i++) { 
	echo $strs[$i], $strs[$i + 1];;
}
$t2 = microtime(true);
_log("Two parameters, not cached: " . ($t2-$t1) . "s\n");

$t1 = microtime(true);
for ($i=0; $i < MAX; $i++) { 
	echo "Hello" , "World!" , "<br />";
}
$t2 = microtime(true);
_log("Two parameters, cached: " . ($t2-$t1) . "s\n");

$t3 = microtime(true);

_log("Total benchmark time: " . ($t3-$t0)."\n");

</pre>
<p>I generated <strong>random strings</strong> at the beginning of the script. And I concatenate them after, in the loop. Thus, there is not even once the same concatenation happening, thus, no possible caching or whatever.</p>
<p>The benchmarked has been run on a 1.6GHz Atom processor, with the following command: </p>
<pre>sudo nice -n -19 php -q echobanchmark.php > /dev/null</pre>
<p>So the process was the most prioritized one on the OS and then there is no reason for any interference between the loops (moreover, the system was idle during the test (and there are 3 other virtual processors for doing whatever work the OS would need to do).</p>
<h3>And do you know the result?</h3>
<p>Here it goes: </p>
<p>Concatenation, cached: <strong>7.4381861686707s</strong><br />
Concatenation, not cached: <strong>9.9010219573975s</strong><br />
Two echos, not cached: <strong>10.4353120327s</strong><br />
Two echos, cached: <strong>14.883654117584s</strong><br />
Two parameters, not cached: <strong>10.179102897644s</strong><br />
Two parameters, cached: <strong>11.904446840286s</strong><br />
Total benchmark time: 928.97792601585</p>
<p><strong>Conclusion: Concatenation is fast, very fast.</strong> It is rougly <strong>30% faster</strong> than using the two parameters for echo (26.9268987% exactly) and roughly <strong>30% faster</strong> than two echo statements as well (28.720999% exactly) and <strong></p>
<p>The other conclusion here is that <srtong>PHP does not seem to be caching strings very well</strong>. Both the two-parameters and two-statements echo loops are <strong>much slower when using a fresh new string and much faster when using something from the previously generated array</strong>. The difference between cached / non-cached loop for the concatenation loop is also not that impressive if we observe that my &laquo;&nbsp;not cached&nbsp;&raquo; loop is using strings of random length that can go until 200 chars whereas the &laquo;&nbsp;cached&nbsp;&raquo; one is a very short string (so the difference of 2 seconds is certainly also due to the difference in length of the strings).</p>
<p>If you have any suggestion to improve the benchmark, feel free to post a comment.</p>
Share and Enjoy:<a rel="nofollow" target="_blank"  href="http://www.printfriendly.com/print/new?url=http%3A%2F%2Ftrollfactory.fr%2Fphp-use-concatenation-not-multiple-echo-parameters-586" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/printfriendly.png" class="sociable-img sociable-hovers" title="Print" alt="Print" /></a><a rel="nofollow" target="_blank"  href="http://www.printfriendly.com/print/new?url=http%3A%2F%2Ftrollfactory.fr%2Fphp-use-concatenation-not-multiple-echo-parameters-586" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/pdf.png" class="sociable-img sociable-hovers" title="PDF" alt="PDF" /></a><a rel="nofollow" target="_blank"  href="http://twitter.com/home?status=PHP%3A%20USE%20concatenation%20NOT%20multiple%20echo%20%2F%20parameters%20-%20http%3A%2F%2Ftrollfactory.fr%2Fphp-use-concatenation-not-multiple-echo-parameters-586" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/twitter.png" class="sociable-img sociable-hovers" title="Twitter" alt="Twitter" /></a><a rel="nofollow" target="_blank"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Ftrollfactory.fr%2Fphp-use-concatenation-not-multiple-echo-parameters-586&amp;t=PHP%3A%20USE%20concatenation%20NOT%20multiple%20echo%20%2F%20parameters" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/facebook.png" class="sociable-img sociable-hovers" title="Facebook" alt="Facebook" /></a><a rel="nofollow" target="_blank"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Ftrollfactory.fr%2Fphp-use-concatenation-not-multiple-echo-parameters-586&amp;title=PHP%3A%20USE%20concatenation%20NOT%20multiple%20echo%20%2F%20parameters&amp;source=The+Troll%26%23039%3Bs+factory+Geekeries+%26amp%3B+pens%C3%A9es&amp;summary=Print%20vs.%20Echo%0D%0A%0D%0AI%20just%20went%20accross%20an%20interesting%20article%20about%20which%20of%20%22print%22%20or%20%22echo%22%20we%20should%20use%20in%20PHP.%0D%0A%0D%0AThe%20author%20has%20benchmarked%20the%20two%20solutions%20%28though%20the%20data%20are%20certainly%20a%20bit%20old%29%20shows%20that%2C%20although%20there%20is%20not%20much%20diffe" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/linkedin.png" class="sociable-img sociable-hovers" title="LinkedIn" alt="LinkedIn" /></a><a rel="nofollow" target="_blank"  href="http://trollfactory.fr/feed" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/rss.png" class="sociable-img sociable-hovers" title="RSS" alt="RSS" /></a><a rel="nofollow" target="_blank"  href="http://www.wikio.fr/vote?url=http%3A%2F%2Ftrollfactory.fr%2Fphp-use-concatenation-not-multiple-echo-parameters-586" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/wikio.png" class="sociable-img sociable-hovers" title="Wikio FR" alt="Wikio FR" /></a><a rel="nofollow" target="_blank"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Ftrollfactory.fr%2Fphp-use-concatenation-not-multiple-echo-parameters-586&amp;title=PHP%3A%20USE%20concatenation%20NOT%20multiple%20echo%20%2F%20parameters&amp;bodytext=Print%20vs.%20Echo%0D%0A%0D%0AI%20just%20went%20accross%20an%20interesting%20article%20about%20which%20of%20%22print%22%20or%20%22echo%22%20we%20should%20use%20in%20PHP.%0D%0A%0D%0AThe%20author%20has%20benchmarked%20the%20two%20solutions%20%28though%20the%20data%20are%20certainly%20a%20bit%20old%29%20shows%20that%2C%20although%20there%20is%20not%20much%20diffe" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/digg.png" class="sociable-img sociable-hovers" title="Digg" alt="Digg" /></a><a rel="nofollow" target="_blank"  href="http://delicious.com/post?url=http%3A%2F%2Ftrollfactory.fr%2Fphp-use-concatenation-not-multiple-echo-parameters-586&amp;title=PHP%3A%20USE%20concatenation%20NOT%20multiple%20echo%20%2F%20parameters&amp;notes=Print%20vs.%20Echo%0D%0A%0D%0AI%20just%20went%20accross%20an%20interesting%20article%20about%20which%20of%20%22print%22%20or%20%22echo%22%20we%20should%20use%20in%20PHP.%0D%0A%0D%0AThe%20author%20has%20benchmarked%20the%20two%20solutions%20%28though%20the%20data%20are%20certainly%20a%20bit%20old%29%20shows%20that%2C%20although%20there%20is%20not%20much%20diffe" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/delicious.png" class="sociable-img sociable-hovers" title="del.icio.us" alt="del.icio.us" /></a><a rel="nofollow" target="_blank"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Ftrollfactory.fr%2Fphp-use-concatenation-not-multiple-echo-parameters-586&amp;title=PHP%3A%20USE%20concatenation%20NOT%20multiple%20echo%20%2F%20parameters&amp;annotation=Print%20vs.%20Echo%0D%0A%0D%0AI%20just%20went%20accross%20an%20interesting%20article%20about%20which%20of%20%22print%22%20or%20%22echo%22%20we%20should%20use%20in%20PHP.%0D%0A%0D%0AThe%20author%20has%20benchmarked%20the%20two%20solutions%20%28though%20the%20data%20are%20certainly%20a%20bit%20old%29%20shows%20that%2C%20although%20there%20is%20not%20much%20diffe" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/googlebookmark.png" class="sociable-img sociable-hovers" title="Google Bookmarks" alt="Google Bookmarks" /></a><a rel="nofollow" target="_blank"  href="http://technorati.com/faves?add=http%3A%2F%2Ftrollfactory.fr%2Fphp-use-concatenation-not-multiple-echo-parameters-586" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/technorati.png" class="sociable-img sociable-hovers" title="Technorati" alt="Technorati" /></a><a rel="nofollow" target="_blank"  href="http://sphinn.com/index.php?c=post&amp;m=submit&amp;link=http%3A%2F%2Ftrollfactory.fr%2Fphp-use-concatenation-not-multiple-echo-parameters-586" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/sphinn.png" class="sociable-img sociable-hovers" title="Sphinn" alt="Sphinn" /></a><a rel="nofollow" target="_blank"  href="http://www.mixx.com/submit?page_url=http%3A%2F%2Ftrollfactory.fr%2Fphp-use-concatenation-not-multiple-echo-parameters-586&amp;title=PHP%3A%20USE%20concatenation%20NOT%20multiple%20echo%20%2F%20parameters" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/mixx.png" class="sociable-img sociable-hovers" title="Mixx" alt="Mixx" /></a><a rel="nofollow" target="_blank" title="Add to favorites" href="#" onclick="AddToFavorites(); return false;"><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/addtofavorites.png" class="sociable-img sociable-hovers" title="Add to favorites" alt="Add to favorites" /></a><a rel="nofollow" target="_blank"  href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Ftrollfactory.fr%2Fphp-use-concatenation-not-multiple-echo-parameters-586&amp;title=PHP%3A%20USE%20concatenation%20NOT%20multiple%20echo%20%2F%20parameters" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/live.png" class="sociable-img sociable-hovers" title="Live" alt="Live" /></a><a rel="nofollow" target="_blank"  href="http://www.netvibes.com/share?title=PHP%3A%20USE%20concatenation%20NOT%20multiple%20echo%20%2F%20parameters&amp;url=http%3A%2F%2Ftrollfactory.fr%2Fphp-use-concatenation-not-multiple-echo-parameters-586" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/netvibes.png" class="sociable-img sociable-hovers" title="Netvibes" alt="Netvibes" /></a><a rel="nofollow" target="_blank"  href="http://www.scoopeo.com/scoop/new?newurl=http%3A%2F%2Ftrollfactory.fr%2Fphp-use-concatenation-not-multiple-echo-parameters-586&amp;title=PHP%3A%20USE%20concatenation%20NOT%20multiple%20echo%20%2F%20parameters" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/scoopeo.png" class="sociable-img sociable-hovers" title="Scoopeo" alt="Scoopeo" /></a><a rel="nofollow" target="_blank"  href="http://www.viadeo.com/shareit/share/?url=http%3A%2F%2Ftrollfactory.fr%2Fphp-use-concatenation-not-multiple-echo-parameters-586&title=PHP%3A%20USE%20concatenation%20NOT%20multiple%20echo%20%2F%20parameters&urllanguage=fr" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/viadeo.png" class="sociable-img sociable-hovers" title="viadeo FR" alt="viadeo FR" /></a><a rel="nofollow" target="_blank"  href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Ftrollfactory.fr%2Fphp-use-concatenation-not-multiple-echo-parameters-586" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/identica.png" class="sociable-img sociable-hovers" title="Identi.ca" alt="Identi.ca" /></a><a rel="nofollow" target="_blank"  href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Ftrollfactory.fr%2Fphp-use-concatenation-not-multiple-echo-parameters-586&amp;t=PHP%3A%20USE%20concatenation%20NOT%20multiple%20echo%20%2F%20parameters" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/myspace.png" class="sociable-img sociable-hovers" title="MySpace" alt="MySpace" /></a><a rel="nofollow" target="_blank"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Ftrollfactory.fr%2Fphp-use-concatenation-not-multiple-echo-parameters-586&amp;title=PHP%3A%20USE%20concatenation%20NOT%20multiple%20echo%20%2F%20parameters" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/stumbleupon.png" class="sociable-img sociable-hovers" title="StumbleUpon" alt="StumbleUpon" /></a><a rel="nofollow" target="_blank"  href="http://buzz.yahoo.com/submit/?submitUrl=http%3A%2F%2Ftrollfactory.fr%2Fphp-use-concatenation-not-multiple-echo-parameters-586&amp;submitHeadline=PHP%3A%20USE%20concatenation%20NOT%20multiple%20echo%20%2F%20parameters&amp;submitSummary=Print%20vs.%20Echo%0D%0A%0D%0AI%20just%20went%20accross%20an%20interesting%20article%20about%20which%20of%20%22print%22%20or%20%22echo%22%20we%20should%20use%20in%20PHP.%0D%0A%0D%0AThe%20author%20has%20benchmarked%20the%20two%20solutions%20%28though%20the%20data%20are%20certainly%20a%20bit%20old%29%20shows%20that%2C%20although%20there%20is%20not%20much%20diffe&amp;submitCategory=science&amp;submitAssetType=text" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/yahoobuzz.png" class="sociable-img sociable-hovers" title="Yahoo! Buzz" alt="Yahoo! Buzz" /></a><br/><br/>]]></content:encoded>
			<wfw:commentRss>http://trollfactory.fr/php-use-concatenation-not-multiple-echo-parameters-586/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Résoudre un conflit sur le fichier .cproject (Eclipse) dans SVN/Subclipse // Conflict solving for .cproject with SVN/Subclipse</title>
		<link>http://trollfactory.fr/resoudre-un-conflit-sur-le-fichier-cproject-eclipse-dans-svnsubclipse-conflict-solving-for-cproject-with-svnsubclipse-547</link>
		<comments>http://trollfactory.fr/resoudre-un-conflit-sur-le-fichier-cproject-eclipse-dans-svnsubclipse-conflict-solving-for-cproject-with-svnsubclipse-547#comments</comments>
		<pubDate>Wed, 16 Nov 2011 18:15:32 +0000</pubDate>
		<dc:creator><![CDATA[Troll]]></dc:creator>
				<category><![CDATA[Scripts, astuces, dév. web]]></category>
		<category><![CDATA[conflict]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[subclipse]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://trollfactory.fr/?p=547</guid>
		<description><![CDATA[&#160; English readers : see at the bottom of the French version !! Hello les amis, Aujourd&#8217;hui, petite astuce qui pourrait faire gagner 1h à des gens qui comme moi, pensent qu&#8217;il suffit de résoudre un conflit pour&#8230; qu&#8217;il soit résolu ! Eh bien non, cela ne semble pas marcher tout à fait pareil avec [...]]]></description>
				<content:encoded><![CDATA[<p>&nbsp;</p>
<p><span style="text-decoration: underline; color: #0000ff; font-size: 120%;"><strong>English readers : see at the bottom of the French version !! </strong></span></p>
<p>Hello les amis,</p>
<p>Aujourd&rsquo;hui, petite astuce qui pourrait faire gagner 1h à des gens qui comme moi, pensent qu&rsquo;il suffit de résoudre un conflit pour&#8230; qu&rsquo;il soit résolu !</p>
<p>Eh bien non, cela ne semble pas marcher tout à fait pareil avec le <strong>plug-in Subclipse pour Eclipse</strong>.</p>
<p>Si vous avez le malheur d&rsquo;avoir un conflit, normalement, il vous suffit de faire <strong>clic-droit sur le fichier puis &laquo;&nbsp;Team&nbsp;&raquo; puis &laquo;&nbsp;Mark as resolved&nbsp;&raquo;</strong>.</p>
<p>SAUF QUE <strong>le .cproject n&rsquo;apparaît bien évidemment pas dans la perspective &laquo;&nbsp;ressources&nbsp;&raquo;</strong> (par défaut) de Eclipse !! Impossible donc de le résoudre !</p>
<p>Or, <strong>si vous le résolvez en utilisant SVN via la console par exemple, Subclipse ne s&rsquo;en &laquo;&nbsp;rendra pas compte&nbsp;&raquo;</strong> (ne me demandez pas pourquoi) et refusera encore et toujours de commiter les futurs changements.</p>
<p><strong>Pour résoudre le conflit, il faut que vous <span style="text-decoration: underline;">ouvriez la &laquo;&nbsp;perspective&nbsp;&raquo; &laquo;&nbsp;Team Synchronizing&nbsp;&raquo;</span></strong>, à ce moment-là, vous devriez enfin voir votre <strong>.cproject</strong> et vous pourrez alors faire <strong>Mark as resolved</strong> (en sélectionnant ensuite l&rsquo;option de votre choix sur la résolution du conflit).</p>
<p>Voilà ! Et <strong>Subclipse</strong> arrêtera de vous harceler avec ce conflit qui n&rsquo;en est plus un&#8230;</p>
<p>Bon dev&rsquo; !</p>
<p>&nbsp;</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;English version (summerized) &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>Hi folks,</p>
<p>The <strong>.cproject file</strong> won&rsquo;t be displayed on the &laquo;&nbsp;resources&nbsp;&raquo; perspective (view), so you can&rsquo;t resolve the conflict by right-clicking and then selecting options <strong>&laquo;&nbsp;Team&nbsp;&raquo;</strong> and <strong>&laquo;&nbsp;Mark as resolved&nbsp;&raquo;</strong>.</p>
<p>Moreover, solving the conflict using the<strong> SVN command line interface won&rsquo;t work</strong>, Subclipse will &laquo;&nbsp;remember&nbsp;&raquo; the conflict.</p>
<p>To get this working, <strong><span style="text-decoration: underline;">you have to open the &laquo;&nbsp;Team Synchronizing&nbsp;&raquo; perspective</span> in Eclipse</strong>. There, you should be able to find the <strong>.cproject</strong> file and so <strong>Mark it as resolved</strong> (and then select the option you want for the conflict solving way).</p>
<p>Here it is ! <strong>Subclipse</strong> will stop harassing you !</p>
<p>&nbsp;</p>
<p>Have a nice dev&rsquo; !</p>
Share and Enjoy:<a rel="nofollow" target="_blank"  href="http://www.printfriendly.com/print/new?url=http%3A%2F%2Ftrollfactory.fr%2Fresoudre-un-conflit-sur-le-fichier-cproject-eclipse-dans-svnsubclipse-conflict-solving-for-cproject-with-svnsubclipse-547" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/printfriendly.png" class="sociable-img sociable-hovers" title="Print" alt="Print" /></a><a rel="nofollow" target="_blank"  href="http://www.printfriendly.com/print/new?url=http%3A%2F%2Ftrollfactory.fr%2Fresoudre-un-conflit-sur-le-fichier-cproject-eclipse-dans-svnsubclipse-conflict-solving-for-cproject-with-svnsubclipse-547" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/pdf.png" class="sociable-img sociable-hovers" title="PDF" alt="PDF" /></a><a rel="nofollow" target="_blank"  href="http://twitter.com/home?status=R%C3%A9soudre%20un%20conflit%20sur%20le%20fichier%20.cproject%20%28Eclipse%29%20dans%20SVN%2FSubclipse%20%2F%2F%20Conflict%20solving%20for%20.cproject%20with%20SVN%2FSubclipse%20-%20http%3A%2F%2Ftrollfactory.fr%2Fresoudre-un-conflit-sur-le-fichier-cproject-eclipse-dans-svnsubclipse-conflict-solving-for-cproject-with-svnsubclipse-547" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/twitter.png" class="sociable-img sociable-hovers" title="Twitter" alt="Twitter" /></a><a rel="nofollow" target="_blank"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Ftrollfactory.fr%2Fresoudre-un-conflit-sur-le-fichier-cproject-eclipse-dans-svnsubclipse-conflict-solving-for-cproject-with-svnsubclipse-547&amp;t=R%C3%A9soudre%20un%20conflit%20sur%20le%20fichier%20.cproject%20%28Eclipse%29%20dans%20SVN%2FSubclipse%20%2F%2F%20Conflict%20solving%20for%20.cproject%20with%20SVN%2FSubclipse" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/facebook.png" class="sociable-img sociable-hovers" title="Facebook" alt="Facebook" /></a><a rel="nofollow" target="_blank"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Ftrollfactory.fr%2Fresoudre-un-conflit-sur-le-fichier-cproject-eclipse-dans-svnsubclipse-conflict-solving-for-cproject-with-svnsubclipse-547&amp;title=R%C3%A9soudre%20un%20conflit%20sur%20le%20fichier%20.cproject%20%28Eclipse%29%20dans%20SVN%2FSubclipse%20%2F%2F%20Conflict%20solving%20for%20.cproject%20with%20SVN%2FSubclipse&amp;source=The+Troll%26%23039%3Bs+factory+Geekeries+%26amp%3B+pens%C3%A9es&amp;summary=%26nbsp%3B%0D%0A%0D%0AEnglish%20readers%20%3A%20see%20at%20the%20bottom%20of%20the%20French%20version%20%21%21%20%0D%0A%0D%0AHello%20les%20amis%2C%0D%0A%0D%0AAujourd%27hui%2C%20petite%20astuce%20qui%20pourrait%20faire%20gagner%201h%20%C3%A0%20des%20gens%20qui%20comme%20moi%2C%20pensent%20qu%27il%20suffit%20de%20r%C3%A9soudre%20un%20conflit%20pour...%20qu%27il%20soit%20r%C3%A9solu%20%21" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/linkedin.png" class="sociable-img sociable-hovers" title="LinkedIn" alt="LinkedIn" /></a><a rel="nofollow" target="_blank"  href="http://trollfactory.fr/feed" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/rss.png" class="sociable-img sociable-hovers" title="RSS" alt="RSS" /></a><a rel="nofollow" target="_blank"  href="http://www.wikio.fr/vote?url=http%3A%2F%2Ftrollfactory.fr%2Fresoudre-un-conflit-sur-le-fichier-cproject-eclipse-dans-svnsubclipse-conflict-solving-for-cproject-with-svnsubclipse-547" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/wikio.png" class="sociable-img sociable-hovers" title="Wikio FR" alt="Wikio FR" /></a><a rel="nofollow" target="_blank"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Ftrollfactory.fr%2Fresoudre-un-conflit-sur-le-fichier-cproject-eclipse-dans-svnsubclipse-conflict-solving-for-cproject-with-svnsubclipse-547&amp;title=R%C3%A9soudre%20un%20conflit%20sur%20le%20fichier%20.cproject%20%28Eclipse%29%20dans%20SVN%2FSubclipse%20%2F%2F%20Conflict%20solving%20for%20.cproject%20with%20SVN%2FSubclipse&amp;bodytext=%26nbsp%3B%0D%0A%0D%0AEnglish%20readers%20%3A%20see%20at%20the%20bottom%20of%20the%20French%20version%20%21%21%20%0D%0A%0D%0AHello%20les%20amis%2C%0D%0A%0D%0AAujourd%27hui%2C%20petite%20astuce%20qui%20pourrait%20faire%20gagner%201h%20%C3%A0%20des%20gens%20qui%20comme%20moi%2C%20pensent%20qu%27il%20suffit%20de%20r%C3%A9soudre%20un%20conflit%20pour...%20qu%27il%20soit%20r%C3%A9solu%20%21" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/digg.png" class="sociable-img sociable-hovers" title="Digg" alt="Digg" /></a><a rel="nofollow" target="_blank"  href="http://delicious.com/post?url=http%3A%2F%2Ftrollfactory.fr%2Fresoudre-un-conflit-sur-le-fichier-cproject-eclipse-dans-svnsubclipse-conflict-solving-for-cproject-with-svnsubclipse-547&amp;title=R%C3%A9soudre%20un%20conflit%20sur%20le%20fichier%20.cproject%20%28Eclipse%29%20dans%20SVN%2FSubclipse%20%2F%2F%20Conflict%20solving%20for%20.cproject%20with%20SVN%2FSubclipse&amp;notes=%26nbsp%3B%0D%0A%0D%0AEnglish%20readers%20%3A%20see%20at%20the%20bottom%20of%20the%20French%20version%20%21%21%20%0D%0A%0D%0AHello%20les%20amis%2C%0D%0A%0D%0AAujourd%27hui%2C%20petite%20astuce%20qui%20pourrait%20faire%20gagner%201h%20%C3%A0%20des%20gens%20qui%20comme%20moi%2C%20pensent%20qu%27il%20suffit%20de%20r%C3%A9soudre%20un%20conflit%20pour...%20qu%27il%20soit%20r%C3%A9solu%20%21" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/delicious.png" class="sociable-img sociable-hovers" title="del.icio.us" alt="del.icio.us" /></a><a rel="nofollow" target="_blank"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Ftrollfactory.fr%2Fresoudre-un-conflit-sur-le-fichier-cproject-eclipse-dans-svnsubclipse-conflict-solving-for-cproject-with-svnsubclipse-547&amp;title=R%C3%A9soudre%20un%20conflit%20sur%20le%20fichier%20.cproject%20%28Eclipse%29%20dans%20SVN%2FSubclipse%20%2F%2F%20Conflict%20solving%20for%20.cproject%20with%20SVN%2FSubclipse&amp;annotation=%26nbsp%3B%0D%0A%0D%0AEnglish%20readers%20%3A%20see%20at%20the%20bottom%20of%20the%20French%20version%20%21%21%20%0D%0A%0D%0AHello%20les%20amis%2C%0D%0A%0D%0AAujourd%27hui%2C%20petite%20astuce%20qui%20pourrait%20faire%20gagner%201h%20%C3%A0%20des%20gens%20qui%20comme%20moi%2C%20pensent%20qu%27il%20suffit%20de%20r%C3%A9soudre%20un%20conflit%20pour...%20qu%27il%20soit%20r%C3%A9solu%20%21" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/googlebookmark.png" class="sociable-img sociable-hovers" title="Google Bookmarks" alt="Google Bookmarks" /></a><a rel="nofollow" target="_blank"  href="http://technorati.com/faves?add=http%3A%2F%2Ftrollfactory.fr%2Fresoudre-un-conflit-sur-le-fichier-cproject-eclipse-dans-svnsubclipse-conflict-solving-for-cproject-with-svnsubclipse-547" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/technorati.png" class="sociable-img sociable-hovers" title="Technorati" alt="Technorati" /></a><a rel="nofollow" target="_blank"  href="http://sphinn.com/index.php?c=post&amp;m=submit&amp;link=http%3A%2F%2Ftrollfactory.fr%2Fresoudre-un-conflit-sur-le-fichier-cproject-eclipse-dans-svnsubclipse-conflict-solving-for-cproject-with-svnsubclipse-547" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/sphinn.png" class="sociable-img sociable-hovers" title="Sphinn" alt="Sphinn" /></a><a rel="nofollow" target="_blank"  href="http://www.mixx.com/submit?page_url=http%3A%2F%2Ftrollfactory.fr%2Fresoudre-un-conflit-sur-le-fichier-cproject-eclipse-dans-svnsubclipse-conflict-solving-for-cproject-with-svnsubclipse-547&amp;title=R%C3%A9soudre%20un%20conflit%20sur%20le%20fichier%20.cproject%20%28Eclipse%29%20dans%20SVN%2FSubclipse%20%2F%2F%20Conflict%20solving%20for%20.cproject%20with%20SVN%2FSubclipse" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/mixx.png" class="sociable-img sociable-hovers" title="Mixx" alt="Mixx" /></a><a rel="nofollow" target="_blank" title="Add to favorites" href="#" onclick="AddToFavorites(); return false;"><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/addtofavorites.png" class="sociable-img sociable-hovers" title="Add to favorites" alt="Add to favorites" /></a><a rel="nofollow" target="_blank"  href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Ftrollfactory.fr%2Fresoudre-un-conflit-sur-le-fichier-cproject-eclipse-dans-svnsubclipse-conflict-solving-for-cproject-with-svnsubclipse-547&amp;title=R%C3%A9soudre%20un%20conflit%20sur%20le%20fichier%20.cproject%20%28Eclipse%29%20dans%20SVN%2FSubclipse%20%2F%2F%20Conflict%20solving%20for%20.cproject%20with%20SVN%2FSubclipse" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/live.png" class="sociable-img sociable-hovers" title="Live" alt="Live" /></a><a rel="nofollow" target="_blank"  href="http://www.netvibes.com/share?title=R%C3%A9soudre%20un%20conflit%20sur%20le%20fichier%20.cproject%20%28Eclipse%29%20dans%20SVN%2FSubclipse%20%2F%2F%20Conflict%20solving%20for%20.cproject%20with%20SVN%2FSubclipse&amp;url=http%3A%2F%2Ftrollfactory.fr%2Fresoudre-un-conflit-sur-le-fichier-cproject-eclipse-dans-svnsubclipse-conflict-solving-for-cproject-with-svnsubclipse-547" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/netvibes.png" class="sociable-img sociable-hovers" title="Netvibes" alt="Netvibes" /></a><a rel="nofollow" target="_blank"  href="http://www.scoopeo.com/scoop/new?newurl=http%3A%2F%2Ftrollfactory.fr%2Fresoudre-un-conflit-sur-le-fichier-cproject-eclipse-dans-svnsubclipse-conflict-solving-for-cproject-with-svnsubclipse-547&amp;title=R%C3%A9soudre%20un%20conflit%20sur%20le%20fichier%20.cproject%20%28Eclipse%29%20dans%20SVN%2FSubclipse%20%2F%2F%20Conflict%20solving%20for%20.cproject%20with%20SVN%2FSubclipse" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/scoopeo.png" class="sociable-img sociable-hovers" title="Scoopeo" alt="Scoopeo" /></a><a rel="nofollow" target="_blank"  href="http://www.viadeo.com/shareit/share/?url=http%3A%2F%2Ftrollfactory.fr%2Fresoudre-un-conflit-sur-le-fichier-cproject-eclipse-dans-svnsubclipse-conflict-solving-for-cproject-with-svnsubclipse-547&title=R%C3%A9soudre%20un%20conflit%20sur%20le%20fichier%20.cproject%20%28Eclipse%29%20dans%20SVN%2FSubclipse%20%2F%2F%20Conflict%20solving%20for%20.cproject%20with%20SVN%2FSubclipse&urllanguage=fr" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/viadeo.png" class="sociable-img sociable-hovers" title="viadeo FR" alt="viadeo FR" /></a><a rel="nofollow" target="_blank"  href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Ftrollfactory.fr%2Fresoudre-un-conflit-sur-le-fichier-cproject-eclipse-dans-svnsubclipse-conflict-solving-for-cproject-with-svnsubclipse-547" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/identica.png" class="sociable-img sociable-hovers" title="Identi.ca" alt="Identi.ca" /></a><a rel="nofollow" target="_blank"  href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Ftrollfactory.fr%2Fresoudre-un-conflit-sur-le-fichier-cproject-eclipse-dans-svnsubclipse-conflict-solving-for-cproject-with-svnsubclipse-547&amp;t=R%C3%A9soudre%20un%20conflit%20sur%20le%20fichier%20.cproject%20%28Eclipse%29%20dans%20SVN%2FSubclipse%20%2F%2F%20Conflict%20solving%20for%20.cproject%20with%20SVN%2FSubclipse" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/myspace.png" class="sociable-img sociable-hovers" title="MySpace" alt="MySpace" /></a><a rel="nofollow" target="_blank"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Ftrollfactory.fr%2Fresoudre-un-conflit-sur-le-fichier-cproject-eclipse-dans-svnsubclipse-conflict-solving-for-cproject-with-svnsubclipse-547&amp;title=R%C3%A9soudre%20un%20conflit%20sur%20le%20fichier%20.cproject%20%28Eclipse%29%20dans%20SVN%2FSubclipse%20%2F%2F%20Conflict%20solving%20for%20.cproject%20with%20SVN%2FSubclipse" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/stumbleupon.png" class="sociable-img sociable-hovers" title="StumbleUpon" alt="StumbleUpon" /></a><a rel="nofollow" target="_blank"  href="http://buzz.yahoo.com/submit/?submitUrl=http%3A%2F%2Ftrollfactory.fr%2Fresoudre-un-conflit-sur-le-fichier-cproject-eclipse-dans-svnsubclipse-conflict-solving-for-cproject-with-svnsubclipse-547&amp;submitHeadline=R%C3%A9soudre%20un%20conflit%20sur%20le%20fichier%20.cproject%20%28Eclipse%29%20dans%20SVN%2FSubclipse%20%2F%2F%20Conflict%20solving%20for%20.cproject%20with%20SVN%2FSubclipse&amp;submitSummary=%26nbsp%3B%0D%0A%0D%0AEnglish%20readers%20%3A%20see%20at%20the%20bottom%20of%20the%20French%20version%20%21%21%20%0D%0A%0D%0AHello%20les%20amis%2C%0D%0A%0D%0AAujourd%27hui%2C%20petite%20astuce%20qui%20pourrait%20faire%20gagner%201h%20%C3%A0%20des%20gens%20qui%20comme%20moi%2C%20pensent%20qu%27il%20suffit%20de%20r%C3%A9soudre%20un%20conflit%20pour...%20qu%27il%20soit%20r%C3%A9solu%20%21&amp;submitCategory=science&amp;submitAssetType=text" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/yahoobuzz.png" class="sociable-img sociable-hovers" title="Yahoo! Buzz" alt="Yahoo! Buzz" /></a><br/><br/>]]></content:encoded>
			<wfw:commentRss>http://trollfactory.fr/resoudre-un-conflit-sur-le-fichier-cproject-eclipse-dans-svnsubclipse-conflict-solving-for-cproject-with-svnsubclipse-547/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lire les MP3 sur Amarok sous Fedora 16 (FC16)</title>
		<link>http://trollfactory.fr/lire-les-mp3-sur-amarok-sous-fedora-16-fc16-537</link>
		<comments>http://trollfactory.fr/lire-les-mp3-sur-amarok-sous-fedora-16-fc16-537#comments</comments>
		<pubDate>Wed, 09 Nov 2011 23:41:14 +0000</pubDate>
		<dc:creator><![CDATA[Troll]]></dc:creator>
				<category><![CDATA[Astuces Linux]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Scripts, astuces, dév. web]]></category>
		<category><![CDATA[amarok]]></category>
		<category><![CDATA[fc16]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[gstreamer]]></category>
		<category><![CDATA[mp3]]></category>

		<guid isPermaLink="false">http://trollfactory.fr/?p=537</guid>
		<description><![CDATA[Voici un micro-article (après la boulette de cette aprem&#8230; publication d&#8217;un brouillon par mégarde&#8230;) pour quand même mettre l&#8217;info à disposition sur Internet : Si vous cherchez sur Internet comment lire les MP3 sous Fedora vous allez tomber sur cette page : Lecture de fichiers multimédia sur Fedora. Tout d&#8217;abord, il vous faudra, si ce [...]]]></description>
				<content:encoded><![CDATA[<p>Voici un micro-article (après la boulette de cette aprem&#8230; publication d&rsquo;un brouillon par mégarde&#8230;) pour quand même mettre l&rsquo;info à disposition sur Internet : <strong>Si vous cherchez sur Internet comment lire les MP3 sous Fedora vous allez tomber sur cette page :</strong> <a href="http://doc.fedora-fr.org/wiki/Lecture_de_fichiers_multim%C3%A9dia" target="_blank">Lecture de fichiers multimédia sur Fedora</a>.<strong> </strong></p>
<p>Tout d&rsquo;abord, il vous faudra, si ce n&rsquo;est pas encore fait, installer les dépôts RPM Fusion (merci à Mezzo pour le rappel <img src="//trollfactory.fr/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /> ). Ces dépôts contiennent à peu près&#8230; beaucoup de choses dont vous aurez besoin ! Notamment les pilotes graphiques pour Nvidia&#8230; etc. etc. &#8230; Bref, c&rsquo;est un <strong>must-have</strong>, installons-les, pour cela, tapez les commandes suivantes dans une console (il va vous demander le mots de passe root, c&rsquo;est normal vous allez installer un logiciel !) :</p>
<p><code>su -lc ‘yum install --nogpgcheck http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm‘<br />
 su -lc ‘yum install --nogpgcheck http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm‘</code></p>
<p>Si cette page est très intéressant, <strong>elle n&rsquo;est cependant pas à jour.</strong> Dorénavant, Amarok sous Fedora utilise GStreamer, pour avoir les MP3 il vous faut donc installer les paquets suivants :</p>
<pre># yum install gstreamer-plugins-ugly gstreamer-ffmpeg</pre>
<p>Un petit redémarrage d&rsquo;Amarok peut s&rsquo;imposer afin que ça fonctionne&#8230;</p>
Share and Enjoy:<a rel="nofollow" target="_blank"  href="http://www.printfriendly.com/print/new?url=http%3A%2F%2Ftrollfactory.fr%2Flire-les-mp3-sur-amarok-sous-fedora-16-fc16-537" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/printfriendly.png" class="sociable-img sociable-hovers" title="Print" alt="Print" /></a><a rel="nofollow" target="_blank"  href="http://www.printfriendly.com/print/new?url=http%3A%2F%2Ftrollfactory.fr%2Flire-les-mp3-sur-amarok-sous-fedora-16-fc16-537" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/pdf.png" class="sociable-img sociable-hovers" title="PDF" alt="PDF" /></a><a rel="nofollow" target="_blank"  href="http://twitter.com/home?status=Lire%20les%20MP3%20sur%20Amarok%20sous%20Fedora%2016%20%28FC16%29%20-%20http%3A%2F%2Ftrollfactory.fr%2Flire-les-mp3-sur-amarok-sous-fedora-16-fc16-537" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/twitter.png" class="sociable-img sociable-hovers" title="Twitter" alt="Twitter" /></a><a rel="nofollow" target="_blank"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Ftrollfactory.fr%2Flire-les-mp3-sur-amarok-sous-fedora-16-fc16-537&amp;t=Lire%20les%20MP3%20sur%20Amarok%20sous%20Fedora%2016%20%28FC16%29" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/facebook.png" class="sociable-img sociable-hovers" title="Facebook" alt="Facebook" /></a><a rel="nofollow" target="_blank"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Ftrollfactory.fr%2Flire-les-mp3-sur-amarok-sous-fedora-16-fc16-537&amp;title=Lire%20les%20MP3%20sur%20Amarok%20sous%20Fedora%2016%20%28FC16%29&amp;source=The+Troll%26%23039%3Bs+factory+Geekeries+%26amp%3B+pens%C3%A9es&amp;summary=Voici%20un%20micro-article%20%28apr%C3%A8s%20la%20boulette%20de%20cette%20aprem...%20publication%20d%27un%20brouillon%20par%20m%C3%A9garde...%29%20pour%20quand%20m%C3%AAme%20mettre%20l%27info%20%C3%A0%20disposition%20sur%20Internet%20%3A%20Si%20vous%20cherchez%20sur%20Internet%20comment%20lire%20les%20MP3%20sous%20Fedora%20vous%20allez%20tomber%20sur" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/linkedin.png" class="sociable-img sociable-hovers" title="LinkedIn" alt="LinkedIn" /></a><a rel="nofollow" target="_blank"  href="http://trollfactory.fr/feed" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/rss.png" class="sociable-img sociable-hovers" title="RSS" alt="RSS" /></a><a rel="nofollow" target="_blank"  href="http://www.wikio.fr/vote?url=http%3A%2F%2Ftrollfactory.fr%2Flire-les-mp3-sur-amarok-sous-fedora-16-fc16-537" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/wikio.png" class="sociable-img sociable-hovers" title="Wikio FR" alt="Wikio FR" /></a><a rel="nofollow" target="_blank"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Ftrollfactory.fr%2Flire-les-mp3-sur-amarok-sous-fedora-16-fc16-537&amp;title=Lire%20les%20MP3%20sur%20Amarok%20sous%20Fedora%2016%20%28FC16%29&amp;bodytext=Voici%20un%20micro-article%20%28apr%C3%A8s%20la%20boulette%20de%20cette%20aprem...%20publication%20d%27un%20brouillon%20par%20m%C3%A9garde...%29%20pour%20quand%20m%C3%AAme%20mettre%20l%27info%20%C3%A0%20disposition%20sur%20Internet%20%3A%20Si%20vous%20cherchez%20sur%20Internet%20comment%20lire%20les%20MP3%20sous%20Fedora%20vous%20allez%20tomber%20sur" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/digg.png" class="sociable-img sociable-hovers" title="Digg" alt="Digg" /></a><a rel="nofollow" target="_blank"  href="http://delicious.com/post?url=http%3A%2F%2Ftrollfactory.fr%2Flire-les-mp3-sur-amarok-sous-fedora-16-fc16-537&amp;title=Lire%20les%20MP3%20sur%20Amarok%20sous%20Fedora%2016%20%28FC16%29&amp;notes=Voici%20un%20micro-article%20%28apr%C3%A8s%20la%20boulette%20de%20cette%20aprem...%20publication%20d%27un%20brouillon%20par%20m%C3%A9garde...%29%20pour%20quand%20m%C3%AAme%20mettre%20l%27info%20%C3%A0%20disposition%20sur%20Internet%20%3A%20Si%20vous%20cherchez%20sur%20Internet%20comment%20lire%20les%20MP3%20sous%20Fedora%20vous%20allez%20tomber%20sur" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/delicious.png" class="sociable-img sociable-hovers" title="del.icio.us" alt="del.icio.us" /></a><a rel="nofollow" target="_blank"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Ftrollfactory.fr%2Flire-les-mp3-sur-amarok-sous-fedora-16-fc16-537&amp;title=Lire%20les%20MP3%20sur%20Amarok%20sous%20Fedora%2016%20%28FC16%29&amp;annotation=Voici%20un%20micro-article%20%28apr%C3%A8s%20la%20boulette%20de%20cette%20aprem...%20publication%20d%27un%20brouillon%20par%20m%C3%A9garde...%29%20pour%20quand%20m%C3%AAme%20mettre%20l%27info%20%C3%A0%20disposition%20sur%20Internet%20%3A%20Si%20vous%20cherchez%20sur%20Internet%20comment%20lire%20les%20MP3%20sous%20Fedora%20vous%20allez%20tomber%20sur" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/googlebookmark.png" class="sociable-img sociable-hovers" title="Google Bookmarks" alt="Google Bookmarks" /></a><a rel="nofollow" target="_blank"  href="http://technorati.com/faves?add=http%3A%2F%2Ftrollfactory.fr%2Flire-les-mp3-sur-amarok-sous-fedora-16-fc16-537" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/technorati.png" class="sociable-img sociable-hovers" title="Technorati" alt="Technorati" /></a><a rel="nofollow" target="_blank"  href="http://sphinn.com/index.php?c=post&amp;m=submit&amp;link=http%3A%2F%2Ftrollfactory.fr%2Flire-les-mp3-sur-amarok-sous-fedora-16-fc16-537" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/sphinn.png" class="sociable-img sociable-hovers" title="Sphinn" alt="Sphinn" /></a><a rel="nofollow" target="_blank"  href="http://www.mixx.com/submit?page_url=http%3A%2F%2Ftrollfactory.fr%2Flire-les-mp3-sur-amarok-sous-fedora-16-fc16-537&amp;title=Lire%20les%20MP3%20sur%20Amarok%20sous%20Fedora%2016%20%28FC16%29" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/mixx.png" class="sociable-img sociable-hovers" title="Mixx" alt="Mixx" /></a><a rel="nofollow" target="_blank" title="Add to favorites" href="#" onclick="AddToFavorites(); return false;"><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/addtofavorites.png" class="sociable-img sociable-hovers" title="Add to favorites" alt="Add to favorites" /></a><a rel="nofollow" target="_blank"  href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Ftrollfactory.fr%2Flire-les-mp3-sur-amarok-sous-fedora-16-fc16-537&amp;title=Lire%20les%20MP3%20sur%20Amarok%20sous%20Fedora%2016%20%28FC16%29" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/live.png" class="sociable-img sociable-hovers" title="Live" alt="Live" /></a><a rel="nofollow" target="_blank"  href="http://www.netvibes.com/share?title=Lire%20les%20MP3%20sur%20Amarok%20sous%20Fedora%2016%20%28FC16%29&amp;url=http%3A%2F%2Ftrollfactory.fr%2Flire-les-mp3-sur-amarok-sous-fedora-16-fc16-537" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/netvibes.png" class="sociable-img sociable-hovers" title="Netvibes" alt="Netvibes" /></a><a rel="nofollow" target="_blank"  href="http://www.scoopeo.com/scoop/new?newurl=http%3A%2F%2Ftrollfactory.fr%2Flire-les-mp3-sur-amarok-sous-fedora-16-fc16-537&amp;title=Lire%20les%20MP3%20sur%20Amarok%20sous%20Fedora%2016%20%28FC16%29" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/scoopeo.png" class="sociable-img sociable-hovers" title="Scoopeo" alt="Scoopeo" /></a><a rel="nofollow" target="_blank"  href="http://www.viadeo.com/shareit/share/?url=http%3A%2F%2Ftrollfactory.fr%2Flire-les-mp3-sur-amarok-sous-fedora-16-fc16-537&title=Lire%20les%20MP3%20sur%20Amarok%20sous%20Fedora%2016%20%28FC16%29&urllanguage=fr" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/viadeo.png" class="sociable-img sociable-hovers" title="viadeo FR" alt="viadeo FR" /></a><a rel="nofollow" target="_blank"  href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Ftrollfactory.fr%2Flire-les-mp3-sur-amarok-sous-fedora-16-fc16-537" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/identica.png" class="sociable-img sociable-hovers" title="Identi.ca" alt="Identi.ca" /></a><a rel="nofollow" target="_blank"  href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Ftrollfactory.fr%2Flire-les-mp3-sur-amarok-sous-fedora-16-fc16-537&amp;t=Lire%20les%20MP3%20sur%20Amarok%20sous%20Fedora%2016%20%28FC16%29" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/myspace.png" class="sociable-img sociable-hovers" title="MySpace" alt="MySpace" /></a><a rel="nofollow" target="_blank"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Ftrollfactory.fr%2Flire-les-mp3-sur-amarok-sous-fedora-16-fc16-537&amp;title=Lire%20les%20MP3%20sur%20Amarok%20sous%20Fedora%2016%20%28FC16%29" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/stumbleupon.png" class="sociable-img sociable-hovers" title="StumbleUpon" alt="StumbleUpon" /></a><a rel="nofollow" target="_blank"  href="http://buzz.yahoo.com/submit/?submitUrl=http%3A%2F%2Ftrollfactory.fr%2Flire-les-mp3-sur-amarok-sous-fedora-16-fc16-537&amp;submitHeadline=Lire%20les%20MP3%20sur%20Amarok%20sous%20Fedora%2016%20%28FC16%29&amp;submitSummary=Voici%20un%20micro-article%20%28apr%C3%A8s%20la%20boulette%20de%20cette%20aprem...%20publication%20d%27un%20brouillon%20par%20m%C3%A9garde...%29%20pour%20quand%20m%C3%AAme%20mettre%20l%27info%20%C3%A0%20disposition%20sur%20Internet%20%3A%20Si%20vous%20cherchez%20sur%20Internet%20comment%20lire%20les%20MP3%20sous%20Fedora%20vous%20allez%20tomber%20sur&amp;submitCategory=science&amp;submitAssetType=text" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/yahoobuzz.png" class="sociable-img sociable-hovers" title="Yahoo! Buzz" alt="Yahoo! Buzz" /></a><br/><br/>]]></content:encoded>
			<wfw:commentRss>http://trollfactory.fr/lire-les-mp3-sur-amarok-sous-fedora-16-fc16-537/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Utiliser buildconf avec la version autoconf de son choix // Use buildconf with a specific autoconf version</title>
		<link>http://trollfactory.fr/utiliser-buildconf-avec-la-version-autoconf-de-son-choix-use-buildconf-with-a-specific-autoconf-version-314</link>
		<comments>http://trollfactory.fr/utiliser-buildconf-avec-la-version-autoconf-de-son-choix-use-buildconf-with-a-specific-autoconf-version-314#comments</comments>
		<pubDate>Sat, 27 Nov 2010 12:35:09 +0000</pubDate>
		<dc:creator><![CDATA[Troll]]></dc:creator>
				<category><![CDATA[Administration serveur]]></category>
		<category><![CDATA[astuces]]></category>
		<category><![CDATA[Geekeries]]></category>
		<category><![CDATA[Scripts, astuces, dév. web]]></category>
		<category><![CDATA[2.13]]></category>
		<category><![CDATA[autoconf]]></category>
		<category><![CDATA[buildconf]]></category>
		<category><![CDATA[compilation]]></category>
		<category><![CDATA[console]]></category>
		<category><![CDATA[gnu]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[specific version]]></category>
		<category><![CDATA[version]]></category>
		<category><![CDATA[version donnée de autoconf]]></category>

		<guid isPermaLink="false">http://trollfactory.fr/?p=314</guid>
		<description><![CDATA[As usual, for international readers, the english version is below, at the end of the French version Alors, on va encore m&#8217;accuser de publier que des billets geeks, et court pour celui-ci en plus, mais c&#8217;est tellement galère à chercher sur le net, que je ne peux m&#8217;empêcher de partager cette astuce avec vous Passons [...]]]></description>
				<content:encoded><![CDATA[<p><em><strong>As usual, for international readers, the english version is below, at the end of the French version <img src="//trollfactory.fr/wp-includes/images/smilies/icon_wink.gif" alt=";-)" class="wp-smiley" /></strong></em></p>
<p>Alors, on va encore m&rsquo;accuser de publier que des billets geeks, et court pour celui-ci en plus, mais c&rsquo;est tellement galère à chercher sur le net, que je ne peux m&rsquo;empêcher de partager cette astuce avec vous <img src="//trollfactory.fr/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /></p>
<p>Passons aux choses intéressantes : Il peut être intéressant, voire indispensable (et ça vous intéressera majoritairement dans le cas où c&rsquo;est indispensable, n&rsquo;est-ce pas <img src="//trollfactory.fr/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /> ) de pouvoir utiliser une vieille version de autoconf, notamment la fameuse 2.13, à la place votre super version hyper à jour utilisée par votre système GNU/Linux. Cependant, la question toute bête : bordel comment on fait pour dire à buildconf d&rsquo;utiliser une autre version que celle par défaut du système ?</p>
<p>Eh bien, si vous avez passé une heure à chercher sur internet avant d&rsquo;atterrir ici, vous allez être peut-être un peu déçu par la simplicité de la chose, mais bon, on n&rsquo;échappe pas aux lois de Murphy ! :</p>
<p><code>export PHP_AUTOCONF=`which autoconf-2.13`</code></p>
<p><em>Note : ceci est l&rsquo;exemple pour la compilation de PHP, pour la compilation d&rsquo;un autre programme cela ressemblera très certainement à cela, je ne peux cependant pas donner de généralité !</em></p>
<p><strong>Voilà c&rsquo;est fini</strong>. Il suffit de taper cela dans votre console juste avant d&rsquo;exécuter la commande &laquo;&nbsp;./builconf&nbsp;&raquo; (ou généralement &laquo;&nbsp;./buildconf &#8211;force&nbsp;&raquo; mais peu importe). <strong><span style="color: #ff0000;">Attention, cependant, vous devez taper cette commande et celle du buildconf dans la même console, évidemment.</span></strong></p>
<p>J&rsquo;espère que vous vous sentez soulagés <img src="//trollfactory.fr/wp-includes/images/smilies/icon_wink.gif" alt=";-)" class="wp-smiley" /> Notamment si vous étiez en train d&rsquo;essayer d&rsquo;installer&#8230;humm&#8230; php depuis les sources ? <img src="//trollfactory.fr/wp-includes/images/smilies/icon_wink.gif" alt=";-)" class="wp-smiley" /></p>
<p>Merci à <a href="http://blog.mageekbox.net/?post/2010/10/11/Comment-utiliser-l-autoconf-de-son-choix-pour-compiler-PHP" target="_blank">MaGeekGuy</a> pour l&rsquo;astuce <img src="//trollfactory.fr/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<span id="more-314"></span></p>
<p>Well, I&rsquo;m going to be again accused to publish only geek articles, and moreover, short, for this one, but it&rsquo;s such a real pain to find that on the Internet, then I can&rsquo;t resist to share it with you folks <img src="//trollfactory.fr/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /></p>
<p>Interesting things now : It can be useful, not to say essential (and it will interest you more in the case it&rsquo;s essential, won&rsquo;t it <img src="//trollfactory.fr/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /> ) to be able to use an old version of autoconf, for exemple the famous 2.13, instead of your state-of-the-heart version used by default by your GNU/Linux operating system. However, what a stupid question : how the hell do you explain to buildconf that it must use an older version instead of the default one ?</p>
<p>Well, if you&rsquo;ve just spent about an hour searching on the Internet before coming here, you may be a bit disapointed by the simplicity of the solution. But, after all, no one escape from Murphy&rsquo;s laws ! :</p>
<p><code>export PHP_AUTOCONF=`which autoconf-2.13`</code></p>
<p><em>NB : this is an example for PHP compilation, for other soft compilation it will certainly be much like that, but I can&rsquo;t exhibate a general case here.</em></p>
<p><strong>Voilà, it&rsquo;s over !</strong> You now only need to type that in your shell just before the &laquo;&nbsp;./buildconf&nbsp;&raquo; command (or more often &laquo;&nbsp;./buildconf &#8211;force&nbsp;&raquo; but it doesn&rsquo;t really matter). <strong><span style="color: #ff0000;">Beware, however, you must type this command in the same shell as the buildconf one, obviously.</span></strong></p>
<p>I hope you feel distressed <img src="//trollfactory.fr/wp-includes/images/smilies/icon_wink.gif" alt=";-)" class="wp-smiley" /> Specifically if you were trying to install&#8230;well&#8230; php from the sources ? <img src="//trollfactory.fr/wp-includes/images/smilies/icon_wink.gif" alt=";-)" class="wp-smiley" /></p>
<p>Thanks to <a href="http://blog.mageekbox.net/?post/2010/10/11/Comment-utiliser-l-autoconf-de-son-choix-pour-compiler-PHP" target="_blank">MaGeekGuy</a> for this tip <img src="//trollfactory.fr/wp-includes/images/smilies/icon_smile.gif" alt=":-)" class="wp-smiley" /> .</p>
Share and Enjoy:<a rel="nofollow" target="_blank"  href="http://www.printfriendly.com/print/new?url=http%3A%2F%2Ftrollfactory.fr%2Futiliser-buildconf-avec-la-version-autoconf-de-son-choix-use-buildconf-with-a-specific-autoconf-version-314" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/printfriendly.png" class="sociable-img sociable-hovers" title="Print" alt="Print" /></a><a rel="nofollow" target="_blank"  href="http://www.printfriendly.com/print/new?url=http%3A%2F%2Ftrollfactory.fr%2Futiliser-buildconf-avec-la-version-autoconf-de-son-choix-use-buildconf-with-a-specific-autoconf-version-314" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/pdf.png" class="sociable-img sociable-hovers" title="PDF" alt="PDF" /></a><a rel="nofollow" target="_blank"  href="http://twitter.com/home?status=Utiliser%20buildconf%20avec%20la%20version%20autoconf%20de%20son%20choix%20%2F%2F%20Use%20buildconf%20with%20a%20specific%20autoconf%20version%20-%20http%3A%2F%2Ftrollfactory.fr%2Futiliser-buildconf-avec-la-version-autoconf-de-son-choix-use-buildconf-with-a-specific-autoconf-version-314" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/twitter.png" class="sociable-img sociable-hovers" title="Twitter" alt="Twitter" /></a><a rel="nofollow" target="_blank"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Ftrollfactory.fr%2Futiliser-buildconf-avec-la-version-autoconf-de-son-choix-use-buildconf-with-a-specific-autoconf-version-314&amp;t=Utiliser%20buildconf%20avec%20la%20version%20autoconf%20de%20son%20choix%20%2F%2F%20Use%20buildconf%20with%20a%20specific%20autoconf%20version" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/facebook.png" class="sociable-img sociable-hovers" title="Facebook" alt="Facebook" /></a><a rel="nofollow" target="_blank"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Ftrollfactory.fr%2Futiliser-buildconf-avec-la-version-autoconf-de-son-choix-use-buildconf-with-a-specific-autoconf-version-314&amp;title=Utiliser%20buildconf%20avec%20la%20version%20autoconf%20de%20son%20choix%20%2F%2F%20Use%20buildconf%20with%20a%20specific%20autoconf%20version&amp;source=The+Troll%26%23039%3Bs+factory+Geekeries+%26amp%3B+pens%C3%A9es&amp;summary=As%20usual%2C%20for%20international%20readers%2C%20the%20english%20version%20is%20below%2C%20at%20the%20end%20of%20the%20French%20version%20%3B-%29%0D%0A%0D%0AAlors%2C%20on%20va%20encore%20m%27accuser%20de%20publier%20que%20des%20billets%20geeks%2C%20et%20court%20pour%20celui-ci%20en%20plus%2C%20mais%20c%27est%20tellement%20gal%C3%A8re%20%C3%A0%20chercher%20sur%20le" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/linkedin.png" class="sociable-img sociable-hovers" title="LinkedIn" alt="LinkedIn" /></a><a rel="nofollow" target="_blank"  href="http://trollfactory.fr/feed" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/rss.png" class="sociable-img sociable-hovers" title="RSS" alt="RSS" /></a><a rel="nofollow" target="_blank"  href="http://www.wikio.fr/vote?url=http%3A%2F%2Ftrollfactory.fr%2Futiliser-buildconf-avec-la-version-autoconf-de-son-choix-use-buildconf-with-a-specific-autoconf-version-314" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/wikio.png" class="sociable-img sociable-hovers" title="Wikio FR" alt="Wikio FR" /></a><a rel="nofollow" target="_blank"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Ftrollfactory.fr%2Futiliser-buildconf-avec-la-version-autoconf-de-son-choix-use-buildconf-with-a-specific-autoconf-version-314&amp;title=Utiliser%20buildconf%20avec%20la%20version%20autoconf%20de%20son%20choix%20%2F%2F%20Use%20buildconf%20with%20a%20specific%20autoconf%20version&amp;bodytext=As%20usual%2C%20for%20international%20readers%2C%20the%20english%20version%20is%20below%2C%20at%20the%20end%20of%20the%20French%20version%20%3B-%29%0D%0A%0D%0AAlors%2C%20on%20va%20encore%20m%27accuser%20de%20publier%20que%20des%20billets%20geeks%2C%20et%20court%20pour%20celui-ci%20en%20plus%2C%20mais%20c%27est%20tellement%20gal%C3%A8re%20%C3%A0%20chercher%20sur%20le" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/digg.png" class="sociable-img sociable-hovers" title="Digg" alt="Digg" /></a><a rel="nofollow" target="_blank"  href="http://delicious.com/post?url=http%3A%2F%2Ftrollfactory.fr%2Futiliser-buildconf-avec-la-version-autoconf-de-son-choix-use-buildconf-with-a-specific-autoconf-version-314&amp;title=Utiliser%20buildconf%20avec%20la%20version%20autoconf%20de%20son%20choix%20%2F%2F%20Use%20buildconf%20with%20a%20specific%20autoconf%20version&amp;notes=As%20usual%2C%20for%20international%20readers%2C%20the%20english%20version%20is%20below%2C%20at%20the%20end%20of%20the%20French%20version%20%3B-%29%0D%0A%0D%0AAlors%2C%20on%20va%20encore%20m%27accuser%20de%20publier%20que%20des%20billets%20geeks%2C%20et%20court%20pour%20celui-ci%20en%20plus%2C%20mais%20c%27est%20tellement%20gal%C3%A8re%20%C3%A0%20chercher%20sur%20le" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/delicious.png" class="sociable-img sociable-hovers" title="del.icio.us" alt="del.icio.us" /></a><a rel="nofollow" target="_blank"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Ftrollfactory.fr%2Futiliser-buildconf-avec-la-version-autoconf-de-son-choix-use-buildconf-with-a-specific-autoconf-version-314&amp;title=Utiliser%20buildconf%20avec%20la%20version%20autoconf%20de%20son%20choix%20%2F%2F%20Use%20buildconf%20with%20a%20specific%20autoconf%20version&amp;annotation=As%20usual%2C%20for%20international%20readers%2C%20the%20english%20version%20is%20below%2C%20at%20the%20end%20of%20the%20French%20version%20%3B-%29%0D%0A%0D%0AAlors%2C%20on%20va%20encore%20m%27accuser%20de%20publier%20que%20des%20billets%20geeks%2C%20et%20court%20pour%20celui-ci%20en%20plus%2C%20mais%20c%27est%20tellement%20gal%C3%A8re%20%C3%A0%20chercher%20sur%20le" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/googlebookmark.png" class="sociable-img sociable-hovers" title="Google Bookmarks" alt="Google Bookmarks" /></a><a rel="nofollow" target="_blank"  href="http://technorati.com/faves?add=http%3A%2F%2Ftrollfactory.fr%2Futiliser-buildconf-avec-la-version-autoconf-de-son-choix-use-buildconf-with-a-specific-autoconf-version-314" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/technorati.png" class="sociable-img sociable-hovers" title="Technorati" alt="Technorati" /></a><a rel="nofollow" target="_blank"  href="http://sphinn.com/index.php?c=post&amp;m=submit&amp;link=http%3A%2F%2Ftrollfactory.fr%2Futiliser-buildconf-avec-la-version-autoconf-de-son-choix-use-buildconf-with-a-specific-autoconf-version-314" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/sphinn.png" class="sociable-img sociable-hovers" title="Sphinn" alt="Sphinn" /></a><a rel="nofollow" target="_blank"  href="http://www.mixx.com/submit?page_url=http%3A%2F%2Ftrollfactory.fr%2Futiliser-buildconf-avec-la-version-autoconf-de-son-choix-use-buildconf-with-a-specific-autoconf-version-314&amp;title=Utiliser%20buildconf%20avec%20la%20version%20autoconf%20de%20son%20choix%20%2F%2F%20Use%20buildconf%20with%20a%20specific%20autoconf%20version" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/mixx.png" class="sociable-img sociable-hovers" title="Mixx" alt="Mixx" /></a><a rel="nofollow" target="_blank" title="Add to favorites" href="#" onclick="AddToFavorites(); return false;"><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/addtofavorites.png" class="sociable-img sociable-hovers" title="Add to favorites" alt="Add to favorites" /></a><a rel="nofollow" target="_blank"  href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Ftrollfactory.fr%2Futiliser-buildconf-avec-la-version-autoconf-de-son-choix-use-buildconf-with-a-specific-autoconf-version-314&amp;title=Utiliser%20buildconf%20avec%20la%20version%20autoconf%20de%20son%20choix%20%2F%2F%20Use%20buildconf%20with%20a%20specific%20autoconf%20version" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/live.png" class="sociable-img sociable-hovers" title="Live" alt="Live" /></a><a rel="nofollow" target="_blank"  href="http://www.netvibes.com/share?title=Utiliser%20buildconf%20avec%20la%20version%20autoconf%20de%20son%20choix%20%2F%2F%20Use%20buildconf%20with%20a%20specific%20autoconf%20version&amp;url=http%3A%2F%2Ftrollfactory.fr%2Futiliser-buildconf-avec-la-version-autoconf-de-son-choix-use-buildconf-with-a-specific-autoconf-version-314" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/netvibes.png" class="sociable-img sociable-hovers" title="Netvibes" alt="Netvibes" /></a><a rel="nofollow" target="_blank"  href="http://www.scoopeo.com/scoop/new?newurl=http%3A%2F%2Ftrollfactory.fr%2Futiliser-buildconf-avec-la-version-autoconf-de-son-choix-use-buildconf-with-a-specific-autoconf-version-314&amp;title=Utiliser%20buildconf%20avec%20la%20version%20autoconf%20de%20son%20choix%20%2F%2F%20Use%20buildconf%20with%20a%20specific%20autoconf%20version" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/scoopeo.png" class="sociable-img sociable-hovers" title="Scoopeo" alt="Scoopeo" /></a><a rel="nofollow" target="_blank"  href="http://www.viadeo.com/shareit/share/?url=http%3A%2F%2Ftrollfactory.fr%2Futiliser-buildconf-avec-la-version-autoconf-de-son-choix-use-buildconf-with-a-specific-autoconf-version-314&title=Utiliser%20buildconf%20avec%20la%20version%20autoconf%20de%20son%20choix%20%2F%2F%20Use%20buildconf%20with%20a%20specific%20autoconf%20version&urllanguage=fr" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/viadeo.png" class="sociable-img sociable-hovers" title="viadeo FR" alt="viadeo FR" /></a><a rel="nofollow" target="_blank"  href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Ftrollfactory.fr%2Futiliser-buildconf-avec-la-version-autoconf-de-son-choix-use-buildconf-with-a-specific-autoconf-version-314" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/identica.png" class="sociable-img sociable-hovers" title="Identi.ca" alt="Identi.ca" /></a><a rel="nofollow" target="_blank"  href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Ftrollfactory.fr%2Futiliser-buildconf-avec-la-version-autoconf-de-son-choix-use-buildconf-with-a-specific-autoconf-version-314&amp;t=Utiliser%20buildconf%20avec%20la%20version%20autoconf%20de%20son%20choix%20%2F%2F%20Use%20buildconf%20with%20a%20specific%20autoconf%20version" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/myspace.png" class="sociable-img sociable-hovers" title="MySpace" alt="MySpace" /></a><a rel="nofollow" target="_blank"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Ftrollfactory.fr%2Futiliser-buildconf-avec-la-version-autoconf-de-son-choix-use-buildconf-with-a-specific-autoconf-version-314&amp;title=Utiliser%20buildconf%20avec%20la%20version%20autoconf%20de%20son%20choix%20%2F%2F%20Use%20buildconf%20with%20a%20specific%20autoconf%20version" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/stumbleupon.png" class="sociable-img sociable-hovers" title="StumbleUpon" alt="StumbleUpon" /></a><a rel="nofollow" target="_blank"  href="http://buzz.yahoo.com/submit/?submitUrl=http%3A%2F%2Ftrollfactory.fr%2Futiliser-buildconf-avec-la-version-autoconf-de-son-choix-use-buildconf-with-a-specific-autoconf-version-314&amp;submitHeadline=Utiliser%20buildconf%20avec%20la%20version%20autoconf%20de%20son%20choix%20%2F%2F%20Use%20buildconf%20with%20a%20specific%20autoconf%20version&amp;submitSummary=As%20usual%2C%20for%20international%20readers%2C%20the%20english%20version%20is%20below%2C%20at%20the%20end%20of%20the%20French%20version%20%3B-%29%0D%0A%0D%0AAlors%2C%20on%20va%20encore%20m%27accuser%20de%20publier%20que%20des%20billets%20geeks%2C%20et%20court%20pour%20celui-ci%20en%20plus%2C%20mais%20c%27est%20tellement%20gal%C3%A8re%20%C3%A0%20chercher%20sur%20le&amp;submitCategory=science&amp;submitAssetType=text" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/yahoobuzz.png" class="sociable-img sociable-hovers" title="Yahoo! Buzz" alt="Yahoo! Buzz" /></a><br/><br/>]]></content:encoded>
			<wfw:commentRss>http://trollfactory.fr/utiliser-buildconf-avec-la-version-autoconf-de-son-choix-use-buildconf-with-a-specific-autoconf-version-314/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configurer ses propres DNS (DNS externes) pour son domaine chez 1&amp;1</title>
		<link>http://trollfactory.fr/configurer-ses-propres-dns-dns-externes-pour-son-domaine-chez-11-183</link>
		<comments>http://trollfactory.fr/configurer-ses-propres-dns-dns-externes-pour-son-domaine-chez-11-183#comments</comments>
		<pubDate>Sat, 27 Feb 2010 15:24:25 +0000</pubDate>
		<dc:creator><![CDATA[Troll]]></dc:creator>
				<category><![CDATA[Scripts, astuces, dév. web]]></category>
		<category><![CDATA[Webmastering & Webmarketing]]></category>
		<category><![CDATA[.com]]></category>
		<category><![CDATA[.fr]]></category>
		<category><![CDATA[1&1]]></category>
		<category><![CDATA[1and1]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[dns externe]]></category>
		<category><![CDATA[domaine]]></category>
		<category><![CDATA[FAI]]></category>

		<guid isPermaLink="false">http://trollfactory.fr/?p=183</guid>
		<description><![CDATA[Note : Ceci marche évidemment avec n&#8217;importe quel domaine, que ce soit un .fr, .com, .coucoucestmoi. Ceci marche avec n&#8217;importe quel &#171;&#160;type&#160;&#187; de domaine 1&#38;1 également : fourni avec un pack hébergement ou pack domaine ou encore autre chose. Nous allons donc voir aujourd&#8217;hui comment configurer des DNS externes (ses propres DNS par exemple) pour [...]]]></description>
				<content:encoded><![CDATA[<p><strong>Note : Ceci marche évidemment avec n&rsquo;importe quel domaine, que ce soit un .fr, .com, .coucoucestmoi. Ceci marche avec n&rsquo;importe quel &laquo;&nbsp;type&nbsp;&raquo; de domaine 1&amp;1 également : fourni avec un pack hébergement ou pack domaine ou encore autre chose.</strong></p>
<p><strong>Nous allons donc voir aujourd&rsquo;hui comment configurer des DNS externes (ses propres DNS par exemple) pour son domaine 1&amp;1</strong></p>
<p>La procédure est assez simplissime, aussi je me suis permis de faire un tuto screenshots :</p>
<p>Allez sur le site de 1&amp;1 : <a href="http://www.1and1.fr/?k_id=14273345">en cliquant ici par exemple</a>.</p>
<p>Cliquez en haut à gauche sur le lien &laquo;&nbsp;Espace client&nbsp;&raquo; :</p>
<p style="text-align: center;">
<div id="attachment_184" style="width: 537px" class="wp-caption aligncenter"><img class="size-full wp-image-184 " title="1and1_01" src="//trollfactory.fr/wp-content/uploads/1and1_01.png" alt="home page 1and1" width="527" height="104" /><p class="wp-caption-text">home page 1and1</p></div>
<p>Puis connectez-vous avec votre domaine pour login (sauf si vous connaissez votre identifiant client par coeur, bravo!) et votre mot de passe :</p>
<p style="text-align: center;">
<div id="attachment_185" style="width: 564px" class="wp-caption aligncenter"><img class="size-medium wp-image-185    " title="1and1_02" src="//trollfactory.fr/wp-content/uploads/1and1_02.png" alt="Boîte de connexion espace client 1&amp;1" width="554" height="221" /><p class="wp-caption-text">Boîte de connexion espace client 1&amp;1</p></div>
<p>Maintenant, cliquez sur cette icône :</p>
<div id="attachment_186" style="width: 219px" class="wp-caption aligncenter"><img class="size-full wp-image-186" title="1and1_03" src="//trollfactory.fr/wp-content/uploads/1and1_03.png" alt="icones gestion des domaines" width="209" height="251" /><p class="wp-caption-text">icones gestion des domaines</p></div>
<p>Sélectionnez le domaine dont vous souhaitez changer les DNS, puis sur &laquo;&nbsp;DNS&nbsp;&raquo; en haut :</p>
<div id="attachment_187" style="width: 444px" class="wp-caption aligncenter"><img class="size-full wp-image-187" title="1and1_04" src="//trollfactory.fr/wp-content/uploads/1and1_04.png" alt="Gestion des domaines" width="434" height="232" /><p class="wp-caption-text">Gestion des domaines</p></div>
<p>Maintenant cliquez sur &laquo;&nbsp;Modifier&nbsp;&raquo; :</p>
<div id="attachment_188" style="width: 337px" class="wp-caption aligncenter"><img class="size-full wp-image-188" title="1and1_05" src="//trollfactory.fr/wp-content/uploads/1and1_05.png" alt="Cliquer sur modifier" width="327" height="40" /><p class="wp-caption-text">Cliquer sur modifier</p></div>
<p>Suivez les indications dans l&rsquo;odre : rentrez votre DNS externe primaire (ici nttserv.fr.nf, mon DNS) puis secondaire (spit.free-h.org le DNS secondaire de mon hébergeur).</p>
<div id="attachment_189" style="width: 624px" class="wp-caption aligncenter"><img class="size-full wp-image-189 " title="1and1_06" src="//trollfactory.fr/wp-content/uploads/1and1_06.png" alt="Étapes pour rentrer vos DNS" width="614" height="399" /><p class="wp-caption-text">Étapes pour rentrer vos DNS</p></div>
<p>Voilà c&rsquo;est terminé, validez tout le bazar et attendez que la MàJ se fasse.</p>
<p><strong>Attention, les MàJ sont non seulement plus ou moins lentes selon les extensions (le .fr par exemple doit attendre la revalidation de l&rsquo;AFNIC), mais en plus votre FAI peut être lent voire très lent (comme citons Darty, Orange Nord-Pas-de-Calais (DNS de Reims de mémoire), et Numéricâble département 69 (pour ceux que je connais en tout cas) ). Darty étant le pire, jusqu&rsquo;à 7 jours. Vous pouvez décider de <a title="Tutoriel de changement des DNS de votre ordinateur" href="http://www.pcinfo-web.com/tutoriaux/43-1-1-trouver-le-dns-de-son-fai.php#Alternative%20:%20OpenDNS,%20le%20DNS%20ouvert%20à%20tous">changer les DNS de votre ordinateur</a> si vous en avez marre d&rsquo;attendre.</strong></p>
Share and Enjoy:<a rel="nofollow" target="_blank"  href="http://www.printfriendly.com/print/new?url=http%3A%2F%2Ftrollfactory.fr%2Fconfigurer-ses-propres-dns-dns-externes-pour-son-domaine-chez-11-183" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/printfriendly.png" class="sociable-img sociable-hovers" title="Print" alt="Print" /></a><a rel="nofollow" target="_blank"  href="http://www.printfriendly.com/print/new?url=http%3A%2F%2Ftrollfactory.fr%2Fconfigurer-ses-propres-dns-dns-externes-pour-son-domaine-chez-11-183" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/pdf.png" class="sociable-img sociable-hovers" title="PDF" alt="PDF" /></a><a rel="nofollow" target="_blank"  href="http://twitter.com/home?status=Configurer%20ses%20propres%20DNS%20%28DNS%20externes%29%20pour%20son%20domaine%20chez%201%261%20%20-%20http%3A%2F%2Ftrollfactory.fr%2Fconfigurer-ses-propres-dns-dns-externes-pour-son-domaine-chez-11-183" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/twitter.png" class="sociable-img sociable-hovers" title="Twitter" alt="Twitter" /></a><a rel="nofollow" target="_blank"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Ftrollfactory.fr%2Fconfigurer-ses-propres-dns-dns-externes-pour-son-domaine-chez-11-183&amp;t=Configurer%20ses%20propres%20DNS%20%28DNS%20externes%29%20pour%20son%20domaine%20chez%201%261%20" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/facebook.png" class="sociable-img sociable-hovers" title="Facebook" alt="Facebook" /></a><a rel="nofollow" target="_blank"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Ftrollfactory.fr%2Fconfigurer-ses-propres-dns-dns-externes-pour-son-domaine-chez-11-183&amp;title=Configurer%20ses%20propres%20DNS%20%28DNS%20externes%29%20pour%20son%20domaine%20chez%201%261%20&amp;source=The+Troll%26%23039%3Bs+factory+Geekeries+%26amp%3B+pens%C3%A9es&amp;summary=Note%20%3A%20Ceci%20marche%20%C3%A9videmment%20avec%20n%27importe%20quel%20domaine%2C%20que%20ce%20soit%20un%20.fr%2C%20.com%2C%20.coucoucestmoi.%20Ceci%20marche%20avec%20n%27importe%20quel%20%22type%22%20de%20domaine%201%26amp%3B1%20%C3%A9galement%20%3A%20fourni%20avec%20un%20pack%20h%C3%A9bergement%20ou%20pack%20domaine%20ou%20encore%20autre%20chose.%0D%0A%0D%0ANo" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/linkedin.png" class="sociable-img sociable-hovers" title="LinkedIn" alt="LinkedIn" /></a><a rel="nofollow" target="_blank"  href="http://trollfactory.fr/feed" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/rss.png" class="sociable-img sociable-hovers" title="RSS" alt="RSS" /></a><a rel="nofollow" target="_blank"  href="http://www.wikio.fr/vote?url=http%3A%2F%2Ftrollfactory.fr%2Fconfigurer-ses-propres-dns-dns-externes-pour-son-domaine-chez-11-183" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/wikio.png" class="sociable-img sociable-hovers" title="Wikio FR" alt="Wikio FR" /></a><a rel="nofollow" target="_blank"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Ftrollfactory.fr%2Fconfigurer-ses-propres-dns-dns-externes-pour-son-domaine-chez-11-183&amp;title=Configurer%20ses%20propres%20DNS%20%28DNS%20externes%29%20pour%20son%20domaine%20chez%201%261%20&amp;bodytext=Note%20%3A%20Ceci%20marche%20%C3%A9videmment%20avec%20n%27importe%20quel%20domaine%2C%20que%20ce%20soit%20un%20.fr%2C%20.com%2C%20.coucoucestmoi.%20Ceci%20marche%20avec%20n%27importe%20quel%20%22type%22%20de%20domaine%201%26amp%3B1%20%C3%A9galement%20%3A%20fourni%20avec%20un%20pack%20h%C3%A9bergement%20ou%20pack%20domaine%20ou%20encore%20autre%20chose.%0D%0A%0D%0ANo" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/digg.png" class="sociable-img sociable-hovers" title="Digg" alt="Digg" /></a><a rel="nofollow" target="_blank"  href="http://delicious.com/post?url=http%3A%2F%2Ftrollfactory.fr%2Fconfigurer-ses-propres-dns-dns-externes-pour-son-domaine-chez-11-183&amp;title=Configurer%20ses%20propres%20DNS%20%28DNS%20externes%29%20pour%20son%20domaine%20chez%201%261%20&amp;notes=Note%20%3A%20Ceci%20marche%20%C3%A9videmment%20avec%20n%27importe%20quel%20domaine%2C%20que%20ce%20soit%20un%20.fr%2C%20.com%2C%20.coucoucestmoi.%20Ceci%20marche%20avec%20n%27importe%20quel%20%22type%22%20de%20domaine%201%26amp%3B1%20%C3%A9galement%20%3A%20fourni%20avec%20un%20pack%20h%C3%A9bergement%20ou%20pack%20domaine%20ou%20encore%20autre%20chose.%0D%0A%0D%0ANo" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/delicious.png" class="sociable-img sociable-hovers" title="del.icio.us" alt="del.icio.us" /></a><a rel="nofollow" target="_blank"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Ftrollfactory.fr%2Fconfigurer-ses-propres-dns-dns-externes-pour-son-domaine-chez-11-183&amp;title=Configurer%20ses%20propres%20DNS%20%28DNS%20externes%29%20pour%20son%20domaine%20chez%201%261%20&amp;annotation=Note%20%3A%20Ceci%20marche%20%C3%A9videmment%20avec%20n%27importe%20quel%20domaine%2C%20que%20ce%20soit%20un%20.fr%2C%20.com%2C%20.coucoucestmoi.%20Ceci%20marche%20avec%20n%27importe%20quel%20%22type%22%20de%20domaine%201%26amp%3B1%20%C3%A9galement%20%3A%20fourni%20avec%20un%20pack%20h%C3%A9bergement%20ou%20pack%20domaine%20ou%20encore%20autre%20chose.%0D%0A%0D%0ANo" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/googlebookmark.png" class="sociable-img sociable-hovers" title="Google Bookmarks" alt="Google Bookmarks" /></a><a rel="nofollow" target="_blank"  href="http://technorati.com/faves?add=http%3A%2F%2Ftrollfactory.fr%2Fconfigurer-ses-propres-dns-dns-externes-pour-son-domaine-chez-11-183" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/technorati.png" class="sociable-img sociable-hovers" title="Technorati" alt="Technorati" /></a><a rel="nofollow" target="_blank"  href="http://sphinn.com/index.php?c=post&amp;m=submit&amp;link=http%3A%2F%2Ftrollfactory.fr%2Fconfigurer-ses-propres-dns-dns-externes-pour-son-domaine-chez-11-183" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/sphinn.png" class="sociable-img sociable-hovers" title="Sphinn" alt="Sphinn" /></a><a rel="nofollow" target="_blank"  href="http://www.mixx.com/submit?page_url=http%3A%2F%2Ftrollfactory.fr%2Fconfigurer-ses-propres-dns-dns-externes-pour-son-domaine-chez-11-183&amp;title=Configurer%20ses%20propres%20DNS%20%28DNS%20externes%29%20pour%20son%20domaine%20chez%201%261%20" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/mixx.png" class="sociable-img sociable-hovers" title="Mixx" alt="Mixx" /></a><a rel="nofollow" target="_blank" title="Add to favorites" href="#" onclick="AddToFavorites(); return false;"><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/addtofavorites.png" class="sociable-img sociable-hovers" title="Add to favorites" alt="Add to favorites" /></a><a rel="nofollow" target="_blank"  href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Ftrollfactory.fr%2Fconfigurer-ses-propres-dns-dns-externes-pour-son-domaine-chez-11-183&amp;title=Configurer%20ses%20propres%20DNS%20%28DNS%20externes%29%20pour%20son%20domaine%20chez%201%261%20" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/live.png" class="sociable-img sociable-hovers" title="Live" alt="Live" /></a><a rel="nofollow" target="_blank"  href="http://www.netvibes.com/share?title=Configurer%20ses%20propres%20DNS%20%28DNS%20externes%29%20pour%20son%20domaine%20chez%201%261%20&amp;url=http%3A%2F%2Ftrollfactory.fr%2Fconfigurer-ses-propres-dns-dns-externes-pour-son-domaine-chez-11-183" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/netvibes.png" class="sociable-img sociable-hovers" title="Netvibes" alt="Netvibes" /></a><a rel="nofollow" target="_blank"  href="http://www.scoopeo.com/scoop/new?newurl=http%3A%2F%2Ftrollfactory.fr%2Fconfigurer-ses-propres-dns-dns-externes-pour-son-domaine-chez-11-183&amp;title=Configurer%20ses%20propres%20DNS%20%28DNS%20externes%29%20pour%20son%20domaine%20chez%201%261%20" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/scoopeo.png" class="sociable-img sociable-hovers" title="Scoopeo" alt="Scoopeo" /></a><a rel="nofollow" target="_blank"  href="http://www.viadeo.com/shareit/share/?url=http%3A%2F%2Ftrollfactory.fr%2Fconfigurer-ses-propres-dns-dns-externes-pour-son-domaine-chez-11-183&title=Configurer%20ses%20propres%20DNS%20%28DNS%20externes%29%20pour%20son%20domaine%20chez%201%261%20&urllanguage=fr" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/viadeo.png" class="sociable-img sociable-hovers" title="viadeo FR" alt="viadeo FR" /></a><a rel="nofollow" target="_blank"  href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Ftrollfactory.fr%2Fconfigurer-ses-propres-dns-dns-externes-pour-son-domaine-chez-11-183" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/identica.png" class="sociable-img sociable-hovers" title="Identi.ca" alt="Identi.ca" /></a><a rel="nofollow" target="_blank"  href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Ftrollfactory.fr%2Fconfigurer-ses-propres-dns-dns-externes-pour-son-domaine-chez-11-183&amp;t=Configurer%20ses%20propres%20DNS%20%28DNS%20externes%29%20pour%20son%20domaine%20chez%201%261%20" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/myspace.png" class="sociable-img sociable-hovers" title="MySpace" alt="MySpace" /></a><a rel="nofollow" target="_blank"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Ftrollfactory.fr%2Fconfigurer-ses-propres-dns-dns-externes-pour-son-domaine-chez-11-183&amp;title=Configurer%20ses%20propres%20DNS%20%28DNS%20externes%29%20pour%20son%20domaine%20chez%201%261%20" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/stumbleupon.png" class="sociable-img sociable-hovers" title="StumbleUpon" alt="StumbleUpon" /></a><a rel="nofollow" target="_blank"  href="http://buzz.yahoo.com/submit/?submitUrl=http%3A%2F%2Ftrollfactory.fr%2Fconfigurer-ses-propres-dns-dns-externes-pour-son-domaine-chez-11-183&amp;submitHeadline=Configurer%20ses%20propres%20DNS%20%28DNS%20externes%29%20pour%20son%20domaine%20chez%201%261%20&amp;submitSummary=Note%20%3A%20Ceci%20marche%20%C3%A9videmment%20avec%20n%27importe%20quel%20domaine%2C%20que%20ce%20soit%20un%20.fr%2C%20.com%2C%20.coucoucestmoi.%20Ceci%20marche%20avec%20n%27importe%20quel%20%22type%22%20de%20domaine%201%26amp%3B1%20%C3%A9galement%20%3A%20fourni%20avec%20un%20pack%20h%C3%A9bergement%20ou%20pack%20domaine%20ou%20encore%20autre%20chose.%0D%0A%0D%0ANo&amp;submitCategory=science&amp;submitAssetType=text" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/yahoobuzz.png" class="sociable-img sociable-hovers" title="Yahoo! Buzz" alt="Yahoo! Buzz" /></a><br/><br/>]]></content:encoded>
			<wfw:commentRss>http://trollfactory.fr/configurer-ses-propres-dns-dns-externes-pour-son-domaine-chez-11-183/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>[PHP] Effectuer un is_file() ou file_exists() sur un fichier distant (HTTP)</title>
		<link>http://trollfactory.fr/php-effectuer-un-is_file-ou-file_exists-sur-un-fichier-distant-http-178</link>
		<comments>http://trollfactory.fr/php-effectuer-un-is_file-ou-file_exists-sur-un-fichier-distant-http-178#comments</comments>
		<pubDate>Thu, 18 Feb 2010 06:45:07 +0000</pubDate>
		<dc:creator><![CDATA[Troll]]></dc:creator>
				<category><![CDATA[Scripts, astuces, dév. web]]></category>
		<category><![CDATA[distant]]></category>
		<category><![CDATA[file_exists]]></category>
		<category><![CDATA[file_get_contents]]></category>
		<category><![CDATA[fopen]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[is_file]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[source]]></category>

		<guid isPermaLink="false">http://trollfactory.fr/?p=178</guid>
		<description><![CDATA[Dans la lignée de la précédente astuce sur les fichiers distants en voici une autre, plus courte, mais qui pourrait bien en dépanner plus d&#8217;un. En effet la fonction is_file() ou encore la fonction file_exists() sont des fonctions faites pour fonctionner sur le système de fichier local. Et elles ne fonctionneront donc pas si vous [...]]]></description>
				<content:encoded><![CDATA[<p>Dans la lignée de <a href="http://trollfactory.fr/php-date-de-derniere-modification-dun-fichier-distant-en-http-165">la précédente astuce sur les fichiers distants</a> en voici une autre, plus courte, mais qui pourrait bien en dépanner plus d&rsquo;un. En effet la fonction <strong>is_file()</strong> ou encore la fonction <strong>file_exists()</strong> sont des fonctions faites pour fonctionner sur le système de fichier local. Et elles ne fonctionneront donc pas si vous cherchez à savoir si le fichier &laquo;&nbsp;http://web.com/fichier.blabla&nbsp;&raquo; existe ou pas.</p>
<p>L&rsquo;astuce est toute simple, elle consiste à tenter d&rsquo;ouvrir le fichier, avec une fonction qui elle, prend en charge le HTTP :</p>
<pre>function FichierDistantExiste($url) {
   if(!@fopen($url, 'r')) return false;
   else return true;
}</pre>
<p>Ce fut bref, mais j&rsquo;espère que cela vous sera utile <img src="//trollfactory.fr/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /></p>
<p>Attention par contre, sauf erreur de ma part certaines configurations PHP (notamment sur des mutualisés évidemment, mais pas tous hein) empêchent fopen() d&rsquo;utiliser le HTTP. Dans ce cas, on serait bien tenté d&rsquo;utiliser la fonction file_get_contents() sauf qu&rsquo;en fait ce n&rsquo;est qu&rsquo;une espèce de raccourci pour les fonction fopen(), fgets() et fclose() les un après les autres. Donc si l&rsquo;un est bridé l&rsquo;autre devrait l&rsquo;être aussi. À vous de tester, on ne sait jamais.</p>
Share and Enjoy:<a rel="nofollow" target="_blank"  href="http://www.printfriendly.com/print/new?url=http%3A%2F%2Ftrollfactory.fr%2Fphp-effectuer-un-is_file-ou-file_exists-sur-un-fichier-distant-http-178" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/printfriendly.png" class="sociable-img sociable-hovers" title="Print" alt="Print" /></a><a rel="nofollow" target="_blank"  href="http://www.printfriendly.com/print/new?url=http%3A%2F%2Ftrollfactory.fr%2Fphp-effectuer-un-is_file-ou-file_exists-sur-un-fichier-distant-http-178" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/pdf.png" class="sociable-img sociable-hovers" title="PDF" alt="PDF" /></a><a rel="nofollow" target="_blank"  href="http://twitter.com/home?status=%5BPHP%5D%20Effectuer%20un%20is_file%28%29%20ou%20file_exists%28%29%20sur%20un%20fichier%20distant%20%28HTTP%29%20-%20http%3A%2F%2Ftrollfactory.fr%2Fphp-effectuer-un-is_file-ou-file_exists-sur-un-fichier-distant-http-178" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/twitter.png" class="sociable-img sociable-hovers" title="Twitter" alt="Twitter" /></a><a rel="nofollow" target="_blank"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Ftrollfactory.fr%2Fphp-effectuer-un-is_file-ou-file_exists-sur-un-fichier-distant-http-178&amp;t=%5BPHP%5D%20Effectuer%20un%20is_file%28%29%20ou%20file_exists%28%29%20sur%20un%20fichier%20distant%20%28HTTP%29" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/facebook.png" class="sociable-img sociable-hovers" title="Facebook" alt="Facebook" /></a><a rel="nofollow" target="_blank"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Ftrollfactory.fr%2Fphp-effectuer-un-is_file-ou-file_exists-sur-un-fichier-distant-http-178&amp;title=%5BPHP%5D%20Effectuer%20un%20is_file%28%29%20ou%20file_exists%28%29%20sur%20un%20fichier%20distant%20%28HTTP%29&amp;source=The+Troll%26%23039%3Bs+factory+Geekeries+%26amp%3B+pens%C3%A9es&amp;summary=Dans%20la%20lign%C3%A9e%20de%20la%20pr%C3%A9c%C3%A9dente%20astuce%20sur%20les%20fichiers%20distants%20en%20voici%20une%20autre%2C%20plus%20courte%2C%20mais%20qui%20pourrait%20bien%20en%20d%C3%A9panner%20plus%20d%27un.%20En%20effet%20la%20fonction%20is_file%28%29%20ou%20encore%20la%20fonction%20file_exists%28%29%20sont%20des%20fonctions%20faites%20pour%20fonc" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/linkedin.png" class="sociable-img sociable-hovers" title="LinkedIn" alt="LinkedIn" /></a><a rel="nofollow" target="_blank"  href="http://trollfactory.fr/feed" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/rss.png" class="sociable-img sociable-hovers" title="RSS" alt="RSS" /></a><a rel="nofollow" target="_blank"  href="http://www.wikio.fr/vote?url=http%3A%2F%2Ftrollfactory.fr%2Fphp-effectuer-un-is_file-ou-file_exists-sur-un-fichier-distant-http-178" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/wikio.png" class="sociable-img sociable-hovers" title="Wikio FR" alt="Wikio FR" /></a><a rel="nofollow" target="_blank"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Ftrollfactory.fr%2Fphp-effectuer-un-is_file-ou-file_exists-sur-un-fichier-distant-http-178&amp;title=%5BPHP%5D%20Effectuer%20un%20is_file%28%29%20ou%20file_exists%28%29%20sur%20un%20fichier%20distant%20%28HTTP%29&amp;bodytext=Dans%20la%20lign%C3%A9e%20de%20la%20pr%C3%A9c%C3%A9dente%20astuce%20sur%20les%20fichiers%20distants%20en%20voici%20une%20autre%2C%20plus%20courte%2C%20mais%20qui%20pourrait%20bien%20en%20d%C3%A9panner%20plus%20d%27un.%20En%20effet%20la%20fonction%20is_file%28%29%20ou%20encore%20la%20fonction%20file_exists%28%29%20sont%20des%20fonctions%20faites%20pour%20fonc" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/digg.png" class="sociable-img sociable-hovers" title="Digg" alt="Digg" /></a><a rel="nofollow" target="_blank"  href="http://delicious.com/post?url=http%3A%2F%2Ftrollfactory.fr%2Fphp-effectuer-un-is_file-ou-file_exists-sur-un-fichier-distant-http-178&amp;title=%5BPHP%5D%20Effectuer%20un%20is_file%28%29%20ou%20file_exists%28%29%20sur%20un%20fichier%20distant%20%28HTTP%29&amp;notes=Dans%20la%20lign%C3%A9e%20de%20la%20pr%C3%A9c%C3%A9dente%20astuce%20sur%20les%20fichiers%20distants%20en%20voici%20une%20autre%2C%20plus%20courte%2C%20mais%20qui%20pourrait%20bien%20en%20d%C3%A9panner%20plus%20d%27un.%20En%20effet%20la%20fonction%20is_file%28%29%20ou%20encore%20la%20fonction%20file_exists%28%29%20sont%20des%20fonctions%20faites%20pour%20fonc" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/delicious.png" class="sociable-img sociable-hovers" title="del.icio.us" alt="del.icio.us" /></a><a rel="nofollow" target="_blank"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Ftrollfactory.fr%2Fphp-effectuer-un-is_file-ou-file_exists-sur-un-fichier-distant-http-178&amp;title=%5BPHP%5D%20Effectuer%20un%20is_file%28%29%20ou%20file_exists%28%29%20sur%20un%20fichier%20distant%20%28HTTP%29&amp;annotation=Dans%20la%20lign%C3%A9e%20de%20la%20pr%C3%A9c%C3%A9dente%20astuce%20sur%20les%20fichiers%20distants%20en%20voici%20une%20autre%2C%20plus%20courte%2C%20mais%20qui%20pourrait%20bien%20en%20d%C3%A9panner%20plus%20d%27un.%20En%20effet%20la%20fonction%20is_file%28%29%20ou%20encore%20la%20fonction%20file_exists%28%29%20sont%20des%20fonctions%20faites%20pour%20fonc" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/googlebookmark.png" class="sociable-img sociable-hovers" title="Google Bookmarks" alt="Google Bookmarks" /></a><a rel="nofollow" target="_blank"  href="http://technorati.com/faves?add=http%3A%2F%2Ftrollfactory.fr%2Fphp-effectuer-un-is_file-ou-file_exists-sur-un-fichier-distant-http-178" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/technorati.png" class="sociable-img sociable-hovers" title="Technorati" alt="Technorati" /></a><a rel="nofollow" target="_blank"  href="http://sphinn.com/index.php?c=post&amp;m=submit&amp;link=http%3A%2F%2Ftrollfactory.fr%2Fphp-effectuer-un-is_file-ou-file_exists-sur-un-fichier-distant-http-178" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/sphinn.png" class="sociable-img sociable-hovers" title="Sphinn" alt="Sphinn" /></a><a rel="nofollow" target="_blank"  href="http://www.mixx.com/submit?page_url=http%3A%2F%2Ftrollfactory.fr%2Fphp-effectuer-un-is_file-ou-file_exists-sur-un-fichier-distant-http-178&amp;title=%5BPHP%5D%20Effectuer%20un%20is_file%28%29%20ou%20file_exists%28%29%20sur%20un%20fichier%20distant%20%28HTTP%29" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/mixx.png" class="sociable-img sociable-hovers" title="Mixx" alt="Mixx" /></a><a rel="nofollow" target="_blank" title="Add to favorites" href="#" onclick="AddToFavorites(); return false;"><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/addtofavorites.png" class="sociable-img sociable-hovers" title="Add to favorites" alt="Add to favorites" /></a><a rel="nofollow" target="_blank"  href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Ftrollfactory.fr%2Fphp-effectuer-un-is_file-ou-file_exists-sur-un-fichier-distant-http-178&amp;title=%5BPHP%5D%20Effectuer%20un%20is_file%28%29%20ou%20file_exists%28%29%20sur%20un%20fichier%20distant%20%28HTTP%29" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/live.png" class="sociable-img sociable-hovers" title="Live" alt="Live" /></a><a rel="nofollow" target="_blank"  href="http://www.netvibes.com/share?title=%5BPHP%5D%20Effectuer%20un%20is_file%28%29%20ou%20file_exists%28%29%20sur%20un%20fichier%20distant%20%28HTTP%29&amp;url=http%3A%2F%2Ftrollfactory.fr%2Fphp-effectuer-un-is_file-ou-file_exists-sur-un-fichier-distant-http-178" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/netvibes.png" class="sociable-img sociable-hovers" title="Netvibes" alt="Netvibes" /></a><a rel="nofollow" target="_blank"  href="http://www.scoopeo.com/scoop/new?newurl=http%3A%2F%2Ftrollfactory.fr%2Fphp-effectuer-un-is_file-ou-file_exists-sur-un-fichier-distant-http-178&amp;title=%5BPHP%5D%20Effectuer%20un%20is_file%28%29%20ou%20file_exists%28%29%20sur%20un%20fichier%20distant%20%28HTTP%29" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/scoopeo.png" class="sociable-img sociable-hovers" title="Scoopeo" alt="Scoopeo" /></a><a rel="nofollow" target="_blank"  href="http://www.viadeo.com/shareit/share/?url=http%3A%2F%2Ftrollfactory.fr%2Fphp-effectuer-un-is_file-ou-file_exists-sur-un-fichier-distant-http-178&title=%5BPHP%5D%20Effectuer%20un%20is_file%28%29%20ou%20file_exists%28%29%20sur%20un%20fichier%20distant%20%28HTTP%29&urllanguage=fr" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/viadeo.png" class="sociable-img sociable-hovers" title="viadeo FR" alt="viadeo FR" /></a><a rel="nofollow" target="_blank"  href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Ftrollfactory.fr%2Fphp-effectuer-un-is_file-ou-file_exists-sur-un-fichier-distant-http-178" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/identica.png" class="sociable-img sociable-hovers" title="Identi.ca" alt="Identi.ca" /></a><a rel="nofollow" target="_blank"  href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Ftrollfactory.fr%2Fphp-effectuer-un-is_file-ou-file_exists-sur-un-fichier-distant-http-178&amp;t=%5BPHP%5D%20Effectuer%20un%20is_file%28%29%20ou%20file_exists%28%29%20sur%20un%20fichier%20distant%20%28HTTP%29" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/myspace.png" class="sociable-img sociable-hovers" title="MySpace" alt="MySpace" /></a><a rel="nofollow" target="_blank"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Ftrollfactory.fr%2Fphp-effectuer-un-is_file-ou-file_exists-sur-un-fichier-distant-http-178&amp;title=%5BPHP%5D%20Effectuer%20un%20is_file%28%29%20ou%20file_exists%28%29%20sur%20un%20fichier%20distant%20%28HTTP%29" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/stumbleupon.png" class="sociable-img sociable-hovers" title="StumbleUpon" alt="StumbleUpon" /></a><a rel="nofollow" target="_blank"  href="http://buzz.yahoo.com/submit/?submitUrl=http%3A%2F%2Ftrollfactory.fr%2Fphp-effectuer-un-is_file-ou-file_exists-sur-un-fichier-distant-http-178&amp;submitHeadline=%5BPHP%5D%20Effectuer%20un%20is_file%28%29%20ou%20file_exists%28%29%20sur%20un%20fichier%20distant%20%28HTTP%29&amp;submitSummary=Dans%20la%20lign%C3%A9e%20de%20la%20pr%C3%A9c%C3%A9dente%20astuce%20sur%20les%20fichiers%20distants%20en%20voici%20une%20autre%2C%20plus%20courte%2C%20mais%20qui%20pourrait%20bien%20en%20d%C3%A9panner%20plus%20d%27un.%20En%20effet%20la%20fonction%20is_file%28%29%20ou%20encore%20la%20fonction%20file_exists%28%29%20sont%20des%20fonctions%20faites%20pour%20fonc&amp;submitCategory=science&amp;submitAssetType=text" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/yahoobuzz.png" class="sociable-img sociable-hovers" title="Yahoo! Buzz" alt="Yahoo! Buzz" /></a><br/><br/>]]></content:encoded>
			<wfw:commentRss>http://trollfactory.fr/php-effectuer-un-is_file-ou-file_exists-sur-un-fichier-distant-http-178/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>[PHP] Date de dernière modification d&#8217;un fichier distant en HTTP</title>
		<link>http://trollfactory.fr/php-date-de-derniere-modification-dun-fichier-distant-en-http-165</link>
		<comments>http://trollfactory.fr/php-date-de-derniere-modification-dun-fichier-distant-en-http-165#comments</comments>
		<pubDate>Thu, 18 Feb 2010 06:35:01 +0000</pubDate>
		<dc:creator><![CDATA[Troll]]></dc:creator>
				<category><![CDATA[Non classé]]></category>
		<category><![CDATA[Scripts, astuces, dév. web]]></category>
		<category><![CDATA[date de modification]]></category>
		<category><![CDATA[distant]]></category>
		<category><![CDATA[filemtime]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[source]]></category>

		<guid isPermaLink="false">http://trollfactory.fr/?p=165</guid>
		<description><![CDATA[Cette source n&#8217;est pas de moi, cependant comme je ne suis pas sûr que tous les gens qui cherchent comment récupérer la date de dernière modification d&#8217;un fichier en utilisant le HTTP (fichier distant) arrivent facilement à trouver ce post (en anglais en plus) je vous mets la source ici. D&#8217;ailleurs, au passage, comme je [...]]]></description>
				<content:encoded><![CDATA[<p>Cette source n&rsquo;est pas de moi, cependant comme je ne suis pas sûr que tous les gens qui cherchent <strong>comment récupérer la date de dernière modification d&rsquo;un fichier en utilisant le HTTP (fichier distant)</strong> arrivent facilement à trouver <a href="http://www.php.net/manual/en/function.filemtime.php#73747">ce post (en anglais en plus)</a> je vous mets la source ici.</p>
<p>D&rsquo;ailleurs, au passage, comme je suis un gentil Troll, je vous l&rsquo;ai traduite <img src="//trollfactory.fr/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /></p>
<pre>
// Récupérer la date de dernière modification d'un fichier distant (la fonction retourne un timestamp unix, cf. http://wiki.pcinfo-web.com/timestamp )
function RecupDateModifDistant( $uri )
{
// default
$unixtime = 0;
$fp = fopen( $uri, "r" );
if( !$fp ) {return;}

$MetaData = stream_get_meta_data( $fp );

foreach( $MetaData['wrapper_data'] as $response )
{
// Dans le cas d'une redirection vers une autre page / un autre fichier
if( substr( strtolower($response), 0, 10 ) == 'location: ' )
{
$newUri = substr( $response, 10 );
fclose( $fp );
return RecupDateModifDistant( $newUri );
}
// Dans le cas où on a bien l'en-tête "last-modified"
elseif( substr( strtolower($response), 0, 15 ) == 'last-modified: ' )
{
$unixtime = strtotime( substr($response, 15) );
break;
}
}
fclose( $fp );
return $unixtime;
}
</pre>
<p>Voilà, pour toute demande d&rsquo;explication du code, les commentaires sont là pour ça, ils vous attendent pour vous faire des calins ! (gratuit !)</p>
Share and Enjoy:<a rel="nofollow" target="_blank"  href="http://www.printfriendly.com/print/new?url=http%3A%2F%2Ftrollfactory.fr%2Fphp-date-de-derniere-modification-dun-fichier-distant-en-http-165" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/printfriendly.png" class="sociable-img sociable-hovers" title="Print" alt="Print" /></a><a rel="nofollow" target="_blank"  href="http://www.printfriendly.com/print/new?url=http%3A%2F%2Ftrollfactory.fr%2Fphp-date-de-derniere-modification-dun-fichier-distant-en-http-165" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/pdf.png" class="sociable-img sociable-hovers" title="PDF" alt="PDF" /></a><a rel="nofollow" target="_blank"  href="http://twitter.com/home?status=%5BPHP%5D%20Date%20de%20derni%C3%A8re%20modification%20d%27un%20fichier%20distant%20en%20HTTP%20-%20http%3A%2F%2Ftrollfactory.fr%2Fphp-date-de-derniere-modification-dun-fichier-distant-en-http-165" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/twitter.png" class="sociable-img sociable-hovers" title="Twitter" alt="Twitter" /></a><a rel="nofollow" target="_blank"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Ftrollfactory.fr%2Fphp-date-de-derniere-modification-dun-fichier-distant-en-http-165&amp;t=%5BPHP%5D%20Date%20de%20derni%C3%A8re%20modification%20d%27un%20fichier%20distant%20en%20HTTP" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/facebook.png" class="sociable-img sociable-hovers" title="Facebook" alt="Facebook" /></a><a rel="nofollow" target="_blank"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Ftrollfactory.fr%2Fphp-date-de-derniere-modification-dun-fichier-distant-en-http-165&amp;title=%5BPHP%5D%20Date%20de%20derni%C3%A8re%20modification%20d%27un%20fichier%20distant%20en%20HTTP&amp;source=The+Troll%26%23039%3Bs+factory+Geekeries+%26amp%3B+pens%C3%A9es&amp;summary=Cette%20source%20n%27est%20pas%20de%20moi%2C%20cependant%20comme%20je%20ne%20suis%20pas%20s%C3%BBr%20que%20tous%20les%20gens%20qui%20cherchent%20comment%20r%C3%A9cup%C3%A9rer%20la%20date%20de%20derni%C3%A8re%20modification%20d%27un%20fichier%20en%20utilisant%20le%20HTTP%20%28fichier%20distant%29%20arrivent%20facilement%20%C3%A0%20trouver%20ce%20post%20%28en%20an" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/linkedin.png" class="sociable-img sociable-hovers" title="LinkedIn" alt="LinkedIn" /></a><a rel="nofollow" target="_blank"  href="http://trollfactory.fr/feed" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/rss.png" class="sociable-img sociable-hovers" title="RSS" alt="RSS" /></a><a rel="nofollow" target="_blank"  href="http://www.wikio.fr/vote?url=http%3A%2F%2Ftrollfactory.fr%2Fphp-date-de-derniere-modification-dun-fichier-distant-en-http-165" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/wikio.png" class="sociable-img sociable-hovers" title="Wikio FR" alt="Wikio FR" /></a><a rel="nofollow" target="_blank"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Ftrollfactory.fr%2Fphp-date-de-derniere-modification-dun-fichier-distant-en-http-165&amp;title=%5BPHP%5D%20Date%20de%20derni%C3%A8re%20modification%20d%27un%20fichier%20distant%20en%20HTTP&amp;bodytext=Cette%20source%20n%27est%20pas%20de%20moi%2C%20cependant%20comme%20je%20ne%20suis%20pas%20s%C3%BBr%20que%20tous%20les%20gens%20qui%20cherchent%20comment%20r%C3%A9cup%C3%A9rer%20la%20date%20de%20derni%C3%A8re%20modification%20d%27un%20fichier%20en%20utilisant%20le%20HTTP%20%28fichier%20distant%29%20arrivent%20facilement%20%C3%A0%20trouver%20ce%20post%20%28en%20an" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/digg.png" class="sociable-img sociable-hovers" title="Digg" alt="Digg" /></a><a rel="nofollow" target="_blank"  href="http://delicious.com/post?url=http%3A%2F%2Ftrollfactory.fr%2Fphp-date-de-derniere-modification-dun-fichier-distant-en-http-165&amp;title=%5BPHP%5D%20Date%20de%20derni%C3%A8re%20modification%20d%27un%20fichier%20distant%20en%20HTTP&amp;notes=Cette%20source%20n%27est%20pas%20de%20moi%2C%20cependant%20comme%20je%20ne%20suis%20pas%20s%C3%BBr%20que%20tous%20les%20gens%20qui%20cherchent%20comment%20r%C3%A9cup%C3%A9rer%20la%20date%20de%20derni%C3%A8re%20modification%20d%27un%20fichier%20en%20utilisant%20le%20HTTP%20%28fichier%20distant%29%20arrivent%20facilement%20%C3%A0%20trouver%20ce%20post%20%28en%20an" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/delicious.png" class="sociable-img sociable-hovers" title="del.icio.us" alt="del.icio.us" /></a><a rel="nofollow" target="_blank"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Ftrollfactory.fr%2Fphp-date-de-derniere-modification-dun-fichier-distant-en-http-165&amp;title=%5BPHP%5D%20Date%20de%20derni%C3%A8re%20modification%20d%27un%20fichier%20distant%20en%20HTTP&amp;annotation=Cette%20source%20n%27est%20pas%20de%20moi%2C%20cependant%20comme%20je%20ne%20suis%20pas%20s%C3%BBr%20que%20tous%20les%20gens%20qui%20cherchent%20comment%20r%C3%A9cup%C3%A9rer%20la%20date%20de%20derni%C3%A8re%20modification%20d%27un%20fichier%20en%20utilisant%20le%20HTTP%20%28fichier%20distant%29%20arrivent%20facilement%20%C3%A0%20trouver%20ce%20post%20%28en%20an" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/googlebookmark.png" class="sociable-img sociable-hovers" title="Google Bookmarks" alt="Google Bookmarks" /></a><a rel="nofollow" target="_blank"  href="http://technorati.com/faves?add=http%3A%2F%2Ftrollfactory.fr%2Fphp-date-de-derniere-modification-dun-fichier-distant-en-http-165" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/technorati.png" class="sociable-img sociable-hovers" title="Technorati" alt="Technorati" /></a><a rel="nofollow" target="_blank"  href="http://sphinn.com/index.php?c=post&amp;m=submit&amp;link=http%3A%2F%2Ftrollfactory.fr%2Fphp-date-de-derniere-modification-dun-fichier-distant-en-http-165" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/sphinn.png" class="sociable-img sociable-hovers" title="Sphinn" alt="Sphinn" /></a><a rel="nofollow" target="_blank"  href="http://www.mixx.com/submit?page_url=http%3A%2F%2Ftrollfactory.fr%2Fphp-date-de-derniere-modification-dun-fichier-distant-en-http-165&amp;title=%5BPHP%5D%20Date%20de%20derni%C3%A8re%20modification%20d%27un%20fichier%20distant%20en%20HTTP" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/mixx.png" class="sociable-img sociable-hovers" title="Mixx" alt="Mixx" /></a><a rel="nofollow" target="_blank" title="Add to favorites" href="#" onclick="AddToFavorites(); return false;"><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/addtofavorites.png" class="sociable-img sociable-hovers" title="Add to favorites" alt="Add to favorites" /></a><a rel="nofollow" target="_blank"  href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Ftrollfactory.fr%2Fphp-date-de-derniere-modification-dun-fichier-distant-en-http-165&amp;title=%5BPHP%5D%20Date%20de%20derni%C3%A8re%20modification%20d%27un%20fichier%20distant%20en%20HTTP" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/live.png" class="sociable-img sociable-hovers" title="Live" alt="Live" /></a><a rel="nofollow" target="_blank"  href="http://www.netvibes.com/share?title=%5BPHP%5D%20Date%20de%20derni%C3%A8re%20modification%20d%27un%20fichier%20distant%20en%20HTTP&amp;url=http%3A%2F%2Ftrollfactory.fr%2Fphp-date-de-derniere-modification-dun-fichier-distant-en-http-165" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/netvibes.png" class="sociable-img sociable-hovers" title="Netvibes" alt="Netvibes" /></a><a rel="nofollow" target="_blank"  href="http://www.scoopeo.com/scoop/new?newurl=http%3A%2F%2Ftrollfactory.fr%2Fphp-date-de-derniere-modification-dun-fichier-distant-en-http-165&amp;title=%5BPHP%5D%20Date%20de%20derni%C3%A8re%20modification%20d%27un%20fichier%20distant%20en%20HTTP" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/scoopeo.png" class="sociable-img sociable-hovers" title="Scoopeo" alt="Scoopeo" /></a><a rel="nofollow" target="_blank"  href="http://www.viadeo.com/shareit/share/?url=http%3A%2F%2Ftrollfactory.fr%2Fphp-date-de-derniere-modification-dun-fichier-distant-en-http-165&title=%5BPHP%5D%20Date%20de%20derni%C3%A8re%20modification%20d%27un%20fichier%20distant%20en%20HTTP&urllanguage=fr" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/viadeo.png" class="sociable-img sociable-hovers" title="viadeo FR" alt="viadeo FR" /></a><a rel="nofollow" target="_blank"  href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Ftrollfactory.fr%2Fphp-date-de-derniere-modification-dun-fichier-distant-en-http-165" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/identica.png" class="sociable-img sociable-hovers" title="Identi.ca" alt="Identi.ca" /></a><a rel="nofollow" target="_blank"  href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Ftrollfactory.fr%2Fphp-date-de-derniere-modification-dun-fichier-distant-en-http-165&amp;t=%5BPHP%5D%20Date%20de%20derni%C3%A8re%20modification%20d%27un%20fichier%20distant%20en%20HTTP" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/myspace.png" class="sociable-img sociable-hovers" title="MySpace" alt="MySpace" /></a><a rel="nofollow" target="_blank"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Ftrollfactory.fr%2Fphp-date-de-derniere-modification-dun-fichier-distant-en-http-165&amp;title=%5BPHP%5D%20Date%20de%20derni%C3%A8re%20modification%20d%27un%20fichier%20distant%20en%20HTTP" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/stumbleupon.png" class="sociable-img sociable-hovers" title="StumbleUpon" alt="StumbleUpon" /></a><a rel="nofollow" target="_blank"  href="http://buzz.yahoo.com/submit/?submitUrl=http%3A%2F%2Ftrollfactory.fr%2Fphp-date-de-derniere-modification-dun-fichier-distant-en-http-165&amp;submitHeadline=%5BPHP%5D%20Date%20de%20derni%C3%A8re%20modification%20d%27un%20fichier%20distant%20en%20HTTP&amp;submitSummary=Cette%20source%20n%27est%20pas%20de%20moi%2C%20cependant%20comme%20je%20ne%20suis%20pas%20s%C3%BBr%20que%20tous%20les%20gens%20qui%20cherchent%20comment%20r%C3%A9cup%C3%A9rer%20la%20date%20de%20derni%C3%A8re%20modification%20d%27un%20fichier%20en%20utilisant%20le%20HTTP%20%28fichier%20distant%29%20arrivent%20facilement%20%C3%A0%20trouver%20ce%20post%20%28en%20an&amp;submitCategory=science&amp;submitAssetType=text" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/yahoobuzz.png" class="sociable-img sociable-hovers" title="Yahoo! Buzz" alt="Yahoo! Buzz" /></a><br/><br/>]]></content:encoded>
			<wfw:commentRss>http://trollfactory.fr/php-date-de-derniere-modification-dun-fichier-distant-en-http-165/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Les tâches planifiées sous Linux (cron, crontab) : seconde approche</title>
		<link>http://trollfactory.fr/les-taches-planifiees-sous-linux-cron-crontab-seconde-approche-139</link>
		<comments>http://trollfactory.fr/les-taches-planifiees-sous-linux-cron-crontab-seconde-approche-139#comments</comments>
		<pubDate>Sat, 13 Feb 2010 07:00:11 +0000</pubDate>
		<dc:creator><![CDATA[Troll]]></dc:creator>
				<category><![CDATA[Administration serveur]]></category>
		<category><![CDATA[Scripts, astuces, dév. web]]></category>
		<category><![CDATA[administration]]></category>
		<category><![CDATA[automatisation]]></category>
		<category><![CDATA[cron]]></category>
		<category><![CDATA[crontab]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[serveur]]></category>
		<category><![CDATA[tâches planifiées]]></category>

		<guid isPermaLink="false">http://trollfactory.fr/?p=139</guid>
		<description><![CDATA[Bonsoir la compagnie, Après avoir fait joujou une première fois avec les tâches planifiées sous cron gnu/linux, je vous avais promis de vous en dire plus sur les procédés et les possibilités du système de planification des tâches de GNU/Linux : cron. Résumé de ce que vous savez déjà faire si vous avez lu la [...]]]></description>
				<content:encoded><![CDATA[<p>Bonsoir la compagnie,</p>
<p>Après avoir fait joujou une première fois avec <strong><a title="Lire l'article sur une première approche des tâches planifiées sous Linux" href="http://trollfactory.fr/les-taches-planifiees-sous-linux-cron-crontab-premiere-approche-75" target="_blank">les tâches planifiées sous cron gnu/linux</a></strong>, je vous avais promis de vous en dire plus sur les procédés et les possibilités du système de <strong>planification des tâches de GNU/Linux : cron</strong>.</p>
<p>Résumé de ce que vous savez déjà faire si vous avez lu <a href="http://trollfactory.fr/les-taches-planifiees-sous-linux-cron-crontab-premiere-approche-75" target="_blank">la première partie sur les tâches planifiées cron</a> :</p>
<ul>
<li>Créer une <strong>tâche planifiée</strong> simple qui lance un fichier <strong>exécutable</strong> avec l&rsquo;utilisateur courant (celui qui a créé le cron) à l&rsquo;aide<strong> la commande crontab</strong></li>
<li>Faire des tâches planifiées à exécution unique (planification non régulière/récurrente)</li>
<li>(Utiliser un autre éditeur pour la commande crontab -e)</li>
</ul>
<p>Ce que je vais vous apprendre en plus dans cet article :</p>
<ul>
<li>Gérer des dates complexes : Répétitions, récurrence des <strong>tâches planifiées</strong> (<strong>jokers, répétitions, sélections multiples</strong>)</li>
<li>Définition d&rsquo;un <strong>fichier personnalisé</strong> de tâches planifiées</li>
<li>Définir une tâche exécutée par un <strong>utilisateur précis.</strong></li>
<li>Éxécuter une tâche planifiée <strong>dans un répertoire particulier</strong>.</li>
<li>Éxécuter une <strong>tâche planifiée graphique.</strong></li>
<li><strong>Gérer les sorties</strong> des commandes exécutées par CRON : logs, mails, etc.</li>
</ul>
<p>Je vous donnerai également quelques filons pour l&rsquo;utilisation de <strong>PHP avec CRON</strong>.<br />
<br /><br /></p>
<h2>Retour sur la planification des tâches : la syntaxe des dates avancées avec CRON.</h2>
<p>Je ne refais pas les explications sur les dates simples dans CRON, c&rsquo;est le sujet de la première approche (dont vous avez les liens au début de cet article). Nous allons voir comment <strong>créer une tâche récurrente</strong>, à l&rsquo;aide des <strong>jokers</strong>, <strong>répétitions</strong> et<strong> sélections multiples</strong>.<br />
<br /><br /></p>
<h3>Le joker : *</h3>
<p>Comme dans beaucoup d&rsquo;applications informatique, le joker chez Cron est l&rsquo;étoile &laquo;&nbsp;*&nbsp;&raquo;. Ainsi, si vous remplacez un quelconque paramètre d&rsquo;une date par une étoile, cela signifie pour cron &laquo;&nbsp;quelque-soit la valeur de ce paramètre&nbsp;&raquo;.</p>
<p>Exemple : Quelque-soit le jour, je veux que à 7h05 tu dises bonjour, durant tout le mois de février :</p>
<p><code>05 07 * 02 * echo 'Hello World !'</code></p>
<p>Ici <strong>nous avons remplacé le numéro du jour dans le mois, ainsi que le jour de la semaine</strong> (qui est également susceptible de varier !) <strong>par le joker &laquo;&nbsp;*&nbsp;&raquo;</strong>, ainsi, quelque-soit les valeurs de ces paramètres, si les autres paramètres (heure, minute, mois) sont vérifiés, CRON dira bonjour au monde.<br />
<br /><br /></p>
<h3>La répétition : /</h3>
<p>Le joker permet de spécifier, au maximum, une répétition toutes les <strong>unités de temps</strong> d&rsquo;un paramètre précis. En effet, si je mets un joker pour l&rsquo;heure, alors cela sera exécuté toutes les <strong>une</strong> heure, puisque cela sera &laquo;&nbsp;quelque-soit l&rsquo;heure&nbsp;&raquo;. Ainsi, avec les jokers, vous pouvez répéter au mieux : tous les jours, toutes les heures, toutes les minutes, tous les lundis, tous les mois&#8230; Bref, pas terrible comme flexibilité tout de même. C&rsquo;est à cela que sert la répétition, elle vous permet de dire tous les combien de variation d&rsquo;un paramètre vous voulez que cela se répète. Une variation d&rsquo;un paramètre, c&rsquo;est +1 minutes, +1 heure, +1 jour, etc. &#8230;</p>
<p>L&rsquo;opérateur de répétition s&rsquo;utilise comme suit : valeur_param<span style="color: #ff0000;"><strong>/</strong></span>intervalle_de_repetition</p>
<p>Ainsi, si je veux que toutes les 15 minutes, une action se répète, quelque-soit la date :</p>
<p><code>*/15 * * * * /usr/bin/monaction</code></p>
<p>On utilise ici également le joker, puisque l&rsquo;action se répète quelque-soit la minute, l&rsquo;heure, ou la date&#8230;</p>
<p><br /><br /><br />
<h3>Les intervalles et les sélections multiples</h3>
<p>Vous pouvez également définir <strong>plusieurs valeurs d&rsquo;un paramètre</strong> pour lesquelles la tâche sera exécutée. On procède soit en donnant <strong>un intervalle de valeurs</strong>, soit une <strong>liste de valeurs</strong>.</p>
<p><strong>Opérateur d&rsquo;intervalle : -</strong></p>
<p>Utilisation : borne1-borne2 ou borne1 et borne2 sont les bornes de l&rsquo;intervalle ( [borne1 ; borne2] ) et incluses.</p>
<p>Exemple : La précédente action se répète toutes les 15 minutes, du 1er au 10 du mois</p>
<p><code>*/15 * 1-10 * * /usr/bin/monaction</code></p>
<p><strong>Opérateur de valeurs multiples : ,</strong></p>
<p>Utilisation : valeur1, valeur2, valeur3&#8230;</p>
<p>Exemple : La précédente action se répète toutes les 15 minutes mais seulement entre 02h et 03h puis entre 05h et 06h</p>
<p><code>*/15 2,5 * * * /usr/bin/monaction</code></p>
<p><br /><br /></p>
<h2>Définir une fichier cron personnalisé : Cron en mode admin</h2>
<p>Jusqu&rsquo;à présent, vous avez utilisé la commande <em><strong>crontab</strong></em> afin de modifier votre fichier cron et d&rsquo;ajouter ou de supprimer des tâches.</p>
<p>En réalité vous n&rsquo;avez utilisé que le côté &laquo;&nbsp;<em>utilisateur</em>&nbsp;&raquo; de cron. La suite n&rsquo;est ouverte qu&rsquo;à un accès root, autrement dit l&rsquo;administateur de la machine, car elle permet notamment de décider de sous quel utilisateur vont être exécutées les tâches, ce que nous verrons en même temps.</p>
<p>Si ce mode d&rsquo;utilisation de cron n&rsquo;est réservé qu&rsquo;à l&rsquo;<strong>administateur</strong>, c&rsquo;est pour plusieurs raisons :</p>
<ol>
<li>Il va permettre, comme je l&rsquo;ai dit, de choisir l&rsquo;utilisateur qui exécute la commande</li>
<li>Le répertoire dans lequel nous allons créer le fichier appartient à root</li>
<li>Seul root peut demander à cron de recharger les fichiers de configuration, or nous en aurons besoin car comme nous allons éditer de simples fichiers, la commande <em>crontab</em> ne sera pas là pour, à la fin de l&rsquo;édition du fichier, dire à cron <em>&laquo;&nbsp;Hey hey, ouhou, on a modifié le fichier là, viens y jeter un coup d&rsquo;oeil&nbsp;&raquo;</em> et par défaut <strong>cron ne verra donc pas vos modifs sans reload</strong>, et donc sans droits d&rsquo;admin.</li>
</ol>
<p><br /><br /><br />
<h3>Créer votre fichier de tâches planifiées : le répertoire /etc/cron.d/</h3>
<p>Vous êtes donc maintenant loggé en root, ou, si vous n&rsquo;avez pas le <em><strong>su</strong></em> sur votre machine, vous exécuterez le reste des commandes avec un &laquo;&nbsp;sudo&nbsp;&raquo; devant.</p>
<p>Les fichiers de tâches planifiées sont placés dans le répertoire <strong>/etc/cron.d/</strong>, qui appartient à root.</p>
<p>Créons-y un fichier :</p>
<p><code>vim /etc/cron.d/monfichiercron</code></p>
<p>Voilà, tout le travail est fait&#8230; ou presque. Dans ce fichier, vous pouvez placer des tâches planifiées <strong>exactement de la même façon qu&rsquo;avec la commande crontab</strong> à la différence prêt&#8230; qu&rsquo;il faut spécifier l&rsquo;utilisateur d&rsquo;exécution !</p>
<p>Cela donne :</p>
<p><code>mm HH JJ MM joursemaine utilisateur /chemin/commande</code></p>
<p>Exemple, je suis l&rsquo;utilisateur Troll, je veux que l&rsquo;utilisateur Toto fasse le ménage dans son dossier personnel chaque semaine (vision geek du <em>Range ta chambre !</em> maternel/paternel), on dira qu&rsquo;on est un peu radical, si le dimanche il n&rsquo;a pas vidé son dossier perso (il est censé le faire le samedi) tant pis : tout poubelle !<br />
<em>Note : A NE PAS TESTER CHEZ VOUS ! Vous risqueriez d&rsquo;avoir de sérieux ennui ^^</em></p>
<p><code>01 00 * * sun toto rm -fR /home/toto/*</code></p>
<p>Bien sûr l&rsquo;utilisateur peut aussi être <em>root</em>&#8230; But, be careful !</p>
<p>Ensuite, une fois que vous avez sauvegardé votre fichier, il faut dire à cron de le relire pour l&rsquo;intégrer :</p>
<p>(encore une commande à faire en root, si vous avez bien lu le début de ce paragraphe !)<br />
<code>/etc/init.d/crond reload</code></p>
<p>Cron a bien rechargé s&rsquo;il dit ça normalement :</p>
<p><code>Reloading crond:                                           [  OK  ]</code></p>
<p><br /><br /><br />
<h3>Les autres fichiers préconfigurés de cron :</h3>
<p>Cron a également <strong>des dossiers préconfigurés</strong>, dans lesquels il vous suffit de mettre <strong>un script</strong> (ou un lien symbolique, solution la plus souvent utilisée) <strong>exécutable</strong>.</p>
<p>Ces dossiers sont les suivants :</p>
<ul>
<li><strong>/</strong><strong>etc/crond.daily</strong> : exécution quotidienne (chaque jour à 4h02)</li>
<li><strong>/etc/crond.hourly</strong> : exécution chaque heure (chaque heure + 1 minute)</li>
<li><strong>/etc/crond.weekly</strong> : exécution hebdomadaire (le dimanche à 4h22)</li>
<li><strong>/etc/crond.monthly</strong> : exécution mensuelle (le 1er du mois à 4h42)</li>
</ul>
<p>Comme je suis gentil, je vous donne même les commandes :</p>
<p><strong>Création d&rsquo;un script exécutable dans un dossier :</strong><br />
(en root encore et toujours)<br />
<code>vim /mon/chemin/de/fichier &amp;amp;&amp;amp; chmod +x /mon/chemin/de/fichier</code></p>
<p><strong>Création d&rsquo;un lien symbolique</strong> dans /etc/crond.daily (par exemple) pointant vers /mon/chemin/de/fichier :</p>
<p><code>ln -s /mon/chemin/de/fichier /etc/crond.daily/monscript &amp;amp;&amp;amp; chmod +x /etc/crond.daily/monscript</code></p>
<p>L&rsquo;avantage du lien symbolique c&rsquo;est que vous pouvez mettre votre script dans un dossier où vous le retrouvez et vous pouvez placer un lien dans plusieurs dossiers /etc/crond.XXX/ <strong>sans avoir à modifier tous les fichiers quand vous modifiez le script</strong> (principe du lien symbolique).</p>
<p><br /><br /><br />
<h2>Éxécuter des tâches planifiées dans un répertoire particlier</h2>
<p>Il peut s&rsquo;avérer que vous ayiez besoin d&rsquo;exécuter une commande qui va chercher des fichiers ou autres dans son répertoire courant et qui sera donc perdue si vous la lancez avec cron de la manière <em>/chemin/commande</em></p>
<p>Pour cela, utilisez tout simplement la commande <strong>cd</strong> :</p>
<p><code>03 01 * * * tutu cd /home/tutu/scripts/ &amp;amp;&amp;amp; ./macommande</code></p>
<p><br /><br /><br />
<h2>Éxécution d&rsquo;une tâche planifiée graphique</h2>
<p>La console, y&rsquo;a rien de mieux, ça plante pas, ça vous cache rien&#8230; Mais c&rsquo;est pas très esthétique. Puis si vous voulez par exemple lancer Amarok pour vous reveiller en musique, Amarok va avoir besoin d&rsquo;une interface graphique (sauf si vous connaissez une interface ligne de commande pour amarok, auquel cas je veux bien que vous partagiez l&rsquo;info avec moi !).</p>
<p>Pour cela, procédez comme suit : placez <strong>DISPLAY=:0</strong> après le jour de la semaine, ou après le nom d&rsquo;utilisateur quand celui-ci est spécifié.</p>
<p>Si vous utilisez une commande composée, du type :</p>
<p><code>/chemin/premierecommande &amp;amp;&amp;amp; /chemin/deuxiemecommande</code></p>
<p>(ce qui est notamment le cas lorsque vous exécutez dans un répertoire particulier) alors vous devez mettre le <strong>DISPLAY=:0</strong> juste avant la commande qui aura besoin de l&rsquo;affichage.</p>
<h2>Gérer les sorties des commandes exécutées par CRON : logs, mails, etc.</h2>
<p>Par défaut, notamment lors de la définition d&rsquo;une tâche planifiée avec <strong>crontab -e</strong>, si votre commande génère une <em>sortie</em> vous devez &#8211; en théorie (désactivé sur certaines distrib&rsquo;) &#8211; recevoir un &laquo;&nbsp;mail&nbsp;&raquo; ( dans /var/spool/votrelogin ) avec la sortie générée.</p>
<p>Ce n&rsquo;est pas vraiment un mode très pratique pour logger et retrouver les sorties de vos tâches planifiées préférées.</p>
<p>Je vais donc vous montrer comment enregistrer dans un fichier log la sortie de vos tâches planifiées.</p>
<p>En fait, cela revient au même que pour enregistrer dans un fichier log une commande console standard. Cela revient à faire comme ceci :</p>
<p><strong>Enregistrer tout</strong> dans monfichier.log (sortie normale + erreurs)<br />
<code>/chemin/macomandequigenereunesortie &amp;gt; monfichier.log 2&amp;gt;&amp;amp;1</code></p>
<p><strong>Enregistrer seulement les erreurs</strong> dans monfichier.log :</p>
<p><code>/chemin/macomandequigenereunesortie &amp;gt; /dev/null 2&amp;gt; monfichier.log</code></p>
<p><strong>Ne rien enregistrer</strong> :</p>
<p><code>/chemin/macomandequigenereunesortie &amp;gt; /dev/null 2&amp;gt;&amp;amp;1</code></p>
<p><strong>Attention, tel que c&rsquo;est présenté ici, chaque nouvelle exécution remplace le contenu de monfichier.log</strong></p>
<p>Si vous voulez logger sur plus d&rsquo;un seul lancement, vous devez créer le fichier monfichier.log avant (ce qui n&rsquo;était pas nécessaire précédemment) et remplacer systématiquement dans les précédentes commandes, le &laquo;&nbsp;&gt;&nbsp;&raquo; par &laquo;&nbsp;&gt;&gt;&nbsp;&raquo; (enfin presque, pas tous, regardez ci-dessous).</p>
<p>Ce qui donne :</p>
<p><code>/chemin/macomandequigenereunesortie &amp;gt;&amp;gt; monfichier.log 2&amp;gt;&amp;amp;1</code><br />
<code>/chemin/macomandequigenereunesortie &amp;gt; /dev/null 2&amp;gt;&amp;gt; monfichier.log</code><br />
<code>/chemin/macomandequigenereunesortie &amp;gt; /dev/null 2&amp;gt;&amp;amp;1</code><br />
<br /><br /></p>
<h2>Annexes : Utilisation de PHP avec CRON</h2>
<p>Pour lancer une <strong>tâche écrite en PHP avec cron</strong>, saisissez une tâche de la manière suivante :</p>
<p><code>mm HH JJ MM joursemaine [user] /usr/bin/php -f /chemin/de/fichier.php</code></p>
<p>Ou, ce qui est conseillé avec PHP, avec exécution dans un repértoire particulier :</p>
<p><code>mm HH JJ MM joursemaine [user] cd /chemin/de/ &amp;amp;&amp;amp; /usr/bin/php -f ./fichier.php</code></p>
<p>Bien évidemment, vous pouvez logger dans un .log avec les .php comme avec n&rsquo;importe quelle autre commande.</p>
<p>Voilà, c&rsquo;est terminé : des remarques, des erreurs à signaler, des questions -&gt; Les commentaires sont là pour ça ! J&rsquo;espère avoir été clair et que cet article sera utile au plus grand nombre <img src="//trollfactory.fr/wp-includes/images/smilies/icon_smile.gif" alt=":-)" class="wp-smiley" /></p>
Share and Enjoy:<a rel="nofollow" target="_blank"  href="http://www.printfriendly.com/print/new?url=http%3A%2F%2Ftrollfactory.fr%2Fles-taches-planifiees-sous-linux-cron-crontab-seconde-approche-139" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/printfriendly.png" class="sociable-img sociable-hovers" title="Print" alt="Print" /></a><a rel="nofollow" target="_blank"  href="http://www.printfriendly.com/print/new?url=http%3A%2F%2Ftrollfactory.fr%2Fles-taches-planifiees-sous-linux-cron-crontab-seconde-approche-139" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/pdf.png" class="sociable-img sociable-hovers" title="PDF" alt="PDF" /></a><a rel="nofollow" target="_blank"  href="http://twitter.com/home?status=Les%20t%C3%A2ches%20planifi%C3%A9es%20sous%20Linux%20%28cron%2C%20crontab%29%20%3A%20seconde%20approche%20-%20http%3A%2F%2Ftrollfactory.fr%2Fles-taches-planifiees-sous-linux-cron-crontab-seconde-approche-139" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/twitter.png" class="sociable-img sociable-hovers" title="Twitter" alt="Twitter" /></a><a rel="nofollow" target="_blank"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Ftrollfactory.fr%2Fles-taches-planifiees-sous-linux-cron-crontab-seconde-approche-139&amp;t=Les%20t%C3%A2ches%20planifi%C3%A9es%20sous%20Linux%20%28cron%2C%20crontab%29%20%3A%20seconde%20approche" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/facebook.png" class="sociable-img sociable-hovers" title="Facebook" alt="Facebook" /></a><a rel="nofollow" target="_blank"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Ftrollfactory.fr%2Fles-taches-planifiees-sous-linux-cron-crontab-seconde-approche-139&amp;title=Les%20t%C3%A2ches%20planifi%C3%A9es%20sous%20Linux%20%28cron%2C%20crontab%29%20%3A%20seconde%20approche&amp;source=The+Troll%26%23039%3Bs+factory+Geekeries+%26amp%3B+pens%C3%A9es&amp;summary=Bonsoir%20la%20compagnie%2C%0D%0A%0D%0AApr%C3%A8s%20avoir%20fait%20joujou%20une%20premi%C3%A8re%20fois%20avec%20les%20t%C3%A2ches%20planifi%C3%A9es%20sous%20cron%20gnu%2Flinux%2C%20je%20vous%20avais%20promis%20de%20vous%20en%20dire%20plus%20sur%20les%20proc%C3%A9d%C3%A9s%20et%20les%20possibilit%C3%A9s%20du%20syst%C3%A8me%20de%20planification%20des%20t%C3%A2ches%20de%20GNU%2FL" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/linkedin.png" class="sociable-img sociable-hovers" title="LinkedIn" alt="LinkedIn" /></a><a rel="nofollow" target="_blank"  href="http://trollfactory.fr/feed" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/rss.png" class="sociable-img sociable-hovers" title="RSS" alt="RSS" /></a><a rel="nofollow" target="_blank"  href="http://www.wikio.fr/vote?url=http%3A%2F%2Ftrollfactory.fr%2Fles-taches-planifiees-sous-linux-cron-crontab-seconde-approche-139" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/wikio.png" class="sociable-img sociable-hovers" title="Wikio FR" alt="Wikio FR" /></a><a rel="nofollow" target="_blank"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Ftrollfactory.fr%2Fles-taches-planifiees-sous-linux-cron-crontab-seconde-approche-139&amp;title=Les%20t%C3%A2ches%20planifi%C3%A9es%20sous%20Linux%20%28cron%2C%20crontab%29%20%3A%20seconde%20approche&amp;bodytext=Bonsoir%20la%20compagnie%2C%0D%0A%0D%0AApr%C3%A8s%20avoir%20fait%20joujou%20une%20premi%C3%A8re%20fois%20avec%20les%20t%C3%A2ches%20planifi%C3%A9es%20sous%20cron%20gnu%2Flinux%2C%20je%20vous%20avais%20promis%20de%20vous%20en%20dire%20plus%20sur%20les%20proc%C3%A9d%C3%A9s%20et%20les%20possibilit%C3%A9s%20du%20syst%C3%A8me%20de%20planification%20des%20t%C3%A2ches%20de%20GNU%2FL" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/digg.png" class="sociable-img sociable-hovers" title="Digg" alt="Digg" /></a><a rel="nofollow" target="_blank"  href="http://delicious.com/post?url=http%3A%2F%2Ftrollfactory.fr%2Fles-taches-planifiees-sous-linux-cron-crontab-seconde-approche-139&amp;title=Les%20t%C3%A2ches%20planifi%C3%A9es%20sous%20Linux%20%28cron%2C%20crontab%29%20%3A%20seconde%20approche&amp;notes=Bonsoir%20la%20compagnie%2C%0D%0A%0D%0AApr%C3%A8s%20avoir%20fait%20joujou%20une%20premi%C3%A8re%20fois%20avec%20les%20t%C3%A2ches%20planifi%C3%A9es%20sous%20cron%20gnu%2Flinux%2C%20je%20vous%20avais%20promis%20de%20vous%20en%20dire%20plus%20sur%20les%20proc%C3%A9d%C3%A9s%20et%20les%20possibilit%C3%A9s%20du%20syst%C3%A8me%20de%20planification%20des%20t%C3%A2ches%20de%20GNU%2FL" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/delicious.png" class="sociable-img sociable-hovers" title="del.icio.us" alt="del.icio.us" /></a><a rel="nofollow" target="_blank"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Ftrollfactory.fr%2Fles-taches-planifiees-sous-linux-cron-crontab-seconde-approche-139&amp;title=Les%20t%C3%A2ches%20planifi%C3%A9es%20sous%20Linux%20%28cron%2C%20crontab%29%20%3A%20seconde%20approche&amp;annotation=Bonsoir%20la%20compagnie%2C%0D%0A%0D%0AApr%C3%A8s%20avoir%20fait%20joujou%20une%20premi%C3%A8re%20fois%20avec%20les%20t%C3%A2ches%20planifi%C3%A9es%20sous%20cron%20gnu%2Flinux%2C%20je%20vous%20avais%20promis%20de%20vous%20en%20dire%20plus%20sur%20les%20proc%C3%A9d%C3%A9s%20et%20les%20possibilit%C3%A9s%20du%20syst%C3%A8me%20de%20planification%20des%20t%C3%A2ches%20de%20GNU%2FL" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/googlebookmark.png" class="sociable-img sociable-hovers" title="Google Bookmarks" alt="Google Bookmarks" /></a><a rel="nofollow" target="_blank"  href="http://technorati.com/faves?add=http%3A%2F%2Ftrollfactory.fr%2Fles-taches-planifiees-sous-linux-cron-crontab-seconde-approche-139" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/technorati.png" class="sociable-img sociable-hovers" title="Technorati" alt="Technorati" /></a><a rel="nofollow" target="_blank"  href="http://sphinn.com/index.php?c=post&amp;m=submit&amp;link=http%3A%2F%2Ftrollfactory.fr%2Fles-taches-planifiees-sous-linux-cron-crontab-seconde-approche-139" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/sphinn.png" class="sociable-img sociable-hovers" title="Sphinn" alt="Sphinn" /></a><a rel="nofollow" target="_blank"  href="http://www.mixx.com/submit?page_url=http%3A%2F%2Ftrollfactory.fr%2Fles-taches-planifiees-sous-linux-cron-crontab-seconde-approche-139&amp;title=Les%20t%C3%A2ches%20planifi%C3%A9es%20sous%20Linux%20%28cron%2C%20crontab%29%20%3A%20seconde%20approche" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/mixx.png" class="sociable-img sociable-hovers" title="Mixx" alt="Mixx" /></a><a rel="nofollow" target="_blank" title="Add to favorites" href="#" onclick="AddToFavorites(); return false;"><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/addtofavorites.png" class="sociable-img sociable-hovers" title="Add to favorites" alt="Add to favorites" /></a><a rel="nofollow" target="_blank"  href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Ftrollfactory.fr%2Fles-taches-planifiees-sous-linux-cron-crontab-seconde-approche-139&amp;title=Les%20t%C3%A2ches%20planifi%C3%A9es%20sous%20Linux%20%28cron%2C%20crontab%29%20%3A%20seconde%20approche" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/live.png" class="sociable-img sociable-hovers" title="Live" alt="Live" /></a><a rel="nofollow" target="_blank"  href="http://www.netvibes.com/share?title=Les%20t%C3%A2ches%20planifi%C3%A9es%20sous%20Linux%20%28cron%2C%20crontab%29%20%3A%20seconde%20approche&amp;url=http%3A%2F%2Ftrollfactory.fr%2Fles-taches-planifiees-sous-linux-cron-crontab-seconde-approche-139" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/netvibes.png" class="sociable-img sociable-hovers" title="Netvibes" alt="Netvibes" /></a><a rel="nofollow" target="_blank"  href="http://www.scoopeo.com/scoop/new?newurl=http%3A%2F%2Ftrollfactory.fr%2Fles-taches-planifiees-sous-linux-cron-crontab-seconde-approche-139&amp;title=Les%20t%C3%A2ches%20planifi%C3%A9es%20sous%20Linux%20%28cron%2C%20crontab%29%20%3A%20seconde%20approche" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/scoopeo.png" class="sociable-img sociable-hovers" title="Scoopeo" alt="Scoopeo" /></a><a rel="nofollow" target="_blank"  href="http://www.viadeo.com/shareit/share/?url=http%3A%2F%2Ftrollfactory.fr%2Fles-taches-planifiees-sous-linux-cron-crontab-seconde-approche-139&title=Les%20t%C3%A2ches%20planifi%C3%A9es%20sous%20Linux%20%28cron%2C%20crontab%29%20%3A%20seconde%20approche&urllanguage=fr" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/viadeo.png" class="sociable-img sociable-hovers" title="viadeo FR" alt="viadeo FR" /></a><a rel="nofollow" target="_blank"  href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Ftrollfactory.fr%2Fles-taches-planifiees-sous-linux-cron-crontab-seconde-approche-139" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/identica.png" class="sociable-img sociable-hovers" title="Identi.ca" alt="Identi.ca" /></a><a rel="nofollow" target="_blank"  href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Ftrollfactory.fr%2Fles-taches-planifiees-sous-linux-cron-crontab-seconde-approche-139&amp;t=Les%20t%C3%A2ches%20planifi%C3%A9es%20sous%20Linux%20%28cron%2C%20crontab%29%20%3A%20seconde%20approche" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/myspace.png" class="sociable-img sociable-hovers" title="MySpace" alt="MySpace" /></a><a rel="nofollow" target="_blank"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Ftrollfactory.fr%2Fles-taches-planifiees-sous-linux-cron-crontab-seconde-approche-139&amp;title=Les%20t%C3%A2ches%20planifi%C3%A9es%20sous%20Linux%20%28cron%2C%20crontab%29%20%3A%20seconde%20approche" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/stumbleupon.png" class="sociable-img sociable-hovers" title="StumbleUpon" alt="StumbleUpon" /></a><a rel="nofollow" target="_blank"  href="http://buzz.yahoo.com/submit/?submitUrl=http%3A%2F%2Ftrollfactory.fr%2Fles-taches-planifiees-sous-linux-cron-crontab-seconde-approche-139&amp;submitHeadline=Les%20t%C3%A2ches%20planifi%C3%A9es%20sous%20Linux%20%28cron%2C%20crontab%29%20%3A%20seconde%20approche&amp;submitSummary=Bonsoir%20la%20compagnie%2C%0D%0A%0D%0AApr%C3%A8s%20avoir%20fait%20joujou%20une%20premi%C3%A8re%20fois%20avec%20les%20t%C3%A2ches%20planifi%C3%A9es%20sous%20cron%20gnu%2Flinux%2C%20je%20vous%20avais%20promis%20de%20vous%20en%20dire%20plus%20sur%20les%20proc%C3%A9d%C3%A9s%20et%20les%20possibilit%C3%A9s%20du%20syst%C3%A8me%20de%20planification%20des%20t%C3%A2ches%20de%20GNU%2FL&amp;submitCategory=science&amp;submitAssetType=text" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/yahoobuzz.png" class="sociable-img sociable-hovers" title="Yahoo! Buzz" alt="Yahoo! Buzz" /></a><br/><br/>]]></content:encoded>
			<wfw:commentRss>http://trollfactory.fr/les-taches-planifiees-sous-linux-cron-crontab-seconde-approche-139/feed</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>Connaître / récupérer le prochain ID AUTO_INCREMENT d&#8217;une table SQL</title>
		<link>http://trollfactory.fr/connaitre-recuperer-le-prochain-id-auto_increment-dune-table-sql-87</link>
		<comments>http://trollfactory.fr/connaitre-recuperer-le-prochain-id-auto_increment-dune-table-sql-87#comments</comments>
		<pubDate>Thu, 31 Dec 2009 22:37:21 +0000</pubDate>
		<dc:creator><![CDATA[Troll]]></dc:creator>
				<category><![CDATA[Scripts, astuces, dév. web]]></category>
		<category><![CDATA[astuce]]></category>
		<category><![CDATA[auto_increment]]></category>
		<category><![CDATA[id]]></category>
		<category><![CDATA[prochain]]></category>
		<category><![CDATA[scripts]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://trollfactory.fr/?p=87</guid>
		<description><![CDATA[Aujourd&#8217;hui je vous fais part d&#8217;une chose que bien des gens ont cherché sur Internet et que bien des webmasters ont abandonné de trouver&#8230; la méthode pour connaître la valeur du prochain ID d&#8217;un champ de type AUTO_INCREMENT dans une table SQL. Attention cependant, cette méthode fonctionne pour une table ne comprenant qu&#8217;un seul champs [...]]]></description>
				<content:encoded><![CDATA[<p>Aujourd&rsquo;hui je vous fais part d&rsquo;une chose que bien des gens ont cherché sur Internet et que bien des webmasters ont abandonné de trouver&#8230; la méthode pour connaître la valeur du prochain ID d&rsquo;un champ de type AUTO_INCREMENT dans une table SQL.</p>
<p>Attention cependant, cette méthode fonctionne pour une table ne comprenant qu&rsquo;un seul champs de type auto_increment et pour MySQL. Je vous laisse le soin de tester (et de nous dire ce que ça donne en laissant un petit commentaire <img src="//trollfactory.fr/wp-includes/images/smilies/icon_wink.gif" alt=";-)" class="wp-smiley" /> ) et d&rsquo;adapter pour d&rsquo;autres situations, celle situation-ci restant la plus courante.</p>
<p>L&rsquo;astuce est d&rsquo;appeler la commande SHOW TABLE STATUS.</p>
<p>En effet si vous tapez par exemple cette requête SQL dans PhpMyAdmin, vous verrez apparaître plein d&rsquo;informations sur toutes les tables de votre base de données courante.</p>
<p>Si vous souhaitez réduire les lignes à une table précise :</p>
<p><code>SHOW TABLE STATUS<br />
LIKE 'NomDeLaTable'</code></p>
<p>Vous allez alors voir qu&rsquo;une colonne est nommée <em><strong>Auto_increment</strong></em> (attention à la majuscule, importante !). <strong>Cette colonne contient la prochine valeur que prendra le champs de type auto_increment de cette table. Attention : <span style="text-decoration: underline;">la PROCHAINE</span>.</strong> Si vous souhaitez connaître la dernière valeur prise par l&rsquo;auto_increment il faut donc soustraire 1. <em>Je rappelle au passage que l&rsquo;utilisation de la commande MAX() ou d&rsquo;un SELECT avec un ORDER BY DESC LIMIT 0,1 derrière ne fonctionnera pas car vous avez la possibilité que des lignes de la table aient été supprimées.</em></p>
<p>Si vous utilisez par exemple <strong>PHP</strong> et la fonction <strong>mysql_fetch_assoc()</strong> (ou <strong>mysql_fetch_array()</strong> pour les non-éclairés ou ceux qui ont besoin des clés numériques &amp; textuelles), vous récupérerez alors dans votre tableau associatif cette valeur dans la clé nommée <em><strong>&lsquo;Auto_increment&rsquo;</strong></em>.</p>
Share and Enjoy:<a rel="nofollow" target="_blank"  href="http://www.printfriendly.com/print/new?url=http%3A%2F%2Ftrollfactory.fr%2Fconnaitre-recuperer-le-prochain-id-auto_increment-dune-table-sql-87" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/printfriendly.png" class="sociable-img sociable-hovers" title="Print" alt="Print" /></a><a rel="nofollow" target="_blank"  href="http://www.printfriendly.com/print/new?url=http%3A%2F%2Ftrollfactory.fr%2Fconnaitre-recuperer-le-prochain-id-auto_increment-dune-table-sql-87" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/pdf.png" class="sociable-img sociable-hovers" title="PDF" alt="PDF" /></a><a rel="nofollow" target="_blank"  href="http://twitter.com/home?status=Conna%C3%AEtre%20%2F%20r%C3%A9cup%C3%A9rer%20le%20prochain%20ID%20AUTO_INCREMENT%20d%27une%20table%20SQL%20-%20http%3A%2F%2Ftrollfactory.fr%2Fconnaitre-recuperer-le-prochain-id-auto_increment-dune-table-sql-87" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/twitter.png" class="sociable-img sociable-hovers" title="Twitter" alt="Twitter" /></a><a rel="nofollow" target="_blank"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Ftrollfactory.fr%2Fconnaitre-recuperer-le-prochain-id-auto_increment-dune-table-sql-87&amp;t=Conna%C3%AEtre%20%2F%20r%C3%A9cup%C3%A9rer%20le%20prochain%20ID%20AUTO_INCREMENT%20d%27une%20table%20SQL" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/facebook.png" class="sociable-img sociable-hovers" title="Facebook" alt="Facebook" /></a><a rel="nofollow" target="_blank"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Ftrollfactory.fr%2Fconnaitre-recuperer-le-prochain-id-auto_increment-dune-table-sql-87&amp;title=Conna%C3%AEtre%20%2F%20r%C3%A9cup%C3%A9rer%20le%20prochain%20ID%20AUTO_INCREMENT%20d%27une%20table%20SQL&amp;source=The+Troll%26%23039%3Bs+factory+Geekeries+%26amp%3B+pens%C3%A9es&amp;summary=Aujourd%27hui%20je%20vous%20fais%20part%20d%27une%20chose%20que%20bien%20des%20gens%20ont%20cherch%C3%A9%20sur%20Internet%20et%20que%20bien%20des%20webmasters%20ont%20abandonn%C3%A9%20de%20trouver...%20la%20m%C3%A9thode%20pour%20conna%C3%AEtre%20la%20valeur%20du%20prochain%20ID%20d%27un%20champ%20de%20type%20AUTO_INCREMENT%20dans%20une%20table%20SQL.%0D%0A" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/linkedin.png" class="sociable-img sociable-hovers" title="LinkedIn" alt="LinkedIn" /></a><a rel="nofollow" target="_blank"  href="http://trollfactory.fr/feed" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/rss.png" class="sociable-img sociable-hovers" title="RSS" alt="RSS" /></a><a rel="nofollow" target="_blank"  href="http://www.wikio.fr/vote?url=http%3A%2F%2Ftrollfactory.fr%2Fconnaitre-recuperer-le-prochain-id-auto_increment-dune-table-sql-87" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/wikio.png" class="sociable-img sociable-hovers" title="Wikio FR" alt="Wikio FR" /></a><a rel="nofollow" target="_blank"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Ftrollfactory.fr%2Fconnaitre-recuperer-le-prochain-id-auto_increment-dune-table-sql-87&amp;title=Conna%C3%AEtre%20%2F%20r%C3%A9cup%C3%A9rer%20le%20prochain%20ID%20AUTO_INCREMENT%20d%27une%20table%20SQL&amp;bodytext=Aujourd%27hui%20je%20vous%20fais%20part%20d%27une%20chose%20que%20bien%20des%20gens%20ont%20cherch%C3%A9%20sur%20Internet%20et%20que%20bien%20des%20webmasters%20ont%20abandonn%C3%A9%20de%20trouver...%20la%20m%C3%A9thode%20pour%20conna%C3%AEtre%20la%20valeur%20du%20prochain%20ID%20d%27un%20champ%20de%20type%20AUTO_INCREMENT%20dans%20une%20table%20SQL.%0D%0A" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/digg.png" class="sociable-img sociable-hovers" title="Digg" alt="Digg" /></a><a rel="nofollow" target="_blank"  href="http://delicious.com/post?url=http%3A%2F%2Ftrollfactory.fr%2Fconnaitre-recuperer-le-prochain-id-auto_increment-dune-table-sql-87&amp;title=Conna%C3%AEtre%20%2F%20r%C3%A9cup%C3%A9rer%20le%20prochain%20ID%20AUTO_INCREMENT%20d%27une%20table%20SQL&amp;notes=Aujourd%27hui%20je%20vous%20fais%20part%20d%27une%20chose%20que%20bien%20des%20gens%20ont%20cherch%C3%A9%20sur%20Internet%20et%20que%20bien%20des%20webmasters%20ont%20abandonn%C3%A9%20de%20trouver...%20la%20m%C3%A9thode%20pour%20conna%C3%AEtre%20la%20valeur%20du%20prochain%20ID%20d%27un%20champ%20de%20type%20AUTO_INCREMENT%20dans%20une%20table%20SQL.%0D%0A" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/delicious.png" class="sociable-img sociable-hovers" title="del.icio.us" alt="del.icio.us" /></a><a rel="nofollow" target="_blank"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Ftrollfactory.fr%2Fconnaitre-recuperer-le-prochain-id-auto_increment-dune-table-sql-87&amp;title=Conna%C3%AEtre%20%2F%20r%C3%A9cup%C3%A9rer%20le%20prochain%20ID%20AUTO_INCREMENT%20d%27une%20table%20SQL&amp;annotation=Aujourd%27hui%20je%20vous%20fais%20part%20d%27une%20chose%20que%20bien%20des%20gens%20ont%20cherch%C3%A9%20sur%20Internet%20et%20que%20bien%20des%20webmasters%20ont%20abandonn%C3%A9%20de%20trouver...%20la%20m%C3%A9thode%20pour%20conna%C3%AEtre%20la%20valeur%20du%20prochain%20ID%20d%27un%20champ%20de%20type%20AUTO_INCREMENT%20dans%20une%20table%20SQL.%0D%0A" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/googlebookmark.png" class="sociable-img sociable-hovers" title="Google Bookmarks" alt="Google Bookmarks" /></a><a rel="nofollow" target="_blank"  href="http://technorati.com/faves?add=http%3A%2F%2Ftrollfactory.fr%2Fconnaitre-recuperer-le-prochain-id-auto_increment-dune-table-sql-87" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/technorati.png" class="sociable-img sociable-hovers" title="Technorati" alt="Technorati" /></a><a rel="nofollow" target="_blank"  href="http://sphinn.com/index.php?c=post&amp;m=submit&amp;link=http%3A%2F%2Ftrollfactory.fr%2Fconnaitre-recuperer-le-prochain-id-auto_increment-dune-table-sql-87" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/sphinn.png" class="sociable-img sociable-hovers" title="Sphinn" alt="Sphinn" /></a><a rel="nofollow" target="_blank"  href="http://www.mixx.com/submit?page_url=http%3A%2F%2Ftrollfactory.fr%2Fconnaitre-recuperer-le-prochain-id-auto_increment-dune-table-sql-87&amp;title=Conna%C3%AEtre%20%2F%20r%C3%A9cup%C3%A9rer%20le%20prochain%20ID%20AUTO_INCREMENT%20d%27une%20table%20SQL" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/mixx.png" class="sociable-img sociable-hovers" title="Mixx" alt="Mixx" /></a><a rel="nofollow" target="_blank" title="Add to favorites" href="#" onclick="AddToFavorites(); return false;"><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/addtofavorites.png" class="sociable-img sociable-hovers" title="Add to favorites" alt="Add to favorites" /></a><a rel="nofollow" target="_blank"  href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Ftrollfactory.fr%2Fconnaitre-recuperer-le-prochain-id-auto_increment-dune-table-sql-87&amp;title=Conna%C3%AEtre%20%2F%20r%C3%A9cup%C3%A9rer%20le%20prochain%20ID%20AUTO_INCREMENT%20d%27une%20table%20SQL" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/live.png" class="sociable-img sociable-hovers" title="Live" alt="Live" /></a><a rel="nofollow" target="_blank"  href="http://www.netvibes.com/share?title=Conna%C3%AEtre%20%2F%20r%C3%A9cup%C3%A9rer%20le%20prochain%20ID%20AUTO_INCREMENT%20d%27une%20table%20SQL&amp;url=http%3A%2F%2Ftrollfactory.fr%2Fconnaitre-recuperer-le-prochain-id-auto_increment-dune-table-sql-87" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/netvibes.png" class="sociable-img sociable-hovers" title="Netvibes" alt="Netvibes" /></a><a rel="nofollow" target="_blank"  href="http://www.scoopeo.com/scoop/new?newurl=http%3A%2F%2Ftrollfactory.fr%2Fconnaitre-recuperer-le-prochain-id-auto_increment-dune-table-sql-87&amp;title=Conna%C3%AEtre%20%2F%20r%C3%A9cup%C3%A9rer%20le%20prochain%20ID%20AUTO_INCREMENT%20d%27une%20table%20SQL" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/scoopeo.png" class="sociable-img sociable-hovers" title="Scoopeo" alt="Scoopeo" /></a><a rel="nofollow" target="_blank"  href="http://www.viadeo.com/shareit/share/?url=http%3A%2F%2Ftrollfactory.fr%2Fconnaitre-recuperer-le-prochain-id-auto_increment-dune-table-sql-87&title=Conna%C3%AEtre%20%2F%20r%C3%A9cup%C3%A9rer%20le%20prochain%20ID%20AUTO_INCREMENT%20d%27une%20table%20SQL&urllanguage=fr" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/viadeo.png" class="sociable-img sociable-hovers" title="viadeo FR" alt="viadeo FR" /></a><a rel="nofollow" target="_blank"  href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Ftrollfactory.fr%2Fconnaitre-recuperer-le-prochain-id-auto_increment-dune-table-sql-87" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/identica.png" class="sociable-img sociable-hovers" title="Identi.ca" alt="Identi.ca" /></a><a rel="nofollow" target="_blank"  href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Ftrollfactory.fr%2Fconnaitre-recuperer-le-prochain-id-auto_increment-dune-table-sql-87&amp;t=Conna%C3%AEtre%20%2F%20r%C3%A9cup%C3%A9rer%20le%20prochain%20ID%20AUTO_INCREMENT%20d%27une%20table%20SQL" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/myspace.png" class="sociable-img sociable-hovers" title="MySpace" alt="MySpace" /></a><a rel="nofollow" target="_blank"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Ftrollfactory.fr%2Fconnaitre-recuperer-le-prochain-id-auto_increment-dune-table-sql-87&amp;title=Conna%C3%AEtre%20%2F%20r%C3%A9cup%C3%A9rer%20le%20prochain%20ID%20AUTO_INCREMENT%20d%27une%20table%20SQL" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/stumbleupon.png" class="sociable-img sociable-hovers" title="StumbleUpon" alt="StumbleUpon" /></a><a rel="nofollow" target="_blank"  href="http://buzz.yahoo.com/submit/?submitUrl=http%3A%2F%2Ftrollfactory.fr%2Fconnaitre-recuperer-le-prochain-id-auto_increment-dune-table-sql-87&amp;submitHeadline=Conna%C3%AEtre%20%2F%20r%C3%A9cup%C3%A9rer%20le%20prochain%20ID%20AUTO_INCREMENT%20d%27une%20table%20SQL&amp;submitSummary=Aujourd%27hui%20je%20vous%20fais%20part%20d%27une%20chose%20que%20bien%20des%20gens%20ont%20cherch%C3%A9%20sur%20Internet%20et%20que%20bien%20des%20webmasters%20ont%20abandonn%C3%A9%20de%20trouver...%20la%20m%C3%A9thode%20pour%20conna%C3%AEtre%20la%20valeur%20du%20prochain%20ID%20d%27un%20champ%20de%20type%20AUTO_INCREMENT%20dans%20une%20table%20SQL.%0D%0A&amp;submitCategory=science&amp;submitAssetType=text" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/yahoobuzz.png" class="sociable-img sociable-hovers" title="Yahoo! Buzz" alt="Yahoo! Buzz" /></a><br/><br/>]]></content:encoded>
			<wfw:commentRss>http://trollfactory.fr/connaitre-recuperer-le-prochain-id-auto_increment-dune-table-sql-87/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Du safe_mode avec DTC : danger &amp; sécurité</title>
		<link>http://trollfactory.fr/du-safe_mode-avec-dtc-danger-securite-70</link>
		<comments>http://trollfactory.fr/du-safe_mode-avec-dtc-danger-securite-70#comments</comments>
		<pubDate>Mon, 21 Dec 2009 21:29:29 +0000</pubDate>
		<dc:creator><![CDATA[Troll]]></dc:creator>
				<category><![CDATA[Scripts, astuces, dév. web]]></category>
		<category><![CDATA[cron]]></category>
		<category><![CDATA[dtc]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[safe_mode]]></category>
		<category><![CDATA[sécurité]]></category>

		<guid isPermaLink="false">http://trollfactory.fr/?p=70</guid>
		<description><![CDATA[DTC utilise un système d'arborescence et de chroot pour gérer tous les fichiers avec un seul user tout en engiguant les scripts. Cependant, si l'on désactive le safe_mode dans PHP, alors le monde s'osbcurcie et... [lisez la suite !]]]></description>
				<content:encoded><![CDATA[<p><strong>Comme </strong><a href="http://trollfactory.fr/neige-qui-tombe-un-peu-de-gaiete-sur-votre-site-web-pour-noel-54#post"><strong>je vous le promettais hier</strong></a><strong> je vous parle aujourd&rsquo;hui des enjeux et des dangers que j&rsquo;ai découverts pour le safe_mode (ou plutôt sa désactivation) utilisé avec le panel de gestion de serveur DTC.</strong></p>
<p>Tout d&rsquo;abord, petit retour rapide sur le <strong>fonctionnement de DTC</strong> :</p>
<p><strong>DTC crée un utilisateur &laquo;&nbsp;dtc&nbsp;&raquo; et un groupe &laquo;&nbsp;dtcgrp&nbsp;&raquo; avec lesquels il fait la plupart de ce qu&rsquo;il a à faire.</strong> Ainsi le ftp est géré par l&rsquo;utilisateur DTC, les connexions en SSH également (mais justement il y a de sacrés bugs là-dessus), les connexions imap, smtp, etc&#8230; etc&#8230; et également les connexions HTTP, et donc les lancements d&rsquo;Apache2 !</p>
<p>Concrètement, DTC est fait pour gérer un serveur dédié et donc proposer divers hébergements à divers sites.</p>
<p>Il crée toute une arborescence à laquelle on adhère ou non mais qui a le mérite d&rsquo;être relativement claire et facile à utiliser et retenir.</p>
<p><strong>Tous les fichiers de tous les sites appartiennent ainsi à un seul et unique couple user/groupe : dtc/dtcgrp.</strong></p>
<p>DTC utilise énormément le principe plus ou moins bon des chroot pour lancer ses scripts de manière à les &laquo;&nbsp;endiguer&nbsp;&raquo; et qu&rsquo;ils n&rsquo;aillent pas faire n&rsquo;importe quoi, particulièrement sur les fichiers appartenant à DTC sur le serveur.</p>
<p>Cependant DTC n&rsquo;a pas prévu une chose&#8230; c&rsquo;est l&rsquo;utilisation de <strong>la commande shell_exec()</strong> de PHP (PHP 5 notamment, je ne sais pas pour le 4).</p>
<p><strong>Par défaut, le safe_mode étant activé</strong> avec PHP, la commande shell_exec est quasiment inutilisable.</p>
<p>Cependant, <strong>si par malheur vous désactiver le safe_mode</strong> sur un domaine particulier&#8230; catastrophe ! Vous venez d&rsquo;autoriser la personne qui s&rsquo;occupe du site de ce domaine, à faire n&rsquo;importe quoi sur le serveur (enfin sauf tâches d&rsquo;administration (root) ).</p>
<p>Non seulement parce-qu&rsquo;elle peut maintenant utiliser shell_exec() pour effectuer des actions au niveau de l&rsquo;utilisateur dtc, mais surtout parce-que, même si certaines commandes sont bridées, <strong>shell_exec() permet d&rsquo;utiliser la commande crontab</strong>.</p>
<p>Or, crontab permet de définir des tâches cron (je vous renvoie à Google si vous ne savez pas ce que c&rsquo;est : cron est un gestionnaire de tâches planifiées). Or, quand cron lance la tâche, qu&rsquo;elle qu&rsquo;elle soit, <strong>elle est lancée au niveau de l&rsquo;utilisateur auquel le cron appartient</strong>.</p>
<p><strong>Concrètement </strong>si je fais ceci :</p>
<p><code>file_put_contents('temp.cron', '* * * * * cp /chemin/dun/autre/site/includes/passwordsdatabase.inc.php /chemin/de/mon/site/');<br />
shell_exec('crontab -u dtc /chemin/de/mon/site/temp.cron');</code></p>
<p>Hop, plus qu&rsquo;à attendre une minute et j&rsquo;aurais dans mes fichiers&#8230; <strong>les mots de passe de la base de données de mon voisin sur le serveur</strong>.</p>
<p><strong>C&rsquo;est un problème très important,</strong> donc, et je ne sais pas du tout comment DTC compte gérer les choses dans le futur puisque <strong>le safe_mode est amené à disparaîre </strong>: déjà considéré comme obsolète dans PHP 5, il sera définitivement supprimé avec PHP 6.</p>
<p>Il est possible que &#8211; comme souvent en informatique &#8211; GPLHost (éditeur de DTC) dise simplement &laquo;&nbsp;Logiciel compatible uniquement avec les versions suivantes de PHP : &#8230;.&nbsp;&raquo;.</p>
<p>En attendant, vous êtes donc maintenant au courant : <strong>NE DESACTIVEZ PAS </strong>LE SAFE_MODE PHP SI VOUS UTILISEZ DTC AVEC PLUSIEURS SITES DIFFERENTS.</p>
<p>Cependant, il y a certainement une alternative à cela : j&rsquo;imagine bien que PHP ou Apache ont la possibilité d&rsquo;interdire certaines commandes. Ainsi lorsque vous désactivez le safe_mode, pensez à interdire l&rsquo;utilisation de la commande shell_exec().</p>
<p>Voilà c&rsquo;était le bulletin sécurité (en exclu !!) du Troll <img src="//trollfactory.fr/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /></p>
Share and Enjoy:<a rel="nofollow" target="_blank"  href="http://www.printfriendly.com/print/new?url=http%3A%2F%2Ftrollfactory.fr%2Fdu-safe_mode-avec-dtc-danger-securite-70" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/printfriendly.png" class="sociable-img sociable-hovers" title="Print" alt="Print" /></a><a rel="nofollow" target="_blank"  href="http://www.printfriendly.com/print/new?url=http%3A%2F%2Ftrollfactory.fr%2Fdu-safe_mode-avec-dtc-danger-securite-70" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/pdf.png" class="sociable-img sociable-hovers" title="PDF" alt="PDF" /></a><a rel="nofollow" target="_blank"  href="http://twitter.com/home?status=Du%20safe_mode%20avec%20DTC%20%3A%20danger%20%26%20s%C3%A9curit%C3%A9%20-%20http%3A%2F%2Ftrollfactory.fr%2Fdu-safe_mode-avec-dtc-danger-securite-70" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/twitter.png" class="sociable-img sociable-hovers" title="Twitter" alt="Twitter" /></a><a rel="nofollow" target="_blank"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Ftrollfactory.fr%2Fdu-safe_mode-avec-dtc-danger-securite-70&amp;t=Du%20safe_mode%20avec%20DTC%20%3A%20danger%20%26%20s%C3%A9curit%C3%A9" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/facebook.png" class="sociable-img sociable-hovers" title="Facebook" alt="Facebook" /></a><a rel="nofollow" target="_blank"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Ftrollfactory.fr%2Fdu-safe_mode-avec-dtc-danger-securite-70&amp;title=Du%20safe_mode%20avec%20DTC%20%3A%20danger%20%26%20s%C3%A9curit%C3%A9&amp;source=The+Troll%26%23039%3Bs+factory+Geekeries+%26amp%3B+pens%C3%A9es&amp;summary=DTC%20utilise%20un%20syst%C3%A8me%20d%27arborescence%20et%20de%20chroot%20pour%20g%C3%A9rer%20tous%20les%20fichiers%20avec%20un%20seul%20user%20tout%20en%20engiguant%20les%20scripts.%20Cependant%2C%20si%20l%27on%20d%C3%A9sactive%20le%20safe_mode%20dans%20PHP%2C%20alors%20le%20monde%20s%27osbcurcie%20et...%20%5Blisez%20la%20suite%20%21%5D" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/linkedin.png" class="sociable-img sociable-hovers" title="LinkedIn" alt="LinkedIn" /></a><a rel="nofollow" target="_blank"  href="http://trollfactory.fr/feed" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/rss.png" class="sociable-img sociable-hovers" title="RSS" alt="RSS" /></a><a rel="nofollow" target="_blank"  href="http://www.wikio.fr/vote?url=http%3A%2F%2Ftrollfactory.fr%2Fdu-safe_mode-avec-dtc-danger-securite-70" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/wikio.png" class="sociable-img sociable-hovers" title="Wikio FR" alt="Wikio FR" /></a><a rel="nofollow" target="_blank"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Ftrollfactory.fr%2Fdu-safe_mode-avec-dtc-danger-securite-70&amp;title=Du%20safe_mode%20avec%20DTC%20%3A%20danger%20%26%20s%C3%A9curit%C3%A9&amp;bodytext=DTC%20utilise%20un%20syst%C3%A8me%20d%27arborescence%20et%20de%20chroot%20pour%20g%C3%A9rer%20tous%20les%20fichiers%20avec%20un%20seul%20user%20tout%20en%20engiguant%20les%20scripts.%20Cependant%2C%20si%20l%27on%20d%C3%A9sactive%20le%20safe_mode%20dans%20PHP%2C%20alors%20le%20monde%20s%27osbcurcie%20et...%20%5Blisez%20la%20suite%20%21%5D" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/digg.png" class="sociable-img sociable-hovers" title="Digg" alt="Digg" /></a><a rel="nofollow" target="_blank"  href="http://delicious.com/post?url=http%3A%2F%2Ftrollfactory.fr%2Fdu-safe_mode-avec-dtc-danger-securite-70&amp;title=Du%20safe_mode%20avec%20DTC%20%3A%20danger%20%26%20s%C3%A9curit%C3%A9&amp;notes=DTC%20utilise%20un%20syst%C3%A8me%20d%27arborescence%20et%20de%20chroot%20pour%20g%C3%A9rer%20tous%20les%20fichiers%20avec%20un%20seul%20user%20tout%20en%20engiguant%20les%20scripts.%20Cependant%2C%20si%20l%27on%20d%C3%A9sactive%20le%20safe_mode%20dans%20PHP%2C%20alors%20le%20monde%20s%27osbcurcie%20et...%20%5Blisez%20la%20suite%20%21%5D" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/delicious.png" class="sociable-img sociable-hovers" title="del.icio.us" alt="del.icio.us" /></a><a rel="nofollow" target="_blank"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Ftrollfactory.fr%2Fdu-safe_mode-avec-dtc-danger-securite-70&amp;title=Du%20safe_mode%20avec%20DTC%20%3A%20danger%20%26%20s%C3%A9curit%C3%A9&amp;annotation=DTC%20utilise%20un%20syst%C3%A8me%20d%27arborescence%20et%20de%20chroot%20pour%20g%C3%A9rer%20tous%20les%20fichiers%20avec%20un%20seul%20user%20tout%20en%20engiguant%20les%20scripts.%20Cependant%2C%20si%20l%27on%20d%C3%A9sactive%20le%20safe_mode%20dans%20PHP%2C%20alors%20le%20monde%20s%27osbcurcie%20et...%20%5Blisez%20la%20suite%20%21%5D" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/googlebookmark.png" class="sociable-img sociable-hovers" title="Google Bookmarks" alt="Google Bookmarks" /></a><a rel="nofollow" target="_blank"  href="http://technorati.com/faves?add=http%3A%2F%2Ftrollfactory.fr%2Fdu-safe_mode-avec-dtc-danger-securite-70" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/technorati.png" class="sociable-img sociable-hovers" title="Technorati" alt="Technorati" /></a><a rel="nofollow" target="_blank"  href="http://sphinn.com/index.php?c=post&amp;m=submit&amp;link=http%3A%2F%2Ftrollfactory.fr%2Fdu-safe_mode-avec-dtc-danger-securite-70" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/sphinn.png" class="sociable-img sociable-hovers" title="Sphinn" alt="Sphinn" /></a><a rel="nofollow" target="_blank"  href="http://www.mixx.com/submit?page_url=http%3A%2F%2Ftrollfactory.fr%2Fdu-safe_mode-avec-dtc-danger-securite-70&amp;title=Du%20safe_mode%20avec%20DTC%20%3A%20danger%20%26%20s%C3%A9curit%C3%A9" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/mixx.png" class="sociable-img sociable-hovers" title="Mixx" alt="Mixx" /></a><a rel="nofollow" target="_blank" title="Add to favorites" href="#" onclick="AddToFavorites(); return false;"><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/addtofavorites.png" class="sociable-img sociable-hovers" title="Add to favorites" alt="Add to favorites" /></a><a rel="nofollow" target="_blank"  href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Ftrollfactory.fr%2Fdu-safe_mode-avec-dtc-danger-securite-70&amp;title=Du%20safe_mode%20avec%20DTC%20%3A%20danger%20%26%20s%C3%A9curit%C3%A9" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/live.png" class="sociable-img sociable-hovers" title="Live" alt="Live" /></a><a rel="nofollow" target="_blank"  href="http://www.netvibes.com/share?title=Du%20safe_mode%20avec%20DTC%20%3A%20danger%20%26%20s%C3%A9curit%C3%A9&amp;url=http%3A%2F%2Ftrollfactory.fr%2Fdu-safe_mode-avec-dtc-danger-securite-70" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/netvibes.png" class="sociable-img sociable-hovers" title="Netvibes" alt="Netvibes" /></a><a rel="nofollow" target="_blank"  href="http://www.scoopeo.com/scoop/new?newurl=http%3A%2F%2Ftrollfactory.fr%2Fdu-safe_mode-avec-dtc-danger-securite-70&amp;title=Du%20safe_mode%20avec%20DTC%20%3A%20danger%20%26%20s%C3%A9curit%C3%A9" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/scoopeo.png" class="sociable-img sociable-hovers" title="Scoopeo" alt="Scoopeo" /></a><a rel="nofollow" target="_blank"  href="http://www.viadeo.com/shareit/share/?url=http%3A%2F%2Ftrollfactory.fr%2Fdu-safe_mode-avec-dtc-danger-securite-70&title=Du%20safe_mode%20avec%20DTC%20%3A%20danger%20%26%20s%C3%A9curit%C3%A9&urllanguage=fr" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/viadeo.png" class="sociable-img sociable-hovers" title="viadeo FR" alt="viadeo FR" /></a><a rel="nofollow" target="_blank"  href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Ftrollfactory.fr%2Fdu-safe_mode-avec-dtc-danger-securite-70" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/identica.png" class="sociable-img sociable-hovers" title="Identi.ca" alt="Identi.ca" /></a><a rel="nofollow" target="_blank"  href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Ftrollfactory.fr%2Fdu-safe_mode-avec-dtc-danger-securite-70&amp;t=Du%20safe_mode%20avec%20DTC%20%3A%20danger%20%26%20s%C3%A9curit%C3%A9" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/myspace.png" class="sociable-img sociable-hovers" title="MySpace" alt="MySpace" /></a><a rel="nofollow" target="_blank"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Ftrollfactory.fr%2Fdu-safe_mode-avec-dtc-danger-securite-70&amp;title=Du%20safe_mode%20avec%20DTC%20%3A%20danger%20%26%20s%C3%A9curit%C3%A9" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/stumbleupon.png" class="sociable-img sociable-hovers" title="StumbleUpon" alt="StumbleUpon" /></a><a rel="nofollow" target="_blank"  href="http://buzz.yahoo.com/submit/?submitUrl=http%3A%2F%2Ftrollfactory.fr%2Fdu-safe_mode-avec-dtc-danger-securite-70&amp;submitHeadline=Du%20safe_mode%20avec%20DTC%20%3A%20danger%20%26%20s%C3%A9curit%C3%A9&amp;submitSummary=DTC%20utilise%20un%20syst%C3%A8me%20d%27arborescence%20et%20de%20chroot%20pour%20g%C3%A9rer%20tous%20les%20fichiers%20avec%20un%20seul%20user%20tout%20en%20engiguant%20les%20scripts.%20Cependant%2C%20si%20l%27on%20d%C3%A9sactive%20le%20safe_mode%20dans%20PHP%2C%20alors%20le%20monde%20s%27osbcurcie%20et...%20%5Blisez%20la%20suite%20%21%5D&amp;submitCategory=science&amp;submitAssetType=text" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/yahoobuzz.png" class="sociable-img sociable-hovers" title="Yahoo! Buzz" alt="Yahoo! Buzz" /></a><br/><br/>]]></content:encoded>
			<wfw:commentRss>http://trollfactory.fr/du-safe_mode-avec-dtc-danger-securite-70/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Neige qui tombe : Un peu de gaieté sur votre site web pour Noël</title>
		<link>http://trollfactory.fr/neige-qui-tombe-un-peu-de-gaiete-sur-votre-site-web-pour-noel-54</link>
		<comments>http://trollfactory.fr/neige-qui-tombe-un-peu-de-gaiete-sur-votre-site-web-pour-noel-54#comments</comments>
		<pubDate>Sun, 20 Dec 2009 23:04:09 +0000</pubDate>
		<dc:creator><![CDATA[Troll]]></dc:creator>
				<category><![CDATA[Scripts, astuces, dév. web]]></category>
		<category><![CDATA[astuce]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[noël]]></category>
		<category><![CDATA[scripts]]></category>
		<category><![CDATA[webmastering]]></category>

		<guid isPermaLink="false">http://trollfactory.fr/?p=54</guid>
		<description><![CDATA[Salut à tous, Alors aujourd&#8217;hui et comme tous les ans à Noël j&#8217;ai décidé de mettre un petit peu de nouveau, un petit détail qui met du piment dans la vie du visiteur, sur mes sites Internet. Mise à part changer &#8211; quand on a un graphiste sous la main &#8211; la bannière ou son [...]]]></description>
				<content:encoded><![CDATA[<p>Salut à tous,</p>
<p>Alors aujourd&rsquo;hui et comme tous les ans à Noël j&rsquo;ai décidé de mettre un petit peu de nouveau, un petit détail qui met du piment dans la vie du visiteur, sur mes sites Internet. Mise à part changer &#8211; quand on a un graphiste sous la main &#8211; la bannière ou son avatar pour y rajouter des décos de Noël, quand on est plutôt tourné développement web, on fait tomber des flocons !</p>
<p>Le code que je vais vous proposer n&rsquo;est pas de moi, mais j&rsquo;y ai tout de même fait un certain nombre de modification, et notamment une qui permet de le rendre compatible avec Google Chrome et Firefox quand un doctype est présent (car cela ne fonctionnait, sous ces navigateurs, que lorsqu&rsquo;il n&rsquo;y avait pas de doctype <img src="//trollfactory.fr/wp-includes/images/smilies/icon_surprised.gif" alt=":o" class="wp-smiley" /> ).</p>
<p>Ce code est à placer où vous voulez, il a été modifié de manière à attendre la fin du chargement de la page pour se lancer, pour éviter les problèmes de compatibilité des commandes faites sur document.XXX et puis tout simplement pour ne pas ralentir l&rsquo;affichage de la page <img src="//trollfactory.fr/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /></p>
<p>Après m&rsquo;être battu une bonne demi-heure avec WordPress pour gagner le droit d&rsquo;insérer du code dans un post, et qui plus est, sans que celui-ci soit interprété, voici donc le code à utiliser :</p>
<p>Je vous remercie d&rsquo;avance d&rsquo;HEBERGER L&rsquo;IMAGE SUR VOTRE PROPRE SITE et non de la charger depuis l&rsquo;url qui est dans le script.<br />
De toutes façons ça va planter car je vais mettre un .htaccess anti-pompage d&rsquo;image <img src="//trollfactory.fr/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /> </p>
<p><code><!-- DEBUT DU SCRIPT -->&lt;SCRIPT type="text/javascript" &gt;<br />
var snowsrc='http://trollfactory.fr/img/snow.gif'; // VOUS ETES PRIE DE BIEN VOULOIR HEBERGE L'IMAGE CHEZ VOUS !<br />
var no = 12;<br />
var ns4up, ie4up, nn6up, doc_width, doc_height;<br />
var dx, xp, yp;<br />
var am, stx, sty;</p>
<p>dx = new Array();<br />
xp = new Array();<br />
yp = new Array();<br />
am = new Array();<br />
stx = new Array();<br />
sty = new Array();</p>
<p>var snowspeed = 100;</p>
<p>function snowNS() {<br />
	for (i = 0; i &lt; no; ++ i) {<br />
		yp[i] += sty[i];<br />
		if (yp[i] &gt; doc_height-50) {<br />
			xp[i] = Math.random()*(doc_width-am[i]-30);<br />
			yp[i] = 0;<br />
			stx[i] = 0.02 + Math.random()/10;<br />
			sty[i] = 0.7 + Math.random();<br />
			doc_width = self.innerWidth;<br />
			doc_height = self.innerHeight;<br />
		}<br />
		dx[i] += stx[i];<br />
		document.layers["dot"+i].top = yp[i];<br />
		document.layers["dot"+i].left = xp[i] + am[i]*Math.sin(dx[i]);<br />
	}<br />
	setTimeout("snowNS()", snowspeed);<br />
}</p>
<p>function snowIE() {<br />
	for (i = 0; i &lt; no; ++ i) {<br />
		yp[i] += sty[i];<br />
		if (yp[i] &gt; doc_height-50) {<br />
			xp[i] = Math.random()*(doc_width-am[i]-30);<br />
			yp[i] = 0;<br />
			stx[i] = 0.02 + Math.random()/10;<br />
			sty[i] = 0.7 + Math.random();<br />
			doc_width = document.body.clientWidth;<br />
			doc_height = document.body.clientHeight;<br />
		}<br />
		dx[i] += stx[i];<br />
		document.all["dot"+i].style.pixelTop = yp[i];<br />
		document.all["dot"+i].style.pixelLeft = xp[i] + am[i]*Math.sin(dx[i]);<br />
	}<br />
	setTimeout("snowIE()", snowspeed);<br />
}</p>
<p>function snowNN6() {<br />
	for (i = 0; i &lt; no; ++ i) {<br />
		yp[i] += sty[i];<br />
		if (yp[i] &gt; doc_height-50) {<br />
			xp[i] = Math.random()*(doc_width-am[i]-30);<br />
			yp[i] = 0;<br />
			stx[i] = 0.02 + Math.random()/10;<br />
			sty[i] = 0.7 + Math.random();<br />
			doc_width = self.innerWidth;<br />
			doc_height = self.innerHeight;<br />
		}<br />
		dx[i] += stx[i];<br />
		document.getElementById("dot"+i).style.top = yp[i]+'px';;<br />
		document.getElementById("dot"+i).style.left = Math.abs(xp[i] + am[i]*Math.sin(dx[i]))+'px';<br />
	}<br />
	setTimeout("snowNN6()", snowspeed);<br />
}</p>
<p>var initsnow = function() {<br />
	ns4up = (document.layers) ? 1 : 0;<br />
	ie4up = (document.all) ? 1 : 0;<br />
	nn6up = (document.getElementById) ? 1 : 0;<br />
	var i=0;<br />
	doc_width = screen.width;<br />
	doc_height = screen.height;</p>
<p>	if (ns4up) {<br />
		doc_width = self.innerWidth;<br />
		doc_height = self.innerHeight;<br />
	} else if (ie4up) {<br />
		doc_width = document.body.clientWidth;<br />
		doc_height = document.body.clientHeight;<br />
	} else if (nn6up) {<br />
		doc_width = self.innerWidth;<br />
		doc_height = self.innerHeight;<br />
	}<br />
	for (i = 0; i &lt; no; ++ i) {<br />
		dx[i] = 0;<br />
		xp[i] = Math.random()*(doc_width-50);<br />
		yp[i] = Math.random()*doc_height;<br />
		am[i] = Math.random()*20;<br />
		stx[i] = 0.02 + Math.random()/10;<br />
		sty[i] = 0.7 + Math.random();<br />
		if (ns4up) {<br />
			if (i == 0) {<br />
				document.write("&lt;layer name=dot"+ i +" left=15 top=15 visibility=show&gt;&lt;img src='"+snowsrc+"' border=0&gt;&lt;/layer&gt;");<br />
			} else {<br />
				document.write("&lt;layer name=dot"+ i +" left=15 top=15 visibility=show&gt;&lt;img src='"+snowsrc+"' border=0&gt;&lt;/layer&gt;");<br />
			}<br />
		} else if (ie4up || nn6up) {<br />
			if (i == 0) { document.write("&lt;div id=dot"+ i +" style=\"POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\"&gt;&lt;img src='"+snowsrc+"' border=0&gt;&lt;/div&gt;");<br />
			} else {<br />
				document.write("&lt;div id=dot"+ i +" style=\"POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\"&gt;&lt;img src='"+snowsrc+"' border=0&gt;&lt;/div&gt;");<br />
			}<br />
		}<br />
	}</p>
<p>	if (ns4up) {<br />
	snowNS();<br />
	} else if (ie4up) {<br />
	snowIE();<br />
	} else if (nn6up) {<br />
	snowNN6();<br />
	}<br />
}</p>
<p>document.onload=initsnow();<br />
&lt;/SCRIPT&gt;<br />
<!-- FIN DU SCRIPT --></code></p>
<p>Les paramètres suivantes sont modifiables :</p>
<p>Variable &laquo;&nbsp;no&nbsp;&raquo; : Nombre d&rsquo;images / flocons qui seront affichés.<br />
Variable &laquo;&nbsp;speed snow&nbsp;&raquo; : Sa valeur peut varier de 1 (pas 0 sinon ça risque fort de planter) à 500, mais je vous déconseille d&rsquo;aller au delà de 200 ou en dessous de 10. Plus la valeur est petit, plus les flocons bougent vite (oui c&rsquo;est un peu l&rsquo;inverse du mot &laquo;&nbsp;speed&nbsp;&raquo;, mais ça vous ira !).</p>
<p>Et&#8230; c&rsquo;est tout <img src="//trollfactory.fr/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /> Ca ne fait pas beaucoup de paramètres, mais pour faire tomber des flocons, on est quand même pas en train de paramétrer Gentoo non plus <img src="//trollfactory.fr/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /> </p>
<p>Pour ceux qui utilisent WordPress et qui souhaiterait mettre en place cette animation sympathique (à noter que ce n&rsquo;est pas du flash mais du javascript, donc compatibilité avec une grand majorité de navigateurs) je vous conseille de placer le code dans le fichier &laquo;&nbsp;Pied de page&nbsp;&raquo; (footer.php). Que vous pouvez modifier en faisant depuis votre tableau de bord : Apparence >> Editeur >> Cliquer sur &laquo;&nbsp;Pied de page&nbsp;&raquo; dans la colonne de droite.</p>
<p>Voilà, enjoy <img src="//trollfactory.fr/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /> </p>
<p>Demain je vous parle (en théorie) du safe_mode de PHP utilisé avec le panel DTC (Digital Technology Control) ainsi que la création d&rsquo;un principe de tâches cron léger et réellement géré en cron&#8230; mais contrôlé par PHP <img src="//trollfactory.fr/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /> (ça aurait dû être aujourd&rsquo;hui, mais petit contre-temps dirons-nous <img src="//trollfactory.fr/wp-includes/images/smilies/icon_biggrin.gif" alt=":D" class="wp-smiley" /> )</p>
<p><em>PS : Je ne connais pas l&rsquo;auteur initial du script, je l&rsquo;ai trouvé sur un petit site dont j&rsquo;ai la certitude totale que ce n&rsquo;est pas le gérant qui a créé le script, c&rsquo;est pourquoi je n&rsquo;ai pas cité de source <img src="//trollfactory.fr/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /> </em></p>
Share and Enjoy:<a rel="nofollow" target="_blank"  href="http://www.printfriendly.com/print/new?url=http%3A%2F%2Ftrollfactory.fr%2Fneige-qui-tombe-un-peu-de-gaiete-sur-votre-site-web-pour-noel-54" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/printfriendly.png" class="sociable-img sociable-hovers" title="Print" alt="Print" /></a><a rel="nofollow" target="_blank"  href="http://www.printfriendly.com/print/new?url=http%3A%2F%2Ftrollfactory.fr%2Fneige-qui-tombe-un-peu-de-gaiete-sur-votre-site-web-pour-noel-54" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/pdf.png" class="sociable-img sociable-hovers" title="PDF" alt="PDF" /></a><a rel="nofollow" target="_blank"  href="http://twitter.com/home?status=Neige%20qui%20tombe%20%3A%20Un%20peu%20de%20gaiet%C3%A9%20sur%20votre%20site%20web%20pour%20No%C3%ABl%20-%20http%3A%2F%2Ftrollfactory.fr%2Fneige-qui-tombe-un-peu-de-gaiete-sur-votre-site-web-pour-noel-54" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/twitter.png" class="sociable-img sociable-hovers" title="Twitter" alt="Twitter" /></a><a rel="nofollow" target="_blank"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Ftrollfactory.fr%2Fneige-qui-tombe-un-peu-de-gaiete-sur-votre-site-web-pour-noel-54&amp;t=Neige%20qui%20tombe%20%3A%20Un%20peu%20de%20gaiet%C3%A9%20sur%20votre%20site%20web%20pour%20No%C3%ABl" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/facebook.png" class="sociable-img sociable-hovers" title="Facebook" alt="Facebook" /></a><a rel="nofollow" target="_blank"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Ftrollfactory.fr%2Fneige-qui-tombe-un-peu-de-gaiete-sur-votre-site-web-pour-noel-54&amp;title=Neige%20qui%20tombe%20%3A%20Un%20peu%20de%20gaiet%C3%A9%20sur%20votre%20site%20web%20pour%20No%C3%ABl&amp;source=The+Troll%26%23039%3Bs+factory+Geekeries+%26amp%3B+pens%C3%A9es&amp;summary=Salut%20%C3%A0%20tous%2C%0D%0A%0D%0AAlors%20aujourd%27hui%20et%20comme%20tous%20les%20ans%20%C3%A0%20No%C3%ABl%20j%27ai%20d%C3%A9cid%C3%A9%20de%20mettre%20un%20petit%20peu%20de%20nouveau%2C%20un%20petit%20d%C3%A9tail%20qui%20met%20du%20piment%20dans%20la%20vie%20du%20visiteur%2C%20sur%20mes%20sites%20Internet.%20Mise%20%C3%A0%20part%20changer%20-%20quand%20on%20a%20un%20graphiste%20sou" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/linkedin.png" class="sociable-img sociable-hovers" title="LinkedIn" alt="LinkedIn" /></a><a rel="nofollow" target="_blank"  href="http://trollfactory.fr/feed" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/rss.png" class="sociable-img sociable-hovers" title="RSS" alt="RSS" /></a><a rel="nofollow" target="_blank"  href="http://www.wikio.fr/vote?url=http%3A%2F%2Ftrollfactory.fr%2Fneige-qui-tombe-un-peu-de-gaiete-sur-votre-site-web-pour-noel-54" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/wikio.png" class="sociable-img sociable-hovers" title="Wikio FR" alt="Wikio FR" /></a><a rel="nofollow" target="_blank"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Ftrollfactory.fr%2Fneige-qui-tombe-un-peu-de-gaiete-sur-votre-site-web-pour-noel-54&amp;title=Neige%20qui%20tombe%20%3A%20Un%20peu%20de%20gaiet%C3%A9%20sur%20votre%20site%20web%20pour%20No%C3%ABl&amp;bodytext=Salut%20%C3%A0%20tous%2C%0D%0A%0D%0AAlors%20aujourd%27hui%20et%20comme%20tous%20les%20ans%20%C3%A0%20No%C3%ABl%20j%27ai%20d%C3%A9cid%C3%A9%20de%20mettre%20un%20petit%20peu%20de%20nouveau%2C%20un%20petit%20d%C3%A9tail%20qui%20met%20du%20piment%20dans%20la%20vie%20du%20visiteur%2C%20sur%20mes%20sites%20Internet.%20Mise%20%C3%A0%20part%20changer%20-%20quand%20on%20a%20un%20graphiste%20sou" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/digg.png" class="sociable-img sociable-hovers" title="Digg" alt="Digg" /></a><a rel="nofollow" target="_blank"  href="http://delicious.com/post?url=http%3A%2F%2Ftrollfactory.fr%2Fneige-qui-tombe-un-peu-de-gaiete-sur-votre-site-web-pour-noel-54&amp;title=Neige%20qui%20tombe%20%3A%20Un%20peu%20de%20gaiet%C3%A9%20sur%20votre%20site%20web%20pour%20No%C3%ABl&amp;notes=Salut%20%C3%A0%20tous%2C%0D%0A%0D%0AAlors%20aujourd%27hui%20et%20comme%20tous%20les%20ans%20%C3%A0%20No%C3%ABl%20j%27ai%20d%C3%A9cid%C3%A9%20de%20mettre%20un%20petit%20peu%20de%20nouveau%2C%20un%20petit%20d%C3%A9tail%20qui%20met%20du%20piment%20dans%20la%20vie%20du%20visiteur%2C%20sur%20mes%20sites%20Internet.%20Mise%20%C3%A0%20part%20changer%20-%20quand%20on%20a%20un%20graphiste%20sou" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/delicious.png" class="sociable-img sociable-hovers" title="del.icio.us" alt="del.icio.us" /></a><a rel="nofollow" target="_blank"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Ftrollfactory.fr%2Fneige-qui-tombe-un-peu-de-gaiete-sur-votre-site-web-pour-noel-54&amp;title=Neige%20qui%20tombe%20%3A%20Un%20peu%20de%20gaiet%C3%A9%20sur%20votre%20site%20web%20pour%20No%C3%ABl&amp;annotation=Salut%20%C3%A0%20tous%2C%0D%0A%0D%0AAlors%20aujourd%27hui%20et%20comme%20tous%20les%20ans%20%C3%A0%20No%C3%ABl%20j%27ai%20d%C3%A9cid%C3%A9%20de%20mettre%20un%20petit%20peu%20de%20nouveau%2C%20un%20petit%20d%C3%A9tail%20qui%20met%20du%20piment%20dans%20la%20vie%20du%20visiteur%2C%20sur%20mes%20sites%20Internet.%20Mise%20%C3%A0%20part%20changer%20-%20quand%20on%20a%20un%20graphiste%20sou" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/googlebookmark.png" class="sociable-img sociable-hovers" title="Google Bookmarks" alt="Google Bookmarks" /></a><a rel="nofollow" target="_blank"  href="http://technorati.com/faves?add=http%3A%2F%2Ftrollfactory.fr%2Fneige-qui-tombe-un-peu-de-gaiete-sur-votre-site-web-pour-noel-54" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/technorati.png" class="sociable-img sociable-hovers" title="Technorati" alt="Technorati" /></a><a rel="nofollow" target="_blank"  href="http://sphinn.com/index.php?c=post&amp;m=submit&amp;link=http%3A%2F%2Ftrollfactory.fr%2Fneige-qui-tombe-un-peu-de-gaiete-sur-votre-site-web-pour-noel-54" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/sphinn.png" class="sociable-img sociable-hovers" title="Sphinn" alt="Sphinn" /></a><a rel="nofollow" target="_blank"  href="http://www.mixx.com/submit?page_url=http%3A%2F%2Ftrollfactory.fr%2Fneige-qui-tombe-un-peu-de-gaiete-sur-votre-site-web-pour-noel-54&amp;title=Neige%20qui%20tombe%20%3A%20Un%20peu%20de%20gaiet%C3%A9%20sur%20votre%20site%20web%20pour%20No%C3%ABl" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/mixx.png" class="sociable-img sociable-hovers" title="Mixx" alt="Mixx" /></a><a rel="nofollow" target="_blank" title="Add to favorites" href="#" onclick="AddToFavorites(); return false;"><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/addtofavorites.png" class="sociable-img sociable-hovers" title="Add to favorites" alt="Add to favorites" /></a><a rel="nofollow" target="_blank"  href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Ftrollfactory.fr%2Fneige-qui-tombe-un-peu-de-gaiete-sur-votre-site-web-pour-noel-54&amp;title=Neige%20qui%20tombe%20%3A%20Un%20peu%20de%20gaiet%C3%A9%20sur%20votre%20site%20web%20pour%20No%C3%ABl" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/live.png" class="sociable-img sociable-hovers" title="Live" alt="Live" /></a><a rel="nofollow" target="_blank"  href="http://www.netvibes.com/share?title=Neige%20qui%20tombe%20%3A%20Un%20peu%20de%20gaiet%C3%A9%20sur%20votre%20site%20web%20pour%20No%C3%ABl&amp;url=http%3A%2F%2Ftrollfactory.fr%2Fneige-qui-tombe-un-peu-de-gaiete-sur-votre-site-web-pour-noel-54" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/netvibes.png" class="sociable-img sociable-hovers" title="Netvibes" alt="Netvibes" /></a><a rel="nofollow" target="_blank"  href="http://www.scoopeo.com/scoop/new?newurl=http%3A%2F%2Ftrollfactory.fr%2Fneige-qui-tombe-un-peu-de-gaiete-sur-votre-site-web-pour-noel-54&amp;title=Neige%20qui%20tombe%20%3A%20Un%20peu%20de%20gaiet%C3%A9%20sur%20votre%20site%20web%20pour%20No%C3%ABl" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/scoopeo.png" class="sociable-img sociable-hovers" title="Scoopeo" alt="Scoopeo" /></a><a rel="nofollow" target="_blank"  href="http://www.viadeo.com/shareit/share/?url=http%3A%2F%2Ftrollfactory.fr%2Fneige-qui-tombe-un-peu-de-gaiete-sur-votre-site-web-pour-noel-54&title=Neige%20qui%20tombe%20%3A%20Un%20peu%20de%20gaiet%C3%A9%20sur%20votre%20site%20web%20pour%20No%C3%ABl&urllanguage=fr" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/viadeo.png" class="sociable-img sociable-hovers" title="viadeo FR" alt="viadeo FR" /></a><a rel="nofollow" target="_blank"  href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Ftrollfactory.fr%2Fneige-qui-tombe-un-peu-de-gaiete-sur-votre-site-web-pour-noel-54" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/identica.png" class="sociable-img sociable-hovers" title="Identi.ca" alt="Identi.ca" /></a><a rel="nofollow" target="_blank"  href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Ftrollfactory.fr%2Fneige-qui-tombe-un-peu-de-gaiete-sur-votre-site-web-pour-noel-54&amp;t=Neige%20qui%20tombe%20%3A%20Un%20peu%20de%20gaiet%C3%A9%20sur%20votre%20site%20web%20pour%20No%C3%ABl" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/myspace.png" class="sociable-img sociable-hovers" title="MySpace" alt="MySpace" /></a><a rel="nofollow" target="_blank"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Ftrollfactory.fr%2Fneige-qui-tombe-un-peu-de-gaiete-sur-votre-site-web-pour-noel-54&amp;title=Neige%20qui%20tombe%20%3A%20Un%20peu%20de%20gaiet%C3%A9%20sur%20votre%20site%20web%20pour%20No%C3%ABl" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/stumbleupon.png" class="sociable-img sociable-hovers" title="StumbleUpon" alt="StumbleUpon" /></a><a rel="nofollow" target="_blank"  href="http://buzz.yahoo.com/submit/?submitUrl=http%3A%2F%2Ftrollfactory.fr%2Fneige-qui-tombe-un-peu-de-gaiete-sur-votre-site-web-pour-noel-54&amp;submitHeadline=Neige%20qui%20tombe%20%3A%20Un%20peu%20de%20gaiet%C3%A9%20sur%20votre%20site%20web%20pour%20No%C3%ABl&amp;submitSummary=Salut%20%C3%A0%20tous%2C%0D%0A%0D%0AAlors%20aujourd%27hui%20et%20comme%20tous%20les%20ans%20%C3%A0%20No%C3%ABl%20j%27ai%20d%C3%A9cid%C3%A9%20de%20mettre%20un%20petit%20peu%20de%20nouveau%2C%20un%20petit%20d%C3%A9tail%20qui%20met%20du%20piment%20dans%20la%20vie%20du%20visiteur%2C%20sur%20mes%20sites%20Internet.%20Mise%20%C3%A0%20part%20changer%20-%20quand%20on%20a%20un%20graphiste%20sou&amp;submitCategory=science&amp;submitAssetType=text" ><img src="//trollfactory.fr/wp-content/plugins/sociable-30/images/default/16/yahoobuzz.png" class="sociable-img sociable-hovers" title="Yahoo! Buzz" alt="Yahoo! Buzz" /></a><br/><br/>]]></content:encoded>
			<wfw:commentRss>http://trollfactory.fr/neige-qui-tombe-un-peu-de-gaiete-sur-votre-site-web-pour-noel-54/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
