<?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 &#187; php</title>
	<atom:link href="http://docs.jmini.fr/mot-cle/php/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>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>Passer des arguments à un script PHP</title>
		<link>http://docs.jmini.fr/notes/passer-arguments-script-php</link>
		<comments>http://docs.jmini.fr/notes/passer-arguments-script-php#comments</comments>
		<pubDate>Wed, 19 Aug 2009 20:02:39 +0000</pubDate>
		<dc:creator>Jérémie Bresson</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[terminal]]></category>

		<guid isPermaLink="false">http://docs.jmini.fr/?p=91</guid>
		<description><![CDATA[J’ai déjà expliqué comment exécuter un script PHP en ligne de commande (). Comme pour beaucoup d’autres langages, il est possible de passer des arguments à un script PHP.
Deux variables sont accessibles dans le script :

$argc : est un entier qui contient le nombre de paramètres.
$argv : est un tableau qui contient les différentes variables.

À noter [...]]]></description>
			<content:encoded><![CDATA[<p>J’ai déjà expliqué comment exécuter un script PHP en ligne de commande (<a href="http://docs.jmini.fr/notes/rendre-executable-terminal" title="Rendre un fichier exécutable dans le terminal">Rendre un fichier exécutable dans le terminal</a>). Comme pour beaucoup d’autres langages, il est possible de passer des arguments à un script PHP.</p>
<p>Deux variables sont accessibles dans le script :</p>
<ul>
<li><strong>$argc</strong> : est un entier qui contient le nombre de paramètres.</li>
<li><strong>$argv</strong> : est un tableau qui contient les différentes variables.</li>
</ul>
<p>À noter que le nom du script constitue la première variable.<br />
On a donc toujours :</p>
<ul>
<li><strong>$argv</strong> au moins égal à un.</li>
<li><strong>$argc[0]</strong> contient le chemin appelé.</li>
</ul>
<p><strong>$argc[0]</strong> est égal à <strong>$_SERVER['PHP_SELF']</strong></p>
<p>La variable $argv peut servir à vérifier que le nombre d’arguments correspond au nombre attendu. Si ce n’est pas le cas, on pourra bloquer le script avec la fonction <strong>exit()</strong> en indiquant la syntaxe attendue.</p>
<p>Un exemple d’un tel script est donné dans <a href="http://docs.jmini.fr/code/php-conversion-code-couleur" title="PHP : Conversion code couleur">ce script de conversion d&#8217;une couleur RGB en code hexadécimal</a>.</p>
<p>En savoir plus :</p>
<ul>
<li><a href="http://www.php.net/manual/fr/features.commandline.php" title="PHP: Utiliser PHP en ligne de commande - Manual">(Manuel PHP) Utiliser PHP en ligne de commande</a></li>
<li><a href="http://fr.php.net/manual/fr/function.exit.php" title="PHP: exit - Manual">(Manuel PHP) la fonction exit</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://docs.jmini.fr/notes/passer-arguments-script-php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comment utiliser FSHL ?</title>
		<link>http://docs.jmini.fr/code/utiliser-fshl</link>
		<comments>http://docs.jmini.fr/code/utiliser-fshl#comments</comments>
		<pubDate>Thu, 09 Oct 2008 22:56:02 +0000</pubDate>
		<dc:creator>Jérémie Bresson</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[FSHL]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://docs.jmini.fr/?p=46</guid>
		<description><![CDATA[Dans  j&#8217;ai comparé différentes méthodes pour colorer du code source. Voici le guide d&#8217;utilisation de FSHL. Librement adapté de How to use FSHL, cet article détail le code à utiliser pour utiliser et paramétrer FSHL.
Si vous cherchez du code déjà prêt à l&#8217;emplois (copier-coler), regardez le sous-dossier &#171;&#160;examples&#160;&#187; de l&#8217;archive d&#8217;installation.
Voici un premier exemple [...]]]></description>
			<content:encoded><![CDATA[<p>Dans <a href="http://docs.jmini.fr/notes/coloration-syntaxique" title="Coloration syntaxique &#8211; Méthodes">cet article</a> j&#8217;ai comparé différentes méthodes pour colorer du code source. Voici le guide d&#8217;utilisation de <a href="http://code.google.com/p/fshl/" title="fshl - Google Code">FSHL</a>. Librement adapté de <a href="http://code.google.com/p/fshl/wiki/HelpCodeSnippets" title="HelpCodeSnippets - fshl - Google Code - How to use FSHL">How to use FSHL</a>, cet article détail le code à utiliser pour utiliser et paramétrer FSHL.</p>
<div id="attachment_41" class="wp-caption aligncenter" style="width: 310px"><a href="http://docs.jmini.fr/wp-content/uploads/2008/10/fshl.png"><img src="http://docs.jmini.fr/wp-content/uploads/2008/10/fshl-300x272.png" alt="Coloration dans FSHL" title="FSHL" width="300" height="272" class="size-medium wp-image-41" /></a><p class="wp-caption-text">Coloration Syntaxique du PHP dans FSHL</p></div>
<p>Si vous cherchez du code déjà prêt à l&#8217;emplois (copier-coler), regardez le sous-dossier &laquo;&nbsp;examples&nbsp;&raquo; de l&#8217;archive d&#8217;installation.</p>
<p>Voici un premier exemple pour monter l&#8217;utilisation de base de FSHL</p>
<h3>1) Inclure la librairie dans le projet :</h3>
<div class="markCode"><div class="boxCode"><code><span class="Clr_KeyWord">require_once</span><span class="Clr_Operator">(</span>__CHEMIN_VERS_FSHL__ <span class="Clr_Operator">.</span> <span class="Clr_String">'/fshl/fshl.php'</span><span class="Clr_Operator">)</span><span class="Clr_Operator">;</span><br />
</code></div></div>
<h3>2) Préparer le texte à colorer :</h3>
<div class="markCode"><div class="boxCode"><code><span class="Clr_Var">$your_supa_dupa_text</span> <span class="Clr_Operator">=</span> <span class="Clr_String">"--<span class="Clr_SpeChar">\t</span>insert into<span class="Clr_SpeChar">\t</span>`superb_table`<span class="Clr_SpeChar">\n</span>"</span><span class="Clr_Operator">;</span><br />
<span class="Clr_Var">$your_supa_dupa_text</span> <span class="Clr_Operator">.</span><span class="Clr_Operator">=</span> <span class="Clr_String">"<span class="Clr_SpeChar">\t</span>INSERT INTO<span class="Clr_SpeChar">\t</span>`superb_table`<span class="Clr_SpeChar">\t</span>VALUES (1, 9, 0, 3, 0);<span class="Clr_SpeChar">\n</span>"</span><span class="Clr_Operator">;</span><br />
<span class="Clr_Var">$your_supa_dupa_text</span> <span class="Clr_Operator">.</span><span class="Clr_Operator">=</span> <span class="Clr_String">"<span class="Clr_SpeChar">\t</span>INSERT INTO<span class="Clr_SpeChar">\t</span>`superb_table`<span class="Clr_SpeChar">\t</span>VALUES (8, 0, 0, 3, 0);<span class="Clr_SpeChar">\n</span>"</span><span class="Clr_Operator">;</span><br />
</code></div></div><br />
<em>Extrait du fichier fshl/examples/simple.php</em>.</p>
<p><div class="markNote"><blockquote>Il est également possible d&#8217;utiliser la fonction <a href="http://www.php.net/manual/fr/function.file-get-contents.php" title="PHP: file_get_contents - Manual">file_get_contents()</a> pour récupérer le contenu d&#8217;un fichier.<br />
</blockquote></div></p>
<h3>3) Choisissez les options :</h3>
<p><div class="markCode"><div class="boxCode"><code><span class="Clr_Var">$output_module</span> <span class="Clr_Operator">=</span> <span class="Clr_String">'HTML_UTF8'</span><span class="Clr_Operator">;</span><br />
<span class="Clr_Var">$start_language</span> <span class="Clr_Operator">=</span> <span class="Clr_String">'SQL'</span><span class="Clr_Operator">;</span><br />
</code></div></div>
<p><em>$output_module</em> est le module utilisé pour l&#8217;affichage. &#8216;HTML_UFT8&#8242; désigne une sortie au format XHTML encodé en UFT8.<br />
<em>$start_language</em> est le langage au début du code.</p>
<div class="markNote"><blockquote>La liste des valeurs possibles se trouvent dans la documentation :</p>
<ul>
<li>[fichier <strong>!INSTALL.txt</strong>] $output_module = {HTML, HTML_HP, HTML_UTF8, HTML_HP_UTF8, &#8230;}. &#8230;_HP ajoute les liens depuis les fonctions vers l&#8217;aide. &#8230;_UTF8 permet l&#8217;encodage au format UFT8.</li>
<li>[<a href="http://code.google.com/p/fshl/wiki/HelpSupportedGrammars" title="HelpSupportedGrammars - fshl - Google Code - Short list of the grammars which are available for FSHL.">Supported languages</a>] $start_language = {HTML, HTMLonly, CSS, PHP, JS, CPP, JAVA, SQL, PY, &#8230;}</li>
</ul>
<p></blockquote></div>
<h3>4) Executer le code</h3>
<p>Il faut instancier la classe fshlParser :</p>
<div class="markCode"><div class="boxCode"><code><span class="Clr_Var">$parser</span> <span class="Clr_Operator">=</span> <span class="Clr_KeyWord">new</span> fshlParser<span class="Clr_Operator">(</span><span class="Clr_Var">$output_module</span><span class="Clr_Operator">)</span><span class="Clr_Operator">;</span><br />
</code></div></div>
<p>Il faut ensuite appeler la fonction qui colore le fichier.<br />
Le resultat est retourné par la fonction <em>highlightString()</em>.<br />
On l&#8217;affiche dans la page HTML encadrée par une balise &lt;pre&gt;.</p>
<div class="markCode"><div class="boxCode"><code><span class="Clr_Funct">echo</span> <span class="Clr_String">'&lt;pre class="normal"&gt;'</span><span class="Clr_Operator">;</span><br />
<span class="Clr_Funct">echo</span> <span class="Clr_Var">$parser</span><span class="Clr_Operator">-</span><span class="Clr_Operator">></span>highlightString<span class="Clr_Operator">(</span><span class="Clr_Var">$start_language</span><span class="Clr_Operator">,</span> <span class="Clr_Var">$your_supa_dupa_text</span><span class="Clr_Operator">)</span><span class="Clr_Operator">;</span><br />
<span class="Clr_Funct">echo</span> <span class="Clr_String">'&lt;/pre&gt;'</span><span class="Clr_Operator">;</span><br />
</code></div></div>
<h3>Où sont les couleurs ?</h3>
<p>FSHL n&#8217;ajoute jamais la feuille de style à la sortie. Il se contente de d&#8217;ajouter des classes css au code, et il faut ajouter la feuille de style correspondante à la page qui affiche le code.<br />
Une feuille de style de démonstration est est donné dans l&#8217;archive à télécharger : <em>fshl/styles/COHEN_style.css</em><br />
Il est possible de la placer n&#8217;importe où et de la modifier selon les besoins.</p>
]]></content:encoded>
			<wfw:commentRss>http://docs.jmini.fr/code/utiliser-fshl/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Coloration syntaxique &#8211; Méthodes</title>
		<link>http://docs.jmini.fr/notes/coloration-syntaxique</link>
		<comments>http://docs.jmini.fr/notes/coloration-syntaxique#comments</comments>
		<pubDate>Thu, 09 Oct 2008 21:55:36 +0000</pubDate>
		<dc:creator>Jérémie Bresson</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[FSHL]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programmation]]></category>

		<guid isPermaLink="false">http://docs.jmini.fr/?p=39</guid>
		<description><![CDATA[Lire du code source n&#8217;est jamais très facile. Lorsque l&#8217;on souhaite en publier sur son site web, il est important de le mettre joliment en forme, pour faciliter sa lecture. L&#8217;utilisation de la balise &#60;pre&#62; (pour respecter les esapces, tabulations et sauts de ligne), le changement de police et la coloration du texte sont des [...]]]></description>
			<content:encoded><![CDATA[<p>Lire du code source n&#8217;est jamais très facile. Lorsque l&#8217;on souhaite en publier sur son site web, il est important de le mettre joliment en forme, pour faciliter sa lecture. L&#8217;utilisation de la balise &lt;pre&gt; (pour respecter les esapces, tabulations et sauts de ligne), le changement de police et la coloration du texte sont des incontournables.<br />
Retrouver les fichiers de test utilisés en pièce-jointe de cet article.<br />
Il existe plusieurs solutions pour colorer du code source. Chacune à ses avantages et ses inconvénients. Cet article recense différente méthodes :</p>
<h2>Avec un éditeur de texte :</h2>
<h3>TextMate :</h3>
<p>De nombreux éditeurs de texte réalisent la coloration du code en cours de saisie. Certain d&#8217;entre eux (dont le mien TextMate) propose d&#8217;exporter le texte saisi au format HTML pour le réafficher dans un navigateur web comme il apparaît dans l&#8217;éditeur.</p>
<p>Dans TextMate il faut sélectionner le menu action dans la barre sous la fenêtre de l&#8217;éditeur, puis choisir TextMate et l&#8217;option &laquo;&nbsp;Create HTML From Document&nbsp;&raquo; (ou &laquo;&nbsp;Create HTML From Selection&nbsp;&raquo;). L&#8217;option &laquo;&nbsp;Create CSS from Current Theme&nbsp;&raquo; permet de récupérer la feuille de style associé.</p>
<div id="attachment_40" class="wp-caption aligncenter" style="width: 160px"><a href="http://docs.jmini.fr/notes/coloration-syntaxique/attachment/textmate" rel="attachment wp-att-40"><img src="http://docs.jmini.fr/wp-content/uploads/2008/10/textmate-150x150.png" alt="Coloration syntaxique du PHP dans TextMate" title="TextMate" width="150" height="150" class="size-medium wp-image-40" /></a><p class="wp-caption-text">avec TextMate</p></div>
<h2>Avec des scripts en PHP :</h2>
<p><em>(exécution côté serveur)</em></p>
<h3>fshl :</h3>
<p>Script qui colore rapidement et correctement les une dizaine de langage courants. Gère très bien le mélange de langages (CSS, JS, PHP) dans l&#8217;HTML.<br />
<a href="http://code.google.com/p/fshl/" title="fshl - Google Code">Page du projet</a>.<br />
<a href="http://hvge.sk/scripts/fshl/online/index.php" title="FastSHL Example - universal syntax highlighter">Test en ligne</a><br />
<a href="http://docs.jmini.fr/code/utiliser-fshl" title="Comment utiliser FSHL ?">Comment utiliser FSHL ?</a> sur ce site.</p>
<div id="attachment_41" class="wp-caption aligncenter" style="width: 160px"><a href="http://docs.jmini.fr/?attachment_id=41"><img src="http://docs.jmini.fr/wp-content/uploads/2008/10/fshl-150x150.png" alt="Coloration dans FSHL" title="FSHL" width="150" height="150" class="size-medium wp-image-41" /></a><p class="wp-caption-text">avec FSHL</p></div>
<h3>GeSHi &#8211; Generic Syntax Highlighter :</h3>
<p>Projet assez ancien qui supporte de très nombreux langages de programmation (une centaine). Il a la réputation d&#8217;être une usine à gaz.<br />
<a href="http://qbnz.com/highlighter/" title="GeSHi - Generic Syntax Highlighter :: Home">Page du projet</a><br />
<a href="http://qbnz.com/highlighter/demo.php" title="GeSHi - Generic Syntax Highlighter :: Demo">Test en ligne</a><br />
Implémentation dans un plugin wordpress : <a href="http://wordpress.org/extend/plugins/wp-syntax/" title="WordPress &#8250; WP-Syntax &laquo; WordPress Plugins">WP-Syntax</a></p>
<div id="attachment_42" class="wp-caption aligncenter" style="width: 160px"><a href="http://docs.jmini.fr/notes/coloration-syntaxique/attachment/geshi" rel="attachment wp-att-42"><img src="http://docs.jmini.fr/wp-content/uploads/2008/10/geshi-150x150.png" alt="Coloration dans GeSHi" title="GeSHi" width="150" height="150" class="size-medium wp-image-42" /></a><p class="wp-caption-text">avec GeSHi</p></div>
<h3>PHPaintCode par derfum :</h3>
<p><em>(anciennement Coloration Syntaxique)</em><br />
Limité à la coloration du PHP. Support en Français.<br />
<a href="http://www.phpcs.com/codes/PHPAINTCODE_23984.aspx" title="PHPAINTCODE , Source N&#176;23984">Page du projet</a></p>
<div id="attachment_43" class="wp-caption aligncenter" style="width: 160px"><a href="http://docs.jmini.fr/wp-content/uploads/2008/10/phpaintcode.png"><img src="http://docs.jmini.fr/wp-content/uploads/2008/10/phpaintcode-150x150.png" alt="Coloration dans PHPaintCode" title="PHPaintCode" width="150" height="150" class="size-medium wp-image-43" /></a><p class="wp-caption-text">avec PHPaintCode</p></div>
<h3>Fonction PHP :</h3>
<p>Il existe une fonction PHP qui colorie le code PHP d&#8217;un document. Il n&#8217;y a pas de feuille de style, on ne peux donc pas choisir les couleurs.</p>
<div id="attachment_44" class="wp-caption aligncenter" style="width: 160px"><a href="http://docs.jmini.fr/notes/coloration-syntaxique/attachment/highlight-file" rel="attachment wp-att-44"><img src="http://docs.jmini.fr/wp-content/uploads/2008/10/highlight-file-150x150.png" alt="avec la fonction highlight-file()" title="highlight-file" width="150" height="150" class="size-thumbnail wp-image-44" /></a><p class="wp-caption-text">avec highlight-file()</p></div>
<h2>Par des scripts en javascript :</h2>
<p><em>(exécution côté client)</em></p>
<h3>syntaxhighlighter</h3>
<p><a href="http://code.google.com/p/syntaxhighlighter/" title="syntaxhighlighter - Google Code">Page du projet</a><br />
Implémentation dans un plugin wordpress : <a href="http://wordpress.org/extend/plugins/google-syntax-highlighter/" title="WordPress &#8250; Google Syntax Highlighter for WordPress &laquo; WordPress Plugins">Google Syntax Highlighter for WordPress</a></p>
<div id="attachment_45" class="wp-caption aligncenter" style="width: 160px"><a href="http://docs.jmini.fr/notes/coloration-syntaxique/attachment/syntaxhighlighter" rel="attachment wp-att-45"><img src="http://docs.jmini.fr/wp-content/uploads/2008/10/syntaxhighlighter-150x150.png" alt="Coloration avec syntaxhighlighter" title="syntaxhighlighter" width="150" height="150" class="size-thumbnail wp-image-45" /></a><p class="wp-caption-text">avec syntaxhighlighter</p></div>
<h2>A lire sur le web :</h2>
<ul>
<li><a href="http://www.ivation.net/34-fshl-un-bon-colorateur-syntaxique-en-php.html" title="Fshl : un bon colorateur syntaxique en PHP - Ivation">Fshl : un bon colorateur syntaxique en PHP</a></li>
<li><a href="http://blogtoolbox.fr/ecrire-et-publier-du-code-sur-wordpress/" title="Écrire et publier du code sur WordPress">Écrire et publier du code sur WordPress</a></li>
<li><a href="http://www.code-web.org/post/2008/03/28/Plugin-de-coloration-syntaxique" title="Plugin de coloration syntaxique">Plugin de coloration syntaxique (Dotclear 2)</a></li>
<li><a href="http://fr.wikipedia.org/wiki/Coloration_syntaxique" title="Coloration syntaxique - Wikipédia">Coloration syntaxique &#8211; Wikipédia</a></li>
<li><a href="http://wordpress.org/extend/plugins/tags/syntax" title="WordPress &#8250; syntax &laquo; Tags &laquo; WordPress Plugins">Wordpress Plugin Directory [Tag: syntax]</a> : Catalogue des plugins wordpress pour faire de la coloration syntaxique (en anglais)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://docs.jmini.fr/notes/coloration-syntaxique/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Les Framworks pour le dévellopement web</title>
		<link>http://docs.jmini.fr/listes-de-liens/framworks-devellopement-web</link>
		<comments>http://docs.jmini.fr/listes-de-liens/framworks-devellopement-web#comments</comments>
		<pubDate>Sat, 28 Jul 2007 19:11:19 +0000</pubDate>
		<dc:creator>Jérémie Bresson</dc:creator>
				<category><![CDATA[Listes de liens]]></category>
		<category><![CDATA[création de site]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programmation]]></category>

		<guid isPermaLink="false">http://docs.jmini.fr/?p=7</guid>
		<description><![CDATA[Depuis quelque temps on en trouve beaucoup pour le développement web. Le plus connu d&#8217;entre eux est certainement Ruby On Rail (ou RoR pour les intimes) développé en Ruby, mais il a été suivit par de très nombreux autres : PhpCake, Php on Trax, Symfony, django en Python&#8230;
Cette note recense des liens pour les retrouver [...]]]></description>
			<content:encoded><![CDATA[<p>Depuis quelque temps on en trouve beaucoup pour le développement web. Le plus connu d&#8217;entre eux est certainement <strong>Ruby On Rail</strong> (ou RoR pour les intimes) développé en Ruby, mais il a été suivit par de très nombreux autres : <strong>PhpCake</strong>, <strong>Php on Trax</strong>, <strong>Symfony</strong>, <strong>django</strong> en Python&#8230;</p>
<p>Cette note recense des liens pour les retrouver rapidement et faire son choix.</p>
<h3>Introduction :</h3>
<p>D&#8217;après wikipedia [<a href="http://fr.wikipedia.org/wiki/Framework" target="_blank">lien</a>] :<br />
<div class="markCit"><blockquote>Un framework est un ensemble de bibliothèques permettant le développement rapide d&#8217;applications. Il fournit suffisamment de briques logicielles pour pouvoir produire une application aboutie. Ils sont en principe spécialisés pour un type d&#8217;application.</blockquote></div></p>
<h3>Comparatifs :</h3>
<p>- <a href="http://developpeur.journaldunet.com/tutoriel/php/060313-php-panorama-frameworks.shtml" target="_blank"> Dix frameworks PHP</a> JDN|développeurs (13/03/2006)<br />
- <a href="http://www.breek.fr/extras" target="_blank">Benchmark fonctionnel Rails, Django &amp; CakePHP</a> breek (20/10/2006)<br />
- <a href="http://www.smile.fr/content/smile/livreblanc/frameworks_php.htm" target="_blank">Smile.fr &#8211; Livre Blanc des Frameworks PHP</a> : Le point sur les différents Framworks PHP en 77 pages avec présentations, explications, exemples de code&#8230;</p>
<hr />
<h3>Liens :</h3>
<p><strong>CakePHP :</strong><br />
- Site officiel : <a href="http://www.cakephp.org/" target="_blank">http://www.cakephp.org/</a><br />
- (fr) <a href="http://www.cakepourtous.org/" target="_blank">http://www.cakepourtous.org/</a><br />
- (fr) <a href="http://www.cakephp-fr.org/" target="_blank">http://www.cakephp-fr.org/</a><br />
- <a href="http://www.lephp.com/apprendre-php/experience-cakephp,64.htm" target="_blank">Expérience CakePhp</a> lephp.com (17/10/06)</p>
<p><strong>eZ Components :</strong><br />
- Site officiel : <a href="http://ez.no/ezcomponents" target="_blank">http://ez.no/ezcomponents</a></p>
<p><strong>Mojavi :</strong><br />
- Site officiel : <a href="http://www.mojavi.org/" target="_blank">http://www.mojavi.org/</a></p>
<p><strong>Prado :</strong><br />
- Site officiel : <a href="http://www.xisc.com/" target="_blank">http://www.xisc.com/</a></p>
<p><strong>Phocoa :</strong><br />
- Site officiel : <a href="http://phocoa.com/" target="_blank">http://phocoa.com/</a></p>
<p><strong>phpMVC :</strong><br />
- Site officiel : <a href="http://www.phpmvc.net/" target="_blank">http://www.phpmvc.net/</a></p>
<p><strong>PHP on Trax :</strong><br />
- Site officiel : <a href="http://www.phpontrax.com/" target="_blank">http://www.phpontrax.com/</a></p>
<p><strong>Seagull :</strong><br />
- Site officiel : <a href="http://seagull.phpkitchen.com/" target="_blank">http://seagull.phpkitchen.com/</a></p>
<p><strong>Symfony :</strong><br />
- Site officiel : <a href="http://www.symfony-project.com/" target="_blank">http://www.symfony-project.com/</a></p>
<p><strong>WACT :</strong><br />
- Site officiel : <a href="http://www.phpwact.org/" target="_blank">http://www.phpwact.org/</a></p>
<p><strong>Zend Framework :</strong><br />
- Site officiel : <a href="http://framework.zend.com/" target="_blank">http://framework.zend.com/</a></p>
<p><strong>Django (Python) :</strong><br />
- Site officiel : <a href="http://www.djangoproject.com/" target="_blank">http://www.djangoproject.com/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://docs.jmini.fr/listes-de-liens/framworks-devellopement-web/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[HACK XOOPS] Ordre dans l&#8217;Image Manager</title>
		<link>http://docs.jmini.fr/code/hack-xoops-ordre-image-manager</link>
		<comments>http://docs.jmini.fr/code/hack-xoops-ordre-image-manager#comments</comments>
		<pubDate>Fri, 27 Jul 2007 09:29:04 +0000</pubDate>
		<dc:creator>Jérémie Bresson</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[application web]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[xoops]]></category>

		<guid isPermaLink="false">http://docs.jmini.fr/?p=16</guid>
		<description><![CDATA[Ce Hack pour Xoops (2.0.x), permet de changer l&#8217;ordre d&#8217;affichage dans Image Manager. Comme tous les hacks (modification directe du code d&#8217;une application toute faite), il s&#8217;adresse à un public averti et la modification doit être refaite sur chaque mise à jour.
Par défaut, le manager d&#8217;image utilise le poids assigné à chaque image pour les [...]]]></description>
			<content:encoded><![CDATA[<p>Ce Hack pour Xoops (2.0.x), <strong>permet de changer l&#8217;ordre d&#8217;affichage dans Image Manager</strong>. Comme tous les hacks (modification directe du code d&#8217;une application toute faite), il s&#8217;adresse à un public averti et la modification doit être refaite sur chaque mise à jour.</p>
<hr />Par défaut, le manager d&#8217;image utilise le poids assigné à chaque image pour les classer. Cette fonctionnalité ne convenait pas du tout à la manière dont je me sers du manager. En effet, j&#8217;ajoute une photo pour mon article (ça la télécharge sur le site), et je m&#8217;en sers&#8230; Comme les derniers fichiers se retrouvaient toujours à la fin, cela ajoutait à chaque fois quelques clics avant d&#8217;avoir l&#8217;image en question. Je voulais donc avoir un tri par date d&#8217;upload, avec la plus récente en première.</p>
<div class="markRem"><blockquote>Attention : l&#8217;installation de ce Hack est à vos risques et périls. N&#8217;oubliez pas de le remettre après une mise à jour de xoops.</blockquote></div>
<p>Configuration de test :</p>
<ul>
<li>Xoops 2.0.16</li>
<li>TinyEditor 1.0</li>
</ul>
<h2>Image Manager</h2>
<p>Ma solution est simple :</p>
<p>Il faut ajouter deux lignes pour indiquer le tri désiré au moment de la requête SQL sur la base de données :</p>
<ul>
<li>le nom de la table sur lequel on fait le tri (voir ci-dessous toutes les possibilités, dans mon cas : <span class="Clr_String">&#8216;image_created&#8217;</span>)</li>
<li>si celui-ci est ascendant (<span class="Clr_String">&#8216;ASC&#8217;</span>) ou descendant (<span class="Clr_String">&#8216;DESC&#8217;</span>).</li>
</ul>
<p>La requête SQL n&#8217;est pas écrite directement, mais à partir d&#8217;une instance (<span class="Clr_Var">$criteria</span>) de la classe : <em>CriteriaCompo</em>. Il faut donc se servir des méthodes setSort(<span class="Clr_Var">$sort</span>) et setOrder(<span class="Clr_Var">$order</span>) de l&#8217;objet.</p>
<p>Ce qui donne les deux lignes suivantes :</p>
<div class="markCode"><div class="boxCode"><code><span class="Clr_Comment">//HACK : ordre d'affichage : plus récente en premier</span><br />
<span class="Clr_Var">$criteria</span><span class="Clr_Operator">-</span><span class="Clr_Operator">&gt;</span>setSort<span class="Clr_Operator">(</span><span class="Clr_String">'image_created'</span><span class="Clr_Operator">)</span><span class="Clr_Operator">;</span><br />
<span class="Clr_Var">$criteria</span><span class="Clr_Operator">-</span><span class="Clr_Operator">&gt;</span>setOrder<span class="Clr_Operator">(</span><span class="Clr_String">'DESC'</span><span class="Clr_Operator">)</span><span class="Clr_Operator">;</span><br />
<span class="Clr_Comment">//FIN_HACK</span></code></div></div>
<p>Ces lignes se placent au même niveau que les autres &laquo;&nbsp;<span class="Clr_Var">$criteria</span>-&gt;&#8230;&nbsp;&raquo; dans le fichier <strong>site_xoops/imagemanager.php</strong>. À savoir juste après la  ligne 90 :</p>
<div class="markCode"><div class="boxCode"><code><span class="Clr_Var">$criteria</span><span class="Clr_Operator">-</span><span class="Clr_Operator">&gt;</span>setSort<span class="Clr_Operator">(</span><span class="Clr_String">'image_created'</span><span class="Clr_Operator">)</span><span class="Clr_Operator">;</span></code></div></div>
<p>et avant :</p>
<div class="markCode"><div class="boxCode"><code><span class="Clr_Var">$storetype</span> <span class="Clr_Operator">=</span> <span class="Clr_Var">$imgcat</span><span class="Clr_Operator">-</span><span class="Clr_Operator">&gt;</span>getVar<span class="Clr_Operator">(</span><span class="Clr_String">'imgcat_storetype'</span><span class="Clr_Operator">)</span><span class="Clr_Operator">;</span></code></div></div>
<h2>Image Manager dans TinyEditor</h2>
<p>Si vous utilisez l&#8217;excellent éditeur WYSIWYG <strong>TinyEditor</strong> avec le manager d&#8217;image xoops, il faut savoir que celui-ci a été réécrit pour ce module. Les 2 lignes de code sont à insérer dans le fichier <strong>site_xoops/modules/tinyeditor/editor/plugins/ximagemanager/tinyedimagemanager.php</strong>, de la même manière : entre la ligne 114 :</p>
<div class="markCode"><div class="boxCode"><code><span class="Clr_Var">$criteria</span><span class="Clr_Operator">-</span><span class="Clr_Operator">&gt;</span>setSort<span class="Clr_Operator">(</span><span class="Clr_String">'image_created'</span><span class="Clr_Operator">)</span><span class="Clr_Operator">;</span></code></div></div>
<p>et</p>
<p><div class="markCode"><div class="boxCode"><code><span class="Clr_Var">$storetype</span> <span class="Clr_Operator">=</span> <span class="Clr_Var">$imgcat</span><span class="Clr_Operator">-</span><span class="Clr_Operator">&gt;</span>getVar<span class="Clr_Operator">(</span><span class="Clr_String">'imgcat_storetype'</span><span class="Clr_Operator">)</span><span class="Clr_Operator">;</span></code></div></div><br />
 </p>
<h2>Critères de tri</h2>
<p>La table qui stoque les images contiens les champs suivants (chacun d&#8217;entre eux est utilisable comme clé pour le tri) :</p>
<ul>
<li><strong>image_id</strong> : clé unique de l&#8217;image (il s&#8217;agit d&#8217;un nombre entier donné dans l&#8217;ordre croissant au fur et à mesure des ajouts)</li>
<li><strong>image_name</strong> : nom de l&#8217;image (il est généré aléatoirement au moment du téléchargement sur le serveur)</li>
<li><strong>image_nicename</strong> : nom d&#8217;affichage de l&#8217;image (c&#8217;est celui qui est indiqué lors du téléchargement et qui correspond à la colonne de droite dans le manager)</li>
<li><strong>image_mimetype</strong> : type du fichier (image/gif, image/png, image/jpeg &#8230;)</li>
<li><strong>image_created</strong> : date de création (sous forme d&#8217;un timestamp unix)</li>
<li># <strong>image_display</strong> : 1 si l&#8217;image doit être affichée (aucun intérêt pour le tri, l&#8217;utilisateur ne voit de toute façon que les images dont le image_display est à 1 )</li>
<li><strong>image_weight</strong> : poids de l&#8217;image (sur ma configuration de test, ce champ n&#8217;est pas renseigné&#8230; S&#8217;agit-il d&#8217;un bug)</li>
<li># <strong>imgcat_id</strong> : identifiant de la catégorie à laquelle appartient l&#8217;image (aucun intérêt pour le tri, l&#8217;utilisateur ne voit de toute façon que les images dont la catégorie est celle qui a été choisie. )</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://docs.jmini.fr/code/hack-xoops-ordre-image-manager/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mac OS X : un serveur LAMP ?</title>
		<link>http://docs.jmini.fr/notes/mac-os-x-un-serveur-lamp</link>
		<comments>http://docs.jmini.fr/notes/mac-os-x-un-serveur-lamp#comments</comments>
		<pubDate>Fri, 23 Mar 2007 08:02:28 +0000</pubDate>
		<dc:creator>Jérémie Bresson</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[hébergement]]></category>
		<category><![CDATA[mac os x]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://docs.jmini.fr/?p=12</guid>
		<description><![CDATA[LAMP :
Par définition, LAMP est un acronyme qui désigne la réunion sur une même plateforme de : Linux (système d&#8217;exploitation), Apache (serveur web), MySQL (serveur de base de données) et PHP (langage de script). Par définition donc, Mac OS n’est donc pas une solution LAMP, puisque Mac OS n’est pas un Linux. Néanmoins, Mac OS [...]]]></description>
			<content:encoded><![CDATA[<h3>LAMP :</h3>
<p>Par définition, LAMP est un acronyme qui désigne la réunion sur une même plateforme de : <strong>L</strong>inux (système d&#8217;exploitation), <strong>A</strong>pache (serveur web), <strong>M</strong>ySQL (serveur de base de données) et <strong>P</strong>HP (langage de script). Par définition donc, Mac OS n’est donc pas une solution LAMP, puisque Mac OS n’est pas un Linux. Néanmoins, Mac OS X est un UNIX (basé sur FreeBSD) et peut tout à fait servir de serveur web. Wikipédia propose le néologisme MAMP pour désigner de telle solution.</p>
<p>Cet article décrit comment installer un serveur Web sur la version normale de Mac OS X. Un tel serveur web peu notamment servir à faire des essais, ou alors comme serveur d’un intranet par exemple. Pour des besoins plus évolués, il faudrait certainement se pencher sur l’utilisation de MAMP avec Mac OS X Serveur (les principes de cet article doivent tout de même être vrais).</p>
<div class="markNote"><blockquote><em>Cet article a été rédigé avec la version 10.4.9 de Mac OS X, mais cette procédure était déjà valable avec la version 10.2 et le sera certainement avec la version 10.5.</em></blockquote></div>
<h2>Apache :</h2>
<p>Par défaut Apache est installé pour Mac OS X. Pour le lancer c’est très simple, il faut faire :</p>
<p><strong>Menu Pomme &gt; Préférence Système &gt; Partage &gt; Services</strong></p>
<p>Dans la liste il suffit de sélectionner <em>Partage Web personnel</em> et de cliquer sur Démarrer.</p>
<p>Dès que l’on tape : http://localhost/ (ou http://127.0.0.1/) dans son navigateur, on obtient les pages du serveur Apache.</p>
<p>La racine du serveur web se trouve dans le dossier :</p>
<p><strong>Macintosh HD &gt; Bibliothèque &gt; WebServer &gt; Documents.</strong></p>
<p>Il faut des droits d&#8217;administrateur pour modifier ce dossier.</p>
<p>Chaque utilisateur a la possibilité d’avoir son site internet. Il place alors ses pages dans le dossier :</p>
<p><strong>Macintosh HD &gt; Utilisateurs &gt; Dossier personnel (la maison) &gt; Sites</strong></p>
<p>Les pages sont alors disponibles à l’adresse : http://127.0.0.1/~nom_dutilisateur/<br />
<div class="markRem"><blockquote>Il faut bien faire la différence entre l’affichage d’une page HTML par le serveur web et directement dans le navigateur :</p>
<p>file:///Users/nom_dutilisateur/Sites/ma_page.html affiche le fichier</p>
<p>http://127.0.0.1/~nom_dutilisateur/ma_page.html affiche la réponse du serveur web. (qui dans ce cas est le même fichier)</p>
<p>Dans le cas d’un simple fichier HTML, il n’y a aucune différence, mais avec des fichiers php, dans le premier cas le fichier ne sera pas interprété (on verra les sources) alors que dans le deuxième cas on verra le résultat de l’exécution du script php.<br />
</blockquote></div></p>
<h2>MySQL :</h2>
<p>Il est tout à fait possible d’avoir une base de données MySQL. Pour ma part j’ai choisi d’installer une solution toute faite proposée par <a href="http://www.serverlogistics.com/mysql.php" target="_blank">ServerLogistics</a>.</p>
<p>Elle a l’avantage de s’installer avec un simple fichier <strong>.pkg</strong> (utilisable avec l&#8217;installateur Apple) et propose un PreferencesPane (module pour les préférences système).</p>
<div class="markNote"><blockquote><strong>Note : </strong> Visiblement MySQL propose depuis la version 4.0.11 un paquet <strong>.pkg</strong> officiel à utiliser avec l&#8217;<strong>installateur Apple</strong>. <em>A voir</em>.</p>
<p>Documentation officielle : <a href="http://dev.mysql.com/doc/refman/5.0/fr/mac-os-x-installation.html">MySQL 5.0 Reference Manual : Installer MySQL sur Mac OS X</a></blockquote></div>
<h3>Emplacement du Socket MySQL</h3>
<p>Récemment, j’ai rencontré un problème avec le Soket MySql. Il semblerait qu’il y ait un ancien et un nouvel emplacement :</p>
<ul>
<li>Par défaut, Apache l&#8217;attend ici : <strong>/var/mysql/mysql.sock</strong></li>
<li>Celui installé par ServerLogistics se trouve à l’ancien emplacement : <strong>/tmp/mysql.sock</strong></li>
</ul>
<p>Il faut donc modifier le fichier de configuration pour indiquer que l’on veut l’utiliser l’ancien emplacement. Le fichier de configuration est à l’adresse : <strong>/etc/php.ini</strong></p>
<p>Voici comment modifier le fichier de configuration (lire également l&#8217;<a href="http://docs.jmini.fr/notes/editer-fichier-texte-terminal" title="Éditer un fichier texte avec le terminal">article sur l&#8217;édition des fichiers textes dans le terminal</a> si vous n&#8217;êtes pas à l&#8217;aise avec son utilisation). Dans le terminal taper (il faut être administrateur) :<br />
<div class="markCode"><div class="boxCode"><code>sudo nano /etc/php.ini</code></div></div></p>
<p>dans le fichier, il faut modifier la valeur de la variable mysql.default_socket. Il faut que la ligne soit égale à :<br />
<div class="markCode"><div class="boxCode"><code>mysql.default_socket = /tmp/mysql.sock</code></div></div></p>
<p>Plus d’information sur ce changement sur le site d’Apple : <a href="http://docs.info.apple.com/article.html?artnum=302977-fr" target="_blank">améliorations de l&#8217;interaction Apache/PHP/MySQL</a>.<br />
(cela concerne la version serveur, mais le fonctionnement est sensiblement le même)</p>
<h2>PHP :</h2>
<p>Par défaut, PHP n’est pas activé. Il faut le faire en modifiant le fichier : <strong>/etc/httpd/httpd.conf</strong></p>
<p>Il s’agit de décommenter (enlever un #) devant certaines lignes.</p>
<p>Lancer l’éditeur en tapant dans le terminal (il faut être administrateur) :<br />
<div class="markCode"><div class="boxCode"><code>sudo nano /etc/httpd/httpd.conf</code></div></div><br />
(en savoir plus : <a href="http://docs.jmini.fr/notes/editer-fichier-texte-terminal" title="Éditer un fichier texte avec le terminal">Éditer un fichier texte avec le terminal</a>)</p>
<p>Les détails des lignes à modifier sont bien décrits dans l’article : <a href="http://www.xrings.net/xrings/article.php3?id_article=25" target="_blank">xrings  : Activer PHP sous Mac OS 10.2</a> (Copie de l&#8217;article au format pdf : <a href="http://docs.jmini.fr/wp-content/uploads/2008/11/xringsnet-activer_php.pdf" title="xringsnet-activer_php" class="attachment_file">xringsnet-activer_php.pdf</a>)</p>
<div class="markNote"><blockquote><strong>Note :</strong> Par rapport à l&#8217;article, les commandes pico et nano sont identiques dans le terminal.</blockquote></div>
]]></content:encoded>
			<wfw:commentRss>http://docs.jmini.fr/notes/mac-os-x-un-serveur-lamp/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
