<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Pti nénuphare</title>
	
	<link>http://www.ptinenuphare.net</link>
	<description>Blogueur mais pas influent</description>
	<pubDate>Sat, 13 Feb 2010 14:17:52 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Ptinenuphare" /><feedburner:info uri="ptinenuphare" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Fin imminente pour Pti nénuphare</title>
		<link>http://feedproxy.google.com/~r/Ptinenuphare/~3/Dco7jGW4gLs/fin-imminente-pour-pti-nenuphare.html</link>
		<comments>http://www.ptinenuphare.net/fin-imminente-pour-pti-nenuphare.html#comments</comments>
		<pubDate>Sat, 13 Feb 2010 14:17:52 +0000</pubDate>
		<dc:creator>Flinx</dc:creator>
		
		<category><![CDATA[Blog]]></category>

		<category><![CDATA[fin]]></category>

		<guid isPermaLink="false">http://www.ptinenuphare.net/?p=857</guid>
		<description><![CDATA[Cela faisait longtemps qu&#8217;il n&#8217;y avait pas eu de nouvel article&#8230; Et cet article est justement là pour annoncer la fin du blog !
Dans quelques jours, Pti nénuphare ne sera donc plus.
Je compte cependant reprendre un nouveau blog, dont l&#8217;adresse sera disponible sur mon nouveau site : http://www.jeremyheleine.net (sortie dans quelques jours aussi&#8230; comme par [...]]]></description>
			<content:encoded><![CDATA[<p>Cela faisait longtemps qu&#8217;il n&#8217;y avait pas eu de nouvel article&#8230; Et cet article est justement là pour annoncer la fin du blog !<br />
Dans quelques jours, Pti nénuphare ne sera donc plus.</p>
<p>Je compte cependant reprendre un nouveau blog, dont l&#8217;adresse sera disponible sur mon nouveau site : <a href="http://www.jeremyheleine.net">http://www.jeremyheleine.net</a> (sortie dans quelques jours aussi&#8230; comme par hasard ! :O ).</p><hr />
<p><small>Article écrit par Flinx pour <a href="http://www.ptinenuphare.net">Pti nénuphare</a>, le 13/02/2010 | <a href="http://www.ptinenuphare.net/fin-imminente-pour-pti-nenuphare.html">Lien permanent</a> | Si vous lisez cet article sur un site/blog autre que <a href="http://www.ptinenuphare.net">Pti nénuphare</a>, c'est qu'il peut avoir été reproduit illégalement. Merci de le signaler alors à son auteur original <a href="http://www.ptinenuphare.net/contact">via cette page</a>.</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.ptinenuphare.net/fin-imminente-pour-pti-nenuphare.html/feed</wfw:commentRss>
		<feedburner:origLink>http://www.ptinenuphare.net/fin-imminente-pour-pti-nenuphare.html</feedburner:origLink></item>
		<item>
		<title>Générer un nombre aléatoire en JavaScript</title>
		<link>http://feedproxy.google.com/~r/Ptinenuphare/~3/Jcya0RAe5Ko/generer-un-nombre-aleatoire-en-javascript.html</link>
		<comments>http://www.ptinenuphare.net/generer-un-nombre-aleatoire-en-javascript.html#comments</comments>
		<pubDate>Sat, 21 Nov 2009 23:47:03 +0000</pubDate>
		<dc:creator>Flinx</dc:creator>
		
		<category><![CDATA[Développements]]></category>

		<category><![CDATA[Tutoriels]]></category>

		<category><![CDATA[aléatoire]]></category>

		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.ptinenuphare.net/?p=848</guid>
		<description><![CDATA[La méthode random() de l&#8217;objet Math de JavaScript permet de générer un nombre aléatoire certes&#8230; Mais compris entre 0 et 1. Nous allons voir ici comment créer une fonction nous permettant de générer un nombre aléatoire compris entre deux nombres que nous indiquerons en arguments.
La fonction aleatoire()
Commençons déjà par créer le début de notre fonction [...]]]></description>
			<content:encoded><![CDATA[<p>La méthode <em>random()</em> de l&#8217;objet <em>Math</em> de JavaScript permet de générer un nombre aléatoire certes&#8230; Mais compris entre 0 et 1. Nous allons voir ici comment créer une fonction nous permettant de générer un nombre aléatoire compris entre deux nombres que nous indiquerons en arguments.</p>
<h4>La fonction <em>aleatoire()</em></h4>
<p>Commençons déjà par créer le début de notre fonction :</p>

<div class="wp_codebox"><table><tr id="p8484"><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code" id="p848code4"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> aleatoire<span style="color: #009900;">&#40;</span>minimum<span style="color: #339933;">,</span> maximum<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000066; font-weight: bold;">return</span> Math.<span style="color: #660066;">round</span><span style="color: #009900;">&#40;</span>Math.<span style="color: #660066;">random</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Nous générons ici un nombre aléatoire compris entre 0 et 1 que nous arrondissons avec la méthode <em>round()</em>. Nous obtiendrons donc soit 0, soit 1. Ce n&#8217;est pas encore ce que nous voulons.</p>
<p>Nous avons un minimum à atteindre. Par exemple si nous indiquons 100 en minimum, nous aimerions bien que si la méthode <em>random()</em> renvoie 0, la fonction <em>aleatoire()</em>, elle, nous renvoie 100. Pour cela, il suffit d&#8217;ajouter le minimum au nombre généré. <img src='http://www.ptinenuphare.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<div class="wp_codebox"><table><tr id="p8485"><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code" id="p848code5"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> aleatoire<span style="color: #009900;">&#40;</span>minimum<span style="color: #339933;">,</span> maximum<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000066; font-weight: bold;">return</span> Math.<span style="color: #660066;">round</span><span style="color: #009900;">&#40;</span>minimum <span style="color: #339933;">+</span> Math.<span style="color: #660066;">random</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Nous obtenons donc un nombre aléatoire compris entre <em>minimum</em> et&#8230; <em>minimum</em> + 1. Ce n&#8217;est pas encore ça, même si on s&#8217;approche du résultat.<br />
Pour atteindre le maximum, nous devons modifier le nombre aléatoire renvoyé par <em>random()</em>, mais pas n&#8217;importe comment évidemment. En fait, il suffit de réfléchir logiquement. En effet, si <em>random()</em> renvoie 1, il faut que <em>aleatoire()</em> renvoie la valeur de l&#8217;argument <em>maximum</em>. Si on oubliait le minimum, on penserait à multiplier le nombre de <em>random()</em> par le maximum : on obtiendrait un nombre compris entre 0 et <em>maximum</em>.<br />
Cette opération qui paraît logique, nous pouvons l&#8217;utiliser pour utiliser notre minimum. Pour le moment, nous ajoutons <em>minimum</em> à un nombre aléatoire simple. Nous devons donc ajouter <em>minimum</em> à un certain nombre de sorte à atteindre le maximum si <em>random()</em> renvoie 1. On ne peut pas ajouter le <em>maximum</em> : faites l&#8217;essai avec des exemples simples, vous verrez que ça ne fonctionne pas (du tout). Si on multiplie le nombre aléatoire par le maximum, on se retrouve avec un nombre compris entre <em>minimum</em> et (<em>minimum</em> + <em>maximum</em>). Ça ne va pas. Mais justement, ce (<em>minimum</em> + <em>maximum</em>) ne vous donne-t-il pas une idée ? Si on multipliait par la différence qu&#8217;il y a entre le maximum et le minimum, qu&#8217;obtiendrions-nous ? La réponse est un nombre compris entre <em>minimum</em> et <em>maximum</em>. <img src='http://www.ptinenuphare.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>

<div class="wp_codebox"><table><tr id="p8486"><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code" id="p848code6"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> aleatoire<span style="color: #009900;">&#40;</span>minimum<span style="color: #339933;">,</span> maximum<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000066; font-weight: bold;">return</span> Math.<span style="color: #660066;">round</span><span style="color: #009900;">&#40;</span>minimum <span style="color: #339933;">+</span> Math.<span style="color: #660066;">random</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span>maximum <span style="color: #339933;">-</span> minimum<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<h4>Preuve</h4>
<p>On peut prouver avec des outils mathématiques que nous obtenons bel et bien un nombre compris entre <em>minimum</em> et <em>maximum</em>.<br />
Soit <em>x</em> le nombre renvoyé par <em>random()</em>.<br />
Soit <em>m</em> le minimum voulu.<br />
Soit <em>M</em> le maximum voulu.</p>
<blockquote><p>0 ≤ x ≤ 1<br />
⇔ 0 ≤ x(M - m) ≤ M - m<br />
⇔ m ≤ m + x(M - m) ≤ m + (M - m)<br />
⇔ m ≤ m + x(M - m) ≤ M</p></blockquote>
<p>C.Q.F.D. <img src='http://www.ptinenuphare.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p><hr />
<p><small>Article écrit par Flinx pour <a href="http://www.ptinenuphare.net">Pti nénuphare</a>, le 22/11/2009 | <a href="http://www.ptinenuphare.net/generer-un-nombre-aleatoire-en-javascript.html">Lien permanent</a> | Si vous lisez cet article sur un site/blog autre que <a href="http://www.ptinenuphare.net">Pti nénuphare</a>, c'est qu'il peut avoir été reproduit illégalement. Merci de le signaler alors à son auteur original <a href="http://www.ptinenuphare.net/contact">via cette page</a>.</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.ptinenuphare.net/generer-un-nombre-aleatoire-en-javascript.html/feed</wfw:commentRss>
		<feedburner:origLink>http://www.ptinenuphare.net/generer-un-nombre-aleatoire-en-javascript.html</feedburner:origLink></item>
		<item>
		<title>Faire prendre toute la hauteur de l’écran à votre body ((X)HTML / CSS)</title>
		<link>http://feedproxy.google.com/~r/Ptinenuphare/~3/ei-BdhXkBz8/faire-prendre-toute-la-hauteur-de-lecran-a-votre-body-xhtml-css.html</link>
		<comments>http://www.ptinenuphare.net/faire-prendre-toute-la-hauteur-de-lecran-a-votre-body-xhtml-css.html#comments</comments>
		<pubDate>Sun, 08 Nov 2009 14:52:14 +0000</pubDate>
		<dc:creator>Flinx</dc:creator>
		
		<category><![CDATA[Développements]]></category>

		<category><![CDATA[Tutoriels]]></category>

		<category><![CDATA[CSS]]></category>

		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://www.ptinenuphare.net/?p=844</guid>
		<description><![CDATA[C&#8217;est un problème rencontré dans des cas spéciaux : on a un webdesign et on veut qu&#8217;il prenne toute la hauteur de l&#8217;écran. La solution peut paraître simple au premier abord. On pourrait en effet penser que seul suffit :

1
2
3
4
body
&#123;
	height: 100%;
&#125;

Et là, on teste et c&#8217;est le drame, rien n&#8217;a changé !
À quoi est dû [...]]]></description>
			<content:encoded><![CDATA[<p>C&#8217;est un problème rencontré dans des cas spéciaux : on a un webdesign et on veut qu&#8217;il prenne toute la hauteur de l&#8217;écran. La solution peut paraître simple au premier abord. On pourrait en effet penser que seul suffit :</p>

<div class="wp_codebox"><table><tr id="p84410"><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code" id="p844code10"><pre class="css" style="font-family:monospace;">body
<span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span> <span style="color: #933;">100%</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>Et là, on teste et c&#8217;est le drame, rien n&#8217;a changé !</p>
<p>À quoi est dû ce problème ? De nulle part ? Un bug ? Non, pas du tout.<br />
Il suffit de bien regarder votre document <acronym title="HyperText Markup Language">HTML</acronym> pour voir l&#8217;origine du soucis. La balise <em>body</em> possède un parent : la balise <em>html</em>. Si la balise <em>html</em> n&#8217;a pas de hauteur spécifiée, elle prendra la hauteur que prend votre document et rien de plus, même s&#8217;il reste de la place disponible sur l&#8217;écran. La balise <em>body</em>, lorsque vous lui spécifiez une hauteur, se réfère à la balise <em>html</em> dans le cas d&#8217;un pourcentage. Que faire alors ? Donner une hauteur de 100% à la balise <em>html</em>, tout simplement. <img src='http://www.ptinenuphare.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<div class="wp_codebox"><table><tr id="p84411"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code" id="p844code11"><pre class="css" style="font-family:monospace;">html
<span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span> <span style="color: #933;">100%</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
body
<span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span> <span style="color: #933;">100%</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>Ou plus condensé :</p>

<div class="wp_codebox"><table><tr id="p84412"><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code" id="p844code12"><pre class="css" style="font-family:monospace;">html<span style="color: #00AA00;">,</span> body
<span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span> <span style="color: #933;">100%</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>
<hr />
<p><small>Article écrit par Flinx pour <a href="http://www.ptinenuphare.net">Pti nénuphare</a>, le 08/11/2009 | <a href="http://www.ptinenuphare.net/faire-prendre-toute-la-hauteur-de-lecran-a-votre-body-xhtml-css.html">Lien permanent</a> | Si vous lisez cet article sur un site/blog autre que <a href="http://www.ptinenuphare.net">Pti nénuphare</a>, c'est qu'il peut avoir été reproduit illégalement. Merci de le signaler alors à son auteur original <a href="http://www.ptinenuphare.net/contact">via cette page</a>.</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.ptinenuphare.net/faire-prendre-toute-la-hauteur-de-lecran-a-votre-body-xhtml-css.html/feed</wfw:commentRss>
		<feedburner:origLink>http://www.ptinenuphare.net/faire-prendre-toute-la-hauteur-de-lecran-a-votre-body-xhtml-css.html</feedburner:origLink></item>
		<item>
		<title>Annuler le comportement premier d’un lien avec addEventListener</title>
		<link>http://feedproxy.google.com/~r/Ptinenuphare/~3/UWClhvwB6p4/annuler-le-comportement-premier-dun-lien-avec-addeventlistener.html</link>
		<comments>http://www.ptinenuphare.net/annuler-le-comportement-premier-dun-lien-avec-addeventlistener.html#comments</comments>
		<pubDate>Thu, 29 Oct 2009 10:31:25 +0000</pubDate>
		<dc:creator>Flinx</dc:creator>
		
		<category><![CDATA[Développements]]></category>

		<category><![CDATA[Tutoriels]]></category>

		<category><![CDATA[DOM]]></category>

		<category><![CDATA[événement]]></category>

		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.ptinenuphare.net/?p=833</guid>
		<description><![CDATA[En JavaScript, on peut ajouter un événement à un élément facilement avec DOM. Par exemple :

1
element.addEventListener&#40;'click', action, false&#41;;

Seulement, il vous est peut-être déjà arrivé, avec un lien notamment, d&#8217;indiquer l&#8217;événement directement en HTML :

1
&#60;a href=&#34;#&#34; onclick=&#34;action(); return false;&#34;&#62;Lien&#60;/a&#62;

Vous notez donc le return false; qui permet d&#8217;éviter que le lien ne vous conduise vers le href [...]]]></description>
			<content:encoded><![CDATA[<p>En JavaScript, on peut ajouter un événement à un élément facilement avec <acronym title="Document Object Model">DOM</acronym>. Par exemple :</p>

<div class="wp_codebox"><table><tr id="p83319"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p833code19"><pre class="javascript" style="font-family:monospace;">element.<span style="color: #660066;">addEventListener</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'click'</span><span style="color: #339933;">,</span> action<span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Seulement, il vous est peut-être déjà arrivé, avec un lien notamment, d&#8217;indiquer l&#8217;événement directement en <acronym title="HyperText Markup Language">HTML</acronym> :</p>

<div class="wp_codebox"><table><tr id="p83320"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p833code20"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#&quot;</span> <span style="color: #000066;">onclick</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;action(); return false;&quot;</span>&gt;</span>Lien<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a>&gt;</span></pre></td></tr></table></div>

<p>Vous notez donc le <em>return false;</em> qui permet d&#8217;éviter que le lien ne vous conduise vers le <em>href</em> comme il devrait normalement le faire. Il existe d&#8217;autres façons de faire cela, comme mettre ce <em>return false;</em> dans la fonction elle-même et retourner ce que la fonction retourne mais ce n&#8217;est pas le sujet.</p>
<p>Ici, nous nous intéressons donc à la méthode <em>addEventListener()</em>. Si vous avez essayé de faire un <em>return false;</em> avec, vous avez sûrement eu une très bonne conclusion, pertinente et tout ce qu&#8217;il faut : &#8220;rah mais pourquoi ça marche pas cette merde ?!&#8221;. Et vous aurez eu raison !<br />
En effet, si vous faites cela par exemple :</p>

<div class="wp_codebox"><table><tr id="p83321"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p833code21"><pre class="javascript" style="font-family:monospace;">element.<span style="color: #660066;">addEventListener</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'click'</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>action<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Ça ne fonctionne pas !<br />
Vous pouvez en tester d&#8217;autres du même genre mais ils ne seront pas précisés ici, car mon but n&#8217;est pas de vous montrer des codes non fonctionnels&#8230;</p>
<p>La solution c&#8217;est d&#8217;utiliser une méthode pour annuler l&#8217;effet premier de l&#8217;événement. Cette méthode est une méthode liée à l&#8217;événement lui-même et elle se nomme <em>preventDefault()</em>. Vous vous dites alors comme récupérer l&#8217;événement lui-même ? C&#8217;est une simple variable passée à la fonction, rien de plus simple !<br />
Voici un exemple :</p>

<div class="wp_codebox"><table><tr id="p83322"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p833code22"><pre class="javascript" style="font-family:monospace;">element.<span style="color: #660066;">addEventListener</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'click'</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>evt<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>action<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>evt.<span style="color: #660066;">preventDefault</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>evt.<span style="color: #660066;">preventDefault</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Vous pouvez également l&#8217;utiliser comme ceci :</p>

<div class="wp_codebox"><table><tr id="p83323"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p833code23"><pre class="javascript" style="font-family:monospace;">element.<span style="color: #660066;">addEventListener</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'click'</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>evt<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>action<span style="color: #009900;">&#40;</span>evt<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Et ajouter à la fonction <em>action()</em> ceci :</p>

<div class="wp_codebox"><table><tr id="p83324"><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code" id="p833code24"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> action<span style="color: #009900;">&#40;</span>evt<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>evt.<span style="color: #660066;">preventDefault</span><span style="color: #009900;">&#41;</span>
		evt.<span style="color: #660066;">preventDefault</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Je vous conseille cette dernière méthode car plus lisible. <img src='http://www.ptinenuphare.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Et voila, avec ça, plus de problème ! <img src='http://www.ptinenuphare.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p><hr />
<p><small>Article écrit par Flinx pour <a href="http://www.ptinenuphare.net">Pti nénuphare</a>, le 29/10/2009 | <a href="http://www.ptinenuphare.net/annuler-le-comportement-premier-dun-lien-avec-addeventlistener.html">Lien permanent</a> | Si vous lisez cet article sur un site/blog autre que <a href="http://www.ptinenuphare.net">Pti nénuphare</a>, c'est qu'il peut avoir été reproduit illégalement. Merci de le signaler alors à son auteur original <a href="http://www.ptinenuphare.net/contact">via cette page</a>.</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.ptinenuphare.net/annuler-le-comportement-premier-dun-lien-avec-addeventlistener.html/feed</wfw:commentRss>
		<feedburner:origLink>http://www.ptinenuphare.net/annuler-le-comportement-premier-dun-lien-avec-addeventlistener.html</feedburner:origLink></item>
		<item>
		<title>Un CSS différent au fil des saisons</title>
		<link>http://feedproxy.google.com/~r/Ptinenuphare/~3/5EYeD0jWjUk/un-css-different-au-fil-des-saisons.html</link>
		<comments>http://www.ptinenuphare.net/un-css-different-au-fil-des-saisons.html#comments</comments>
		<pubDate>Sat, 19 Sep 2009 08:35:10 +0000</pubDate>
		<dc:creator>Flinx</dc:creator>
		
		<category><![CDATA[Développements]]></category>

		<category><![CDATA[Tutoriels]]></category>

		<category><![CDATA[automne]]></category>

		<category><![CDATA[CSS]]></category>

		<category><![CDATA[été]]></category>

		<category><![CDATA[hiver]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[printemps]]></category>

		<category><![CDATA[programmation]]></category>

		<category><![CDATA[saisons]]></category>

		<guid isPermaLink="false">http://www.ptinenuphare.net/?p=825</guid>
		<description><![CDATA[Voici un article dans la lignée de celui qui indiquait la méthode pour utiliser PHP dans un CSS. En effet, ici, nous allons voir comment créer un CSS qui change au fil des saisons. Pour cela, nous passerons par le PHP, vous verrez ce n&#8217;est pas très compliqué.
Évidemment, pour comprendre ce tutoriel, vous devez savoir [...]]]></description>
			<content:encoded><![CDATA[<p>Voici un article dans la lignée de <a href="http://www.ptinenuphare.net/du-php-dans-un-fichier-css.html">celui qui indiquait la méthode pour utiliser <acronym title="Pre-Hypertext Processing">PHP</acronym> dans un <acronym title="Cascading Style Sheets">CSS</acronym></a>. En effet, ici, nous allons voir comment créer un <acronym title="Cascading Style Sheets">CSS</acronym> qui change au fil des saisons. Pour cela, nous passerons par le <acronym title="Pre-Hypertext Processing">PHP</acronym>, vous verrez ce n&#8217;est pas très compliqué.<br />
Évidemment, pour comprendre ce tutoriel, vous devez savoir utiliser <acronym title="Pre-Hypertext Processing">PHP</acronym> dans le <acronym title="Cascading Style Sheets">CSS</acronym>, donc plutôt que de réexpliquer, je vous renvoie au lien cité plus haut. <img src='http://www.ptinenuphare.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h4>Le principe</h4>
<p>Nous allons définir ce qu&#8217;il faut dans cette partie. En effet, il faut nous mettre d&#8217;accord sur les dates des saisons&#8230;<br />
Je vais ici proposer les dates, vous pourrez les modifier facilement. <img src='http://www.ptinenuphare.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> <br />
Voici donc :</p>
<ul>
<li>Printemps : entre le <strong>21 mars</strong> et le <strong>21 juin</strong> (exclus)</li>
<li>Été : entre le <strong>21 juin</strong> et le <strong>21 septembre</strong> (exclus)</li>
<li>Automne : entre le <strong>21 septembre</strong> et le <strong>21 décembre</strong> (exclus)</li>
<li>Hiver : entre le <strong>21 décembre</strong> et le <strong>21 mars</strong> (exclus)</li>
</ul>
<h4>Le code</h4>
<p>Maintenant, entrons dans le vif du sujet : le code lui-même.<br />
Nous débuterons le script en créant quelques timestamp. En effet, nous allons créer les timestamp des limites des saisons afin de pouvoir ensuite les comparer au timestamp actuel pour vérifier dans quelle saison nous sommes.<br />
Pour cela, nous utilisons la fonction <em>mktime()</em> avec 0 pour les heures, minutes et secondes, la limite vue plus haut pour le jour et le mois et enfin l&#8217;année courante pour l&#8217;année.<br />
Cela nous donne ce code :</p>

<div class="wp_codebox"><table><tr id="p82527"><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code" id="p825code27"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000088;">$printemps</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/mktime"><span style="color: #990000;">mktime</span></a><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">3</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">21</span><span style="color: #339933;">,</span> <a href="http://www.php.net/date"><span style="color: #990000;">date</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Y'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$ete</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/mktime"><span style="color: #990000;">mktime</span></a><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">6</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">21</span><span style="color: #339933;">,</span> <a href="http://www.php.net/date"><span style="color: #990000;">date</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Y'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$automne</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/mktime"><span style="color: #990000;">mktime</span></a><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">9</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">21</span><span style="color: #339933;">,</span> <a href="http://www.php.net/date"><span style="color: #990000;">date</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Y'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$hiver</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/mktime"><span style="color: #990000;">mktime</span></a><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">12</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">21</span><span style="color: #339933;">,</span> <a href="http://www.php.net/date"><span style="color: #990000;">date</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Y'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>Ensuite, nous allons simplement créer une condition pour savoir dans quelle saison nous nous situons. Pour le savoir, il suffit de récupérer le timestamp actuel avec <em>time()</em> puis de le comparer aux timestamp créés.<br />
Ainsi, par exemple, pour savoir si nous sommes en été, il suffit de vérifier si le timestamp actuel est supérieur ou égal à celui du 21 juin et s&#8217;il est inférieur à celui du 21 septembre.</p>
<p>Attention cependant, le cas de l&#8217;hiver est spécial. En effet, l&#8217;hiver apparaît à partir du 21 décembre, mais est présent au début de l&#8217;année également ! Je vais d&#8217;abord vous montrer le code. Si vous ne comprenez pas, ne vous inquiétez pas, je commente le cas de l&#8217;hiver juste après. <img src='http://www.ptinenuphare.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>

<div class="wp_codebox"><table><tr id="p82528"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
</pre></td><td class="code" id="p825code28"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000088;">$printemps</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/mktime"><span style="color: #990000;">mktime</span></a><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">3</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">21</span><span style="color: #339933;">,</span> <a href="http://www.php.net/date"><span style="color: #990000;">date</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Y'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$ete</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/mktime"><span style="color: #990000;">mktime</span></a><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">6</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">21</span><span style="color: #339933;">,</span> <a href="http://www.php.net/date"><span style="color: #990000;">date</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Y'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$automne</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/mktime"><span style="color: #990000;">mktime</span></a><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">9</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">21</span><span style="color: #339933;">,</span> <a href="http://www.php.net/date"><span style="color: #990000;">date</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Y'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$hiver</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/mktime"><span style="color: #990000;">mktime</span></a><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">12</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">21</span><span style="color: #339933;">,</span> <a href="http://www.php.net/date"><span style="color: #990000;">date</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Y'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$actuel</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/time"><span style="color: #990000;">time</span></a><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$actuel</span> <span style="color: #339933;">&gt;=</span> <span style="color: #000088;">$hiver</span> or <span style="color: #000088;">$actuel</span> <span style="color: #339933;">&lt;</span> <span style="color: #000088;">$printemps</span><span style="color: #009900;">&#41;</span> <span style="color: #666666; font-style: italic;">// Hiver</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #666666; font-style: italic;">// Styles appliqués en hiver</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$actuel</span> <span style="color: #339933;">&gt;=</span> <span style="color: #000088;">$printemps</span> and <span style="color: #000088;">$actuel</span> <span style="color: #339933;">&lt;</span> <span style="color: #000088;">$ete</span><span style="color: #009900;">&#41;</span> <span style="color: #666666; font-style: italic;">// Printemps</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #666666; font-style: italic;">// Styles appliqués au printemps</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$actuel</span> <span style="color: #339933;">&gt;=</span> <span style="color: #000088;">$ete</span> and <span style="color: #000088;">$actuel</span> <span style="color: #339933;">&lt;</span> <span style="color: #000088;">$automne</span><span style="color: #009900;">&#41;</span> <span style="color: #666666; font-style: italic;">// Été</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #666666; font-style: italic;">// Styles appliqués en été</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$actuel</span> <span style="color: #339933;">&gt;=</span> <span style="color: #000088;">$automne</span> and <span style="color: #000088;">$actuel</span> <span style="color: #339933;">&lt;</span> <span style="color: #000088;">$hiver</span><span style="color: #009900;">&#41;</span> <span style="color: #666666; font-style: italic;">// Automne</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #666666; font-style: italic;">// Styles appliqués en automne</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>Nous retrouvons au début nos timestamp créés et celui actuel, rien de spécial.<br />
Viennent ensuite les conditions. Comme vous pouvez le voir pour le printemps, l&#8217;été et l&#8217;automne, il n&#8217;y a rien de spécial : on vérifie comme je l&#8217;avais dit si le timestamp est compris dans les limites de la saison.<br />
Cependant, la condition pour l&#8217;hiver est légèrement différente&#8230; Heureusement elle n&#8217;est pas plus compliquée que les autres. En effet, nous vérifions simplement si le timestamp actuel est plus supérieur ou égal à celui du commencement de l&#8217;hiver de l&#8217;année courante. Ainsi, la condition renverra vrai si nous nous situons entre le 21 décembre et la fin de l&#8217;année. Nous vérifions ensuite si nous nous trouvons avant le commencement du printemps. Avec <em>or</em>, seule l&#8217;une des conditions a besoin d&#8217;être remplie, donc il nous faut être au début ou à la fin de l&#8217;année pour obtenir l&#8217;hiver.</p>
<p>Voila pour ce tutoriel, si vous rencontrez des problèmes avec le script, n&#8217;hésitez pas. <img src='http://www.ptinenuphare.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p><hr />
<p><small>Article écrit par Flinx pour <a href="http://www.ptinenuphare.net">Pti nénuphare</a>, le 19/09/2009 | <a href="http://www.ptinenuphare.net/un-css-different-au-fil-des-saisons.html">Lien permanent</a> | Si vous lisez cet article sur un site/blog autre que <a href="http://www.ptinenuphare.net">Pti nénuphare</a>, c'est qu'il peut avoir été reproduit illégalement. Merci de le signaler alors à son auteur original <a href="http://www.ptinenuphare.net/contact">via cette page</a>.</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.ptinenuphare.net/un-css-different-au-fil-des-saisons.html/feed</wfw:commentRss>
		<feedburner:origLink>http://www.ptinenuphare.net/un-css-different-au-fil-des-saisons.html</feedburner:origLink></item>
		<item>
		<title>Pixelics</title>
		<link>http://feedproxy.google.com/~r/Ptinenuphare/~3/8ndl2LEcW-I/pixelics.html</link>
		<comments>http://www.ptinenuphare.net/pixelics.html#comments</comments>
		<pubDate>Wed, 09 Sep 2009 20:13:38 +0000</pubDate>
		<dc:creator>Flinx</dc:creator>
		
		<category><![CDATA[Web]]></category>

		<category><![CDATA[communauté]]></category>

		<category><![CDATA[Graphisme]]></category>

		<category><![CDATA[Pixelics]]></category>

		<category><![CDATA[programmation]]></category>

		<guid isPermaLink="false">http://www.ptinenuphare.net/?p=821</guid>
		<description><![CDATA[Pixelics est une communauté réunie autour du graphisme et du développement web. Si je vous en parle, c&#8217;est que c&#8217;est un site qui vient juste d&#8217;ouvrir et dont je suis un des deux fondateurs, tout simplement !

C&#8217;est donc avec Kakolio que je développe Pixelics depuis plusieurs mois déjà.
Sur Pixelics, vous pourrez donc parler de développement [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.pixelics.fr/">Pixelics</a> est une communauté réunie autour du graphisme et du développement web. Si je vous en parle, c&#8217;est que c&#8217;est un site qui vient juste d&#8217;ouvrir et dont je suis un des deux fondateurs, tout simplement !</p>
<div style="text-align: center;"><a href="http://www.pixelics.fr/"><img src="http://www.pixelics.fr/templates/design/pixelics-logo.png" alt="Pixelics" /></a></div>
<p>C&#8217;est donc avec Kakolio que je développe <a href="http://www.pixelics.fr/">Pixelics</a> depuis plusieurs mois déjà.<br />
Sur Pixelics, vous pourrez donc parler de développement web et de graphisme en exposant vos soucis par exemple, ou encore en parlant de l&#8217;actualité de ces domaines, etc., le tout dans un forum entièrement créé par nous-mêmes.<br />
De plus, un module de commandes est présent, via lequel vous pourrez commander une réalisation graphique, un script ou même un site complet.</p>
<p>Bref, n&#8217;attendez plus, c&#8217;est par là que ça se passe : <a href="http://www.pixelics.fr/">Pixelics</a> !</p><hr />
<p><small>Article écrit par Flinx pour <a href="http://www.ptinenuphare.net">Pti nénuphare</a>, le 09/09/2009 | <a href="http://www.ptinenuphare.net/pixelics.html">Lien permanent</a> | Si vous lisez cet article sur un site/blog autre que <a href="http://www.ptinenuphare.net">Pti nénuphare</a>, c'est qu'il peut avoir été reproduit illégalement. Merci de le signaler alors à son auteur original <a href="http://www.ptinenuphare.net/contact">via cette page</a>.</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.ptinenuphare.net/pixelics.html/feed</wfw:commentRss>
		<feedburner:origLink>http://www.ptinenuphare.net/pixelics.html</feedburner:origLink></item>
		<item>
		<title>Hadopi et ses sympathiques déviations</title>
		<link>http://feedproxy.google.com/~r/Ptinenuphare/~3/Ll4Ee3Q59vE/hadopi-et-ses-sympathiques-deviations.html</link>
		<comments>http://www.ptinenuphare.net/hadopi-et-ses-sympathiques-deviations.html#comments</comments>
		<pubDate>Fri, 29 May 2009 16:56:03 +0000</pubDate>
		<dc:creator>Flinx</dc:creator>
		
		<category><![CDATA[Internet français]]></category>

		<category><![CDATA[contrôle]]></category>

		<category><![CDATA[gouvernement]]></category>

		<category><![CDATA[HADOPI]]></category>

		<category><![CDATA[loi]]></category>

		<guid isPermaLink="false">http://www.ptinenuphare.net/?p=815</guid>
		<description><![CDATA[Dans un précédent article je vous ai parlé de Hadopi. J&#8217;ai également évoqué le fait qu&#8217;elle pourra être contournée, ce que nous allons voir maintenant.
Première méthode : ne rien changer
Ça c&#8217;est plutôt pas mal. En effet, lu sur cet article (j&#8217;y reprend d&#8217;ailleurs les moyens de contournement, mais que j&#8217;aurai testé seulement et que je [...]]]></description>
			<content:encoded><![CDATA[<p>Dans un <a href="http://www.ptinenuphare.net/le-gouvernement-francais-et-internet.html">précédent article</a> je vous ai parlé de Hadopi. J&#8217;ai également évoqué le fait qu&#8217;elle pourra être contournée, ce que nous allons voir maintenant.</p>
<h4>Première méthode : ne rien changer</h4>
<p>Ça c&#8217;est plutôt pas mal. En effet, lu sur <a href="http://linuxmanua.blogspot.com/2009/04/10-antidotes-anti-hadopi.html">cet article</a> (j&#8217;y reprend d&#8217;ailleurs les moyens de contournement, mais que j&#8217;aurai testé seulement et que je juge les mieux), des calculs tendent à prouver que Hadopi sera totalement inefficace.<br />
En effet, si on résume : le nombre d&#8217;utilisateur de <acronym title="Peer to Peer">P2P</acronym> (utilisé légalement ou pas) est trop important pour que Hadopi puisse suivre. Avec 10 000 mails par jour, vous recevrez un mail tous les 16 mois. Étant donné qu&#8217;Hadopi revient à 0 tous les 6 mois, vous êtes tranquille.</p>
<h4>Deuxième méthode : contester</h4>
<p>Sachant que la contestation est inutile dans cette loi, où est l&#8217;utilité ? Tout simplement les bombarder de mails. Si tout le monde fait ça, ils seront surchargés et ça ne sera pas plus mal.<br />
Évidemment, rien ne vous empêche de répondre 2 ou 3 fois par mail que vous recevez, et même plus si vous voulez.<br />
Encore plus évident : rien ne vous empêche non plus de les bombarder de mails, même en ayant rien reçu&#8230; :-°</p>
<p>Bon tout ça, c&#8217;est bien beau, ça veut dire que Hadopi ne sert à rien (on n&#8217;en doutait pas d&#8217;ailleurs). Mais en faisant cela, vous recevrez peut-être des mails quand même&#8230; C&#8217;est embêtant ça encombre la boîte de réception. C&#8217;est pourquoi dans un prochain article nous verrons comment la contourner véritablement et là, vous verrez que les créateurs de cette loi n&#8217;ont vraiment pas réfléchi (bon en même temps quand on voit qui c&#8217;est&#8230;).</p><hr />
<p><small>Article écrit par Flinx pour <a href="http://www.ptinenuphare.net">Pti nénuphare</a>, le 29/05/2009 | <a href="http://www.ptinenuphare.net/hadopi-et-ses-sympathiques-deviations.html">Lien permanent</a> | Si vous lisez cet article sur un site/blog autre que <a href="http://www.ptinenuphare.net">Pti nénuphare</a>, c'est qu'il peut avoir été reproduit illégalement. Merci de le signaler alors à son auteur original <a href="http://www.ptinenuphare.net/contact">via cette page</a>.</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.ptinenuphare.net/hadopi-et-ses-sympathiques-deviations.html/feed</wfw:commentRss>
		<feedburner:origLink>http://www.ptinenuphare.net/hadopi-et-ses-sympathiques-deviations.html</feedburner:origLink></item>
		<item>
		<title>Le gouvernement français et internet…</title>
		<link>http://feedproxy.google.com/~r/Ptinenuphare/~3/YymK-EzRkJM/le-gouvernement-francais-et-internet.html</link>
		<comments>http://www.ptinenuphare.net/le-gouvernement-francais-et-internet.html#comments</comments>
		<pubDate>Sun, 24 May 2009 13:01:25 +0000</pubDate>
		<dc:creator>Flinx</dc:creator>
		
		<category><![CDATA[Internet français]]></category>

		<category><![CDATA[contrôle]]></category>

		<category><![CDATA[gouvernement]]></category>

		<category><![CDATA[HADOPI]]></category>

		<category><![CDATA[loi]]></category>

		<category><![CDATA[LOPPSI]]></category>

		<guid isPermaLink="false">http://www.ptinenuphare.net/?p=809</guid>
		<description><![CDATA[Vous avez peut-être entendu parler de la loi qui a fait pas mal de bruit : HADOPI. Cette loi n&#8217;est que le début d&#8217;un processus qui, à terme, fera du gouvernement français le maître de l&#8217;internet du pays. En effet, une nouvelle loi devrait voir le jour dans quelques temps : LOPPSI. Dans cette nouvelle [...]]]></description>
			<content:encoded><![CDATA[<p>Vous avez peut-être entendu parler de la loi qui a fait pas mal de bruit : HADOPI. Cette loi n&#8217;est que le début d&#8217;un processus qui, à terme, fera du gouvernement français le maître de l&#8217;internet du pays. En effet, une nouvelle loi devrait voir le jour dans quelques temps : LOPPSI. Dans cette nouvelle catégorie nous allons donc parler de ces deux lois (ou plus, si nos gouvernants s&#8217;amusent encore avec leur cerveau malade et ne sont toujours pas contents), comment les contourner (pour HADOPI en tout cas), etc.<br />
Dans cet article, nous allons parler de HADOPI.</p>
<h4>HADOPI, c&#8217;est quoi ?</h4>
<p>Une loi liberticide qui amène le début du contrôle de l&#8217;État sur internet. En effet, voici ce que cette loi prévoit :</p>
<ul>
<li>10 000 mails par jours</li>
<li>3 000 lettres recommandées par jour</li>
<li>1 000 coupures de l&#8217;accès à internet par jour</li>
<li>le tout sans possibilité de contestation et sans intervention de la justice</li>
<li>aucune présomption d&#8217;innocence ; alors que pour d&#8217;autres délits et crimes on doit prouver votre culpabilité, pour HADOPI, vous devrez prouver votre innocence</li>
<li>un logiciel espion payant que vous serez quasiment obligé d&#8217;installer pour &#8220;prouver votre bonne foi&#8221; en cas de fausse accusation</li>
<li>une liste blanche : si vous vous connectez sur des bornes Wifi d&#8217;accès public, vous ne serez autorisé à consulter que les sites autorisés par le gouvernement</li>
</ul>
<p>Voila pour les principaux points de cette loi qui porte atteinte à nos libertés.<br />
Dans un prochain article nous verrons comment contourner cette loi.</p><hr />
<p><small>Article écrit par Flinx pour <a href="http://www.ptinenuphare.net">Pti nénuphare</a>, le 24/05/2009 | <a href="http://www.ptinenuphare.net/le-gouvernement-francais-et-internet.html">Lien permanent</a> | Si vous lisez cet article sur un site/blog autre que <a href="http://www.ptinenuphare.net">Pti nénuphare</a>, c'est qu'il peut avoir été reproduit illégalement. Merci de le signaler alors à son auteur original <a href="http://www.ptinenuphare.net/contact">via cette page</a>.</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.ptinenuphare.net/le-gouvernement-francais-et-internet.html/feed</wfw:commentRss>
		<feedburner:origLink>http://www.ptinenuphare.net/le-gouvernement-francais-et-internet.html</feedburner:origLink></item>
		<item>
		<title>Des coins arrondis en CSS sans images</title>
		<link>http://feedproxy.google.com/~r/Ptinenuphare/~3/oNEEqrrE5Nc/des-coins-arrondis-en-css-sans-images.html</link>
		<comments>http://www.ptinenuphare.net/des-coins-arrondis-en-css-sans-images.html#comments</comments>
		<pubDate>Sun, 12 Apr 2009 11:52:55 +0000</pubDate>
		<dc:creator>Flinx</dc:creator>
		
		<category><![CDATA[Développements]]></category>

		<category><![CDATA[Tutoriels]]></category>

		<category><![CDATA[arrondis]]></category>

		<category><![CDATA[border-radius]]></category>

		<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://www.ptinenuphare.net/?p=801</guid>
		<description><![CDATA[Si vous avez déjà tenté de créer des coins arrondis en CSS, vous savez que c&#8217;est un petit casse-tête. Je parle ici de coins arrondis dans le cas de blocs extensibles. En effet, pour un bloc dont la largeur et la hauteur sont connues d&#8217;avance (définies dans le CSS), c&#8217;est beaucoup plus simple.
La technique actuelle [...]]]></description>
			<content:encoded><![CDATA[<p>Si vous avez déjà tenté de créer des coins arrondis en <acronym title="Cascading Style Sheets">CSS</acronym>, vous savez que c&#8217;est un petit casse-tête. Je parle ici de coins arrondis dans le cas de blocs extensibles. En effet, pour un bloc dont la largeur et la hauteur sont connues d&#8217;avance (définies dans le <acronym title="Cascading Style Sheets">CSS</acronym>), c&#8217;est beaucoup plus simple.</p>
<h4>La technique actuelle : multiplication des div</h4>
<p>La technique que l&#8217;on utilise actuellement consiste à multiplier les <strong>div</strong>. Elle n&#8217;est pas compliquée en soi mais nécessite tout de même l&#8217;utilisation de plusieurs <strong>div</strong> avec un minimum de un <strong>div</strong> par coin (qui contiendra une image de fond représentant ce coin arrondi) plus un <strong>div</strong> de contenu.</p>
<p>Il existe aussi une autre méthode qui consiste à utiliser les tableaux. Il faut savoir que cette technique est à exclure car à l&#8217;heure actuelle, on préfère n&#8217;utiliser les tableaux que dans des cas où on en a réellement besoin (pour créer un véritable tableau justement) : pour la mise en page, le <acronym title="Cascading Style Sheets">CSS</acronym> doit être préféré.</p>
<h4>Une nouvelle technique : border-radius</h4>
<p>Le <acronym title="Cascading Style Sheets">CSS</acronym> 3 nous apporte une nouvelle fonctionnalité : <strong>border-radius</strong>. Cette fonctionnalité n&#8217;est pour le moment présente que du côté de Firefox et Safari et peut être utilisée via 2 propriétés : <strong>-moz-border-radius</strong> et <strong>-webkit-border-radius</strong>.</p>
<p>Voici un exemple d&#8217;utilisation de ces propriétés.</p>

<div class="wp_codebox"><table><tr id="p80131"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p801code31"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;arrondis&quot;</span>&gt;</span>Ce div possède des coins arrondis que vous pourrez voir avec Firefox ou Safari.<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a>&gt;</span></pre></td></tr></table></div>

<p>Et le <acronym title="Cascading Style Sheets">CSS</acronym> qui va avec :</p>

<div class="wp_codebox"><table><tr id="p80132"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code" id="p801code32"><pre class="css" style="font-family:monospace;"><span style="color: #cc00cc;">#arrondis</span>
<span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span> <span style="color: #933;">5px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#1781EE</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#FFFFFF</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">text-align</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">center</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span> <span style="color: #933;">1px</span> <span style="color: #993333;">solid</span> <span style="color: #cc00cc;">#1E67B4</span><span style="color: #00AA00;">;</span>
	-moz-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">10px</span><span style="color: #00AA00;">;</span>
	-webkit-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">10px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>Ce qui donne ceci :</p>
<div style="padding: 5px; background-color: #1781EE; color: #FFFFFF; border: 1px solid #1E67B4; -moz-border-radius: 10px; -webkit-border-radius: 10px; text-align: center;">Ce div possède des coins arrondis que vous pourrez voir avec Firefox ou Safari.</div>
<p>Vous pouvez aussi choisir de n&#8217;arrondir que tel ou tel coin. Pour cela, il faut utiliser les propriétés suivantes :</p>
<ul>
<li><ins datetime="2009-04-12T10:00:36+00:00">Coin supérieur gauche :</ins> <strong>-moz-border-radius-topleft</strong> et <strong>-webkit-border-top-left-radius</strong></li>
<li><ins datetime="2009-04-12T10:00:36+00:00">Coin supérieur droit :</ins> <strong>-moz-border-radius-topright</strong> et <strong>-webkit-border-top-right-radius</strong></li>
<li><ins datetime="2009-04-12T10:00:36+00:00">Coin inférieur gauche :</ins> <strong>-moz-border-radius-bottomleft</strong> et <strong>-webkit-border-bottom-left-radius</strong></li>
<li><ins datetime="2009-04-12T10:00:36+00:00">Coin inférieur droit :</ins> <strong>-moz-border-radius-bottomright</strong> et <strong>-webkit-border-bottom-right-radius</strong></li>
</ul>
<h4>Petites précisions</h4>
<p>Vous l&#8217;aurez peut-être deviné : <strong>border-radius</strong> possède quelques limites. En effet, son utilisation est parfaite pour le cas que nous venons de voir, mais si vous utilisez des dégradés arrondis ou tout autre style qui n&#8217;est pas présent dans les fonctionnalités de bordure de <acronym title="Cascading Style Sheets">CSS</acronym>, il vous faudra utiliser des <strong>div</strong> et des images de fond.</p>
<p>Autre petite précision : vous n&#8217;êtes pas obligé d&#8217;utiliser une bordure avec <strong>border</strong> pour utiliser <strong>border-radius</strong>. En effet, si aucune bordure n&#8217;est spécifiée mais qu&#8217;un <strong>border-radius</strong> est présent, le bloc sera quand même arrondi, mais sans bordure, comme vous le vouliez.</p><hr />
<p><small>Article écrit par Flinx pour <a href="http://www.ptinenuphare.net">Pti nénuphare</a>, le 12/04/2009 | <a href="http://www.ptinenuphare.net/des-coins-arrondis-en-css-sans-images.html">Lien permanent</a> | Si vous lisez cet article sur un site/blog autre que <a href="http://www.ptinenuphare.net">Pti nénuphare</a>, c'est qu'il peut avoir été reproduit illégalement. Merci de le signaler alors à son auteur original <a href="http://www.ptinenuphare.net/contact">via cette page</a>.</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.ptinenuphare.net/des-coins-arrondis-en-css-sans-images.html/feed</wfw:commentRss>
		<feedburner:origLink>http://www.ptinenuphare.net/des-coins-arrondis-en-css-sans-images.html</feedburner:origLink></item>
		<item>
		<title>Protéger son site contre les failles XSS</title>
		<link>http://feedproxy.google.com/~r/Ptinenuphare/~3/MKTmk0bzw3c/proteger-son-site-contre-les-failles-xss.html</link>
		<comments>http://www.ptinenuphare.net/proteger-son-site-contre-les-failles-xss.html#comments</comments>
		<pubDate>Sat, 28 Mar 2009 18:33:27 +0000</pubDate>
		<dc:creator>Flinx</dc:creator>
		
		<category><![CDATA[Développements]]></category>

		<category><![CDATA[Tutoriels]]></category>

		<category><![CDATA[faille]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[protection]]></category>

		<category><![CDATA[XSS]]></category>

		<guid isPermaLink="false">http://www.ptinenuphare.net/?p=784</guid>
		<description><![CDATA[Je vous ai déjà parlé de la protection contre les injections SQL, mais qu&#8217;en est-il de la protection contre les failles de type XSS ?
Le XSS, qu&#8217;est-ce que c&#8217;est ?
XSS est l&#8217;abréviation de Cross Site Scripting, X symbolisant la croix (cross en anglais), pour différencier l&#8217;abréviation de celle du CSS.
Attaquer un site en utilisant une [...]]]></description>
			<content:encoded><![CDATA[<p>Je vous ai déjà parlé de <a href="http://www.ptinenuphare.net/comment-se-proteger-efficacement-des-injections-sql.html">la protection contre les injections <acronym title="Structured Query Language">SQL</acronym></a>, mais qu&#8217;en est-il de la protection contre les failles de type <acronym title="Cross Site Scripting">XSS</acronym> ?</p>
<h4>Le <acronym title="Cross Site Scripting">XSS</acronym>, qu&#8217;est-ce que c&#8217;est ?</h4>
<p><acronym title="Cross Site Scripting">XSS</acronym> est l&#8217;abréviation de Cross Site Scripting, X symbolisant la croix (cross en anglais), pour différencier l&#8217;abréviation de celle du <acronym title="Cascading Style Sheets">CSS</acronym>.<br />
Attaquer un site en utilisant une faille de type <acronym title="Cross Site Scripting">XSS</acronym> signifie injecter du code dans ses pages. Par exemple, dans le cas d&#8217;un forum, si les messages affichés ne sont pas sécurisés, l&#8217;attaquant peut envoyer n&#8217;importe quel code <acronym title="eXtensible HyperText Markup Language">XHTML</acronym>.<br />
Ainsi, on peut afficher du code JavaScript malveillant sur le site, mais pas seulement. Par exemple, une balise <strong>meta</strong> peut très bien vous faire rediriger vers un autre site.</p>
<p>L&#8217;intérêt pour l&#8217;attaquant d&#8217;une faille de type <acronym title="Cross Site Scripting">XSS</acronym> est donc de rediriger vers un autre site, de récupérer certaines données (aussi bien sur le site que sur l&#8217;ordinateur de celui qui visite innocemment le site), mais aussi de pouvoir exécuter certaines actions sous l&#8217;identité du site, etc.</p>
<h4>Comment se protéger des attaques de type <acronym title="Cross Site Scripting">XSS</acronym> ?</h4>
<p>Pour être tranquille, vous pouvez utiliser la fonction <strong>htmlspecialchars()</strong> sur les variables que vous affichez et dont la valeur dépend de ce qu&#8217;un utilisateur a entré (encore une fois, l&#8217;exemple simple d&#8217;un membre postant sur un forum).<br />
Cette fonction va simplement encoder les caractères spéciaux <acronym title="eXtensible HyperText Markup Language">XHTML</acronym>. Ainsi, si l&#8217;utilisateur a voulu utiliser une balise <strong>script</strong> ou autre, la balise s&#8217;affichera telle quelle, son contenu ne sera pas exécuté.</p><hr />
<p><small>Article écrit par Flinx pour <a href="http://www.ptinenuphare.net">Pti nénuphare</a>, le 28/03/2009 | <a href="http://www.ptinenuphare.net/proteger-son-site-contre-les-failles-xss.html">Lien permanent</a> | Si vous lisez cet article sur un site/blog autre que <a href="http://www.ptinenuphare.net">Pti nénuphare</a>, c'est qu'il peut avoir été reproduit illégalement. Merci de le signaler alors à son auteur original <a href="http://www.ptinenuphare.net/contact">via cette page</a>.</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.ptinenuphare.net/proteger-son-site-contre-les-failles-xss.html/feed</wfw:commentRss>
		<feedburner:origLink>http://www.ptinenuphare.net/proteger-son-site-contre-les-failles-xss.html</feedburner:origLink></item>
	</channel>
</rss>

