<?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"
	>

<channel>
	<title>Why do witches burn?</title>
	<atom:link href="http://blog.salagir.com/fr/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.salagir.com/fr</link>
	<description>Because they're made of wood, like bridges, and so float on water, like churches, very small rocks, gravy, and a duck.</description>
	<pubDate>Thu, 17 Jul 2008 06:56:04 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>J&#8217;aime pas ça, il faut que le monde le sache ! (part 2)</title>
		<link>http://blog.salagir.com/fr/35-jaime-pas-ca-il-faut-que-le-monde-le-sache-part-2/</link>
		<comments>http://blog.salagir.com/fr/35-jaime-pas-ca-il-faut-que-le-monde-le-sache-part-2/#comments</comments>
		<pubDate>Thu, 17 Jul 2008 06:56:04 +0000</pubDate>
		<dc:creator>Salagir</dc:creator>
		
		<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://blog.salagir.com/fr/?p=35</guid>
		<description><![CDATA[La suite des -extrêmement passionnantes- choses qui m&#8217;ennuient.
Vu l&#8217;extrême succès de la précédente édition, je pense a m&#8217;ouvrir un compte myspace pour partager mes goûts si pertinents avec tous mes amis.
D&#8217;ailleurs à ce propos, je réponds à un commentaire de Mazzu, qui dit :
à ce propos, après avoir lu ton billet, je me disais que [...]]]></description>
			<content:encoded><![CDATA[<p>La suite des -extrêmement passionnantes- choses qui m&#8217;ennuient.</p>
<p>Vu l&#8217;extrême succès de la précédente édition, je pense a m&#8217;ouvrir un compte myspace pour partager mes goûts si pertinents avec tous mes amis.</p>
<p>D&#8217;ailleurs à ce propos, je réponds à un commentaire de Mazzu, qui dit :<br />
<em>à ce propos, après avoir lu ton billet, je me disais que tu étais vraiment pas quelqu&#8217;un de trop contrariant vu qu&#8217;il n&#8217;y a pas beaucoup de choses que tu n&#8217;aimes pas</em><br />
En fait, je ne cite pas ce que tout le monde n&#8217;aime pas aussi, genre &#8220;J&#8217;aime pas me coincer le doigt dans une porte&#8221;, ni les trucs classiques comme &#8220;J&#8217;aime pas les légumes verts&#8221;. Je garde ici ce qui me semble sortir de l&#8217;ordinaire.</p>
<p>J&#8217;aime pas&#8230;</p>
<h3>Les  polices de caractères avec des lettres visuellement identiques</h3>
<p>Vous l&#8217;avez tous vu. Dans certaines fonts, le chiffre 1 (un), la lettre l (entre k et m) et le I (i majuscule) peuvent être dessiné de façon totalement identique !</p>
<p>C&#8217;est totalement stupide, particulièrement dans le recopiage de password&#8230;</p>
<h3>Les polices avec les chiffres qui sont plus haut et plus bas que ce qu&#8217;il faut pour déconner</h3>
<p><img src="/fr/upload/fonts-chiffres.png" alt="Exemples de font" style="float:left; margin-right: 5px" /><br />
Au première abord, c&#8217;est une écriture tout à fait normale, et soudainement, il y a un chiffre, et il est décalé vers le bas !?</p>
<p>Pouvez pas écrire normalement non ? Le 9 n&#8217;est pas un &#8220;g&#8221; !</p>
<h3>Le noir complet</h3>
<p>Je n&#8217;ai pas peur du noir. Mais en tant qu&#8217;humain, j&#8217;ai ce défaut de ne pas voir sans lumière.</p>
<p>Dans un noir réellement complet, je m&#8217;explose contre les murs, les meubles, et tous ces objets qui se sont mis sur ma route pendant que je dormais, pour me piéger lorsque j&#8217;ai besoin d&#8217;aller au toilettes la nuit.<br />
(et le chat se fout de ma gueule)<br />
((c&#8217;est peut-être lui qui a déplacé les objets))</p>
<p>Lorsque je dors ailleurs que chez moi, chez des amis ou à l&#8217;hôtel, un couloir et une chambre totalement obscurs peuvent rendre mes déplacements très très lents.</p>
<h3>Les appareils qui s&#8217;allument quand on allume la lumière et qui font &#8220;vvvvvv&#8221;</h3>
<p>Après avoir réussi à me déplacer sans encombre en pleine nuit dans la salle de bain, j&#8217;allume la lumière, parce que là, j&#8217;ai le droit, sauf si des gens dorment dans la salle de bain (ça arrive).<br />
Et là, horreur, un climatiseur ou autre se déclenche avec la lumière (ils aiment bien), et un ventilo commence son vrombissement.</p>
<p>J&#8217;en fini quelques fois par m&#8217;en sortir dans le noir (pas complet) histoire de ne réveiller personne par ce bruit.</p>
<h3>Le parmesan</h3>
<p>Ce fromage est visible particulièrement comme accompagnement de tout dans les restaux italiens (pâtes, lasagne, salade, boule de glace)</p>
<p>Je suis un grand fan de fromage dans mes plats. Énormément. Si celui-ci est <em>fondu</em> ! Par exemple, je trouve fort dommage le fromage grillé. Transformer en carbone cette denrée !!&#8230;</p>
<p>Mais bref. Le parmesan, lui ne fond pas. Ou plutôt, quand on le met sur notre plat, jamais il ne fond. On mange donc avec les pâtes de la poudre de fromage au lieu du fromage fondu, et ça, c&#8217;est nul.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.salagir.com/fr/35-jaime-pas-ca-il-faut-que-le-monde-le-sache-part-2/feed/</wfw:commentRss>
		</item>
		<item>
		<title>J&#8217;aime pas ça, il faut que le monde le sache ! (part 1)</title>
		<link>http://blog.salagir.com/fr/25-jaime-pas-ca-il-faut-que-le-monde-le-sache-part-1/</link>
		<comments>http://blog.salagir.com/fr/25-jaime-pas-ca-il-faut-que-le-monde-le-sache-part-1/#comments</comments>
		<pubDate>Sat, 05 Jul 2008 14:55:56 +0000</pubDate>
		<dc:creator>Salagir</dc:creator>
		
		<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://blog.salagir.com/fr/?p=25</guid>
		<description><![CDATA[Puisque ceci est un blog, il est temps que je parle de moi.
Il y a des choses que je n&#8217;aime pas en ce monde, sûrement souvent pour de mauvaises raisons.
Je vous invite a confirmer ou infirmer mes raisons à chaque sujet.
Il n&#8217;empeche, j&#8217;aime pas&#8230;
Les DVDs de films uniques, numérotés parce qu&#8217;ils sont dans une collection
Exemple, [...]]]></description>
			<content:encoded><![CDATA[<p>Puisque ceci est un blog, il est temps que je parle de moi.<br />
Il y a des choses que je n&#8217;aime pas en ce monde, sûrement souvent pour de mauvaises raisons.</p>
<p>Je vous invite a confirmer ou infirmer mes raisons à chaque sujet.</p>
<p>Il n&#8217;empeche, j&#8217;aime pas&#8230;</p>
<h3>Les DVDs de films uniques, numérotés parce qu&#8217;ils sont dans une collection</h3>
<p>Exemple, les DVDs n&#8217;ont en commun qu&#8217;un producteur ou le fait d&#8217;être dans une collection &#8220;enfants&#8221;.<br />
Numéroter les films Ghiblis&#8230; n&#8217;a aucun sens pour moi !</p>
<p>Après, les tranches sont moches, donnent l&#8217;impression qu&#8217;on manque de films (ce doit être le but)&#8230;</p>
<h3>Les collectors</h3>
<p>Payer plus cher un truc qui est rarement de meilleur qualité et estanpillé &#8220;collector&#8221;, beurk !</p>
<p>Une boîte souvent énorme et avec peu d&#8217;intérêt, posant en plus un problème&#8230;<br />
Lorsque l&#8217;objet fait justement parti d&#8217;une collection&#8230; Cela fait alors bien désordre dans les étagères.</p>
<h3>Les gens dans leurs voitures à l&#8217;arrêt</h3>
<p>Une voiture avec quelqu&#8217;un dedans, ça doit rouler ! On peut dans des cas extrêmes attendre quelqu&#8217;un dans sa voiture et passer pour une voiture parquée. Mais je croise (souvent en vélo) de bien trop nombreuses voitures, garées, avec des gens dedans.</p>
<p>Qu&#8217;est ce que vous faites là !?</p>
<p>Le problème c&#8217;est que en vélo je ne vois aucun humain, et subitement, passant à côté d&#8217;une voiture, j&#8217;entends parler, ce qui me perturbe.<br />
Faut par perturber un cycliste sur la route.</p>
<h3>Les voitures qui servent de vide-grenier</h3>
<p>Je suis maniaque et méticuleux, mais je n&#8217;oblige personne à en faire autant.</p>
<p>Par contre, souvent en montant dans une voiture, je dois déplacer des objets divers sur mon chemin, laissés là par le propriétaire, qui voit sûrement plus sa voiture comme une extension de son armoire que comme un moyen de transport.</p>
<p>On peut trouver : des sacs plastiques, des bouteilles d&#8217;eau, des peluches, des magasines, une couverture. Ce sont les plus courants, mais ensuite, chacun aura ses propres objets surprises.</p>
<p>On arrive vite dans ces cas également à des coffres toujours pleins.</p>
<h3>Les gens qui traversent en diagonale pas optimisé</h3>
<p>Voyez le tableau, dans un croisement, vous devez aller à l&#8217;opposer, c&#8217;est à dire traverser deux fois.<br />
Vu que dans ce genre de cas, il y a de grandes chances que l&#8217;un des deux sens soit vert pour moi, je choisi ce sens puis j&#8217;attends le changement de sens pour traverser à nouveau.</p>
<p>Il y a des gens qui ne font pas ça. Il s&#8217;arrêtent droit devant eux et attendent que leur pieton en face passe au vert même si celui d&#8217;à côté l&#8217;est déjà. Alors ils attendent, traversent, et forcément, attendent de nouveau pour traverser dans l&#8217;autre direction, puisque ils sont au début de son feu rouge.</p>
<p>Ceci n&#8217;est pas optimisé !</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.salagir.com/fr/25-jaime-pas-ca-il-faut-que-le-monde-le-sache-part-1/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Fonction temporelles: Affichage, barre d&#8217;avancement.</title>
		<link>http://blog.salagir.com/fr/34-fonction-temporelles-affichage-barre-davancement/</link>
		<comments>http://blog.salagir.com/fr/34-fonction-temporelles-affichage-barre-davancement/#comments</comments>
		<pubDate>Wed, 25 Jun 2008 16:15:20 +0000</pubDate>
		<dc:creator>Salagir</dc:creator>
		
		<category><![CDATA[Mes scripts utiles]]></category>

		<guid isPermaLink="false">http://blog.salagir.com/fr/34-fonction-temporelles-affichage-barre-davancement/</guid>
		<description><![CDATA[Ecrire du temps de façon confortable pour les humains. Voilà qui est intéressant.
En effet qui veut lire &#8220;Il reste 0h 00mn 18s&#8221; à la fin d&#8217;un décompte qui a commencé il y a une heure ?
Là où strftime() faisait l&#8217;affaire, de jolies améliorations sont possibles.
En gros, quand un temps dépasse l&#8217;heure, j&#8217;ecris le nombre d&#8217;heures, [...]]]></description>
			<content:encoded><![CDATA[<p>Ecrire du temps de façon confortable pour les humains. Voilà qui est intéressant.<br />
En effet qui veut lire &#8220;Il reste 0h 00mn 18s&#8221; à la fin d&#8217;un décompte qui a commencé il y a une heure ?</p>
<p>Là où strftime() faisait l&#8217;affaire, de jolies améliorations sont possibles.<br />
En gros, quand un temps dépasse l&#8217;heure, j&#8217;ecris le nombre d&#8217;heures, mais sinon, je n&#8217;écris pas &#8220;0 heures&#8221;. Et cela vaut pour chaque unité.</p>
<p>J&#8217;ai fini par garder sur moi deux fonctions d&#8217;affichages de temps.<br />
J&#8217;ai fais deux fonctions pour les rendres plus lisibles. Elles sont fusionnable, mais je n&#8217;avais pas envie qu&#8217;elles soient bordéliques. De plus, je n&#8217;utilise chacune d&#8217;entre elle que sur un seul site.</p>
<h3>Ecrire le temps en plusieurs langues</h3>
<p>Là mes amis : deux solutions. Soit vous utilisez date() ou strftime() et vous faites confiance aux locales installées, ainsi qu&#8217;à votre programme PHP pour utiliser la bonne.<br />
Soit vous utilisez cette fonction, qui marchera partout sans se soucier des locales, MAIS limitées en nombre de langues assurément (vous pouvez en ajouter à l&#8217;envie).</p>

<div class="wp_syntax"><div class="code"><pre class="php"><span style="color: #808080; font-style: italic;">//! Ecrit un temps, multilangue ($lg = 'fr|en|es|it')</span>
<span style="color: #000000; font-weight: bold;">function</span> write_temps_internationnal<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$secondes</span>, <span style="color: #0000ff;">$lg</span>=<span style="color: #ff0000;">'fr'</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
    <span style="color: #000066;">static</span> <span style="color: #0000ff;">$trads</span> = <span style="color: #000066;">array</span><span style="color: #66cc66;">&#40;</span>
            <span style="color: #ff0000;">'s'</span> =&gt; <span style="color: #000066;">array</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'fr'</span>=&gt;<span style="color: #ff0000;">'secondes'</span>,  <span style="color: #ff0000;">'en'</span>=&gt;<span style="color: #ff0000;">'seconds'</span>, <span style="color: #ff0000;">'it'</span>=&gt;<span style="color: #ff0000;">'secunde'</span>, <span style="color: #ff0000;">'es'</span>=&gt;<span style="color: #ff0000;">'segundos'</span><span style="color: #66cc66;">&#41;</span>,
            <span style="color: #ff0000;">'ms'</span>=&gt; <span style="color: #000066;">array</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'fr'</span>=&gt;<span style="color: #ff0000;">'%Mmn, %Ss'</span>, <span style="color: #ff0000;">'en'</span>=&gt;<span style="color: #ff0000;">'%Mmn, %Ss'</span>, <span style="color: #ff0000;">'it'</span>=&gt;<span style="color: #ff0000;">'%Mmn, %Ss'</span>, <span style="color: #ff0000;">'es'</span>=&gt;<span style="color: #ff0000;">'%Mm., %Ss.'</span><span style="color: #66cc66;">&#41;</span>,
            <span style="color: #ff0000;">'h'</span> =&gt; <span style="color: #000066;">array</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'fr'</span>=&gt;<span style="color: #ff0000;">'%kh, '</span>, <span style="color: #ff0000;">'en'</span>=&gt;<span style="color: #ff0000;">'%kh, '</span>, <span style="color: #ff0000;">'it'</span>=&gt;<span style="color: #ff0000;">'%kh'</span>, <span style="color: #ff0000;">'es'</span>=&gt;<span style="color: #ff0000;">'%kh.'</span><span style="color: #66cc66;">&#41;</span>,
            <span style="color: #ff0000;">'j'</span> =&gt; <span style="color: #000066;">array</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'fr'</span>=&gt;<span style="color: #ff0000;">'%e jours, '</span>, <span style="color: #ff0000;">'en'</span>=&gt;<span style="color: #ff0000;">'%e days, '</span>, <span style="color: #ff0000;">'it'</span>=&gt;<span style="color: #ff0000;">'%e giorni'</span>, <span style="color: #ff0000;">'es'</span>=&gt;<span style="color: #ff0000;">'%e dias'</span><span style="color: #66cc66;">&#41;</span>,
            <span style="color: #66cc66;">&#41;</span>;
    <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$secondes</span>&lt;<span style="color: #cc66cc;">60</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #0000ff;">$secondes</span>.<span style="color: #0000ff;">$trads</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'s'</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #0000ff;">$lg</span><span style="color: #66cc66;">&#93;</span>;
    <span style="color: #66cc66;">&#125;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$secondes</span>&lt;<span style="color: #cc66cc;">3600</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #000066;">gmstrftime</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$trads</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'ms'</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #0000ff;">$lg</span><span style="color: #66cc66;">&#93;</span>, <span style="color: #0000ff;">$secondes</span><span style="color: #66cc66;">&#41;</span>;
    <span style="color: #66cc66;">&#125;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$secondes</span>&lt;<span style="color: #cc66cc;">86400</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #000066;">gmstrftime</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$trads</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'h'</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #0000ff;">$lg</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0000ff;">$trads</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'ms'</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #0000ff;">$lg</span><span style="color: #66cc66;">&#93;</span>, <span style="color: #0000ff;">$secondes</span><span style="color: #66cc66;">&#41;</span>;
    <span style="color: #66cc66;">&#125;</span>
    <span style="color: #808080; font-style: italic;">// + D'un jour: pb. En effet %e/%d donnent 1 jour de base puisque c'est le *1* janvier 1970</span>
    <span style="color: #808080; font-style: italic;">// Donc on enleve un jour puisqu'on compte du temps ici</span>
    <span style="color: #0000ff;">$secondes</span> -= <span style="color: #cc66cc;">86400</span>;
    <span style="color: #b1b100;">return</span> <span style="color: #000066;">gmstrftime</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$trads</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'j'</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #0000ff;">$lg</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0000ff;">$trads</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'h'</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #0000ff;">$lg</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0000ff;">$trads</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'ms'</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #0000ff;">$lg</span><span style="color: #66cc66;">&#93;</span>, <span style="color: #0000ff;">$secondes</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Il n&#8217;y a pas de vérification de la langue parce que je la limite toujours quand je la récupère, en début de mes programmes.</p>
<h3>Ecrire le temps en l&#8217;arrondissant</h3>
<p>Cette version là permet d&#8217;être plus vague dans l&#8217;information temporelle. S&#8217;il reste 5 jours, 3h, 8min et 9 secondes, ça écrit juste &#8220;5 jours&#8221;. On reste sur l&#8217;essentiel.<br />
C&#8217;est pratique pour le jeu 2Fight.net, où je ne veux pas que les joueurs sachent à la seconde près quand tel événement sera fini.</p>

<div class="wp_syntax"><div class="code"><pre class="php"><span style="color: #808080; font-style: italic;">/** Affiche un temps ecrit joliment.
&nbsp;
  \param $secondes (int) nombre de secondes.
&nbsp;
  \param $detail peut être un booleen ou les strings suivant: 'h', 'mn',
  qui disent qu'on veut le détail à l'heure ou la minute. false est des fois trop évasif.
&nbsp;
  \return (string)
  */</span>
<span style="color: #000000; font-weight: bold;">function</span> write_temps<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$secondes</span>, <span style="color: #0000ff;">$detail</span>=<span style="color: #000000; font-weight: bold;">true</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$secondes</span>&lt;<span style="color: #cc66cc;">60</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
        <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$detail</span>===<span style="color: #ff0000;">'h'</span><span style="color: #66cc66;">&#41;</span> <span style="color: #b1b100;">return</span> <span style="color: #ff0000;">&quot;moins d'une heure&quot;</span>;
        <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$detail</span>===<span style="color: #ff0000;">'mn'</span><span style="color: #66cc66;">&#41;</span> <span style="color: #b1b100;">return</span> <span style="color: #ff0000;">&quot;moins d'une minute&quot;</span>;
        <span style="color: #b1b100;">return</span> write_temps_sub<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$secondes</span>, <span style="color: #ff0000;">'seconde'</span><span style="color: #66cc66;">&#41;</span>;
    <span style="color: #66cc66;">&#125;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$secondes</span>&lt;<span style="color: #cc66cc;">3600</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
        <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$detail</span>===<span style="color: #ff0000;">'h'</span><span style="color: #66cc66;">&#41;</span> <span style="color: #b1b100;">return</span> <span style="color: #ff0000;">&quot;moins d'une heure&quot;</span>;
        <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>!<span style="color: #0000ff;">$detail</span> or <span style="color: #0000ff;">$detail</span>===<span style="color: #ff0000;">'mn'</span><span style="color: #66cc66;">&#41;</span> <span style="color: #b1b100;">return</span> write_temps_sub<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$secondes</span>/<span style="color: #cc66cc;">60</span>, <span style="color: #ff0000;">'minute'</span><span style="color: #66cc66;">&#41;</span>;
        <span style="color: #b1b100;">return</span> <span style="color: #000066;">gmstrftime</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'%Mmn, %Ss'</span>, <span style="color: #0000ff;">$secondes</span><span style="color: #66cc66;">&#41;</span>;
    <span style="color: #66cc66;">&#125;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$secondes</span>&lt;<span style="color: #cc66cc;">86400</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
        <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>!<span style="color: #0000ff;">$detail</span> or <span style="color: #0000ff;">$detail</span>===<span style="color: #ff0000;">'h'</span><span style="color: #66cc66;">&#41;</span> <span style="color: #b1b100;">return</span> write_temps_sub<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$secondes</span>/<span style="color: #cc66cc;">3600</span>, <span style="color: #ff0000;">'heure'</span><span style="color: #66cc66;">&#41;</span>;
        <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$detail</span>===<span style="color: #ff0000;">'mn'</span><span style="color: #66cc66;">&#41;</span> <span style="color: #b1b100;">return</span> <span style="color: #000066;">gmstrftime</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'%kh, %Mmn'</span>, <span style="color: #0000ff;">$secondes</span><span style="color: #66cc66;">&#41;</span>;
        <span style="color: #b1b100;">return</span> <span style="color: #000066;">gmstrftime</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'%kh, %Mmn, %Ss'</span>, <span style="color: #0000ff;">$secondes</span><span style="color: #66cc66;">&#41;</span>;
    <span style="color: #66cc66;">&#125;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>!<span style="color: #0000ff;">$detail</span><span style="color: #66cc66;">&#41;</span> <span style="color: #b1b100;">return</span> <span style="color: #000066;">round</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$secondes</span>/<span style="color: #cc66cc;">86400</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #ff0000;">' jours'</span>;
    <span style="color: #808080; font-style: italic;">// Lorsqu'on a plus d'un jour arrivent des problèmes.</span>
    <span style="color: #808080; font-style: italic;">// En effet %e/%d donnent 1 jour de base puisque c'est le *1* janvier 1970.*</span>
    <span style="color: #808080; font-style: italic;">// Donc enlever un jour puisqu'on compte du temps ici</span>
    <span style="color: #0000ff;">$secondes</span> -= <span style="color: #cc66cc;">86400</span>;
    <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$detail</span>===<span style="color: #ff0000;">'mn'</span><span style="color: #66cc66;">&#41;</span> <span style="color: #b1b100;">return</span> <span style="color: #000066;">gmstrftime</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'%e jours, %kh, %Mmn'</span>, <span style="color: #0000ff;">$secondes</span><span style="color: #66cc66;">&#41;</span>;
    <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$detail</span>===<span style="color: #ff0000;">'h'</span><span style="color: #66cc66;">&#41;</span> <span style="color: #b1b100;">return</span> <span style="color: #000066;">gmstrftime</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'%e jours et %kh'</span>, <span style="color: #0000ff;">$secondes</span><span style="color: #66cc66;">&#41;</span>;
    <span style="color: #b1b100;">return</span> <span style="color: #000066;">gmstrftime</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'%e jours, %kh, %Mmn, %Ss'</span>, <span style="color: #0000ff;">$secondes</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #000000; font-weight: bold;">function</span> write_temps_sub<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$nbre</span>, <span style="color: #0000ff;">$quoi</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
    <span style="color: #0000ff;">$nbre</span> = <span style="color: #000066;">round</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$nbre</span><span style="color: #66cc66;">&#41;</span>;
    <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$nbre</span>&gt;<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span> <span style="color: #b1b100;">return</span> <span style="color: #0000ff;">$nbre</span>.<span style="color: #ff0000;">' '</span>.<span style="color: #0000ff;">$quoi</span>.<span style="color: #ff0000;">'s'</span>;
    <span style="color: #b1b100;">return</span> <span style="color: #0000ff;">$nbre</span>.<span style="color: #ff0000;">' '</span>.<span style="color: #0000ff;">$quoi</span>;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Maintenant que vous affichez un temps de toute beauté, je vous propose de passer à&#8230;</p>
<h3>La barre d&#8217;avancement</h3>
<p>Bon en fait ce n&#8217;est pas une barre. Dessiner un truc qui se remplit en faisant attention à la largeur de votre ligne de commande, très peu pour moi. Par contre, vous aurez droit à l&#8217;écriture du pourcentage d&#8217;avancement du script et le temps probable restant.</p>
<p>Cas simple : l&#8217;un de vos scripts doit tester 20 000 fois quelque chose. Vous voudriez savoir où il en est de temps en temps.<br />
Les plus habitués auront fait, à la fin de la boucle, le petit code classique suivant :</p>

<div class="wp_syntax"><div class="code"><pre class="php"><span style="color: #000066;">echo</span> <span style="color: #ff0000;">&quot;Avancement: &quot;</span>.<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">100</span>*<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$cpt</span>++<span style="color: #66cc66;">&#41;</span>/<span style="color: #cc66cc;">20000</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #ff0000;">&quot; % <span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>;</pre></div></div>

<p>Et bien moi c&#8217;est la même chose, en mieux.</p>

<div class="wp_syntax"><div class="code"><pre class="php"><span style="color: #808080; font-style: italic;">//! fonction géniale qui écrit l'avancement d'un process en temps et en pourcent.</span>
<span style="color: #808080; font-style: italic;">/** Au premier appel on donne le &quot;max&quot; qui est le nombre de fois que cette fonction sera appelée */</span>
<span style="color: #000000; font-weight: bold;">function</span> write_avancement<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$max</span>=<span style="color: #000000; font-weight: bold;">null</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
    <span style="color: #000066;">static</span> <span style="color: #0000ff;">$cpt</span>;
    <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$max</span>!==<span style="color: #000000; font-weight: bold;">null</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
        <span style="color: #0000ff;">$cpt</span> = <span style="color: #000066;">array</span><span style="color: #66cc66;">&#40;</span>
                <span style="color: #ff0000;">'debut'</span> =&gt; <span style="color: #000066;">time</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>,
                <span style="color: #ff0000;">'cpt'</span> =&gt; <span style="color: #cc66cc;">0</span>,
                <span style="color: #ff0000;">'max'</span> =&gt; <span style="color: #66cc66;">&#40;</span>int<span style="color: #66cc66;">&#41;</span> <span style="color: #0000ff;">$max</span>,
                <span style="color: #66cc66;">&#41;</span>;
    <span style="color: #66cc66;">&#125;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>!<span style="color: #0000ff;">$cpt</span><span style="color: #66cc66;">&#41;</span> <span style="color: #000066;">die</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>[write_avancement] Mauvais parametres.<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
    <span style="color: #0000ff;">$cpt</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'cpt'</span><span style="color: #66cc66;">&#93;</span>++;
    <span style="color: #0000ff;">$elapsed</span> = <span style="color: #000066;">time</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>-<span style="color: #0000ff;">$cpt</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'debut'</span><span style="color: #66cc66;">&#93;</span>;
    <span style="color: #0000ff;">$restant</span> = <span style="color: #000066;">round</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$cpt</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'max'</span><span style="color: #66cc66;">&#93;</span>*<span style="color: #0000ff;">$elapsed</span>/<span style="color: #0000ff;">$cpt</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'cpt'</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span> - <span style="color: #0000ff;">$elapsed</span>;
    <span style="color: #0000ff;">$pourcent</span> = <span style="color: #000066;">round</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">100</span>*<span style="color: #0000ff;">$cpt</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'cpt'</span><span style="color: #66cc66;">&#93;</span>/<span style="color: #0000ff;">$cpt</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'max'</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span>;
    <span style="color: #000066;">echo</span> <span style="color: #ff0000;">&quot;  -+-  $pourcent%  -  Temps pris: &quot;</span>.
        write_temps<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$elapsed</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #ff0000;">&quot;  -  Temps restant: &quot;</span>.write_temps<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$restant</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #ff0000;">&quot;     <span style="color: #000099; font-weight: bold;">\r</span>&quot;</span>;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Cette fonction est dépendante de write_temps(), donnée juste au-dessus.</p>
<p>Utilisation :</p>

<div class="wp_syntax"><div class="code"><pre class="php"><span style="color: #0000ff;">$max</span> = nombre_delements_a_regarder_ou_lignes_du_fichier<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
write_avancement<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$max</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #808080; font-style: italic;">// ceci n'ecrit rien</span>
<span style="color: #b1b100;">while</span> <span style="color: #66cc66;">&#40;</span> boucle_qui_regarde_chaque_element <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
    tout_le_process<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
    write_avancement<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #000066;">echo</span> <span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>; <span style="color: #808080; font-style: italic;">// si vous ne voulez pas avoir votre prompt dans l'affichage de la &quot;barre&quot;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.salagir.com/fr/34-fonction-temporelles-affichage-barre-davancement/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Recencer les erreurs 404</title>
		<link>http://blog.salagir.com/fr/33-recencer-les-erreurs-404/</link>
		<comments>http://blog.salagir.com/fr/33-recencer-les-erreurs-404/#comments</comments>
		<pubDate>Thu, 19 Jun 2008 21:34:53 +0000</pubDate>
		<dc:creator>Salagir</dc:creator>
		
		<category><![CDATA[Mes scripts utiles]]></category>

		<guid isPermaLink="false">http://blog.salagir.com/fr/33-recencer-les-erreurs-404/</guid>
		<description><![CDATA[Ca c&#8217;était un beau vide&#8230; Il faut dire que depuis la sortie de DBM, je n&#8217;ai pas eu beaucoup de temps de libre.
Alors voici vite fait, pendant que je le déplace d&#8217;un serveur à l&#8217;autre, un petit script qui fait ce que bien d&#8217;autres font.
Par exemple Awstats vous dira aussi les erreurs 404, mais d&#8217;un [...]]]></description>
			<content:encoded><![CDATA[<p>Ca c&#8217;était un beau vide&#8230; Il faut dire que depuis la sortie de <a href="http://www.dragonball-multiverse.com/">DBM</a>, je n&#8217;ai pas eu beaucoup de temps de libre.</p>
<p>Alors voici vite fait, pendant que je le déplace d&#8217;un serveur à l&#8217;autre, un petit script qui fait ce que bien d&#8217;autres font.<br />
Par exemple Awstats vous dira aussi les erreurs 404, mais d&#8217;un seul site à la fois.<br />
De même, il existe des vérificatieurs de liens morts en ligne, comme le <a href="http://validator.w3.org/checklink">W3C Link Checker</a>.</p>
<p>Mais le miens travaille sur le serveur même, et trouve aussi les erreurs 404 du par exemple à un site externe qui pointerait bêtement vers une page à vous qui n&#8217;est pas là. Il vous fait aussi remarquer que les navigateurs cherchent souvent &#8220;/favicon.ico&#8221; sur vos sites&#8230;</p>
<p>Utilisation (ligne de commande) :</p>

<div class="wp_syntax"><div class="code"><pre class="bash">$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> php parseLogApacheError.php
$ <span style="color: #c20cb9; font-weight: bold;">lynx</span> /tmp/errors404.inc.html</pre></div></div>

<p>Notez qu&#8217;il y a dans le code une version debug qui ecrit un pourcentage d&#8217;avancement du script. J&#8217;ai largement amélioré ce concept, cela fera l&#8217;objet d&#8217;un prochain post.</p>
<p>Vous pouvez télécharger le code :</p>
<ul>
<li><a href="/fr/upload/parseLogApacheError.php.zip">parseLogApacheError Zippé</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.salagir.com/fr/33-recencer-les-erreurs-404/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Url rewriting est ton ami</title>
		<link>http://blog.salagir.com/fr/32-url-rewriting-est-ton-ami/</link>
		<comments>http://blog.salagir.com/fr/32-url-rewriting-est-ton-ami/#comments</comments>
		<pubDate>Sun, 27 Apr 2008 15:15:18 +0000</pubDate>
		<dc:creator>Salagir</dc:creator>
		
		<category><![CDATA[Mes scripts utiles]]></category>

		<guid isPermaLink="false">http://blog.salagir.com/fr/32-url-rewriting-est-ton-ami/</guid>
		<description><![CDATA[L&#8217;url rewriting, c&#8217;est l&#8217;art d&#8217;avoir un lien vers une page web qui soit lisible par des humains, et surtout des moteurs de recherche.
C&#8217;est très utilisé par les blogs, qui mettent le titre de l&#8217;article dans l&#8217;url.
Exemple :
Bon : http://toto.com/articles/mon-jeu-prefere-de-supernintendo.html
Mauvais :  http://toto.com/2007/article.php?id=684
On remarque que les accents sont aussi transformés, car une url avec accent, c&#8217;est [...]]]></description>
			<content:encoded><![CDATA[<p>L&#8217;url rewriting, c&#8217;est l&#8217;art d&#8217;avoir un lien vers une page web qui soit lisible par des humains, et surtout des moteurs de recherche.</p>
<p>C&#8217;est très utilisé par les blogs, qui mettent le titre de l&#8217;article dans l&#8217;url.</p>
<p>Exemple :<br />
<em>Bon </em>: http://toto.com/articles/mon-jeu-prefere-de-supernintendo.html<br />
<em>Mauvais </em>:  http://toto.com/2007/article.php?id=684</p>
<p>On remarque que les accents sont aussi transformés, car une url avec accent, c&#8217;est moche, en effet on ne voit pas l&#8217;accent mais son équivalent encodé, car oui, du point de vue d&#8217;une url, un accent c&#8217;est un caractère spécial.</p>
<p><em>Mauvais </em>: http://toto.com/articles/mon-jeu-pr%E9f%E9r%E9-de-supernintendo.html<br />
<em>Mauvais </em>: http://toto.com/articles/mon-jeu-prfr-de-supernintendo.html</p>
<p>Notez que certains mauvais algo virent tout simplement les accents, et on perd aussi le mot. Le problème se pose aussi avec une apostrophe :</p>
<p><em>Mauvais </em>:  http://toto.com/articles/sauvez-l%27oiseau.html<br />
<em>Mauvais </em>:  http://toto.com/articles/sauvez-loiseau.html<br />
<em>Bon </em>:  http://toto.com/articles/sauvez-l-oiseau.html</p>
<p>Il y a d&#8217;autres délires que j&#8217;ai vu comme des noms de page qui commencent ou finissent par des tirets (ce qui est moche)&#8230;</p>
<p>J&#8217;ai fais mon algo perso de rewriting, et je vous le donne. Utilisez-le bien.</p>

<div class="wp_syntax"><div class="code"><pre class="php"><span style="color: #808080; font-style: italic;">//! Transforme un texte en nom de fichier simple et lisible</span>
<span style="color: #000000; font-weight: bold;">function</span> text2filename<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$str</span>, <span style="color: #0000ff;">$spaceChar</span> = <span style="color: #ff0000;">'-'</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
    <span style="color: #0000ff;">$str</span> = <span style="color: #000066;">preg_replace</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'/[:;?!¡,~R()=%&quot;«»]/'</span>, <span style="color: #ff0000;">''</span>, <span style="color: #0000ff;">$str</span><span style="color: #66cc66;">&#41;</span>;
    <span style="color: #0000ff;">$str</span> = <span style="color: #000066;">strtr</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$str</span>,
        <span style="color: #ff0000;">'äàáâãåÀÁÂÃÅÇçèéêëÈÉÊËìíîïÌÍÎÏÑñÒÓÔÕòóôõÙÚÛùúûÝýÿÐ'</span>,
        <span style="color: #ff0000;">'aaaaaaAAAAACceeeeEEEEiiiiIIIINnOOOOooooUUUuuuYyyD'</span><span style="color: #66cc66;">&#41;</span>;
    <span style="color: #0000ff;">$str</span> = <span style="color: #000066;">str_replace</span><span style="color: #66cc66;">&#40;</span>
        <span style="color: #000066;">array</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'Ä'</span>,<span style="color: #ff0000;">'Æ'</span>,<span style="color: #ff0000;">'æ'</span>,<span style="color: #ff0000;">'Ö'</span>,<span style="color: #ff0000;">'ö'</span>,<span style="color: #ff0000;">'ß'</span>,<span style="color: #ff0000;">'Ü'</span>,<span style="color: #ff0000;">'ü'</span><span style="color: #66cc66;">&#41;</span>,
        <span style="color: #000066;">array</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'AE'</span>,<span style="color: #ff0000;">'AE'</span>,<span style="color: #ff0000;">'ae'</span>,<span style="color: #ff0000;">'OE'</span>,<span style="color: #ff0000;">'oe'</span>,<span style="color: #ff0000;">'ss'</span>,<span style="color: #ff0000;">'UE'</span>,<span style="color: #ff0000;">'ue'</span><span style="color: #66cc66;">&#41;</span>, <span style="color: #0000ff;">$str</span><span style="color: #66cc66;">&#41;</span>;
    <span style="color: #0000ff;">$str</span> = <span style="color: #000066;">preg_replace</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'/[ _'</span>/.-<span style="color: #66cc66;">&#93;</span>+/<span style="color: #ff0000;">', $spaceChar, $str);
    $str = trim($str, $spaceChar);
    return strtolower($str);
}</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.salagir.com/fr/32-url-rewriting-est-ton-ami/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Mes choix dans mon Webcomic</title>
		<link>http://blog.salagir.com/fr/31-mes-choix-dans-mon-webcomic/</link>
		<comments>http://blog.salagir.com/fr/31-mes-choix-dans-mon-webcomic/#comments</comments>
		<pubDate>Sat, 12 Apr 2008 14:11:09 +0000</pubDate>
		<dc:creator>Salagir</dc:creator>
		
		<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://blog.salagir.com/fr/31-mes-choix-dans-mon-webcomic/</guid>
		<description><![CDATA[Ici je vais dévoiler tous mes secrets. Suivez-les et vous ferez vous aussi une webcomic suivie par un million de lecteurs par jours (ou pas).
Comme je l&#8217;ai dis dans mon post précédent, je voulais pouvoir raconter tout ce qui me passe dans la tête dans ce webcomic. Mais j&#8217;ai quand même de nombreuses limitations que [...]]]></description>
			<content:encoded><![CDATA[<p>Ici je vais dévoiler tous mes secrets. Suivez-les et vous ferez vous aussi une webcomic suivie par un million de lecteurs par jours (ou pas).</p>
<p>Comme je l&#8217;ai dis dans mon post précédent, je voulais pouvoir raconter tout ce qui me passe dans la tête dans ce webcomic. Mais j&#8217;ai quand même de nombreuses limitations que je me pose moi-même, car je ne supporte pas les choses incohérentes et mal rangées, notez comme ceci est contradictoire avec ce que je viens de dire.</p>
<h3>Format</h3>
<p>Commençons par le plus intéressant ou presque. J&#8217;ai commencé le webcomic en &#8220;lignes&#8221; de 3 cases, suivant le principe de <a href="http://www.userfriendly.org/" target="_blank">User Friendly</a>. J&#8217;ai même fais un &#8220;dimanche&#8221; qui suivait le principe des comic strips américains, avec un header et deux lignes de cases. Mais très vite j&#8217;ai changé de format pour le laisser plus de liberté.</p>
<p>Le dessin de base est du noir et blanc. Cela permet de faire un encrage et puis c&#8217;est fini. Toute autre technique demande au moins une étape de plus.<br />
La colorisation, même à coups de pot de peinture abusifs, prends du temps, et souvent quand j&#8217;en fais, je ne peux m&#8217;empêcher de mettre quelques ombres. Il n&#8217;y a pas de différence entre la colorisation en couleurs et celle en niveaux de gris, si ce n&#8217;est que j&#8217;ai pas à choisir des couleurs et je suis très mauvais à cela, donc je préfère les niveaux de gris.</p>
<p>Certains utilisent des systèmes compliqués pour cacher le nom de l&#8217;image dans un dossier non listable, afin d&#8217;empêcher des leechers dans mon genre de les télécharger automatiquement. Je m&#8217;en fous mon programme est plus puissant que ça ;) Et en ce qui me concerne, je suis ravi qu&#8217;on télécharge tout mon strip. Il est donc dans un dossier listable, et son nom est simplement le numéro du strip.</p>
<p>Comme je suis taré, j&#8217;ai voulu séparer les strips spécifiquement &#8220;Geek&#8217;s World&#8221; et les autres (<a href="http://www.geeksworld.org/strip_82.html" target="_blank">Dragon Hell</a>, <a href="http://www.geeksworld.org/strip_554.html" target="_blank">Dead Sala Day</a>, ou autres&#8230;). J&#8217;ai donc commencé une double numérotation.<br />
Il m&#8217;arrive souvent d&#8217;hésiter fortement entre la rubrique &#8220;Misc&#8221;, &#8220;Fan Art&#8221; et &#8220;Geek&#8217;s World&#8221;  lorsque je fais un strip orienté jeu vidéo ou autre sans qu&#8217;on y voit les persos du strip. Le résultat est assez aléatoire.</p>
<p>J&#8217;ai dessiné sur papier tout au début, pour bien vite passer intégralement à la tablette graphique, comme <a href="http://www.dilbert.com/" target="_blank">Scott Adams</a> et <a href="http://comics.com/comics/chickweed/" target="_blank">Brooke McEldowney</a>. Je me ballade avec mon portable et ma tablette graphique, c&#8217;est plus efficace et prends moins de place qu&#8217;un scanner.</p>
<h3>Les personnages</h3>
<p>Pour moi, les personnages sont bien plus important que le scénario ou l&#8217;histoire générale. Cela vaut particulièrement dans les feuilletons (les comics strip sont souvent des feuilletons, même les humoristiques : on suit les personnages et ils évoluent un peu) et autres sagas.</p>
<p>Lorsque j&#8217;ai écris mon scénario, je ne savais pas encore quels personnages allaient être dedans. J&#8217;ai d&#8217;abord cumulé pleins d&#8217;idées pour voir à quoi le strip ressemblerai. Une fois beaucoup d&#8217;idées, concepts et situations rassemblées, je savais un peu (mais juste un peu, comme vous verrez par la suite) ce que le strip serai, et allait donc pouvoir choisir mes personnages.</p>
<p>Deux d&#8217;entre eux étaient les plus évidents.<br />
Ray, car il venait de <a href="http://www.salagir.com/bd/rename/" target="_blank">ma BD précédente</a>. Personnage principal (voire unique) de la BD du journal de mon école d&#8217;informatique, il avait une bonne tête pour être le geek grasouillet, auquel j&#8217;ai ajouté une naïveté qui l&#8217;a carrément transformé en autisme inconscient du monde réel qui l&#8217;entoure.<br />
Puis Tom, dont le physique et le profil de compétences est basé sur Tom, l&#8217;ancien administrateur système de mon école, considéré comme demi-dieu par tous. Je l&#8217;ai bien sûr aussi modifié, l&#8217;ayant squelettisé pour faire le geek sous-alimenté qui vit devant un écran dans une cave. C&#8217;est avec le temps qu&#8217;il est également devenu super intelligent.</p>
<p>Ensuite, je voulais placer le personnage &#8220;maître du monde wanabee&#8221;. C&#8217;est à la base une copie de Pitr (UserFriendly), Tony (Real Life), et tous les autres joyeux personnages de ce genre, que j&#8217;aime beaucoup (rire machiavélique). Son design m&#8217;est vite venu : visage saillant, barbichette obligatoire (signe du méchant, comprenne qui pourra), sourrire carnassier, et yeux rouges brillants comme <a href="http://www.machall.com/view.php?date=2006-05-31" target="_blank">Drew de Mac Hall</a>.</p>
<p>Continuons. Il fallait une fille. Parce que j&#8217;allais devenir fou si je dessinais que des mecs (ce qui m&#8217;est déjà arrivé avec <a href="http://www.salachid.com/html/ced/" target="_blank">le C.E.D</a>), et parce que j&#8217;avais des idées de storylines avec un mec amoureux d&#8217;une fille qui s&#8217;en fout (original&#8230;).</p>
<p>Enfin, il fallait un dernier perso. Je savais que quatre ne serai pas assez pour plusieurs situations, et de plus il fallait un perso &#8220;normal&#8221; pour jouer le rôle du public face aux réactions délirantes des autres.</p>
<p>Chaque personnage cumule des attitudes, des défauts et des qualités que j&#8217;ai piqué d&#8217;autres BDs ou de mon entourage. Mais aucun personnage n&#8217;est &#8220;telle personne que je connais&#8221; ou moi.<br />
Sur beaucoup de points, je peux citer une influence certaine de X ou Y. Mais chaque perso est un cumul, inutile de dire &#8220;Ah ouai Ray c&#8217;est Maxime&#8221; (comprenne qui pourra).</p>
<p>Il n&#8217;y a donc, a part des apparitions uniques dans la partie blog-bd, aucune personne de ma connaissance représentée.</p>
<p>Les personnages secondaires sont arrivés souvent sur le moment. Ultimate Goodness était prévu dans le scénario de base et j&#8217;ai eu beaucoup de problèmes pour lui trouver une &#8220;forme de base&#8221;, que j&#8217;ai fini par garder sur l&#8217;ange. Black Ninja est arrivé pour faire un peu d&#8217;action&#8230; et faire des ninjas.<br />
Donut je voulais depuis longtemps, basé physiquement sur le scientifique de Jurasic Parc et un nerd de G.P.F. , il joue le rôle du linux gourou qui illumine les gens sur son passage. Sa raison d&#8217;être se limite pratiquement au strip de son apparition.<br />
Firefox a presque été créé inutilement, car je ne trouve décidément pas de gags avec animal mignon.<br />
Tetrisman est mon préféré. Il est complètement taré, rôle qu&#8217;aucun des autres persos ne jouait, et il en fallait un. Dick aurai pu, ils se ressemblent pas mal en fait, sauf que l&#8217;un est méchant, l&#8217;autre gentil ;) De plus, il joue aussi le fan de tetris, le dessinateur de sprite comics, et celui d&#8217;un couple normal avec sa copine.</p>
<p>Les méchants qui ont été créé (même si Dick est méchant en fait) l&#8217;ont été pour des raisons scénaristiques. Le plus important quand on les fait est de leur donner de la classe, c&#8217;est utile pour donner du poids à leur actions.<br />
Par exemple il faut que BoB ait <em>vraiment </em>l&#8217;air totalement invincible. La MS Girl doit être très <em>evil</em>.</p>
<h3>Storyline</h3>
<p>Au début, je n&#8217;avais que des gags indépendants, entrecoupés de temps en temps par des storylines.</p>
<p>Avec ma storyline de plus d&#8217;un an sur les attaques de la W.C. et la fuite de la W.C., je m&#8217;en suis retrouvé à faire des sous-storylines. Un suivit aussi long n&#8217;est pas une bonne chose pour garder les nouveaux lecteurs, mais ca permet de continuer à accrocher les anciens lecteurs.</p>
<p>Les histoires ont pleins d&#8217;avantages.<br />
Déjà lorsque je n&#8217;ai pas de gag, je peux faire un strip &#8220;action&#8221;, qui satisfera également le lecteur. Pire il y a le strip suspens : finissez le strip par une révélation ou la promesse d&#8217;un futur évènement choquant, et le lecteur sera également content.</p>
<p>Ensuite, elles donnes des idées. En plaçant les personnages dans un train, dans une voiture, à la plage, etc. des idées me viennent. Les personnages et la situation étant bien déterminés, il arrive que l&#8217;histoire s&#8217;écrive d&#8217;elle-même. (<a href="http://www.geeksworld.org/strip_410.html" target="_blank">exemple</a>)</p>
<p>Enfin, c&#8217;est l&#8217;occasion pour moi de faire les délires que je veux et avancer le background de mes persos.</p>
<h3>Pourquoi je ne suis jamais en avance</h3>
<p>qd avance: je dessine mieux plus long, je fais autre chose</p>
<p>Lorsque je prends de l&#8217;avance, je la perds automatiquement dans les jours qui suivent, pour l&#8217;un des raisons suivantes :</p>
<ul>
<li>Soit je profite de mon &#8220;temps libre&#8221; pour avancer d&#8217;autres de <a href="http://www.salagir.com/" target="_blank">mes projets</a> pendant le temps que j&#8217;aurai pris à dessiner un strip la veille. Rarement je dessine un strip pour dans une semaine, alors que j&#8217;ai d&#8217;autres trucs en retard.</li>
<li>Soit, voyant que j&#8217;ai plus de temps devant moi, je prends plus de temps à faire le strip ! Cela peut être ajouter de la couleur, voire ajouter des cases ou les chiader beaucoup plus (décors, etc.)</li>
</ul>
<p>Donc toute avance que je prends, ce qui arrive parfois, est vite annulée.</p>
<p>Je dirai même plus, mes retards ont la tendence à ne jamais dépasser deux heures. Les lecteurs &#8220;de minuit&#8221; savent quand ils ne voient pas le strip qu&#8217;il a 50% de chances d&#8217;arriver à peu près à une heure du matin, et 40% d&#8217;arriver à 2 heures.<br />
Plus je suis à la bourre, et plus je bacle le strip, des fois j&#8217;échange de place des scénarios voire en invente un sur le moment, pour en faire un simple à exécuter.<br />
Alors arrivent des copier-collers plus nombreux, des positions de persos que je rate, laissées ratées, l&#8217;encrage arrache, etc.<br />
j&#8217;ai récemment testé le strip <a href="http://www.geeksworld.org/strip_597.html" target="_blank">non encré</a>, et cela n&#8217;a dérangé personne, j&#8217;en suis même déçu.</p>
<p>Bon, c&#8217;est tout ce que j&#8217;ai à dire pour le moment.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.salagir.com/fr/31-mes-choix-dans-mon-webcomic/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Comment j&#8217;ai lancé mon Webcomic</title>
		<link>http://blog.salagir.com/fr/26-comment-jai-lance-mon-webcomic/</link>
		<comments>http://blog.salagir.com/fr/26-comment-jai-lance-mon-webcomic/#comments</comments>
		<pubDate>Fri, 28 Mar 2008 10:49:53 +0000</pubDate>
		<dc:creator>Salagir</dc:creator>
		
		<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://blog.salagir.com/fr/26-comment-jai-lance-mon-webcomic/</guid>
		<description><![CDATA[Oui, vous êtes au courant quand même, que j&#8217;en fais un ? ;p
www.geeksworld.org
 Vu que ça intéresse pleins de monde (au moins deux personnes en tout cas), je vais ici tout vous dire sur ma vie mon webcomic, et les prémisses de sa création.
Pourquoi un webcomic ?
J&#8217;ai créé mon webcomic parce que j&#8217;adore dessiner des [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.geeksworld.org/imgs/logal.png" title="Le vieux logo" alt="Le vieux logo" align="left" height="111" width="120" />Oui, vous êtes au courant quand même, que j&#8217;en fais un ? ;p</p>
<p align="center"><a href="http://www.geeksworld.org/" title="Vous pouvier tout autant cliquer dans la liste à droite" target="_blank">www.geeksworld.org</a></p>
<p> Vu que ça intéresse pleins de monde (au moins deux personnes en tout cas), je vais ici tout vous dire sur <strike>ma vie</strike> mon webcomic, et les prémisses de sa création.</p>
<h3>Pourquoi un webcomic ?</h3>
<p>J&#8217;ai créé mon webcomic parce que j&#8217;adore dessiner des BDs. J&#8217;évalue ma première BD à mes sept ans.<br />
Avant Geeksworld, j&#8217;ai fais pleins d&#8217;autres sites dont certains contenaient déjà moultes BDs.<br />
J&#8217;ai pas arrêté d&#8217;en faire et si je ne faisais pas un webcomic aujourd&#8217;hui, il semble certain que je ferai une BD pour un fanzine ou d&#8217;autres trucs du genre.</p>
<p>Pendant mes études, long nirvana de 3 ans à jouer à StarCraft et perdre du temps sur internet, je lisais une dizaine de webcomics, ce qui m&#8217;a donné envie d&#8217;en faire bien sûr.<br />
Après, j&#8217;ai codé un téléchargeur automatique de webcomics avec visualisateur efficace, depuis je lis entre 80 et 100 webcomics, dont la plupart sont quotidiens (oui, le visualisateur est VRAIMENT efficace)</p>
<p>Bien sûr GsW est influencé par beaucoup d&#8217;entre eux, mais je suis pas sûr qu&#8217;il le soit plus que par mes lectures mangas et BDs (et Garfield!) : Dragon Ball, Gotlib, Léonard (si, si, le génie)</p>
<p>C&#8217;est &#8220;User Friendly&#8221; qui m&#8217;a inspiré pour lancer réellement le strip. Originellement, et ça se voit, je comptais pondre des suites de copier-coller des personnages où seul le texte aurait un intérêt.<br />
Donc User Friendly pour la réalisation, et tout et n&#8217;importe quoi pour le scénario (les éléments surnaturels apparaissent vite, ils étaient prévu dès le début), comme Sluggy Freelance, et Mégatokyo. Mais aussi des scénarios simples et cadrés dans un bureau comme PVP, Angst Technology (et pas User Friendly, les strips vraiment geeks, j&#8217;y arrive pas)&#8230;</p>
<p>Avec cette idée à la base, je pensais que ce strip me prendrai un temps limité, en gardant toujours de nombreux strips d&#8217;avance&#8230;</p>
<h3>Préparation</h3>
<p>Pour l&#8217;histoire et les idées, je les ai rassemblées et cumulées dès que j&#8217;ai décidé de faire un webcomic.<br />
Je n&#8217;ai d&#8217;abord pas pensé à des personnages précis mais à des situations et des gags, que j&#8217;ai rassemblé dans un fichier texte.<br />
C&#8217;est seulement un an plus tard que j&#8217;ai fais mon premier dessin dessus. J&#8217;avais alors un fichier de texte avec pleins d&#8217;idées et de scénarios, retouchés et améliorés. J&#8217;ai défini les persos et le scénario de base.</p>
<p>Comme je venais de finir mes études, mes persos ont commencé au même point que moi (cela faisait une suite logique à mes BD faites au <a href="http://www.salagir.com/bd/rename/" title="Mes BDs dans ReName">journal de l&#8217;école</a>, où Ray y était étudiant)</p>
<p>Comme tout auteur raisonnable, j&#8217;ai grabouillé quelques pages de test pour les personnages. Tom et Ray étaient les seuls à avoir un look défini, j&#8217;ai du faire pas mal de tests pour les autres, surtout pour Lina.</p>
<p>J&#8217;ai pris le nom de domaine plusieurs mois avant l&#8217;ouverture. Je n&#8217;ai rien mis dessus sinon <a href="http://web.archive.org/web/20040524020138/http://geeksworld.org/">un message plein d&#8217;amour</a>.</p>
<h3>Réalisation</h3>
<p>Comme dit plus haut, je comptais abuser à fond du copy-paste. Je n&#8217;imaginais pas pouvoir faire autrement, en fait, pour tenir de tels délais.</p>
<p>Mais au final, mon envie de dessiner, de faire des mises en scènes moins statiques ont pris le dessus, et l&#8217;histoire n&#8217;a simplement pas pu se contenter de dialogues. Chaque action demande une nouvelle case, je ne pouvais pas garder ces personnages immobiles :(<br />
Du coup faire 3 strips par semaine est devenu vachement moins couillon que prévu ! Et l&#8217;avance constante que je m&#8217;imaginais, poubelle. (oui je pensais me faire ces strips de copier coller par paquets de dix le week end&#8230;)</p>
<p>Mes premiers strips étaient sur papier puis scanné, et retouchés à l&#8217;ordinateur, mais dès que j&#8217;en ai eu l&#8217;occasion, je suis passé au full tablette graphique. J&#8217;ai donc déjà passé beaucoup de temps à m&#8217;habituer au stylet, mais par la suite, ce fut un grand gain de temps.</p>
<h3>Histoires à raconter : limitations</h3>
<p><img src="/fr/upload/gsw_old_shot.jpg" align="left" height="493" width="405" />Aucune. C&#8217;était le principe de mon comic. Influencé par Sluggy Freelance, je savais que mes personnages pourraient aller dans l&#8217;espace, en enfer, dans d&#8217;autres dimensions, voire dans le passé.<br />
Malgré cela, je suis un psychotique de la cohérence, mais je savais que je n&#8217;aurais pas de mal à démêler les intrigues, d&#8217;autant que je n&#8217;aime pas faire du scénaristiquement faux.<br />
Bien qu&#8217;ils ne sont pas racontés, mes personnages les plus irréalistes ont des background très clair dans ma tête et une origine, que j&#8217;utiliserai quand des explications seront nécessaires.</p>
<p>Les thèmes à aborder étant également sans limite, cela indique de la SF (pour une BD de geeks, c&#8217;est pas dur), mais aussi de la magie (peu abordée jusqu&#8217;ici. Souvent elle s&#8217;explique par l&#8217;utilisation de technologies inconnues de notre société), et ce n&#8217;est pas parce que vous n&#8217;avez pas encore vu de dragons et d&#8217;elfes qu&#8217;il n&#8217;y en a pas.</p>
<p>Même avant GsW je trouvais le moyen d&#8217;être tout le temps débordé et d&#8217;avoir pleins d&#8217;idées de projets différents. J&#8217;avais donc dès le début décidé que cette BD en ligne, avec 3 obligations de résultats par semaine, serai la poubelle de mes créations, tout à le droit d&#8217;y passer.<br />
Cela passe par mes autres catégories (Dragon Ball, Fan arts divers&#8230;) mais aussi des scénarios qui vont où je veux (course poursuite dans un désert, téléportation, apparition de Bouddha, de Ryôga Hibiki et d&#8217;une fille vamp, fan de tetris, etc).</p>
<h3>Public</h3>
<p>Je n&#8217;avais pas de lectorat précis pour ma webcomic. Mon lecteur principal et préféré, c&#8217;est moi.</p>
<p>A ses débuts, j&#8217;ai eu un boost de visites grâce à des amis qui gèrent un gros channel IRC, et ont mis en topic un lien vers le site, dans le but avoué d&#8217;avoir ce qui est effectivement arrivé en page 49.<br />
J&#8217;ai donc eu soudainement une centaine de visiteurs gamers. Dommage, mon strip ne parle pas tant que ça de jeux vidéos.</p>
<p>Ce qui est sûr, c&#8217;est que je compte pas adapter mes strips au lectorat. D&#8217;une part c&#8217;est un hobby et pas un travail, d&#8217;une autre, suivant les conseils de maître Whedon, je ne suis pas les envies et demandes des lecteurs. Que ce soit pour faire faire une action à tel personnage ou parler de tel sujet.<br />
Ca ne m&#8217;empêche pas d&#8217;utiliser une idée dans un commentaire si je la trouve bonne ou si elle m&#8217;en donne une intéressante. Changer le scénario au dernier moment est un de mes hobbys.</p>
<p>Etant incapable de me modérer ou de voir une situation &#8220;des yeux d&#8217;un enfant&#8221;, mon webcomic est pour adultes (ou pour ados) . J&#8217;y dis des gros mots, de dessine des gens tout nu, du sang et des tripes (rarement, mais j&#8217;aime ça ;)</p>
<p>Enfin pour les références geekiques ou autres. Je ne veux pas que GsW soit un webcomic élitiste, donc lorsque la référence est un peu obscure, elle n&#8217;est pas utilisée comme chute du strip généralement.</p>
<p>Notez aussi que je comptais envahir le monde entier et que le webcomic ne devait à la base qu&#8217;être en anglais. J&#8217;ai fais une version française puisqu&#8217;au final, presque tout mon lectorat est francophone. Mais les textes sont toujours écrit en anglais d&#8217;abord.</p>
<h3>Hébergement</h3>
<p>Comme je suis un geek, j&#8217;ai ecrit le code du site (affichage, commentaire, liste des pages, etc) moi-même. L&#8217;hébergement est fait sur mon serveur perso qui contient tous mes sites dont ce blog.</p>
<p>Au fil du temps j&#8217;ai carrément codé moi-même de quoi gérer des tracksbacks (ce qui en passant ne sert à rien), les commentaires passent par un anti-spam perso, et il y a pleins de fonctions comme la recherche, le cookie qui se rappelle d&#8217;où on en est dans la lecture, un chapitrage&#8230;</p>
<p>Mais je vous conseille si vous faites votre BD en ligne d&#8217;utiliser un outils et un hébergement adéquat. Cela veut dire de ne pas utiliser un blog (beurk beurk) mais un site de webcomic. C&#8217;est l&#8217;heure de la petite pub pour <a href="http://www.webcomics.fr/" target="_blank">www.webcomics.fr</a></p>
<h3>Voilà</h3>
<p>C&#8217;est tout pour aujourd&#8217;hui.</p>
<p>Je vous parlerai plus tard du contenu de Geek&#8217;s World en lui-même : influences, voire copies, méthode, histoire&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.salagir.com/fr/26-comment-jai-lance-mon-webcomic/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Détruire les anti-slashs : mort à magic_quotes_gpc</title>
		<link>http://blog.salagir.com/fr/30-detruire-les-anti-slashs-mort-a-magic_quotes_gpc/</link>
		<comments>http://blog.salagir.com/fr/30-detruire-les-anti-slashs-mort-a-magic_quotes_gpc/#comments</comments>
		<pubDate>Sun, 16 Mar 2008 11:34:08 +0000</pubDate>
		<dc:creator>Salagir</dc:creator>
		
		<category><![CDATA[Mes scripts utiles]]></category>

		<guid isPermaLink="false">http://blog.salagir.com/fr/30-detruire-les-anti-slashs-mort-a-magic_quotes_gpc/</guid>
		<description><![CDATA[PHP garde jusqu&#8217;à sa version 5 un paramètre de sécurité activé par défaut qui m&#8217;inssuporte, c&#8217;est le Magic Quote.
Quand ce flag est à On, alors les variables qui sont dans les cookies, et passé par formulaire ou url d&#8217;une page à l&#8217;autre, sont automatiquement &#8220;escapés&#8221; (du mot anglais escape).
Cela veut dire que des anti-slashs sont [...]]]></description>
			<content:encoded><![CDATA[<p>PHP garde jusqu&#8217;à sa version 5 un paramètre de sécurité activé par défaut qui m&#8217;inssuporte, c&#8217;est le Magic Quote.<br />
Quand ce flag est à On, alors les variables qui sont dans les cookies, et passé par formulaire ou url d&#8217;une page à l&#8217;autre, sont automatiquement &#8220;escapés&#8221; (du mot anglais <em>escape</em>).<br />
Cela veut dire que des anti-slashs sont ajoutés avant certains caractères particuliers. L&#8217;apostrophe (simple quote) particulièrement.</p>
<p>Exemple : mon script toto.php contient le code : <em>Bonjour &lt;?= $_GET['nom'] ?&gt; !</em>.<br />
On appelle : toto.php?nom=Bob ; ça affiche <em>Bonjour Bob !</em><br />
On appelle : toto.php?nom=Muad&#8217;ib ; ça affiche <em>Bonjour Muad&#8217;ib !</em></p>
<p>Pourquoi ? Parce que quand le développeur est en fait un bidouilleur, il peut appeler ensuite une requete SQL utilisant cette donnée (donc totalement modifiable par l&#8217;utilisateur) et s&#8217;il oublie de mettre des \ là où il faut, c&#8217;est un trou de sécurité, on peut faire une <em>SQL injection</em>.</p>
<p>Exemple :  toto.php affiche des données d&#8217;un compte de gars sur un site. Le gars ne voit que ses propres données.</p>

<div class="wp_syntax"><div class="code"><pre class="php"><span style="color: #0000ff;">$nom</span> = <span style="color: #0000ff;">$_GET</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'nom'</span><span style="color: #66cc66;">&#93;</span>;
<span style="color: #0000ff;">$id</span> = id_du_gars_que_comme_ca_on_lit_que_des_donnes_a_lui<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #000066;">echo</span> <span style="color: #0000ff;">$SQL</span>-&amp;gt;query2cell<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;SELECT valeur FROM donnees_gars WHERE id_gars=$id AND clef='$nom'&quot;</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>Que ce passe-il maintenant si on appelle avec une valeur de <em>nom</em> à la con ? Du genre  <em>coincoin&#8217; OR &#8216;a&#8217;='a<br />
</em>Et bien vous l&#8217;avez compris : cela annule totalement la vérification de l&#8217;id du gars.<br />
Pour si vous n&#8217;avez pas compris, la condition à vérifier sera (id_gars=$id AND clef=&#8217;coincoin&#8217;) OR (&#8217;a'=&#8217;a') et la partie droite est toujours vrai.</p>
<p>Si le développeur a pensé utiliser $nom = addslashes($_GET['nom']) ou que magic quote est activé, alors la condition de recherche sera  id_gars=$id AND clef=&#8217;coincoin&#8217; OR &#8216;a&#8217;='a&#8217;  et on cherchera bien une clef qui a ce nom à la con.</p>
<p>Bon j&#8217;arrête le cours, voici mon script.</p>
<p>Parce que moi je suis un vrai dev et j&#8217;en ai plus que marre de ce magic quote&#8230; A chaque fois que je bosse sur un strip, je dois prendre en compte ce paramètre, et il m&#8217;arrive bien souvent d&#8217;utiliser le code suivant :</p>

<div class="wp_syntax"><div class="code"><pre class="php"><span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #000066;">get_magic_quotes_gpc</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #0000ff;">$_POST</span> = <span style="color: #000066;">array_map</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'kill_magic_quotes'</span>, <span style="color: #0000ff;">$_POST</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">function</span> kill_magic_quotes<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$v</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #000066;">is_array</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$v</span><span style="color: #66cc66;">&#41;</span> ? <span style="color: #000066;">array_map</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'kill_magic_quotes'</span>, <span style="color: #0000ff;">$v</span><span style="color: #66cc66;">&#41;</span> : <span style="color: #000066;">stripslashes</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$v</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Mais maintenant je désactive tout simplement ce flag et j&#8217;utilise du code bien propre.<br />
Sauf que ! Il arrive, en passant le code d&#8217;une machine à l&#8217;autre, que j&#8217;oublie cela, et quelques données en base de données se retrouvent alors corrompues et pleines de &#8216; &#8230;.</p>
<p>J&#8217;ai donc écris un script à utiliser en ligne de commande, nommé simplement &#8220;del slash&#8221; (oui &#8220;del anti slash&#8221; était trop long). Il prends en paramètre un nom de table et un nom de champs, et gère tout le reste.<br />
Il fait de belle vérification d&#8217;erreurs, donc il est cool et pratique. Voilà.</p>
<p>Vous pouvez télécharger le code ici :</p>
<ul>
<li><a href="/fr/upload/del_slashs.php.zip">del_slashs Zippé</a></li>
<li>Nécessite : <a href="/fr/upload/sqlQueries.php.zip">sqlQueries</a></li>
</ul>
<p>Le script en ligne de commande se lance de la façon suivante :</p>

<div class="wp_syntax"><div class="code"><pre class="bash">php del_slashs.php nomtable nomchamps</pre></div></div>

<p>Mettez le fichier sqlQueries.php dans le même dossier, et éditer del_slash.php pour y mettre vos paramètres de connexion à la base de donnée.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.salagir.com/fr/30-detruire-les-anti-slashs-mort-a-magic_quotes_gpc/feed/</wfw:commentRss>
		</item>
		<item>
		<title>La 1468456e classe PHP qui surcharge mysql</title>
		<link>http://blog.salagir.com/fr/28-la-1468456e-classe-php-qui-surcharge-mysql/</link>
		<comments>http://blog.salagir.com/fr/28-la-1468456e-classe-php-qui-surcharge-mysql/#comments</comments>
		<pubDate>Sun, 02 Mar 2008 07:50:59 +0000</pubDate>
		<dc:creator>Salagir</dc:creator>
		
		<category><![CDATA[Mes scripts utiles]]></category>

		<guid isPermaLink="false">http://blog.salagir.com/fr/28-la-1468456e-classe-php-qui-surcharge-mysql/</guid>
		<description><![CDATA[J&#8217;ouvre ma section code avec une classe totalement inintéressante pour les vrais développeurs ici-bas, mais j&#8217;utilise souvent cette classe dans mes scripts, donc si vous voulez utiliser mes super scripts qui vont suivre, il vous faut cette classe.
Cette classe est sûrement d&#8217;autant plus inutile qu&#8217;elle fait sûrement doublon avec la classe mysql de php5, mais [...]]]></description>
			<content:encoded><![CDATA[<p>J&#8217;ouvre ma section code avec une classe totalement inintéressante pour les vrais développeurs ici-bas, mais j&#8217;utilise souvent cette classe dans mes scripts, donc si vous voulez utiliser mes super scripts qui vont suivre, il vous faut cette classe.</p>
<p>Cette classe est sûrement d&#8217;autant plus inutile qu&#8217;elle fait sûrement doublon avec la classe mysql de php5, mais que voulez-vous, j&#8217;en suis toujours au 4&#8230;</p>
<p>Elle a quelques avantages intéressants :</p>
<ul>
<li>Affichage pratique et complet des erreurs</li>
<li>Utilisation des Transactions de façon efficace (un point super de mysql, reservé aux  tables innoDB)</li>
<li>Utilisable avec une instance, ou pas</li>
</ul>
<p>Exemple d&#8217;utilisation :</p>

<div class="wp_syntax"><div class="code"><pre class="php"><span style="color: #0000ff;">$SQL</span> = <span style="color: #000000; font-weight: bold;">new</span> sqlQueries<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// un élément d'un coup</span>
<span style="color: #000066;">echo</span> <span style="color: #0000ff;">$SQL</span>-&gt;<span style="color: #006600;">query2cell</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;SELECT prenom FROM personnes WHERE id=$id LIMIT 1&quot;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// tourner direct sur un résultat de requête</span>
<span style="color: #b1b100;">foreach</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$SQL</span>-&gt;<span style="color: #006600;">query2assoc</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;SELECT * FROM ptitetable&quot;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #b1b100;">as</span> <span style="color: #0000ff;">$element</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
    <span style="color: #000066;">echo</span> <span style="color: #ff0000;">&quot;&lt;p&gt;$element[champ1]: &lt;code&gt;$element[champ2] ($element[champ3])&lt;/p&gt;&quot;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">// tout en une ligne !</span>
<span style="color: #000066;">echo</span> <span style="color: #ff0000;">&quot;Ids: &quot;</span>.<span style="color: #000066;">implode</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;, &quot;</span>, <span style="color: #0000ff;">$SQL</span>-&gt;<span style="color: #006600;">query2list</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;SELECT id FROM table WHERE $conditions&quot;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// escaper proprement (vous avez bien sûr viré cette saloperie de magic quotes)</span>
<span style="color: #0000ff;">$nom</span> = <span style="color: #0000ff;">$SQL</span>-&gt;<span style="color: #006600;">e</span><span style="color: #66cc66;">&#40;</span> <span style="color: #0000ff;">$_REQUEST</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'nom'</span><span style="color: #66cc66;">&#93;</span> <span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// ne pas prendre de risques : si la première requête déconne, alors la seconde ne sera pas faite</span>
<span style="color: #808080; font-style: italic;">// et je dirai même plus: et vice-versa</span>
<span style="color: #0000ff;">$SQL</span>-&gt;<span style="color: #006600;">tr_begin</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #0000ff;">$SQL</span>-&gt;<span style="color: #006600;">query</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;UPDATE personne SET nom='$nom' WHERE id=$id&quot;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #0000ff;">$SQL</span>-&gt;<span style="color: #006600;">query</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;INSERT INTO actions (type, infos) VALUES('changenom', '$id -&gt; $nom')&quot;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #0000ff;">$SQL</span>-&gt;<span style="color: #006600;">tr_end</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>Je vous recommande de changer le constructeur à l&#8217;envie. Il m&#8217;est souvent arrivé de le virer complètement par exemple, parce que mysql_connect() serai fait ailleurs.</p>
<p>Vous pouvez télécharger le code de la version 0.95 ici :</p>
<ul>
<li><s>sqlQueries Gzippé</s> (chie : apache essais de l&#8217;exécuter)</li>
<li><a href="/fr/upload/sqlQueries.php.zip">sqlQueries Zippé</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.salagir.com/fr/28-la-1468456e-classe-php-qui-surcharge-mysql/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Les blaireaux de ce monde</title>
		<link>http://blog.salagir.com/fr/18-les-blaireaux-de-ce-monde/</link>
		<comments>http://blog.salagir.com/fr/18-les-blaireaux-de-ce-monde/#comments</comments>
		<pubDate>Sat, 16 Feb 2008 16:30:47 +0000</pubDate>
		<dc:creator>Salagir</dc:creator>
		
		<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://blog.salagir.com/fr/18-les-blaireaux-de-ce-monde/</guid>
		<description><![CDATA[Cet article sera un fourre-tout de ma haine contre les incompétants débiles de ce monde.
Ils sont nombreux, et ils sont nuisibles. Ils sont du genre à créer des choses, alors qu&#8217;ils ne devraient pas. Des choses qui au lieu de remplir leur fonction, vont rendre le monde a worse place.
Les blaireaux d&#8217;Internet
Il y a des [...]]]></description>
			<content:encoded><![CDATA[<p>Cet article sera un fourre-tout de ma haine contre les incompétants débiles de ce monde.<br />
Ils sont nombreux, et ils sont nuisibles. Ils sont du genre à créer des choses, alors qu&#8217;ils ne devraient pas. Des choses qui au lieu de remplir leur fonction, vont rendre le monde <em>a worse place</em>.</p>
<h3>Les blaireaux d&#8217;Internet</h3>
<p>Il y a des sites mondialement connus et utilisés. Sont-ils bien fait ? Noooon&#8230;.</p>
<h4>Paypal, site mondialement utilisé et sérieux (puisque rapport au pognon)</h4>
<p>Une page d&#8217;inscription qui s&#8217;affiche n&#8217;importe comment, malgré son design simple, sur certaines versions de Firefox.</p>
<p>Il me demande de remplir deux questions pour si j&#8217;oublie mon mot de passe, ah les questions personnelles ! Le plus grand trou de sécurité depuis la protection par cookie.<br />
En plus ça ne peut jamais servir, car ici, il faut rentrer uniquement des lettres et pas d&#8217;accent ! Vous rappellerez-vous exactement comment vous avez écrit votre lieu de naissance ?<br />
Et le nom de jeune fille de ma mère. Clairement uniquement des questions auxquelles <strong>moi seul</strong> ai les réponses.</p>
<p>Bravo pour le numéro de téléphone qui est invalide s&#8217;il commence par un +&#8230;</p>
<h4>Facebook : légèrement mondialement utilisé</h4>
<p>Cherché partout, pas moyen de changer son password !<br />
Après beaucoup de travail, je dirais qu&#8217;il faut 63 clics au quidam moyen pour trouver le moyen de changer son pass.</p>
<h3>Les blaireaux de l&#8217;architecture</h3>
<p>Les blaireaux d&#8217;internet existent aussi dans la vraie vie. Ils construisent et vendent des objets usuels, dont à la première utilisation on sait qu&#8217;ils sont mal fait.</p>
<h4>Les robinets trop courts</h4>
<p>Un évier, un robinet. Le but de cette haute technologie est de vous permettre de mettre vos mains entre le robinet et l&#8217;évier pour recevoir le flux d&#8217;eau, afin de les laver.<br />
Dans des cas extrèmes vous pouvez également y foutre la tête pour boire.</p>
<p>J&#8217;ai croisé de très nombreux robinets minucules dont le bout est :</p>
<ul>
<li>Extrèmement bas, mes mains tappent donc sur l&#8217;évier et/ou le robinet</li>
<li>Juste devant la bord de l&#8217;évier, donc le jet d&#8217;eau racle la paroie ! Mes mains tappent donc sur la paroie, et je ne peux laver que le bout de mes doigts</li>
<li>Les deux, donc on s&#8217;écrase les mains dans un endroit exigu pour les mouiller, et je parle pas de la possibilité de boire ! Ceci n&#8217;empeche aucunement l&#8217;évier en lui-même d&#8217;être grand&#8230; avec le robinet dans un petit coin.</li>
</ul>
<h4>Les spots au sol</h4>
<p>Un jour un con fier de lui a trouvé qu&#8217;il serai super cool d&#8217;éclairer le ciel, la nuit.</p>
<p>Il a donc placé des spots dans le sol, sous une plaque de verre pour qu&#8217;on puisse marcher dessus, et dirigé vers le ciel, là où qu&#8217;on regarde jamais.<br />
Je pense que ça a commencé comme une idée délire et artistique. A Noël il y a quelques années, on a vu des guirlandes 40 watt clignotantes et jolies remplacées par des spots 1000 watt eclairant le <strong>bas </strong>des arbres et sapins, donnant un certain effet.</p>
<p>Mais ensuite on s&#8217;est mit à en placer dans des lieux public, pour, donc, ne rien éclairer car une lumière qui part vers le ciel, c&#8217;est une lumière qui éclaire RIEN.</p>
<p>Mais pire que tout, quand il fait noir et que vous voulez pas tomber, vous regardez le sol, normal. Or là, le sol est noir, mais avec de temps en temps une putain de source lumineuse qui vous aveugle ! Donc y voyez <em>encore plus</em> rien !</p>
<h3>Les blaireaux du reste</h3>
<h4>Les sous-titre blanc.</h4>
<p>Quand je regardais des dessin animés Tex Avery en VO, les sous-titres étaient jaunes, avec une bordure noire (bordure sur chaque lettre). Ce n&#8217;était pas forcément joli, mais cette technique avait pour intérêt que si le texte est sur fond noir, ou sur fond jaune, dans tous les cas on peut le lire.</p>
<p>Cela fait des années que je ne vois plus que des sous-titres blanc (sauf dans les fan-subs, qui eux utilisent souvent la bordure, ce qui est bien, mais aiment à choisir une police totalement illisible).</p>
<p>Or les plus cinéphiles d&#8217;entre vous savent que, de temps en temps, le bas de l&#8217;image est très pâle voire blanc. Cela arrive. Du coup, dans ces scènes, les sous-titres sont totalement illisibles&#8230;<br />
C&#8217;est complètement con.</p>
<p>Méga-bonus: les sous-titres blanc sur les vieux films en noir et blanc. Alors là milles bravos.</p>
<p>Je m&#8217;arrête là, mais je pense qu&#8217;il y aura sûrement par la suite d&#8217;autres articles de ce genre &gt;:)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.salagir.com/fr/18-les-blaireaux-de-ce-monde/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Les copieurs/voleurs de création sur Internet</title>
		<link>http://blog.salagir.com/fr/14-les-copieursvoleurs-de-creation-sur-internet/</link>
		<comments>http://blog.salagir.com/fr/14-les-copieursvoleurs-de-creation-sur-internet/#comments</comments>
		<pubDate>Fri, 25 Jan 2008 17:05:48 +0000</pubDate>
		<dc:creator>Salagir</dc:creator>
		
		<category><![CDATA[Je pense donc j'essuie]]></category>

		<guid isPermaLink="false">http://blog.salagir.com/fr/14-les-copieursvoleurs-de-creation-sur-internet/</guid>
		<description><![CDATA[Vous savez qu&#8217;il y a pire que les gens qui downloadent des mp3 sur internet. Il y les voleurs qui récupèrent des créations et les font passer pour leurs.
Exemple dans la vraie vie : Gilles Boulet dessine une illustration et la montre sur son site. John Looser prends l&#8217;image, ajoute sa signature en bas et [...]]]></description>
			<content:encoded><![CDATA[<p>Vous savez qu&#8217;il y a pire que les gens qui downloadent des mp3 sur internet. Il y les voleurs qui récupèrent des créations et les font passer pour leurs.</p>
<p>Exemple dans la vraie vie : Gilles Boulet dessine une illustration et la montre sur son site. John Looser prends l&#8217;image, ajoute sa signature en bas et la montre sur son propre site en disant qu&#8217;elle est de lui. Et même la vends sur des Tshirts. C&#8217;est illégal.</p>
<p>Exemple dans le monde d&#8217;Internet : DarkWarlord64 récupère des dessins sur google image, les découpe et les assemble, ajoute des effets photoshops, et le mets sur son site. 3vilNe0 récupère cette image, ajoute un effet photoshop et sa signature, et la mets sur son site.</p>
<p>Je n&#8217;oserai pas dire que le 2e cas est illégal. Car le premier acteur de l&#8217;histoire a lui-même déjà fait quelque chose de réellement illégal, c&#8217;est à dire utiliser une image à priori pas en <em>Creative Common</em> pour la republier modifiée sur son site.<br />
Pour rappel, vous avez parfaitement le droit de prendre une image d&#8217;internet et la modifier tant que vous gardez le résultat chez vous. Ce que vous ne pouvez pas faire, c&#8217;est la publier, si l&#8217;auteur initial ne le veut pas (et par défaut, quand l&#8217;auteur ne dit rien, ça veut dire qu&#8217;il ne veut pas).<br />
Evidement, ce genre de délit n&#8217;est pas des plus graves (certains auteurs ne sont pas d&#8217;accord avec moi sur le sujet), après tout un Sangoku dessiné à des fins de promotion, sur fond modifié, ne fait de mal à personne.</p>
<h3>Les créas</h3>
<p>Internet étant le royaume de la médiocrité, tous les amateurs au sens péjoratif du terme vont utiliser les surpuissants logiciels actuels qui transforment en quelques clics le blaireau de base en réalisateur de films (Movie Maker), en créateur de jeu vidéo (RPG Maker), en créateur artistique (Photoshop ou autre, avec les fonctions &#8220;effets&#8221;).</p>
<p>Afin de mieux comprendre la partie suivante, qui s&#8217;applique à tout type de vol de création sur internet, mais se situe dans le contexte d&#8217;un vol de <em>&#8220;design&#8221;,</em> je vais vous parler de cette sous-sous-section de l&#8217;auto-hypocrisie du net que l&#8217;on croit appeler Art : les <em>créas,</em> ou <em>GFX</em>&#8230;</p>
<p>Un design, c&#8217;est une suite d&#8217;images qui vont afficher le site. Il s&#8217;agit rarement de code HTML et de CSS, mais bien d&#8217;une image faite sous photoshop, découpée sous ce dernier, et le HTML généré utilisé comme base pour le site.<br />
Le lien avec les créas est que souvent on cumule dans le design des effets du même genre, et aussi qu&#8217;il s&#8217;agit d&#8217;un véritable travail de cochon, car designer un site, ce n&#8217;est pas ça du tout.<br />
Donc pour faire une créa :<img src="/fr/upload/du-gfx.jpg" title="Volez pas ma créa !" alt="Volez pas ma créa !" align="right" height="225" width="300" /></p>
<ol>
<li>Prenez une ou plusieurs images (photo, dessin) sur Internet dessiné par des professionnels.</li>
<li>Découpez-les, soit à la main pour la précision, soit de deux coups de baguette magique.</li>
<li>Rassemblez-les dans une image, ajoutez un fond.</li>
<li>Sur chaque calque, cumulez beaucoup d&#8217;effets : bordure, retouche couleur, flou, etc.</li>
<li>Utilisez des tutoriels du net pour faire des &#8220;effets&#8221; encore mieux, comme ceux qui a partir de génération de bruit et quelques effets, donnent ça (voir image de droite)</li>
</ol>
<p>Tout ceci pour conclure que lorsque l&#8217;on se plaint de s&#8217;être fait voler ses idées en montrant ce genre de <em>créa</em>, il m&#8217;arrive souvent de pouffer.</p>
<h3>La colère du départ</h3>
<p>Voici une discussion fictive entre moi et un créateur amateur sur internet. Certains éléments sont tirés de conversation réelle. Mon interlocuteur s&#8217;appelle Nicolas, comme le petit Nicolas.</p>
<p>Nicolas: Ca fait la 3ieme fois qu&#8217;ils me volent mes idées<br />
Nicolas: Regarde les personnages, ce sont des fan-art de ***<br />
Nicolas: J&#8217;ai été le 1er a le connaître et je lui ai même demandé l&#8217;autorisation</p>
<p>Vous notez que cela commence mal : il a le droit de prendre les dessins d&#8217;une autre personne, mais les autres non. As-t(il signé un contrat d&#8217;exclusivité avec le dessinateur ? Non, mais au moins à demandé l&#8217;autorisation, ce que peu de gens font.</p>
<p>Salagir: Mais, si ils t&#8217;ont vraiment piqué des idées<br />
Salagir: Cela veut dire qu&#8217;elles sont BONNES<br />
Nicolas: Mais ça fait la 3e fois !!!!!<br />
Nicolas: ça me saoule, je trouve un truc et hop tout le monde copie<br />
Salagir: Je ne vois pas le problème à être copié à outrance<br />
Salagir: cela veut dire que tu es talentueux. Si les autres sont mauvais au point de jamais pouvoir faire un truc tout seul, tant pis pour <strong>leur</strong> gueule<br />
Salagir: Faut être au dessus de ca<br />
Salagir: Tu es le maître, ce sont les wannabe</p>
<h3>Le criminel</h3>
<p>Salagir: Moi je comprends pas les gens qui s&#8217;énervent parce qu&#8217;on les copie.<br />
Nicolas: par ce que je passe des heures a trouver l&#8217;inspiration pour faire ces design, et lui, il passe par là, et en 30min il peut faire la même chose !!!! Non mais oh !!!!<br />
Salagir: Et alors ?<br />
Salagir: Tu perds de l&#8217;argent ? Tu perds de la notoriété ? Tu perds du crédit ? On félicite l&#8217;autre pour son design et pas toi ?<br />
Nicolas: Oui voilà. On le félicite pour quelque chose qui n&#8217;est pas a lui. Je supporte pas ça.<br />
Salagir: Mais en quoi ça te concerne ?<br />
Salagir: Qu&#8217;un loser croit avoir réussi quelque chose ? Qu&#8217;on le félicite à tort ? Qu&#8217;est ce que toi, en toi-même, perd ?</p>
<p>Nicolas: Il faut leur pourrir leur site<br />
Salagir: Si Toriyama allait personnellement casser la gueule à <a href="http://dbzwarrior.supafan.net/" title="De beaux Fan-art sur Dragon Ball Z" target="_blank">Holken</a><br />
Salagir: ce serai du temps perdu pour lui et pour l&#8217;autre.<br />
Salagir: Les copieurs, tu peux les détester , les dénigrer, perdre du temps sur eux et contre eux, c&#8217;est une solution.<br />
Salagir: Mais personnellement je pense que tu y gagnerais plus à les considérer comme tes disciples.<br />
Salagir: Après tout leur technique vient de toi.<br />
Salagir: Se venger n&#8217;apporte pas satisfaction. Je sonne comme un film bien-pensant américain mais c&#8217;est vrai.</p>
<p>Salagir: Tiens envoi un mail au copieur : &#8220;salut les gars. Puisque je vois que vous avez bon goût sur les designs, je me suis dis qu&#8217;on pourrait s&#8217;entraider dans les deux sens : y&#8217;a pas un p&#8217;tit gars qui veut bien me faire un menu DHTML ?&#8221;<br />
Salagir: Tout &#8220;ennemi&#8221;, c&#8217;est rien de plus qu&#8217;un allié potentiel. Tout grand lecteur de Shonens doit le savoir.<br />
Salagir: On se rends peu compte, un gars qu&#8217;à l&#8217;air d&#8217;un con menaçant, quand tu sais bien le prendre, il te mange dans la main.</p>
<h3>Le style volé, les idées volées</h3>
<p>Nicolas: oui mais, c&#8217;est un design de site qui ne sera jamais utilisé, celui que j&#8217;ai fais.<br />
Salagir: ben c&#8217;est encore mieux, le design n&#8217;est pas gâché comme ça.<br />
Nicolas: Non. Je veux que mes designs soient uniques.<br />
Salagir: Mais ça c&#8217;est impossible. D&#8217;ailleurs le net est si grand que des gens font des choses totalement identiques, même sans se connaître.<br />
Il faut pas déconner les enfants. Déjà tout ce qu&#8217;on fait, c&#8217;est le résultat de nos influences sur les autres. Les styles vraiment personnels sont très rares, voire pas beau.<br />
Depuis toujours, ce qui est bien est copié. Ce qui est bien ne reste PAS unique. Ce qui est pourri par contre&#8230;</p>
<p>Nicolas: Oui mais moi j&#8217;appelle ça du vol.<br />
Salagir: Y&#8217;a vol lorsque tu perds quelque chose&#8230; tu perds rien là. Il n&#8217;y a pas préjudice.<br />
Nicolas: Si,<em> je perd mes idées.</em><br />
Salagir: Tes idées t&#8217;en as à l&#8217;infini. Si eux, ne peuvent que copier, ils iront pas loin.<br />
M. Walt Disney avait créé un personnage,  Oswald le lapin, qui a très bien marché.<br />
Du à un contrat foireux, son producteur a pu jeter Walt et garder le personnage.<br />
Walt a alors créé Mickey&#8230;. puis a eu le succès qu&#8217;on sait (plus personne ne connaît ce lapin aujourd&#8217;hui)<br />
Alors c&#8217;est qui le beau gosse ? Non, <em>on ne perds pas ses idées</em>.</p>
<p>Nicolas: Ce qu&#8217;ils m&#8217;ont copié, c&#8217;est un design qui ne sera jamais publié<br />
Salagir: Et ben c mieux qu&#8217;une idée soit reprise plutôt qu&#8217;abandonnée<br />
Nicolas: j&#8217;aurais préféré quelle soit reprise par moi<br />
Salagir: Justement&#8230; tu n&#8217;as pas le temps de tout produire. Si t&#8217;avais un début d&#8217;idée que t&#8217;as jamais finie et que d&#8217;autres le copient&#8230; c un peu comme si tu avais laissé le soin à des assistants de bosser à ta place.<br />
Salagir: Le but d&#8217;une création c&#8217;est de la montrer, de la créer, qu&#8217;elle serve ! Moi si je fais un truc et qu&#8217;au final ça peut sortir, même sous un autre nom, c&#8217;est toujours mieux que pas sorti du tout</p>
<h3>La réalité du copyright</h3>
<p>Salagir: Ces gars là ils t&#8217;ont rien volé. Ils ont copié. Et ça&#8230;. c&#8217;est limite un hommage.<br />
Nicolas: C&#8217;est une question d&#8217;intérêt personnel, j&#8217;ai passé je sais pas combien d&#8217;heures pour trouver l&#8217;idée de ce design, et là, une personne le vole.<br />
Salagir: Rappel, tu n&#8217;as pas utilisé ce design&#8230; Il donne de la visibilité à une oeuvre que tu as faite, qui serai restée dans l&#8217;ombre sinon.<br />
Salagir: C&#8217;est là que vient le point sur lequel beaucoup d&#8217;auteurs sont en contradiction avec moi. Scott Adams a rappelé que le droit d&#8217;un auteur sur une création, c&#8217;est aussi que cette dernière soit affichée comme il le veut, où il veut, quand il veut. Il peut interdire (c&#8217;est vrai) que n&#8217;importe quel individu fasse ces choix à sa place (sauf à afficher la création chez lui, usage privé).<br />
<a href="http://dilbertblog.typepad.com/the_dilbert_blog/2007/04/is_copyright_vi.html">http://dilbertblog.typepad.com/the_dilbert_blog/2007/04/is_copyright_vi.html</a></p>
<p>Exemple : le lendemain d&#8217;un émeute, je photocopie une BD de Boulet, celle où il fait un gag légèrement cynique sur les voitures brûlées. Ensuite je dépose la BD sur chaque voiture brûlée que je trouve. Ah ah ah ! Et bien, j&#8217;ai pas le droit. La raison (pratique), c&#8217;est que Boulet n&#8217;a jamais voulu associer son dessin à des emeutes. Et s&#8217;il le voulait, il ne l&#8217;a pas dit. Qui ne dit mot, <em>ne consent pas</em>.<br />
Exemple 2, plus proche du net. Un auteur dessine une colombe de la paix, et il donne des droits de cette dernière aux associations pour la paix et la tolérance. Je prends le dessin sans son autorisation et la mets sur mon site nazi anti-nain et pour la guerre contre la Chine. L&#8217;auteur n&#8217;est pas d&#8217;accord, c&#8217;est son dessin, il a le droit de m&#8217;empêcher d&#8217;en faire ce qu&#8217;il veut.</p>
<p>Salagir: Tu sais quoi, si au lieu de perdre plein de temps à chercher à les emmerder, tu faisais un nouveau design. Au final :</p>
<ol>
<li>Ton nouveau design sera mieux (et je ne déconne pas. On fait <strong>toujours</strong> mieux que précédemment, c&#8217;est une espèce de loi mathématique)</li>
<li>Tu auras eu l&#8217;idée de 2 designs et les 2 seront en ligne (tu remplis le net !)</li>
<li>T&#8217;as créé, ce qui est ton but, et t&#8217;es content de toi</li>
</ol>
<p>Ma conclusion, ma conclusion personnelle, c&#8217;est qu&#8217;un créateur ne manque pas d&#8217;idées et sera récompensé (= lu, vu) s&#8217;il en a des bonnes.<br />
De toutes façons je ne crois pas à l&#8217;idée unique qui défonce tout. Donc se faire &#8220;voler&#8221; une idée n&#8217;est à mon sens aucunement grave. Surtout, tout &#8220;voleur&#8221; est par définition quelqu&#8217;un qui n&#8217;a pas d&#8217;idée, et n&#8217;ira forcément pas loin. Jamais il ne marchera donc sur les plates-bandes de l&#8217;auteur réel.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.salagir.com/fr/14-les-copieursvoleurs-de-creation-sur-internet/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Les bons DVDs à 5 euros</title>
		<link>http://blog.salagir.com/fr/24-les-bons-dvds-a-5-euros/</link>
		<comments>http://blog.salagir.com/fr/24-les-bons-dvds-a-5-euros/#comments</comments>
		<pubDate>Mon, 07 Jan 2008 10:08:16 +0000</pubDate>
		<dc:creator>Salagir</dc:creator>
		
		<category><![CDATA[Mes critiques films]]></category>

		<guid isPermaLink="false">http://blog.salagir.com/fr/24-les-bons-dvds-a-5-euros/</guid>
		<description><![CDATA[Merci Mediamarkt. Alors que je cherchais des cadeaux de Noël pour les autres, je suis revenu les bras chargés de DVDs pas chers pour moi.
Pour le film d&#8217;actualité, je suis allé voir &#8220;I am Legend&#8221;, lisez donc ma critique complète sur Twivi, nouveau blog à plusieurs mains sur le ciné, les jeux vidéos, la musique, [...]]]></description>
			<content:encoded><![CDATA[<p>Merci Mediamarkt. Alors que je cherchais des cadeaux de Noël pour les autres, je suis revenu les bras chargés de DVDs pas chers pour moi.<br />
Pour le film d&#8217;actualité, je suis allé voir &#8220;I am Legend&#8221;, lisez donc <a href="http://www.twivi.com/2007/12/27/33-i-am-legend/">ma critique complète sur Twivi</a>, nouveau blog à plusieurs mains sur le ciné, les jeux vidéos, la musique, et surtout la culture du riz au Cambodge.</p>
<p>Edit : allez aussi voir ma critique de la Boussole d&#8217;or.</p>
<h3><img src="/fr/upload/Shaolin.Soccer.poster.jpg" title="Un poster qui annonce bien la couleur" alt="Un poster qui annonce bien la couleur" align="right" height="400" width="300" />Shaolin Soccer</h3>
<p>Et oui. Avant même qu&#8217;il sorte en france en grandes pompes, le film en DivX sous-titré anglais se passait déjà de mains en mains chez les geeks et otakus.<br />
Je m&#8217;étais jeté au quartier chinois et ai acheté le DVD chinois donc, avec sous-titres anglais, fautes incluses. Mais las! Je n&#8217;ai plus revu ce magnifique DVD après l&#8217;avoir prêté à quelqu&#8217;un il y a des années de cela.</p>
<p>Donc ce DVD à 4 euros 99, avec VF uniquement, fit ma joie. Nous parlerons du film puis de cette VF.</p>
<p>L&#8217;histoire de ce film admirable est simple : une équipe de sept frères loseurs pour la plupart mais ayant chacun maîtrisé un art de combat Shaolin forme une équipe de foot, et s&#8217;en va gagner la coupe du monde (en VF, mais sûrement juste de Chine en VO).<br />
Pour les grands fans du dessin animé <em>Olive et Tom</em> (Captain Tsubasa en japonais), ce sera un plaisir que de voir cette adaptation live : tout y est. Les terrains qui font des kilomètres, les joueurs qui sautent sur plusieurs mètres de hauteur, les ballons déformés&#8230; Il ne manque que l&#8217;insupportable présentateur qui peut aligner 17 phrases de commentaires pendant la seconde de ralentit où le ballon fonce vers les cages.</p>
<p>Un humour potache prêt à partir dans tous les délires, et des super pouvoirs à bout de ballon, c&#8217;est là la recette d&#8217;un film réussi.<br />
Franchement, j&#8217;adore les scènes où les personnages utilisent leurs &#8220;super pouvoirs&#8221; pour faire des choses les plus anodines comme se passer une marmite, faire du pain, shooter un ballon, faire un créneau en voiture :) Avec option feu dans les yeux.</p>
<p style="text-align: center"><img src="/fr/upload/Shaolin.Soccer.1.jpg" title="Aucun règle n'interdit de garder le ballon sur la tête ? Va tacler ça maintenant !" alt="Aucun règle n'interdit de garder le ballon sur la tête ? Va tacler ça maintenant !" height="240" width="326" /> <img src="/fr/upload/Shaolin.Soccer.2.jpg" title="Un moine Shaolin médite sur le terrain. Le joueur est-il sur l'herbe, ou l'herbe est-elle sous le joueur ?" alt="Un moine Shaolin médite sur le terrain. Le joueur est-il sur l'herbe, ou l'herbe est-elle sous le joueur ?" height="240" width="360" /></p>
<p>Pour la version française maintenant. Certaines scènes ont été censurées. Je pense en fait que ce sont les scènes qui, censées faire rire, on produit un gros blanc chez les spectateurs européens.<br />
En effet il y a pas mal de gags basés sur l&#8217;humiliation. Par exemple un personnage qui n&#8217;hésite pas à s&#8217;écraser aux pieds d&#8217;un autres pour lui frotter les chaussures, ou lui servir de marche-pied. Ca n&#8217;a pas du très bien passer et être viré, ce n&#8217;est pas plus grave. Une autre scène un peu plus longue où les héros se moquent de la laideur d&#8217;une fille effectivement&#8230; laide, a été virée également, ce qui se comprend parce que je l&#8217;ai trouvée franchement lourde et méchante.</p>
<p><img src="/fr/upload/Shaolin.Soccer.3.jpg" title="La machine infernale !!! (comprenne qui pourra)" alt="La machine infernale !!! (comprenne qui pourra)" align="left" height="234" width="300" />Une autre scène qui avait été viré dans l&#8217;une des versions que j&#8217;avais il y a longtemps (je ne sais plus si c&#8217;était le DVD chinois ou le divx), et qui a été laissée dans le DVD français mais tronçonnée, c&#8217;est celle de la chorégraphie &#8220;improvisée&#8221;.</p>
<p>C&#8217;était l&#8217;une de mes scènes préférées. Le héros drague une fille en chantant très très fort et en public pour elle, ce qui la gène beaucoup. Elle lui demande de se taire lorsqu&#8217;un passant l&#8217;arrête, disant que la chanson est un moyen fort pour exprimer ses sentiments, et qu&#8217;il admire le courage de cet homme. Motivé, il se mets également à chanter.<br />
Un commerçant pas loin, voit ces deux chanteurs et est illuminé. Il pense &#8220;<em>j&#8217;ai toujours voulu être danseur mais je n&#8217;ai pas le physique</em> (note: c&#8217;est grave vrai ^^), <em>mais ces mauvais chanteurs ne se donnent pas ce genre de limit</em>e (phrase très approximative et totalement fausse)&#8221;. Apparaît alors une flamme dans ses yeux (vraiment), il jette son tablier et se mets à danser dans la rue, son bide se dandinant à l&#8217;air.<br />
A la vue de ses trois gugusse, les autres passants sont interloqués, mais chez certains, la flamme s&#8217;allume dans leurs yeux, et un groupe se forme, ils se mettent alors tous à danser une <a href="http://www.dailymotion.com/video/x52w5_michael-jackson-thriller_music" title="Clip complet, la choré est dans la 2e moitiée">chorégraphie à la <em>Thriller</em></a> !</p>
<p>Cette scène a été entièrement virée dans certaines versions, et dans mon DVD, quelques courts passages ont étés coupés.<br />
La voici ici en chinois, commençant sur le commerçant qui remarque le deuxième chanteur, qui dansouille débilement.</p>
<p><object type="application/x-shockwave-flash" data="http://www.youtube.com/v/A-bN3YJLlUY&amp;rel=1" height="355" width="425"><param name="movie" value="http://www.youtube.com/v/A-bN3YJLlUY&amp;rel=1"></param><param name="wmode" value="transparent"></param> </object></p>
<h3>Team America World Police</h3>
<p><img src="/fr/upload/TAWP3.jpg" title="(musique) Americaaaaa.. FUCK YEAH !" alt="(musique) Americaaaaa.. FUCK YEAH !" align="right" height="442" width="300" />Les créateur de South Park créent un long-metrage avec des marionettes à fils.</p>
<p>Cynisme et inversion des rôles, dans le pur style de South Park, a prendre comme toujours au quatrième degrès. Si vous n&#8217;avez jamais vu des petites marionettes tirer au bazooka et faire du fung-fu, c&#8217;est le moment.</p>
<p>La Team America combat les terroristes en rasant tout sur son passage (exemple en bas, l&#8217;arrestation de 4 terroristes à Paris). Pour les aider, ils auront besoin d&#8217;un acteur, la chevillère indispensable d&#8217;un bon commando.</p>
<p>Mon moment préféré restera l&#8217;attaque des pantères noires, une scène formidable à découvrir absolument.</p>
<p style="text-align: center"><img src="/fr/upload/TAWP1.jpg" title="Counter-Terrorists Win..." alt="Counter-Terrorists Win..." height="231" width="300" /></p>
<h3>Silent Movie (la dernière folie de Mel Brooks)</h3>
<p>Les titre français sont vraiment très mauvais.<br />
Bon, ça ce n&#8217;était pas un dvd à 5 euros, mais&#8230; j&#8217;aime ce film.</p>
<p>Un film hommage aux films muets, avec pleins de gags visuels et totalement délirants.<br />
Trois archétypes sont les personnages principaux. Un capitaine de bateau (sans jamais de bateau, et qui est réalisateur, donc pas capitaine), un pilote d&#8217;avion (sans avion, assez taré et dragueur), et &#8220;le gros&#8221;, qui mange tout le temps.</p>
<p>Il y a des gags lourds, il y a des gags géniaux, moi j&#8217;adore. En guest star pleins de gens connus, comme, heu&#8230; des gars de pas ma génération quoi.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.salagir.com/fr/24-les-bons-dvds-a-5-euros/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Wizz-Buzz, le jeu</title>
		<link>http://blog.salagir.com/fr/21-wizz-buzz-le-jeu/</link>
		<comments>http://blog.salagir.com/fr/21-wizz-buzz-le-jeu/#comments</comments>
		<pubDate>Tue, 18 Dec 2007 16:42:21 +0000</pubDate>
		<dc:creator>Salagir</dc:creator>
		
		<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://blog.salagir.com/fr/21-wizz-buzz-le-jeu/</guid>
		<description><![CDATA[Wizz-Buzz (plus connu sous le nom &#8220;Fizz Buzz&#8221;) est un jeu à boire, à jouer entre amis ou ennemis, à une fête où les verres ne manquent pas.
En fait j&#8217;avais fais une page web qui parlait de ses règles car nulle n&#8217;existait en réponse google (donc nulle n&#8217;existait), sous son vrai nom  (vrai car [...]]]></description>
			<content:encoded><![CDATA[<p>Wizz-Buzz (plus connu sous le nom &#8220;Fizz Buzz&#8221;) est un jeu à boire, à jouer entre amis ou ennemis, à une fête où les verres ne manquent pas.</p>
<p>En fait j&#8217;avais fais une page web qui parlait de ses règles car nulle n&#8217;existait en réponse google (donc nulle n&#8217;existait), sous son <strong>vrai</strong> nom  (vrai car c&#8217;est celui que je connais, merde quoi), car tout le monde utilise l&#8217;autre, et que Wizz et Buzz sont complètement cachés par des résultats sur des personnages de ch&#8217;sais pas quoi.<br />
Je détruis la page web dont tout le monde se fout et je relance ici, espérant que ça ressortira mieux.</p>
<h3>Règles</h3>
<p>L&#8217;on peut jouer de 1 joueur (mais c&#8217;est lassant tout seul) à 6 milliards (on ne peut pas à plus, on manquerai de participants sur Terre).</p>
<p>Tous les joueurs doivent se mettre en cercle, et avoir de quoi boire à portée de main.</p>
<p>Un joueur motivé commence en clamant <em>&#8220;un!&#8221; (1)</em>. Le sens est implicitement décidé par le deuxième joueur (celui juste à gauche ou à droite du 1er joueur) qui donnera le nombre suivant, à savoir <em>deux (2)</em> (vous pouvez décider du sens avant ^^).</p>
<p>Chacun son tour et suivant le sens dans le cercle, les joueurs doivent dire le nombre suivant en incrémentant.</p>
<p>Mais attention, certains nombres particuliers doivent être dit différemment :</p>
<ul>
<li>Si un nombre est divisible par 5, il faut le nommer &#8220;wizz&#8221;</li>
<li>Si un nombre est divisible par 7, il faut le nommer &#8220;buzz&#8221;</li>
<li>On en déduit que les nombres divisibles par 5 <strong>et</strong> 7 doivent être nommés &#8220;wizz-buzz&#8221;. Lorsque cela arrive, on change de sens.</li>
</ul>
<p>Les règles suivantes peuvent aussi être appliquées, mais sont moins officielles (enfin, ca dépends aussi des régions ^^) :</p>
<ul>
<li>Si un nombre fini par 7, il faut le nommer par &#8220;buzz&#8221;</li>
<li>Même hors jeu (comme pour expliquer les règles) il ne faut se référer à 5 que en wizz et à 7 en buzz, de même pour leurs multiples (et si règle précédente appliquée, de même pour les nombres finissant par wizz et buzz).</li>
<li>Le joueur doit répondre moins de X secondes après le précédent. Le nombre de secondes est à déterminer en fonction du niveau du groupe.</li>
</ul>
<p>Lorsque quelqu&#8217;un se trompe, il boit, et selon votre façon de jouer, on peut :</p>
<ul>
<li> Changer de sens</li>
<li>Recommencer le compte du début</li>
<li>Faire recommencer le gars qui se trompe, jusqu&#8217;à ce qu&#8217;il ait bon.</li>
</ul>
<p>A noter que lorsqu&#8217;on fait recommencer le compte au début, on ne va souvent pas très loin&#8230; ;)</p>
<p>Exemple de jeu: «Un!», «deux», «trois», «heu.. quatre», «wizz», «six», «buzz», «huit!», «neuf», «wizz», «gné? onze?», «douze», «treize», «qua..heu! buzz!!», «quinze ?», «Tu bois, c&#8217;était wizz, puisque égal à trois fois wizz».</p>
<h3>Variantes :</h3>
<p>Compter en <em>binaire</em>.<br />
«Un.» «Un zéro.» «Un un.» «Un zéro zéro.» «Wizz.» «Un un zéro»&#8230;</p>
<p>Compter en <em>hexadécimal</em>.<br />
&#8230; «Neuf.» «Wizz.» «Bé.» «Cé.» «Dé.» «Buzz.» «Wizz.» «Dix.» «Onze.» «Douze.» «Treize.» «Wizz» (et oui ce n&#8217;est pas un multiple de buzz !). «Quinze» (pas un multiple de wizz!).<br />
Pour devenir moins fou, vous pouvez dire «Un-cinq» à la place de «quinze» (puisqu&#8217;après on dira bien «un-eu», enfin non, «wizz»)<br />
Attention à l&#8217;application de la règle du nombre qui fini par wizz à prononcer en wizz !</p>
<p>Compter en <em>chiffres romains</em>.<br />
«Hi» (prononcez &#8220;i&#8221;). «Hi hi.» «Hi hi hi.» «Hi vé.» «Wizz.» «Vé hi.» «Buzz.» «Vé hi hi hi.» «Hi ixe.» «Wizz»&#8230;</p>
<p>Jouer sur un <em>forum</em> ou des <em>newsgroups</em>.<br />
Chaque posteur répond au précédent en incrémentant. Préférez un groupe de test ou autre de ce genre, avec un temps de rétention court (genre une journée au lieu d&#8217;un mois).<br />
Croyez-moi ou pas, il s&#8217;est toujours trouvé, en école d&#8217;ingénieur, des gens pour se tromper malgré le temps libre qu&#8217;ils avaient pour poster.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.salagir.com/fr/21-wizz-buzz-le-jeu/feed/</wfw:commentRss>
		</item>
		<item>
		<title>De la soupe aux choux, et de la daube</title>
		<link>http://blog.salagir.com/fr/19-de-la-soupe-aux-choux-et-de-la-daube/</link>
		<comments>http://blog.salagir.com/fr/19-de-la-soupe-aux-choux-et-de-la-daube/#comments</comments>
		<pubDate>Wed, 05 Dec 2007 11:24:37 +0000</pubDate>
		<dc:creator>Salagir</dc:creator>
		
		<category><![CDATA[Mes critiques films]]></category>

		<guid isPermaLink="false">http://blog.salagir.com/fr/19-de-la-soupe-aux-choux-et-de-la-daube/</guid>
		<description><![CDATA[La soupe aux choux
Les films de science fiction en 1981, c&#8217;était pas encore du Star Wars&#8230;
Ce film complètement étrange manquait à ma culture, c&#8217;est maintenant chose réglée.
Nous y retrouvons une ode au vin, au terroir, à la bonne franchouillarde  françaiserie qui fait de nous de si parfait chauvins.

Que dire sur ce film ? J&#8217;aurai [...]]]></description>
			<content:encoded><![CDATA[<h3>La soupe aux choux</h3>
<p><img src="/fr/upload/soupe-choux-poster.jpg" align="left" />Les films de science fiction en 1981, c&#8217;était pas encore du Star Wars&#8230;</p>
<p>Ce film complètement étrange manquait à ma culture, c&#8217;est maintenant chose réglée.</p>
<p>Nous y retrouvons une ode au vin, au terroir, à la bonne franchouillarde  françaiserie qui fait de nous de si parfait chauvins.</p>
<p><img src="/fr/upload/soupe-choux-jacques-villeret.jpg" title="Jacques Villeret jeune et pas obèse, choquant" alt="Jacques Villeret jeune et pas obèse, choquant" align="right" /></p>
<p>Que dire sur ce film ? J&#8217;aurai du mal à le décrire, je dirai qu&#8217;il a une atmosphère particulière, ainsi qu&#8217;une bonne humeur propre à De Funès qui transporte le film avec lui.</p>
<p>Nous avons aussi des passages d&#8217;une belle lourdeur qui font du cinéma français un art reconnu internationalement (prout ! prout !)</p>
<p>Si vous ne l&#8217;avez pas vu, je vous le conseille. Et si vous l&#8217;avez déjà vu, et bien, bloublublublublu !</p>
<h3>Doom</h3>
<h3><img src="/fr/upload/doom.jpg" align="right" /></h3>
<p>Il y a des jeux vidéos qui marquent. Tabasser des monstres pixelisés et plats dans un décor pixelisé et en 3D, était le plus grand bonheur de nombre de joueurs en ces jeunes temps d&#8217;insouciance.</p>
<p>Le principe du jeu Doom est immensément simple : on a des armes à feu, et on tire sur tout ce qui bouge. Absolument tout. D&#8217;ailleurs le 3 m&#8217;a déçu à cet égard.</p>
<p>Face à un scénario aussi puissant, il était évident qu&#8217;un grand film allait naître.</p>
<p>Mais il ne suffit pas d&#8217;un scénario en papier pour faire une belle daube, non, il faut aussi des dialogues qui déchirent. Exemple (texte approximatif) :<br />
- On peut peut-être le sauver.<br />
- Non on ne peut pas.<br />
Il lui tire une balle dans la tête.<br />
- Parce qu&#8217;il est mort.</p>
<p>Ajoutez des personnage du genre, travaillé, mais en fait non. Ce sont tous des militaires d&#8217;élites psychopathes, et c&#8217;est un plaisir de voir l&#8217;un d&#8217;entre eux se scarifier d&#8217;une croix sur le bras parce qu&#8217;il a dit &#8220;God damn it&#8221;. Dommage que ça n&#8217;ait pas continué ainsi.</p>
<p>On finira sur l&#8217;ultime hommage à Doom, la scène en <em>first person shooter</em> (où la caméra est au niveau des yeux du personnage). Par contre cette scène ne&#8230; restera jamais dans les annales, elle est tout simplement bof.</p>
<h3>L&#8217;attaque de la moussaka géante</h3>
<h3><img src="/fr/upload/moussaka.jpg" title="Moussakaaaa ?" alt="Moussakaaaa ?" align="left" /></h3>
<p>Avec un titre aussi magnifique, à quoi pouvait-on s&#8217;attendre ?</p>
<p>Une part de moussaka géante parcourt la ville et tue des gens (oui parce que de la viande et de la béchamel, mais en géant, ca tue, quoi).</p>
<p>Vous avez le meilleur scénario du monde, maintenant, plus qu&#8217;à profiter de ce merveilleux film avec en plus, pleins d&#8217;homos en personnages principaux (on est en Grèce après tout).</p>
<p>Je n&#8217;en parlerai pas plus : de nombreux autres sites le font très bien :)</p>
<h3>The Musketeer</h3>
<p>Année, 2001, titre français, <em>D&#8217;Artagnan</em>.</p>
<p>Ninja ! D&#8217;Artagnan c&#8217;est pas un kéké. Il a des super pouvoirs ! Il lui fait sa fête à Neo quand tu veux !</p>
<p>Les mousquetaires, ces chevaliers dont rien n&#8217;est plus important que l&#8217;honneur, s&#8217;accrochent au mur et <em>au plafond</em> pendant les combats. Ils lancent des <strike>shurinkens</strike> trucs sur leurs ennemis, et sortent même de leur bat-ceinture un grappin qui se lance tout seul.</p>
<p>D&#8217;Artagnan fait aussi son Batman, grâce à ses pouvoirs de ninja : on regarde dans un sens, et hop, il apparaît derrière toi. On tourne les yeux, et hop, il disparaît ! (avec bien sûr les rideaux de la fenêtre qui flottent dans le vent).</p>
<p>N&#8217;oublions pas en vieux maître,  Jean-Pierre Castaldi, présentateur de Fort Boyard et géniteur de présentateur d&#8217;émission télé ras les pâquerettes naines.</p>
<p>Un film d&#8217;une réalité historique époustouflante !</p>
<h3>Les Aventures de Buckaroo Banzaï à travers la 8e dimension</h3>
<p><img src="/fr/upload/Buckaroo-Banzai-cast.jpg" title="Voici une partie du cast. Veuillez apprendre tous les noms par coeur." alt="Voici une partie du cast. Veuillez apprendre tous les noms par coeur." align="right" /></p>
<p>Oui, je vous <em>jure</em> que ce film existe.</p>
<p>Il s&#8217;agit même d&#8217;un monument ! A l&#8217;instar de la Moussaka, j&#8217;en parlerai peu ici car de nombreux autres sites (de fans!) en parlent, et ce de façon bien plus documentée.</p>
<p>Le fond de se film repose sur une vérité fracassante : on ne va jamais assez loin. En effet, de nos jours, les plus grand héros cumulent combien de compétances ?<br />
Allez, au mieux on est super-fort et millionnaire. Superman parle toute les langues (cf un article à venir sur une autre belle daube) et est super fort, et super journaliste, mais bon, c&#8217;est déjà peu. Peut-être que Peter Parker fait mieux ? Super scientifique (il invente quand même lui-même la glue-toile-d&#8217;araignée qu&#8217;il lance) et super pouvoirs&#8230; non, que deux.<br />
Et bien notre héros, il est super fort, chirgurgien, sauveur du monde professionnel, chef d&#8217;organisation sauveuse du monde, scientifique reconnu, beau gosse au volant, et hard-rockeur ! Et encore il serai plus si on avait pu faire d&#8217;autres films.</p>
<p>Buckaroo, mi-américain mi-japonais mi-héros, fait tout. Il est accompagné de son groupe de beau gosses, sauveurs du monde et superstars du rock (certains sont aussi docteurs et cowboy, porte-flingue et guitariste&#8230;). Ils sont aussi aidé quand nécessaire par l&#8217;organisation Fan de Banzai avec ses membres partout dans le monde.</p>
<p>Mais quelle est donc l&#8217;histoire, me demanderez-vous ? Et bien c&#8217;est très simple. Buckaroo traverse la 8ième dimension, pour déconner entre une opération à coeur ouvert et un concert de rock où il ira personnellement consoler le chagrin d&#8217;une femme abandonnée (qu&#8217;il a su détecter à une centaine de mètres dans une foule).<br />
C&#8217;est alors que des extra-terrestres viennent foutre la merde, pour des raisons huitdimensionesques. Ces aliens peuvent prendre une forme humaine pour passer inaperçu, comme celle d&#8217;un vieux rasta tout camé. Les méchants aliens s&#8217;allient avec un savant fou qui se came à l&#8217;électricité, et les gentils aliens avec l&#8217;équipe à Banzai. Il se passe alors pleins de choses, mais j&#8217;ai oublié les détails.</p>
<p>Si vous comptez voir ce film, sachez que je vous aurais prévenu, il faut un certain état d&#8217;esprit. Et surtout, n&#8217;attendez pas la réponse à la question : &#8220;A quoi elle sert cette pastèque ?&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.salagir.com/fr/19-de-la-soupe-aux-choux-et-de-la-daube/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Dessin : Moi aussi j&#8217;me la pête</title>
		<link>http://blog.salagir.com/fr/16-dessin-moi-aussi-jme-la-pete/</link>
		<comments>http://blog.salagir.com/fr/16-dessin-moi-aussi-jme-la-pete/#comments</comments>
		<pubDate>Fri, 16 Nov 2007 11:34:00 +0000</pubDate>
		<dc:creator>Salagir</dc:creator>
		
		<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://blog.salagir.com/fr/16-dessin-moi-aussi-jme-la-pete/</guid>
		<description><![CDATA[Tout le monde montre comment il fait ses dessins sur ordi, alors moi aussi. Y&#8217;a pas de raisons quoi&#8230;.
Avant de commencer, sachez que ce n&#8217;est pas la première fois que je joue à l&#8217;expert, j&#8217;avais commis il y a déjà 10 ans avec une BD d&#8217;une page et plus récement avec un strip sur Dragon [...]]]></description>
			<content:encoded><![CDATA[<p>Tout le monde montre comment il fait ses dessins sur ordi, alors moi aussi. Y&#8217;a pas de raisons quoi&#8230;.</p>
<p>Avant de commencer, sachez que ce n&#8217;est pas la première fois que je joue à l&#8217;expert, j&#8217;avais commis il y a déjà 10 ans avec <a href="http://www.salagir.com/bd/divers/evo/evolution.htm">une BD d&#8217;une page</a> et plus récement avec <a href="http://www.salagir.com/bd/evo2-dbz/">un strip sur Dragon Ball</a>.</p>
<p>Nous avons au menu cette fois un fan-art sur <a href="http://www.synopsite.com/pages/reflets_d_acidepag.html">la saga audio Reflets d&#8217;Acide</a>. Pour ceux qui ne le savent toujours pas, c&#8217;est une saga magnifique, drôle et super bien écrite, de jeu de rôle héroic fantasy. Il m&#8217;arrive souvent de l&#8217;écouter pendant que je dessine Geek&#8217;s World, ainsi que <a href="http://www.iiiemelegion.net/">La IIIème Légion</a> et <a href="http://latourdebaal.communaute-thurm.info/">La Tour de Baal</a>.</p>
<p>Je n&#8217;ai pas pensé à sauver les étapes avant la fin du crayonné. Vous aurez plus de détail sur cette étape dans mes précédents articles du même genre linké plus haut.<br />
J&#8217;ai voulu faire tous les personnages principaux. J&#8217;ai décidé de les dessiner séparément puis de les approcher par la suite.<br />
Ayant pourtant écouté plusieurs fois l&#8217;épisode 1 où leurs caractéristiques et atours sont décris, j&#8217;ai fais beaucoup d&#8217;erreurs sur les personnages (que nous nommerons ici &#8220;droit d&#8217;adaptation de l&#8217;artiste&#8221;). Par contre, les tailles sont respectées.</p>
<p>Que dire sur le crayonné sinon qu&#8217;il a été fait à la tablette graphique, et que c&#8217;est fort pratique de pouvoir prendre des morceaux de dessin, les aggrandir, rétrécir ou déplacer, quand on rate toujours ses premiers jets (jeu de mot JDR huhuhu) en proportions.<br />
Note: l&#8217;épée dit &#8220;hé hé&#8221; parce que c&#8217;est une épée maudite.</p>
<p>De même que je n&#8217;ai pas fais de screenshots du brouillon, j&#8217;ai pas pensé à chronométrer combien de temps cela m&#8217;a pris. D&#8217;autant que je l&#8217;ai fais par diverses étapes, certaines entrecoupées de quelques semaines. Pour résumer je dirai que le brouillon m&#8217;a pris: longtemps. peut-être une dizaine d&#8217;heure, voire plus. (Et oui, c&#8217;est la différence entre le pro et l&#8217;amateur, le pro aurait mit 3 heures maximum)</p>
<p><img src="/fr/upload/reflets/500-Etape1.png" height="550" width="989" /><br />
Ensuite l&#8217;encrage. Il m&#8217;a pris le temps d&#8217;écouter la saga en entier, c&#8217;est à dire a peu près quatre heures.</p>
<p>Je créé un nouveau calque, je réduis l&#8217;opacité du calque de crayonné, je zoome un peu et j&#8217;encre.</p>
<p>Il m&#8217;arrive souvent de créer plusieurs calques d&#8217;encrage, pour faire des traits cachés par d&#8217;autres, et effacer ensuite, par exemple l&#8217;épée de Wrandrall par-dessus ses jambes. Mais au final je fusionne tous les calques d&#8217;encrage.<br />
<img src="/fr/upload/reflets/500-Etape2.png" /></p>
<p>Ensuite le passage à la couleur. Toujours une certaine douleur&#8230; D&#8217;abord créer pleins de calques sur lesquels je remplis des surfaces identiques. Ensuite les mettre en opacité non variable pour pouvoir dessiner dedans sans me préoccuper de dépasser.</p>
<p>Pour avoir les surfaces facilement, j&#8217;utilise la baguette magique avec lisage, puis l&#8217;agrandissement du masque. Pour ce faire rapidement j&#8217;ai fais un script utilisant la fonction, et ai mis le raccourcis F3 sur ce script. Ainsi en une touche j&#8217;agrandis le calque au lieu d&#8217;avoir à passer par 3 menus et valider.<br />
C&#8217;est peut-être évidement mais on y pense pas toujours : on donne le coup de baguette magique à <em>l&#8217;extérieur</em> du personnage, puis on agrandit, puis on inverse le masque, ainsi on a tout le personnage.</p>
<p><img src="/fr/upload/reflets/500-Etape3.png" /></p>
<p>Pour chaque calque j&#8217;ai fais la chose suivante : dupliquer, puis changement de couleur (moyen rapide: ctrl+L pour lancer les niveaux, et déplacer un curseur pour assombrir), puis effacement de certaines parties.<br />
J&#8217;ai maintenant deux calques de couleur par perso, séparant leurs parties aux couleurs vraiment différentes qui se touchent. J&#8217;ai du en faire 3 pour le nain.<br />
<img src="/fr/upload/reflets/500-Etape4.png" /></p>
<p>Et maintenant le coloriage lui-même, le vrai.  Il m&#8217;a pris quatre heures (une saga), en speedant comme un malade parce que je voulais en finir. Je m&#8217;étonne en écrivant ces lignes que ça ait pris si peu de temps&#8230;<br />
Après, le déplace mes calques pour rassembler mes persos.</p>
<p><img src="/fr/upload/reflets/500-Etape5.jpg" /></p>
<p>Pour le décor, comme je me connais, j&#8217;ai préféré utiliser une solution de facilité. Je suis allé chercher des photos de forêt sur Google Image. J&#8217;ai trouvé celle ci-dessous.<br />
Ensuite je l&#8217;ai modifié pour aller avec le dessin. Une légère retouche de couleur, et l&#8217;ajout de flou ! En effet, trops de détails en arrière plan, il ne faut pas. C&#8217;est l&#8217;avant-plan le plus important. De plus, l&#8217;effet photo veut que plus les objets sont loin dans l&#8217;image, plus ils sont flous (si on a fait le point sur le premier plan, ce qui est le cas puisque les personnage ne sont pas flous).<br />
j&#8217;ai donc floué des parties de l&#8217;image, avec un flou d&#8217;autant plus fort que l&#8217;élément était loin. Notez comme au final, le sol n&#8217;est pas flou, l&#8217;arbre de droite, proche, est un peu flou, et le fond l&#8217;est beaucoup.</p>
<p>Temps de recherche et retouche du décor: 15mn<br />
<img src="/fr/upload/reflets/500-BG.jpg" /></p>
<p>Rendu final.<br />
<img src="/fr/upload/reflets/500.jpg" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.salagir.com/fr/16-dessin-moi-aussi-jme-la-pete/feed/</wfw:commentRss>
		</item>
		<item>
		<title>De la ratatouille, et de la daube</title>
		<link>http://blog.salagir.com/fr/17-de-la-ratatouille-et-de-la-daube/</link>
		<comments>http://blog.salagir.com/fr/17-de-la-ratatouille-et-de-la-daube/#comments</comments>
		<pubDate>Thu, 25 Oct 2007 23:14:56 +0000</pubDate>
		<dc:creator>Salagir</dc:creator>
		
		<category><![CDATA[Mes critiques films]]></category>

		<guid isPermaLink="false">http://blog.salagir.com/fr/17-de-la-ratatouille-et-de-la-daube/</guid>
		<description><![CDATA[Ratatouille

Je suis un très mauvais critique ciné&#8230;. Vu le temps depuis lequel ce film est sorti, il est peut-être un peu tard pour vous dire d&#8217;aller le voir !
Bon heu&#8230; allez le voir.
C&#8217;est un Pixar, donc qualité, et c&#8217;est de Brad Bird donc super qualité. On ne s&#8217;attends pas avec un pitch aussi simple (un [...]]]></description>
			<content:encoded><![CDATA[<h3>Ratatouille</h3>
<p><img src="/fr/upload/ratatouille-tour-eiffel-gus.jpg" title="Paris et sa Tour Eiffel ainsi que le restaurant du chef Gusteau" alt="Paris et sa Tour Eiffel ainsi que le restaurant du chef Gusteau" align="left" height="600" hspace="2" width="201" /><img src="/fr/upload/ratatouille-remy.jpg" title="Remy le Rat admire Paris" alt="Remy le Rat admire Paris" align="right" height="600" hspace="2" width="201" /><br />
Je suis un très mauvais critique ciné&#8230;. Vu le temps depuis lequel ce film est sorti, il est peut-être un peu tard pour vous dire d&#8217;aller le voir !</p>
<p>Bon heu&#8230; allez le voir.</p>
<p>C&#8217;est un Pixar, donc qualité, et c&#8217;est de Brad Bird donc super qualité. On ne s&#8217;attends pas avec un pitch aussi simple (un rat qui veut cuisiner dans le monde des humains) à arriver à quelque chose d&#8217;aussi bien.</p>
<p>Pour reprendre ce qui a été dit sur un forum, il est à noter que les dessins de bouffe sont admirablement réussis, réalistes au point de nous mettre l&#8217;eau à la bouche.</p>
<p>J&#8217;ai vu le film en VO et en VF. Je vous conseille la VF, car elle est de très bonne qualité, et c&#8217;est quand même plus reposant de ne pas lire les sous-titre, pour profiter de la belle animation. Juste quelques détails :<br />
- Tout au début, le critique dit une phrase qui rend mieux en VO.<br />
- A un moment, les persos s&#8217;en vont brusquement en disant &#8220;Désolé on est impoli&#8230; on est Français !&#8221; (I hate to be rude, but, we&#8217;re French!) Cette phrase n&#8217;est pas là en VF.</p>
<p>De plus, le générique de fin où défilent les noms est un dessin animé de toute beauté.</p>
<p>Je n&#8217;en dirai pas plus, je vous laisse le découvrir.</p>
<p>Ces derniers temps j&#8217;ai eu l&#8217;occasion de voir de très mauvais films, grâce à une suite de retrospectives de&#8230; très mauvais films. Nous commencerons par un récent, et ensuite nous noierons dans les méandres du mauvais 