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

<channel>
	<title>Docs Jmini</title>
	<atom:link href="http://docs.jmini.fr/feed" rel="self" type="application/rss+xml" />
	<link>http://docs.jmini.fr</link>
	<description>docs.jmini.fr</description>
	<lastBuildDate>Thu, 18 Feb 2010 09:47:54 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Leclerc Mobile &#8211; Numéros utiles</title>
		<link>http://docs.jmini.fr/memo/leclerc-mobile-numeros-utiles</link>
		<comments>http://docs.jmini.fr/memo/leclerc-mobile-numeros-utiles#comments</comments>
		<pubDate>Thu, 18 Feb 2010 09:35:36 +0000</pubDate>
		<dc:creator>Jérémie Bresson</dc:creator>
				<category><![CDATA[Memo]]></category>
		<category><![CDATA[téléphone]]></category>

		<guid isPermaLink="false">http://docs.jmini.fr/?p=81</guid>
		<description><![CDATA[A l&#8217;ouverture d&#8217;un compte E.Leclerc Mobile, on reçoit un ticket contenant les numéros de téléphones utiles. Pour les garder sous la main, j’ai reproduit ce ticket ici. Depuis, le site officiel a été modifié et est plus complet, on retrouve une page Numéros utiles qui est certainement plus à jour que ce billet.
Numéros téléphoniques à [...]]]></description>
			<content:encoded><![CDATA[<p><em>A l&#8217;ouverture d&#8217;un compte E.Leclerc Mobile, on reçoit un ticket contenant les numéros de téléphones utiles. Pour les garder sous la main, j’ai reproduit ce ticket ici. Depuis, <a href="http://www.leclercmobile.fr/" title="E.Leclerc Mobile - Il est vraiment temps de téléphoner autrement">le site officiel</a> a été modifié et est plus complet, on retrouve une page <a href="http://www.leclercmobile.fr/aide/numeros-utiles.html" title="E.Leclerc Mobile - MOBILE - Numéros utiles">Numéros utiles</a> qui est certainement plus à jour que ce billet.</em></p>
<div id="attachment_82" class="wp-caption aligncenter" style="width: 165px"><img src="http://docs.jmini.fr/wp-content/uploads/2009/02/leclercmobile.png" alt="Logo E.Leclerc mobile" title="E.Leclerc mobile" width="155" height="59" class="size-full wp-image-82" /><p class="wp-caption-text">Logo E.Leclerc mobile</p></div>
<p>Numéros téléphoniques à retenir pour utiliser au mieux votre compte E.Leclerc Mobile indiqués ci-dessous :</p>
<h2>Depuis votre mobile</h2>
<table>
<tr>
<td>Info conso :</td>
<td>950 (voix ou SMS)</td>
</tr>
<tr>
<td>Messagerie vocale :</td>
<td>123</td>
</tr>
<tr>
<td>Mon numéro :</td>
<td>6772</td>
</tr>
<tr>
<td>Rechargement :</td>
<td>732 (touches REC)</td>
</tr>
<tr>
<td>Services clients :</td>
<td>728 (touches SAV)</td>
</tr>
</table>
<p>Les appels passés aux numéros indiqués ci-dessus sont gratuits en France métropolitaine à l&#8217;exception du service clients qui est facturé 0,39 Euros/minute à partir de la mise en relation avec un interlocuteur prenant en charge votre demande.</p>
<h2>Depuis un téléphone fixe en France</h2>
<table>
<tr>
<td>Rechargement</td>
<td>0805 160 160</td>
</tr>
<tr>
<td>Service clients</td>
<td>0970 806 970 <del datetime="2010-02-18T09:29:54+00:00">0805 168 000</del></td>
</tr>
</table>
<p>Appels gratuits en France métropolitaine.</p>
<h2>Depuis un téléphone fixe à l&#8217;étranger</h2>
<table>
<tr>
<td>Rechargement</td>
<td>+ 33 172 871 662</td>
</tr>
<tr>
<td>Service clients</td>
<td>+ 33 172 871 661</td>
</tr>
</table>
<p>Appels facturés selon le tarif de l&#8217;opérateur téléphonique utilisé à l&#8217;étranger</p>
<h2>Numéro d&#8217;urgence</h2>
<table>
<tr>
<td>Pompiers</td>
<td>18</td>
</tr>
<tr>
<td>Police</td>
<td>17</td>
</tr>
<tr>
<td>SAMU</td>
<td>15</td>
</tr>
<tr>
<td>Urgences</td>
<td>112</td>
</tr>
</table>
<p>Voir fiche tarifaire détaillée incluse dans votre kit d&#8217;ouverture pour toutes précisions sur les tarifs appliqués.</p>
<p>TICKET A CONSERVER.</p>
]]></content:encoded>
			<wfw:commentRss>http://docs.jmini.fr/memo/leclerc-mobile-numeros-utiles/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Génération de graphe (Graphviz, dot, &#8230;)</title>
		<link>http://docs.jmini.fr/notes/graphe-graphviz-dot</link>
		<comments>http://docs.jmini.fr/notes/graphe-graphviz-dot#comments</comments>
		<pubDate>Wed, 11 Nov 2009 04:59:38 +0000</pubDate>
		<dc:creator>Jérémie Bresson</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[graphviz]]></category>

		<guid isPermaLink="false">http://docs.jmini.fr/?p=104</guid>
		<description><![CDATA[Introduction
Un moyen très simple de représenter un graphe est d&#8217;utiliser les outils open sources Graphviz développés par AT&#38;T. Le projet Graphviz regroupe un certain nombre de choses simultanément (ce qui ne le rend pas facile à appréhender au premier abord).

le langage de description ou format DOT, qui permet de décrire des graphes dans un format [...]]]></description>
			<content:encoded><![CDATA[<h2 id="introduction">Introduction</h2>
<p>Un moyen très simple de représenter un graphe est d&#8217;utiliser les outils open sources Graphviz développés par AT&amp;T. Le projet Graphviz regroupe un certain nombre de choses simultanément (ce qui ne le rend pas facile à appréhender au premier abord).</p>
<ul>
<li>le langage de description ou format DOT, qui permet de décrire des graphes dans un format texte.</li>
<li>différents outils (en ligne de commande) pour faire le rendu des graphes (en fait, il y en a plusieurs, en fonction du type de rendu que l&#8217;on veut obtenir, voir plus bas ‘options avancées’).</li>
<li>des librairies qui peuvent être incluses dans d&#8217;autres applications.</li>
<li>des applications qui exploitent les librairies, ou le format de fichier DOT.</li>
</ul>
<h2 id="premiersexemples">Premiers exemples</h2>
<h3 id="fichier.dothelloword">Fichier .dot Hello Word</h3>
<p>La syntaxe DOT qui permet de définir les graphes est vraiment très souple. Beaucoup de choses peuvent être définies implicitement. Mentionnons par exemple :</p>
<ul>
<li>créer un arc entre deux noeuds, va aussi créer les deux noeuds.</li>
<li>par défaut, l&#8217;étiquette d&#8217;un noeud est égale à son nom.</li>
<li>&#8230;</li>
</ul>
<p>Toutes ces conventions permettent d&#8217;avoir des fichiers <strong>.dot</strong> vraiment simple. Le site officiel propose le fichier suivant comme traditionnel <em>Hello world</em> :</p>
<div class="markCit"><blockquote>digraph G {<br />
    Hello->World<br />
}</blockquote></div>
<p>Mettons qu&#8217;on enregistre le contenu précédent dans un fichier <strong>hello.dot</strong>. Voici le rendu de ce fichier :</p>
<div id="attachment_105" class="wp-caption alignnone" style="width: 111px"><a href="http://docs.jmini.fr/notes/graphe-graphviz-dot/attachment/dot-hello" rel="attachment wp-att-105"><img src="http://docs.jmini.fr/wp-content/uploads/2009/11/dot-hello.png" alt="Hello -&gt; World" width="101" height="155" class="size-full wp-image-105" /></a><p class="wp-caption-text">Graphe Hello World</p></div>
<h3 id="lignedecommande">Ligne de commande</h3>
<p>Le programme en ligne de commande <strong>dot</strong> propose de très <a href="http://www.graphviz.org/doc/info/command.html" title="Command-line Usage">nombreuses options</a>. Après s&#8217;être placé dans le dossier contenant le fichier hello.dot (à l&#8217;aide de la commande <strong>cd</strong>), l&#8217;utilisation basique pour générer un fichier est :</p>
<div class="markCode"><div class="boxCode"><code>dot <strong><nom du fichier></strong> -T<br />
<format> -o <nom du fichier de sortie><br />
# ou<br />
dot <strong><nom du fichier></strong> -T<br />
<format> > <nom du fichier de sortie></code></div></div>
<p>ainsi on généra un fichier PDF :</p>
<div class="markCode"><div class="boxCode"><code>dot hello.dot -Tpdf -o hello.pdf</code></div></div>
<p>ou un fichier PNG :</p>
<div class="markCode"><div class="boxCode"><code>dot hello.dot -Tpng -o hello.png</code></div></div>
<p>De très nombreux <a href="http://www.graphviz.org/doc/info/output.html" title="Output Formats">formats sont supportés</a>, et on pourra utiliser l&#8217;option -Tgif, -Tsvg et ainsi de suite&#8230;</p>
<h3 id="editerlesfichiertexte">Editer les fichiers texte</h3>
<p>N&#8217;importe quel éditeur de texte peut faire l&#8217;affaire (y compris le terminal lui-même).</p>
<p>Néanmoins, il est plus agréable d&#8217;en choisir un qui supporte la coloration syntaxique et propose différentes options&#8230;</p>
<p>Il existe un Bundle (<a href="http://radr.ca/posts/textmate_graphviz_bundle.html" title="Textmate Graphviz Bundle / Guillaume Carbonneau">textmate_graphviz_bundle</a>) pour mon éditeur de prédilection TextMate.</p>
<h2 id="logicielsdevisualisation">Logiciels de visualisation</h2>
<h3 id="graphvizpourmacosx">Graphviz pour Mac OS X</h3>
<p>Cette application permet de visualiser les graphes dans un logiciel muni d&#8217;une interface graphique. On retrouve le Look and Feel Apple.</p>
<p>Ainsi si l&#8217;application est choisie pour ouvrir par défaut les fichiers .dot, ceux-ci deviennent double cliquable&#8230;</p>
<div id="attachment_106" class="wp-caption alignnone" style="width: 302px"><a href="http://docs.jmini.fr/notes/graphe-graphviz-dot/attachment/dot_graphviz" rel="attachment wp-att-106"><img src="http://docs.jmini.fr/wp-content/uploads/2009/11/dot_graphviz-292x300.png" alt="graphe cluster graphviz" title="" width="292" height="300" class="size-medium wp-image-106" /></a><p class="wp-caption-text">graphe cluster graphviz</p></div>
<p>En savoir plus sur <a href="http://www.pixelglow.com/graphviz/" title="pixelglow | graphviz">le site officiel de Graphviz pour Mac OS X</a> réalisée par Pixelglow Software</p>
<h3 id="kgraphviewerpourlinux">KGraphViewer pour linux</h3>
<p>Il me fallait un équivalent de l&#8217;application précédente pour Ubuntu&#8230; Je me suis tourné vers KGraphViewer qui s&#8217;installe très facilement (par le gestionnaire d&#8217;application).</p>
<div id="attachment_107" class="wp-caption alignnone" style="width: 310px"><a href="http://docs.jmini.fr/notes/graphe-graphviz-dot/attachment/dot_kgraphviewer" rel="attachment wp-att-107"><img src="http://docs.jmini.fr/wp-content/uploads/2009/11/dot_KGraphViewer-300x208.png" alt="graphe cluster dans KGraphViewer" title="cluster.dot dans KGraphViewer" width="300" height="208" class="size-medium wp-image-107" /></a><p class="wp-caption-text">graphe cluster dans KGraphViewer</p></div>
<p>En savoir plus : fiche de l&#8217;application sur <a href="http://gna.org/projects/kgraphviewer" title="KGraphViewer - Summary [Gna!]">gna.org</a> ou sur <a href="http://www.kde-apps.org/content/show.php?content=23999" title="KGraphViewer and KGraphEditor KDE-Apps.org">kde-apps.org</a></p>
<h2 id="optionsavances">Options avancées</h2>
<h3 id="choisirsontmoteurderendu">Choisir sont moteur de rendu</h3>
<p>La définition d&#8217;un graphe (sans aucune information de mise en forme) laisse beaucoup de souplesse au moteur de rendu. Plusieurs moteurs ont ainsi été développés, chaque moteur privilégiant certaines caractéristiques (position des noeuds, minimum de croisement d&#8217;arc&#8230;)</p>
<p>Dans les logiciels évoqués ci-dessus, ces moteurs de rendu correspondent à autant d&#8217;options d&#8217;agencement. En ligne de commande, les différents moteurs disposent d&#8217;options similaires.</p>
<p><strong>dot</strong> &#8211; Représentation hiérarchique :</p>
<p>C&#8217;est l&#8217;outil en ligne de commande le plus connu&#8230; il est bien adapté aux graphes orientés (il hiérarchise des noeuds).</p>
<p><strong>neato</strong> &#8211; minimisation de l&#8217;énergie.</p>
<p><strong>twopi</strong> &#8211; représentation radiale.</p>
<p><strong>circo</strong> &#8211; représentation circulaire.</p>
<p><strong>fdp</strong>  &#8211; représentation alternative pour les graphes non orientés.</p>
<h2 id="autresservices">Autres services</h2>
<p>On trouve l&#8217;utilisation de la syntaxe DOT partout :</p>
<h3 id="intgrerunfichierdansundocumentlatex">Intégrer un fichier dans un document LaTex</h3>
<p>Le script Python <a href="http://www.fauskes.net/code/dot2tex/" title="dot2tex - A Graphviz to LaTeX converter| fauskes.net">dot2tex</a> permet d&#8217;intégrer des graphes dot dans des documents LaTex utilisant les packages LaTex <a href="http://sourceforge.net/projects/pgf/" title="PGF and TikZ -- Graphic systems for TeX | Get PGF and TikZ -- Graphic systems for TeX at SourceForge.net">PGF and TikZ</a>. (voir également la section <a href="http://www.texample.net/tikz/" title="TikZ and PGF | TeXample.net">TikZ and PGF</a> sur TeXample.net pour des exemples sur ces packages).</p>
<h3 id="extensionsetplugins">Extensions et plug-ins</h3>
<p>Pour intégrer des graphes en syntaxe dot sur différentes plates-formes de publication :</p>
<ul>
<li><a href="http://www.mediawiki.org/wiki/Extension:GraphViz" title="Extension:GraphViz - MediaWiki">Extension Graphviz</a> pour Mediawiki.</li>
<li><a href="http://wordpress.org/extend/plugins/eht-graphviz/" title="WordPress &#8250; EHT Graphviz &laquo; WordPress Plugins">EHT Graphviz</a> plugin wordpress.</li>
</ul>
<h3 id="robotgraphydansgooglewave">Robot Graphy dans google wave</h3>
<p>Le <a href="http://wave-samples-gallery.appspot.com/about_app?app_id=23016" title="Google Wave Sample Details - Graphy - Google Code">robot Graphy</a> permet de d&#8217;inclure des graphes dans Google wave.</p>
<p>Pour s&#8217;en servir, il suffit d&#8217;inviter le robot (<strong>graph-wave@appspot.com</strong>) dans la conversation, et de débuter un blips par <strong>#!dot</strong>.</p>
<div id="attachment_108" class="wp-caption alignnone" style="width: 222px"><a href="http://docs.jmini.fr/notes/graphe-graphviz-dot/attachment/dot_wave" rel="attachment wp-att-108"><img src="http://docs.jmini.fr/wp-content/uploads/2009/11/dot_wave-212x300.png" alt="Google Wave - Graphy" title="Représentation d&#039;un graphe dans google wave" width="212" height="300" class="size-medium wp-image-108" /></a><p class="wp-caption-text">Google Wave - Graphy</p></div>
<h2 id="voiraussi">Voir aussi</h2>
<p><a href="http://www.graphviz.org/Documentation.php">Documentation officielle</a> (en)<br />
<a href="http://www.adp-gmbh.ch/misc/tools/graphviz/index.html">graphviz [dot and/or neato]</a> liste et description des différents programmes en lignes de commande disponible.<br />
<a href="http://linuxdevcenter.com/pub/a/linux/2004/05/06/graphviz_dot.html">An Introduction to GraphViz and dot</a></p>
]]></content:encoded>
			<wfw:commentRss>http://docs.jmini.fr/notes/graphe-graphviz-dot/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Je viens de me servir de Ant</title>
		<link>http://docs.jmini.fr/conseils/se-servir-de-ant</link>
		<comments>http://docs.jmini.fr/conseils/se-servir-de-ant#comments</comments>
		<pubDate>Thu, 29 Oct 2009 06:53:36 +0000</pubDate>
		<dc:creator>Jérémie Bresson</dc:creator>
				<category><![CDATA[Conseils]]></category>
		<category><![CDATA[Ant]]></category>

		<guid isPermaLink="false">http://docs.jmini.fr/?p=103</guid>
		<description><![CDATA[Je n’avais qu’une idée assez vague du fonctionnement du système d’automatisation des tâches Ant. À vrai dire, je n’avais jamais eu le temps de regarder comment un fichier build.xml était fait.
Un gros quart d’heure suffit à comprendre le fonctionnement. Les ressources sont bien faites :

Apache Ant &#8211; Tutorial: Hello World with Ant
Apache Ant &#8211; User [...]]]></description>
			<content:encoded><![CDATA[<p>Je n’avais qu’une idée assez vague du fonctionnement du système d’automatisation des tâches Ant. À vrai dire, je n’avais jamais eu le temps de regarder comment un fichier build.xml était fait.</p>
<p>Un gros quart d’heure suffit à comprendre le fonctionnement. Les ressources sont bien faites :</p>
<ul>
<li><a href="http://ant.apache.org/manual/tutorial-HelloWorldWithAnt.html" title="Tutorial: Hello World with Ant">Apache Ant &#8211; Tutorial: Hello World with Ant</a></li>
<li><a href="http://ant.apache.org/manual/index.html" title="Apache Ant User Manual">Apache Ant &#8211; User Manual</a></li>
<li><a href="http://ant.apache.org/faq.html" title="Apache Ant - Frequently Asked Questions">Apache Ant &#8211; Frequently Asked Questions</a></li>
</ul>
<p>La meilleure méthode consiste comme souvent à essayer soit même&#8230;<br />
Un exemple bien fait permet de comprendre le fonctionnement, il suffit ensuite de faire du copier-coller intelligent.</p>
<p>Les bons IDE (Eclipse dans mon cas) apportent leur lot d’outils pour se simplifier la vie :</p>
<ul>
<li>la coloration syntaxique et la vérification du fichier XML</li>
<li>une interface graphique pour lancer les tâches (clic droit sur le fichier &laquo;&nbsp;Run as ant task&#8230;&nbsp;&raquo;)</li>
</ul>
<p>Je n&#8217;ai qu&#8217;un seul conseil : n&#8217;hésiter pas à vous lancer !</p>
<h2>Voir aussi</h2>
<ul>
<li><a href="http://ant.apache.org/" title="Apache Ant - Welcome">Le site officiel de Ant</a></li>
<li><a href="http://fr.wikipedia.org/wiki/Apache_Ant" title="Apache Ant - Wikipédia">Ant</a> sur le site de wikipedia</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://docs.jmini.fr/conseils/se-servir-de-ant/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bugs and program testing (citations)</title>
		<link>http://docs.jmini.fr/divers/bugs-program-testing-citations</link>
		<comments>http://docs.jmini.fr/divers/bugs-program-testing-citations#comments</comments>
		<pubDate>Sun, 25 Oct 2009 16:47:06 +0000</pubDate>
		<dc:creator>Jérémie Bresson</dc:creator>
				<category><![CDATA[Divers]]></category>

		<guid isPermaLink="false">http://docs.jmini.fr/?p=102</guid>
		<description><![CDATA[Edsger Dijkstra
Program testing can be used to prove the presence of bugs, but never their absence! (1970)
Edsger Dijkstra
David Gries
We should run test cases not to look for bugs, but to increase our confidence in a program we are quite sure is correct. (1981)
David Gries
]]></description>
			<content:encoded><![CDATA[<h3>Edsger Dijkstra</h3>
<p><em>Program testing can be used to prove the presence of bugs, but never their absence!</em> (1970)</p>
<p><a href="http://fr.wikipedia.org/wiki/Edsger_Dijkstra" title="Edsger Dijkstra - Wikipédia">Edsger Dijkstra</a></p>
<h3>David Gries</h3>
<p><em>We should run test cases not to look for bugs, but to increase our confidence in a program we are quite sure is correct.</em> (1981)</p>
<p><a href="http://en.wikipedia.org/wiki/David_Gries" title="David Gries - Wikipedia, the free encyclopedia">David Gries</a></p>
]]></content:encoded>
			<wfw:commentRss>http://docs.jmini.fr/divers/bugs-program-testing-citations/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oeufs mimosa</title>
		<link>http://docs.jmini.fr/memo/oeufs-mimosa</link>
		<comments>http://docs.jmini.fr/memo/oeufs-mimosa#comments</comments>
		<pubDate>Fri, 23 Oct 2009 07:01:49 +0000</pubDate>
		<dc:creator>Jérémie Bresson</dc:creator>
				<category><![CDATA[Memo]]></category>
		<category><![CDATA[cuisine]]></category>

		<guid isPermaLink="false">http://docs.jmini.fr/?p=101</guid>
		<description><![CDATA[On trouve beaucoup de recettes pour faire des oeufs mimosa (oeufs durs au thon). Voici mes quantités pour une version sans mayonnaise :
Préparer :

4 oeufs durs
Les éplucher et les couper dans le sans de la longueur

Mélanger (écraser dans un grand bol à la fourchette) :

Les jaunes d&#8217;oeuf dur
une petite boite (150g nets égouttés) de thon 
de la [...]]]></description>
			<content:encoded><![CDATA[<p><em>On trouve beaucoup de recettes pour faire des oeufs mimosa (oeufs durs au thon). Voici mes quantités pour une version sans mayonnaise :</em></p>
<p>Préparer :</p>
<ul>
<li>4 oeufs durs</li>
<li>Les éplucher et les couper dans le sans de la longueur</li>
</ul>
<p>Mélanger (écraser dans un grand bol à la fourchette) :</p>
<ul>
<li>Les jaunes d&#8217;oeuf dur</li>
<li>une petite boite (150g nets égouttés) de thon </li>
<li>de la moutarde (~2 cuillères à soupe)</li>
<li>de l&#8217;huile d&#8217;olive (~2 cuillères à soupe)</li>
<li>du persil</li>
</ul>
<p>Remplir les blancs d&#8217;oeuf avec la préparation.</p>
]]></content:encoded>
			<wfw:commentRss>http://docs.jmini.fr/memo/oeufs-mimosa/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP : Conversion code couleur</title>
		<link>http://docs.jmini.fr/code/php-conversion-code-couleur</link>
		<comments>http://docs.jmini.fr/code/php-conversion-code-couleur#comments</comments>
		<pubDate>Wed, 30 Sep 2009 22:05:13 +0000</pubDate>
		<dc:creator>Jérémie Bresson</dc:creator>
				<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://docs.jmini.fr/?p=99</guid>
		<description><![CDATA[Le script suivant permet d&#8217;obtenir le code couleur hexadécimal (pour une utilisation en CSS ou en HTML) à partir des composantes RGB (rouge, vert, bleu).
Script
Utilisation
Ce script est écrit pour être utilisé directement dans un terminal. Il s&#8217;utilise en indiquant les trois valeurs des composante RGB sous forme de nombre (entre 0 et 255) séparé par [...]]]></description>
			<content:encoded><![CDATA[<p>Le script suivant permet d&#8217;obtenir le code couleur hexadécimal (pour une utilisation en CSS ou en HTML) à partir des composantes RGB (rouge, vert, bleu).</p>
<h2>Script</h2>
<div class="markCode"><div class="boxCode"><code>
<pre class="Clr_Code"><span class="Clr_NonPHP">#!/usr/bin/php
</span><span class="Clr_Anchor">&lt;?php</span>
<span class="Clr_Comment">/**
 * RGB TO COLOR - CONVERTER
 * syntax: rgb2color.php (red) (green) (blue)
 *     ex: rgb2color.php 255 252 114
 */</span>
	<span class="Clr_KeyWord">if</span><span class="Clr_Operator">(</span><span class="Clr_Var">$argc</span> <span class="Clr_Operator">!</span><span class="Clr_Operator">=</span> <span class="Clr_Int">4</span><span class="Clr_Operator">)</span> <span class="Clr_Operator">{</span>
		<a href="http://fr.php.net/manual/fr/function.die.php" target="_blank" class="Clr_Funct">die</a><span class="Clr_Operator">(</span><span class="Clr_String">"RGB TO COLOR - CONVERTER<span class="Clr_SpeChar">\n</span>   syntax: rgb2color.php (red) (green) (blue)<span class="Clr_SpeChar">\n</span>       ex: rgb2color.php 255 252 114<span class="Clr_SpeChar">\n</span>"</span><span class="Clr_Operator">)</span><span class="Clr_Operator">;</span>
	<span class="Clr_Operator">}</span>

	<span class="Clr_Var">$r</span> <span class="Clr_Operator">=</span> <span class="Clr_Var">$argv</span><span class="Clr_Operator">[</span><span class="Clr_Int">1</span><span class="Clr_Operator">]</span><span class="Clr_Operator">;</span>
	<span class="Clr_Var">$g</span> <span class="Clr_Operator">=</span> <span class="Clr_Var">$argv</span><span class="Clr_Operator">[</span><span class="Clr_Int">2</span><span class="Clr_Operator">]</span><span class="Clr_Operator">;</span>
	<span class="Clr_Var">$b</span> <span class="Clr_Operator">=</span> <span class="Clr_Var">$argv</span><span class="Clr_Operator">[</span><span class="Clr_Int">3</span><span class="Clr_Operator">]</span><span class="Clr_Operator">;</span>

	<a href="http://fr.php.net/manual/fr/function.echo.php" target="_blank" class="Clr_Funct">echo</a> rgb2color<span class="Clr_Operator">(</span><span class="Clr_Var">$r</span><span class="Clr_Operator">,</span> <span class="Clr_Var">$g</span><span class="Clr_Operator">,</span> <span class="Clr_Var">$b</span><span class="Clr_Operator">)</span>.<span class="Clr_String">"<span class="Clr_SpeChar">\n</span>"</span><span class="Clr_Operator">;</span>

  <span class="Clr_Comment">/**
   * Convert a RGB color into a Hex-Color String
   * @param &lt;int&gt; $red : red component (0-255)
   * @param &lt;int&gt; $green : green component (0-255)
   * @param &lt;int&gt; $blue : blue component (0-255)
   * @return &lt;string&gt; the color
   */</span>
	<span class="Clr_KeyWord">function</span> rgb2color<span class="Clr_Operator">(</span><span class="Clr_Var">$red</span><span class="Clr_Operator">,</span> <span class="Clr_Var">$green</span><span class="Clr_Operator">,</span> <span class="Clr_Var">$blue</span><span class="Clr_Operator">)</span> <span class="Clr_Operator">{</span>
		<span class="Clr_KeyWord">return</span> <span class="Clr_String">"#"</span>.dec2hex<span class="Clr_Operator">(</span><span class="Clr_Var">$red</span><span class="Clr_Operator">,</span><span class="Clr_Int">2</span><span class="Clr_Operator">)</span><span class="Clr_Operator">.</span>dec2hex<span class="Clr_Operator">(</span><span class="Clr_Var">$green</span><span class="Clr_Operator">,</span><span class="Clr_Int">2</span><span class="Clr_Operator">)</span><span class="Clr_Operator">.</span>dec2hex<span class="Clr_Operator">(</span><span class="Clr_Var">$blue</span><span class="Clr_Operator">,</span><span class="Clr_Int">2</span><span class="Clr_Operator">)</span><span class="Clr_Operator">;</span>
	<span class="Clr_Operator">}</span>

  <span class="Clr_Comment">/**
   * Convert a decimal value to a hexadecimal value (with some control of the format)
   * @param &lt;int&gt; $value : the decimal value
   * @param optionnal &lt;int&gt; $size : the minimal length that the hex value should have
   * @param optionnal &lt;type&gt; $char : the padding character
   * @return &lt;string&gt; the hexadecimal value
   */</span>
	<span class="Clr_KeyWord">function</span> dec2hex<span class="Clr_Operator">(</span><span class="Clr_Var">$value</span><span class="Clr_Operator">,</span> <span class="Clr_Var">$size</span> <span class="Clr_Operator">=</span> <span class="Clr_Int">0</span><span class="Clr_Operator">,</span> <span class="Clr_Var">$char</span> <span class="Clr_Operator">=</span> <span class="Clr_String">'0'</span><span class="Clr_Operator">)</span> <span class="Clr_Operator">{</span>
		<span class="Clr_Var">$ret</span> <span class="Clr_Operator">=</span> <a href="http://fr.php.net/manual/fr/function.dechex.php" target="_blank" class="Clr_Funct">dechex</a><span class="Clr_Operator">(</span><span class="Clr_Var">$value</span><span class="Clr_Operator">)</span><span class="Clr_Operator">;</span>
		<span class="Clr_KeyWord">while</span><span class="Clr_Operator">(</span><a href="http://fr.php.net/manual/fr/function.strlen.php" target="_blank" class="Clr_Funct">strlen</a><span class="Clr_Operator">(</span><span class="Clr_Var">$ret</span><span class="Clr_Operator">)</span> <span class="Clr_Operator"><</span> <span class="Clr_Var">$size</span> <span class="Clr_Operator">)</span> <span class="Clr_Operator">{</span>
			<span class="Clr_Var">$ret</span> <span class="Clr_Operator">=</span> <span class="Clr_Var">$char</span><span class="Clr_Operator">.</span><span class="Clr_Var">$ret</span><span class="Clr_Operator">;</span>
		<span class="Clr_Operator">}</span>
		<span class="Clr_KeyWord">return</span> <span class="Clr_Var">$ret</span><span class="Clr_Operator">;</span>
	<span class="Clr_Operator">}</span>
<span class="Clr_Anchor">?&gt;</span><span class="Clr_NonPHP"></span></pre>
<p><br/></code></div></div>
<h2>Utilisation</h2>
<p>Ce script est écrit pour être utilisé directement dans un terminal. Il s&#8217;utilise en indiquant les trois valeurs des composante RGB sous forme de nombre (entre 0 et 255) séparé par un espace. Exemple :<br />
<div class="markCode"><div class="boxCode"><code>rgb2color.php 255 252 114</code></div></div></p>
<p>Il exploite la possibilité de <a href="http://docs.jmini.fr/notes/passer-arguments-script-php" title="Passer des arguments à un script PHP">passer des arguments à un script PHP</a>. Le script est écrit pour Mac OS X, pour un autre système d&#8217;exploitation, il faudra peut être adapter <a href="http://docs.jmini.fr/notes/rendre-executable-terminal" title="Rendre un fichier exécutable dans le terminal">la ligne Sha bang</a>.</p>
<h2>Détail des fonctions</h2>
<p>Evidement les fonctions appelées par le script sont réutilisables ailleurs.</p>
<h3>rgb2color</h3>
<div class="markCode"><div class="boxCode"><code>
<pre class="Clr_Code"><span class="Clr_KeyWord">function</span> rgb2color<span class="Clr_Operator">(</span><span class="Clr_Var">$red</span><span class="Clr_Operator">,</span> <span class="Clr_Var">$green</span><span class="Clr_Operator">,</span> <span class="Clr_Var">$blue</span><span class="Clr_Operator">)</span></pre>
<p></code></div></div>
<p>Il s&#8217;agit de la fonction principale. Le script ne fait que vérifier le nombres de paramètres et appelle cette fonction.</p>
<p>Les arguments sont :</p>
<ul>
<li><strong>$red</strong> (int) la valeur de la composante rouge (0-255)</li>
<li><strong>$green</strong> (int) la valeur de la composante verte (0-255)</li>
<li><strong>$blue</strong> (int) la valeur de la composante bleue (0-255)</li>
</ul>
<p>La valeur de retour est la couleur.</p>
<h3>dec2hex</h3>
<p><div class="markCode"><div class="boxCode"><code>
<pre class="Clr_Code"><span class="Clr_KeyWord">function</span> dec2hex<span class="Clr_Operator">(</span><span class="Clr_Var">$value</span><span class="Clr_Operator">,</span> <span class="Clr_Var">$size</span> <span class="Clr_Operator">=</span> <span class="Clr_Int">0</span><span class="Clr_Operator">,</span> <span class="Clr_Var">$char</span> <span class="Clr_Operator">=</span> <span class="Clr_String">'0'</span><span class="Clr_Operator">)</span></pre>
<p></code></div></div><br />
Cette fonction complète la fonction PHP <a href="http://fr.php.net/manual/fr/function.dechex.php">dechex</a>. Elle permet de contrôler le format de la chaîne retournée (en précisant de manière optionnelle la longueur de la chaîne et le caractère de remplissage).</p>
<p>Les paramètres sont :</p>
<ul>
<li><strong>$value</strong> (int) la valeur à convertir</li>
<li><strong>$size</strong> (int) la taille minimale de la chaine retournée</li>
<li><strong>$char</strong> (char) le caractère de remplissage (pour les chaînes trop courtes)</li>
</ul>
<p>La valeur retournée est la chaine hexadécimale formatée</p>
<p>Cette fonction ce comporte comme la fonction <a href="http://www.mathworks.com/access/helpdesk/help/techdoc/ref/dec2hex.html">dec2hex</a> de MATLAB</p>
]]></content:encoded>
			<wfw:commentRss>http://docs.jmini.fr/code/php-conversion-code-couleur/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mélange de fromage suisse</title>
		<link>http://docs.jmini.fr/memo/melange-fromage-suisse</link>
		<comments>http://docs.jmini.fr/memo/melange-fromage-suisse#comments</comments>
		<pubDate>Fri, 25 Sep 2009 21:14:28 +0000</pubDate>
		<dc:creator>Jérémie Bresson</dc:creator>
				<category><![CDATA[Memo]]></category>
		<category><![CDATA[cuisine]]></category>

		<guid isPermaLink="false">http://docs.jmini.fr/?p=98</guid>
		<description><![CDATA[
50% appenzell (fromage gras à pâte mi-dure au lait cru suisse)
30% emmental (fromage gras à pâte dure au lait cru suisse)
autre fromages gras à pâte mi-dure (au lait pasteurisé et au lait cru suisse)

]]></description>
			<content:encoded><![CDATA[<ul>
<li>50% appenzell (fromage gras à pâte mi-dure au lait cru suisse)</li>
<li>30% emmental (fromage gras à pâte dure au lait cru suisse)</li>
<li>autre fromages gras à pâte mi-dure (au lait pasteurisé et au lait cru suisse)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://docs.jmini.fr/memo/melange-fromage-suisse/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Réglages PHP sous Mac OS X</title>
		<link>http://docs.jmini.fr/memo/reglages-php-mac-osx</link>
		<comments>http://docs.jmini.fr/memo/reglages-php-mac-osx#comments</comments>
		<pubDate>Mon, 21 Sep 2009 13:39:57 +0000</pubDate>
		<dc:creator>Jérémie Bresson</dc:creator>
				<category><![CDATA[Memo]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[terminal]]></category>

		<guid isPermaLink="false">http://docs.jmini.fr/?p=97</guid>
		<description><![CDATA[En plus des réglages pour , j&#8217;ai modifié le fichier quelques réglages dans le fichier de configuration de PHP (php.ini).
Dans Mac OS X, ce fichier est à l&#8217;adresse : /private/etc/php.ini
Pour avec le super utilisateur, taper dans le terminal :
error_reporting
Par défaut, PHP est configuré pour afficher toutes les erreurs sans les remarques et avertissements (non fatales) [...]]]></description>
			<content:encoded><![CDATA[<p>En plus des réglages pour <a href="http://docs.jmini.fr/notes/mac-os-x-un-serveur-lamp" title="Mac OS X : un serveur LAMP ?">utiliser PHP sous Mac OS X</a>, j&#8217;ai modifié le fichier quelques réglages dans le fichier de configuration de PHP (php.ini).<br />
Dans Mac OS X, ce fichier est à l&#8217;adresse : <strong>/private/etc/php.ini</strong></p>
<p>Pour<a href="http://docs.jmini.fr/notes/editer-fichier-texte-terminal" title="Éditer un fichier texte avec le terminal"> éditer le fichier dans le terminal</a> avec le super utilisateur, taper dans le terminal :<br />
<div class="markCode"><div class="boxCode"><code>sudo nano /private/etc/php.ini</code></div></div></p>
<h3>error_reporting</h3>
<p>Par défaut, PHP est configuré pour afficher toutes les erreurs sans les remarques et avertissements (non fatales) :<br />
<div class="markCode"><div class="boxCode"><code>error_reporting = E_ALL &#038; ~E_NOTICE</code></div></div></p>
<p>Suivant les conseils donnés dans <a href="http://alexandre.alapetite.fr/doc-alex/apache-php/apache2-php5.html" title="Configuration Apache2.2 PHP5.2 - Doc Alex">cet article</a>, j&#8217;ai passé la ligne d&#8217;error_reporting à :<br />
<div class="markCode"><div class="boxCode"><code>error_reporting = E_ALL | E_STRICT</code></div></div></p>
<p>Ce réglage permet selon moi de mieux débugguer son code (en effet, souvent les avertissements donnés sont justifiés et je n&#8217;aime pas l&#8217;aspect trop permissif de PHP &#8211; comme le fait de pouvoir utilisé une variable non initialisée par exemple).</p>
]]></content:encoded>
			<wfw:commentRss>http://docs.jmini.fr/memo/reglages-php-mac-osx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>La variable $_SERVER en PHP</title>
		<link>http://docs.jmini.fr/listes-de-liens/la-variable-_server-en-php</link>
		<comments>http://docs.jmini.fr/listes-de-liens/la-variable-_server-en-php#comments</comments>
		<pubDate>Tue, 15 Sep 2009 07:44:48 +0000</pubDate>
		<dc:creator>Jérémie Bresson</dc:creator>
				<category><![CDATA[Listes de liens]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://docs.jmini.fr/?p=95</guid>
		<description><![CDATA[$_SERVER est une variable superglobale qui donne accès à des informations sur l&#8217;état du serveur (en-têtes, paramètres, dossiers et chemins du script&#8230;) qui exécute le script courant. Il s&#8217;agit d&#8217;un tableau, dont les entrées sont créées par le serveur.

$_SERVER (manuel PHP)
Les principales entrées de $_SERVER en PHP

]]></description>
			<content:encoded><![CDATA[<p><strong>$_SERVER</strong> est une variable superglobale qui donne accès à des informations sur l&#8217;état du serveur (en-têtes, paramètres, dossiers et chemins du script&#8230;) qui exécute le script courant. Il s&#8217;agit d&#8217;un tableau, dont les entrées sont créées par le serveur.</p>
<ul>
<li><a href="http://www.php.net/manual/reserved.variables.server.php" title="PHP: $_SERVER - Manual">$_SERVER</a> (manuel PHP)</li>
<li><a href="http://perso.univ-rennes1.fr/pascal.aubry/doc/php_variables/_server.php" title="Les principales entr&eacute;es de $_SERVER en PHP">Les principales entrées de $_SERVER en PHP</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://docs.jmini.fr/listes-de-liens/la-variable-_server-en-php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Liens services web &#8211; Interfaces</title>
		<link>http://docs.jmini.fr/listes-de-liens/liens-services-web-interfaces</link>
		<comments>http://docs.jmini.fr/listes-de-liens/liens-services-web-interfaces#comments</comments>
		<pubDate>Wed, 26 Aug 2009 20:31:30 +0000</pubDate>
		<dc:creator>Jérémie Bresson</dc:creator>
				<category><![CDATA[Listes de liens]]></category>

		<guid isPermaLink="false">http://docs.jmini.fr/?p=94</guid>
		<description><![CDATA[Interface possible pour les services web (protocoles normalisés de transmission de données) :

SOAP
REST
XML-RPC

Voir aussi : Service Web
Sécurisation des échanges

OAuth

]]></description>
			<content:encoded><![CDATA[<p>Interface possible pour les services web (protocoles normalisés de transmission de données) :</p>
<ul>
<li><a href="http://fr.wikipedia.org/wiki/soap" title="soap - wikipédia">SOAP</a></li>
<li><a href="http://fr.wikipedia.org/wiki/representational_state_transfer" title="representational state transfer - wikipédia">REST</a></li>
<li><a href="http://fr.wikipedia.org/wiki/xml-rpc" title="xml-rpc - wikipédia">XML-RPC</a></li>
</ul>
<p>Voir aussi : <a href="http://fr.wikipedia.org/wiki/Service_web" title="Service Web - Wikipédia">Service Web</a></p>
<h3>Sécurisation des échanges</h3>
<ul>
<li><a href="http://oauth.net/" title="OAuth &mdash; An open protocol to allow secure API authorization in a simple and standard method from desktop and web applications.">OAuth</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://docs.jmini.fr/listes-de-liens/liens-services-web-interfaces/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
