<?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>Renoir Boulanger &#187; Techniques</title>
	<atom:link href="http://renoirboulanger.com/blog/tag/techniques/feed/" rel="self" type="application/rss+xml" />
	<link>http://renoirboulanger.com</link>
	<description>Un geek social et Linuxien de nature</description>
	<lastBuildDate>Thu, 08 Sep 2011 18:02:22 +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>Comment remplacer les caract√®res bizzares dans WordPress lorsqu&#8217;on a mal fait la conversion</title>
		<link>http://renoirboulanger.com/blog/2010/06/comment-remplacer-les-caracteres-bizzares-dans-wordpress-lorsqu-on-a-mal-fait-la-conversion/</link>
		<comments>http://renoirboulanger.com/blog/2010/06/comment-remplacer-les-caracteres-bizzares-dans-wordpress-lorsqu-on-a-mal-fait-la-conversion/#comments</comments>
		<pubDate>Fri, 11 Jun 2010 01:07:40 +0000</pubDate>
		<dc:creator>Renoir Boulanger</dc:creator>
				<category><![CDATA[Techniques]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[p52]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[sc]]></category>
		<category><![CDATA[Tutoriels]]></category>

		<guid isPermaLink="false">http://renoirboulanger.com/?p=2232</guid>
		<description><![CDATA[Comment remplacer les caract√®res bizzares dans WordPress lorsqu&#8217;on a mal fait la conversionAccrocheur mon titre n&#8217;est-ce pas? Je trouve ça tellement pas drôle lorsque ça m&#8217;arrive ce genre de situation avec les caractères accentués. Le problème n&#8217;arrive pas tout le temps qu&#8217;avec WordPress. 
Voici, enfin, une suite a mon billet Pourquoi tout ces caractères bizzares. [...]]]></description>
			<content:encoded><![CDATA[<a href='http://renoirboulanger.com/blog/2010/06/comment-remplacer-les-caracteres-bizzares-dans-wordpress-lorsqu-on-a-mal-fait-la-conversion/' class='retweet '  style='display:block;margin:10px 0px;' >Comment remplacer les caract√®res bizzares dans WordPress lorsqu&#8217;on a mal fait la conversion</a><p>Accrocheur mon titre n&#8217;est-ce pas? Je trouve ça tellement pas drôle lorsque ça m&#8217;arrive ce genre de situation avec les caractères accentués. Le problème n&#8217;arrive pas tout le temps qu&#8217;avec WordPress. </p>
<p>Voici, enfin, une suite a mon billet <a href="http://renoirboulanger.com/blog/2009/09/pourquoi-tout-ces-caracteres-bizzares/">Pourquoi tout ces caractères bizzares</a>.  Je devais travailler sur un problème de conversion de caractères pour un client dus a une conversion non réussie et/ou terminée entre <tt>latin1</tt> et <tt>utf-8</tt> puis je me suis remis a penser a ce problème. Pourquoi ne pas le régler, et documenter! </p>
<p>Voilà pourquoi ce billet <img src='http://renoirboulanger.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h3>La situation</h3>
<p>Mon cas était bien simple. J&#8217;avait mal fait ma sauvegarde lors d&#8217;un transfert et j&#8217;avait tout mes commentaires, billets, et autres données qui avait des accents &#8220;<tt>transform√©s comme √áa</tt>&#8221; (transformés comme ça).</p>
<p>Ce genre de problème arrive pour toutes sortes de raisons. Mais le symptôme est le même. Si vous avez des<br />
Je partage avec vous mon bout de code a «copier-coller» dans <tt>phpmyadmin</tt> pour votre blogue WordPress si vous avez ces problèmes (oubliez-pas de faire des sauvegardes là(!)).</p>
<p>Plusieurs tutoriels existent pour régler la situation mais mon cas était assez unique. J&#8217;ai conservé le problème puis j&#8217;ai publié plusieurs billets (qui sortent bien) et laissé ceux &#8220;<tt>ab√Æm√©s</tt>&#8221; là. <strong>Il n&#8217;était plus question d&#8217;extraire, convertir et ré-importer</strong>.</p>
<h3>Pourquoi?!</h3>
<p>C&#8217;est une réponse assez complexe. L&#8217;article <a href="http://tikiwiki.org/UTF-8"><strong>UTF-8</strong> sur TikiWiki.org</a> l&#8217;explique en détail.</p>
<blockquote><p>In short, UTF-8 is a character encoding that uses 1 to 3 bytes for each character.<br />
It is one of the existing character encodings of the UCS (Universal Character Set), that contains nearly a hundred thousand abstract characters (including ASCII characters).</p>
<p>UTF-8 greatly simplifies the task of internationalization by replacing multiple alternative encodings (such as ISO8859-15 Latin-9, which encodes those English, French, German, Spanish and Portuguese characters not available in ASCII).</p></blockquote>
<p>En simple, le UTF-8 est un format d&#8217;encodage qui utilise 1 a 3 bytes pour chaque caractère. C&#8217;est un format d&#8217;encodage qui comprend près de plusieurs centaines de milliers de caractères (Incluant ceux du ASCII).</p>
<p>UTF-8 est fait pour contenir tout les caractères existants pour simplifier l&#8217;internationalisation. </p>
<p>C&#8217;est un standard qui est pas nécessairement jeune mais qui n&#8217;était pas non plus supporté partout.</p>
<p>MySQL a commencé a le supporter qu&#8217;a partir de la version 4.1.</p>
<p>Ce qui arrive c&#8217;est qu&#8217;avec le temps, les gens prennent de plus en plus soin de rendre accessible pour toutes les langues leur applications. Ainsi un russe pourrait écrire en cyrillic et un Japonais en Kanji dans la même base de donnée. Le coup est difficile! Surtout que les versions de MySQL et PHP et Java offrent maintenant le choix par défaut en UTF-8&#8230; lorsqu&#8217;on fait pas attention: on se fait coincer!</p>
<p><span id="more-2232"></span></p>
<h3>Comment j&#8217;ai opéré</h3>
<p>Comme il n&#8217;y a pas que WordPress qui peut avoir ce type de problème j&#8217;ai fait un petit script qui génère pour chaque table et colone affectée. J&#8217;ai passé dans chaque table et colone où je voyait des choses bizzares et j&#8217;ai représenté dans un array a deux dimensions. Avec cette méthode on peut faire la même chose avec n&#8217;importequel schéma de base de donnée.</p>
<h4>Exemple: Représenter les tables et les colones</h4>
<p>Avec ce format, en exemple, j&#8217;ai représenté les tables (<tt>wp_posts</tt>, etc&#8230;) et chaque array représente une colone où des caractères accentués sont mal convertis.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$tables</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
        <span style="color: #0000ff;">'wp_posts'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'post_content'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'post_title'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'post_excerpt'</span><span style="color: #009900;">&#41;</span>
        <span style="color: #339933;">,</span><span style="color: #0000ff;">'wp_usermeta'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'meta_value'</span><span style="color: #009900;">&#41;</span>
        <span style="color: #339933;">,</span><span style="color: #0000ff;">'wp_term_taxonomy'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'description'</span><span style="color: #009900;">&#41;</span>
        <span style="color: #339933;">,</span><span style="color: #0000ff;">'wp_comments'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'comment_content'</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<h3>Utiliser le script</h3>
<p>Le script a été utilisé pratiquement tel quel sur ma base de donnée WordPress de ce site. </p>
<p>Seuls ajustements a faire. </p>
<ul>
<li>Remplacer les &#8220;&lt;&nbsp;pre&nbsp;&gt;&#8221; par &#8220;&lt;pre&gt;&#8221;. Vous comprenez le principe <img src='http://renoirboulanger.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </li>
<li>Afficher le contenu généré via un serveur Web avec PHP installé</li>
<li>Aller dans <tt>phpmyadmin</tt>, <strong>faire une copie de la base de donnée à affecter</strong> (Voir dans onglet &#8220;<tt>Opérations</tt>&#8221; et &#8220;<tt>Copier la base de données vers:  </tt>&#8220;)</li>
<li>Aller dans cette base de donnée là dans phpmyadmin (!!)</li>
<li>Exécuter le code généré (copier-coller) dans la fenêtre <tt>SQL</tt> de la base de donnée de tests</li>
<li>Faire pareil avec la vraie si vous êtes satisfaits du résultat</li>
</ul>
<h4>Le code</h4>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Content-type:text/html;charset=utf8'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$tables</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
        <span style="color: #0000ff;">'wp_posts'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'post_content'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'post_title'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'post_excerpt'</span><span style="color: #009900;">&#41;</span>
        <span style="color: #339933;">,</span><span style="color: #0000ff;">'wp_usermeta'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'meta_value'</span><span style="color: #009900;">&#41;</span>
        <span style="color: #339933;">,</span><span style="color: #0000ff;">'wp_term_taxonomy'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'description'</span><span style="color: #009900;">&#41;</span>
        <span style="color: #339933;">,</span><span style="color: #0000ff;">'wp_comments'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'comment_content'</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$chars</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
 <span style="color: #990000;">bin2hex</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'√Ä'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'|À'</span><span style="color: #339933;">,</span>
 <span style="color: #990000;">bin2hex</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'√¥'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'|ô'</span><span style="color: #339933;">,</span>
 <span style="color: #990000;">bin2hex</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'√Ç'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'|â'</span><span style="color: #339933;">,</span>
 <span style="color: #990000;">bin2hex</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'√á'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'|ç'</span><span style="color: #339933;">,</span>
 <span style="color: #990000;">bin2hex</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'√©'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'|é'</span><span style="color: #339933;">,</span>
 <span style="color: #990000;">bin2hex</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'√â'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'|É'</span><span style="color: #339933;">,</span>
 <span style="color: #990000;">bin2hex</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'√†'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'|à'</span><span style="color: #339933;">,</span>
 <span style="color: #990000;">bin2hex</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'√®'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'|è'</span><span style="color: #339933;">,</span>
 <span style="color: #990000;">bin2hex</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'√™'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'|ê'</span><span style="color: #339933;">,</span>
 <span style="color: #990000;">bin2hex</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'√¢'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'|â'</span><span style="color: #339933;">,</span>
 <span style="color: #990000;">bin2hex</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'‚Äô'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'|‘'</span><span style="color: #339933;">,</span>
 <span style="color: #990000;">bin2hex</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'¬´'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'|«'</span><span style="color: #339933;">,</span>
 <span style="color: #990000;">bin2hex</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'¬ª'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'|»'</span><span style="color: #339933;">,</span>
 <span style="color: #990000;">bin2hex</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'√ß'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'|ç'</span><span style="color: #339933;">,</span>
 <span style="color: #990000;">bin2hex</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'√π'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'|ù'</span><span style="color: #339933;">,</span>
 <span style="color: #990000;">bin2hex</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'√ª'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'|û'</span><span style="color: #339933;">,</span>
 <span style="color: #990000;">bin2hex</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'√Æ'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'|î'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$tables</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$table</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$elements</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
  <span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$elements</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$col</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$chars</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$char</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$elc</span> <span style="color: #339933;">=</span> <span style="color: #990000;">explode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'|'</span><span style="color: #339933;">,</span><span style="color: #000088;">$char</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$update_line</span><span style="color: #339933;">.=</span> <span style="color: #0000ff;">'update '</span><span style="color: #339933;">.</span><span style="color: #000088;">$table</span><span style="color: #339933;">.</span><span style="color: #0000ff;">' set '</span><span style="color: #339933;">.</span><span style="color: #000088;">$col</span><span style="color: #339933;">.</span><span style="color: #0000ff;">' = REPLACE('</span><span style="color: #339933;">.</span><span style="color: #000088;">$col</span><span style="color: #339933;">.</span><span style="color: #0000ff;">', UNHEX(\''</span><span style="color: #339933;">.</span><span style="color: #000088;">$elc</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'\'), \''</span><span style="color: #339933;">.</span><span style="color: #000088;">$elc</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'\') ;'</span><span style="color: #339933;">.</span>PHP_EOL<span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt; pre &gt;'</span><span style="color: #339933;">.</span><span style="color: #000088;">$update_line</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&lt; / pre &gt;'</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://renoirboulanger.com/blog/2010/06/comment-remplacer-les-caracteres-bizzares-dans-wordpress-lorsqu-on-a-mal-fait-la-conversion/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Les différentes versions du service de tâches planifié CRON</title>
		<link>http://renoirboulanger.com/blog/2010/04/les-differentes-versions-du-service-de-taches-planifie-cron/</link>
		<comments>http://renoirboulanger.com/blog/2010/04/les-differentes-versions-du-service-de-taches-planifie-cron/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 13:04:07 +0000</pubDate>
		<dc:creator>Renoir Boulanger</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Outils]]></category>
		<category><![CDATA[Techniques]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[Vocabulaire]]></category>

		<guid isPermaLink="false">http://renoirboulanger.com/?p=2086</guid>
		<description><![CDATA[Les différentes versions du service de tâches planifié CRONSuite a mon article «Comment automatiser une tâche avec CRON en utilisant Vim» je me suis venu aux questions sur les différences essentielles entre les versions de CRON.
Le concept de CRON est, un «lanceur de commandes» planifié pour les systèmes UNIX. Le nom est inspiré du dieu [...]]]></description>
			<content:encoded><![CDATA[<a href='http://renoirboulanger.com/blog/2010/04/les-differentes-versions-du-service-de-taches-planifie-cron/' class='retweet '  style='display:block;margin:10px 0px;' >Les différentes versions du service de tâches planifié CRON</a><p><img class="size-full wp-image-2104" style="float: right; border: 0px;" title="Une horloge" src="http://renoirboulanger.com/wp-content/uploads/2010/04/Clock-icon.png" alt="" width="205" height="205" />Suite a mon article «<a href="http://renoirboulanger.com/blog/2010/04/comment-automatiser-une-tache-avec-cron-en-utilisant-vim/">Comment automatiser une tâche avec <em>CRON</em> en utilisant Vim</a>» je me suis venu aux questions sur les différences essentielles entre les versions de <em>CRON</em>.</p>
<p>Le concept de <em>CRON</em> est, un «lanceur de commandes» planifié pour les systèmes UNIX. Le nom est inspiré du dieu grec Chronos.</p>
<p>Ayant déjà utilise Gentoo Linux j&#8217;avait vu qu&#8217;il était possible d&#8217;utiliser plus d&#8217;une version de CRON mais je ne m&#8217;était jamais penché sur les différences. Je l&#8217;ai fait aujourd&#8217;hui.</p>
<p><span id="more-2086"></span></p>
<h3>Une question de choix et de distribution</h3>
<p>Généralement chaque distribution de système d&#8217;exploitation UNIX (Linux, Unix, Qnx, etc) a son lot d&#8217;outils standards dont CRON fait partie. Chaque éditeur de distribution choisit sa version préférée mais permet d&#8217;interchanger (avec <a href="http://wiki.debian.org/DebianAlternatives">Alternatives sous Debian</a>, par exemple).</p>
<h3>Versions de <em>CRON</em></h3>
<h4>Anacron</h4>
<p>La différence d&#8217;<em>Anacron</em> avec <em>cron</em> (traditionnel) est le fait qu&#8217;Anacron ne roule pas en permanence comme un démon en arrière plan. Il est idéal sur des système qui ne roule pas nécessairement 24 heures par jour ou avec peu de ressources processeur.</p>
<p><a href="http://anacron.sourceforge.net/">site officiel</a></p>
<h4>vixie-cron</h4>
<p>La version de cron la plus utilisée (selon mon expérience, notamment sous les installation par défaut de Ubuntu, Debian et Red Hat et CentOS)</p>
<p><a href="http://troy.jdmz.net/cron/">site officiel</a></p>
<h4>bcron</h4>
<p>L&#8217;auteur a crée cette version car il avait besoin de précision concernant les délais entre les commandes et les changements de saisons (Heure d&#8217;été).</p>
<p>J&#8217;ai remarqué plusieurs autres outils intéressant que l&#8217;auteur a publié. Je l&#8217;ai ajouté a mes marque-pages.</p>
<h4>fcron</h4>
<p>L&#8217;auteur a crée cette version de cron dans l&#8217;optique que la machine peut ne pas être allumée 24/24 et 7 jours/7. fcron se base plutôt sur le temps que le système fonctionne (le «uptime») plutot qu&#8217;un moment précis. L&#8217;auteur dit que fcron veut remplacer Vixie-cron et anacron mais en <em>mieux</em>.</p>
<p>Le genre de tâche qu&#8217;on peut faire est:</p>
<ul>
<li>Lance une commande aux chaque 3heures que le système est allumé</li>
<li>Lance une commande au moins une fois entre 3h00 am et 6h00 am tout les jours.</li>
</ul>
<p><a href="http://fcron.free.fr/">site officiel</a></p>
<h4>incron</h4>
<p>incron est une fonctionnalité cron a l&#8217;application inotify qui est un système basé sur le système de fichiers plutôt que sur des plages de temps. Un cas d&#8217;utilisation serait, par exemple, de pouvoir lancer une commande lorsqu&#8217;un logrotate a été lancé ou si un fichier a été ajouté dans un dossier.</p>
<p><a href="http://linux.die.net/man/5/incron.conf">pages manuel</a> &#8211; <a href="http://inotify.aiken.cz/">site officiel</a></p>
<p><strong>Autres versions</strong></p>
<p>Avez-vous utilisé l&#8217;un d&#8217;eux dans vos projets?</p>
]]></content:encoded>
			<wfw:commentRss>http://renoirboulanger.com/blog/2010/04/les-differentes-versions-du-service-de-taches-planifie-cron/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Une VM Linux qui sert au développement PHP 5.3 avec Eclipse &#8211; partie III</title>
		<link>http://renoirboulanger.com/blog/2009/09/une-vm-linux-qui-sert-au-developpement-php-5-3-avec-eclipse-partie-iii/</link>
		<comments>http://renoirboulanger.com/blog/2009/09/une-vm-linux-qui-sert-au-developpement-php-5-3-avec-eclipse-partie-iii/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 06:04:14 +0000</pubDate>
		<dc:creator>Renoir Boulanger</dc:creator>
				<category><![CDATA[GeekNight]]></category>
		<category><![CDATA[Techniques]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutoriels]]></category>

		<guid isPermaLink="false">http://renoirboulanger.com/?p=1060</guid>
		<description><![CDATA[Une VM Linux qui sert au développement PHP 5.3 avec Eclipse &#8211; partie IIICe billet est le troisième d&#8217;une série d&#8217;articles décrivant la fabrication d&#8217;une Machine Virtuelle (VM) de développement pour une équipe de dévelopeurs.
Cette partie couvrira l&#8217;installation de Apache et de PHP 5.3 (la dernière version depuis Juin 2009) qui offre beaucoup d&#8217;avancées. Je [...]]]></description>
			<content:encoded><![CDATA[<a href='http://renoirboulanger.com/blog/2009/09/une-vm-linux-qui-sert-au-developpement-php-5-3-avec-eclipse-partie-iii/' class='retweet '  style='display:block;margin:10px 0px;' >Une VM Linux qui sert au développement PHP 5.3 avec Eclipse &#8211; partie III</a><p>Ce billet est le <strong>troisième</strong> d&#8217;une série d&#8217;articles décrivant la fabrication d&#8217;une Machine Virtuelle (VM) de développement pour une équipe de dévelopeurs.</p>
<p>Cette partie couvrira l&#8217;installation de Apache et de PHP 5.3 (la dernière version depuis Juin 2009) qui offre beaucoup d&#8217;avancées. Je pense que c&#8217;est devenu le juste minimum a cause de ces nouvelles fonctionnalités. Voir articles faits par  <span lang="en">IBM developerworks</span> &#8220;<span lang="en">What&#8217;s new in PHP 5.3 (<a href="http://www.ibm.com/developerworks/opensource/library/os-php-5.3new1/index.html">part 1</a>, <a href="http://www.ibm.com/developerworks/opensource/library/os-php-5.3new2/index.html?S_TACT=105AGX44&#038;S_CMP=ART">part 2</a>, <a href="http://www.ibm.com/developerworks/opensource/library/os-php-5.3new3/index.html?S_TACT=105AGX44&#038;S_CMP=ART">part 3</a>, and <a href="http://www.ibm.com/developerworks/opensource/library/os-php-5.3new4/index.html?S_TACT=105AGX44&#038;S_CMP=ART">part 4</a>)</span>&#8220;.</p>
<p><span id="more-1060"></span></p>
<p>J&#8217;ai séparé cette série en quatre volets.</p>
<ol>
<li><strong><a href="http://renoirboulanger.com/blog/2009/09/une-vm-linux-qui-sert-au-developpement-php-5-3-avec-eclipse-partie-i/">Description du concept</a></strong><br />
Ce que je vais discuter dans cette série d&#8217;articles n&#8217;est pas nécessairement connu de tous. Je vais donc vulgariser un peu avant de commencer.</li>
<li><strong><a href="http://renoirboulanger.com/blog/2009/09/une-vm-linux-qui-sert-au-developpement-php-5-3-avec-eclipse-partie-ii/">Installation du système</a></strong><br />
Je donne ici mon secret de magicien avec quelques configurations que je considère importantes pour un environement d&#8217;hébergement web pour améliorer la sécruité (le strict minimum pour cette série d&#8217;articles. Je pourrai en faire un plus poussé plus tard).</li>
<li><strong>Compilation de PHP 5.3</strong> (cet article)<br />
Comment installer Apache 2.x avec le dernier cutting-edge PHP.</li>
<li><strong>Installation de l&#8217;environnement de développement avec Eclipse PDT</strong> (à venir)<br />
La magie se passe par là! Avec ce setup votre équipe pourra répliquer l&#8217;installation de développement a volonté.</li>
</ol>
<h3>Avant tout, quelques précautions</h3>
<div style="background-color:#FFEEEE;border:1px solid #666600;color:#660000;margin:20px;padding:20px 30px;text-align:center;"><strong>Avertissement!  &#8211;  Changement environement:<br />
</strong>Faire des modifications avec Apache et PHP sur un serveur en production peut causer des problèmes sérieux!  Il est conseillé de planifier et de pratiquer le déploiement AVANT de l&#8217;appliquer dans un environnement de production. Vous aurez été avertis!</div>
<p><strong>Varia:</strong></p>
<div>
<ul>
<li>Désinstallez toutes les instances de PHP que vous avez installé. Il est recommandé d&#8217;avoir la version stable pour un environement de production et que l&#8217;environement de développement réflète la production.</li>
<li>Dans mes environements de travail j&#8217;ai choisi d&#8217;utiliser <strong>Debian Linux (stable)</strong> courrant.  J&#8217;ai déjà utilisé d&#8217;autres distributions Linux pour des serveurs mais ça dépasse l&#8217;objectif de cet article.</li>
<li>Chaque ligne de commande commence soit par &#8220;$&#8221; (dollar sign)  ou &#8220;#&#8221; (hash mark). Le # signifie que vous entrez la commande en tant que <strong>root</strong></li>
<li>Le retour de chariot est illustré par un anti-slash &#8220;\&#8221;  car je veut éviter de changer la largeur du billet! Vous pouvez simplement tout coller sur une ligne.</li>
</ul>
</div>
<h3>Compilation de PHP 5.3</h3>
<p><span> </span></p>
<h4>1 Installer Apache</h4>
<p>La première étape est d&#8217;installer Apache. Il est possible de le faire avec plusieurs autres serveurs (lighttpd par exemple) mais je ne l&#8217;utilise pas (lighttpd) pour autre chose que du caching statique ou du Proxying. Alors je ne couvrirai pas comment faire. <a href="http://www.howtoforge.com/lighttpd_mysql_php_debian_etch">Cet article le fait</a>, par contre.</p>
<p>Cette commande devrait faire le travail.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># apt-get install apache2 apache2-mpm-prefork apache2-prefork-dev \</span>
apache2-utils apache2.2-common</pre></td></tr></table></div>

<h4>2. Installer MySQL et/ou PostgreSQL</h4>
<p>L&#8217;engin de base de donnée utilisé est le choix de chacun. Je suis personnellement habitué avec MySQL mais pouvoir avoir les deux peut être utile.</p>
<h5>PostgreSQL</h5>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># apt-get install postgresql-8.3 postgresql-client-8.3 \</span>
postgresql-client-common postgresql-common postgresql-server-dev-<span style="color: #000000;">8.3</span></pre></td></tr></table></div>

<h5>MySQL</h5>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># apt-get install mysql-client mysql-client-5.0    mysql-common \</span>
mysql-server mysql-server-<span style="color: #000000;">5.0</span> mysql-server-core-<span style="color: #000000;">5.0</span></pre></td></tr></table></div>

<h5>3. Installer les librairies requises</h5>
<p>PHP en tant que tel est facile a configurer mais les librairies externes font que c&#8217;est plus compliqué&#8230; malheureusement.  Ce qui est bien c&#8217;est qu&#8217;avec Debian la documentation est entretenue fréquemment et il est facile de se reprendre.</p>
<p>Plusieurs heures peuvent être prises pour simplement préparer la commande &#8220;configure&#8221;.  Avec ces notes vous devriez vous en sortir pas pire <img src='http://renoirboulanger.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Voici les packages que Debian fournit pour ce que PHP demande, comme ça vous pourrez éviter d&#8217;installer arbitrairement plusieurs dizaines de paquets!</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># apt-get install libtidy-dev curl libcurl4-openssl-dev libcurl3 \</span>
libcurl3-gnutls zlib1g zlib1g-dev libxslt1-dev libzip-dev libzip1 \
libxml2 libsnmp-base libsnmp15 libxml2-dev libsnmp-dev libjpeg62 \
libjpeg62-dev libpng12-<span style="color: #000000;">0</span> libpng12-dev zlib1g zlib1g-dev libfreetype6 \
libfreetype6-dev libbz2-dev libxpm-dev libmcrypt-dev libmcrypt4</pre></td></tr></table></div>

<p><strong>Note</strong>:  libxpm4-dev proposé dans <a href="http://www.brandonsavage.net/installing-php-5-3-on-ubuntu/">ma source d&#8217;information</a> n&#8217;est pas trouvé dans Debian Lenny mis a jour le 2009-09-09 j&#8217;ai donc rectifié (pour libxpm-dev) la commande ci-haut.</p>
<h4>4. Télécharger le code source de PHP</h4>
<p>Visiter <a href="http://www.php.net/">http://www.php.net</a> et télécharger la version désirée. Actuellement, la version production est la 5.3</p>
<p>Personnellement je recommande d&#8217;avoir les fichiers de compilation dans /usr/src quoi que j&#8217;ai pas la conaissance de la science infuse <img src='http://renoirboulanger.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># cd /usr/src/</span>
<span style="color: #666666; font-style: italic;"># wget http://us3.php.net/get/php-5.3.0.tar.gz/from/this/mirror</span>
<span style="color: #666666; font-style: italic;"># tar xvfz php-5-3-0.tar.gz</span>
<span style="color: #666666; font-style: italic;"># cd php-5.3</span></pre></td></tr></table></div>

<h4>5. La commande Configure.</h4>
<p>La commande configure peut etre difficile a configurer surtout avec les librairies qu&#8217;on veut généralement mettre&#8230; généralement une certaine mesure du minimum.</p>
<p>Personnellement. Je recommande de faire la commande dans un fichier et de l&#8217;exécuter par la suite.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># vi configure.sh</span>
 .<span style="color: #000000; font-weight: bold;">/</span>configure <span style="color: #660033;">--with-apxs2</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>apxs2 \
   <span style="color: #660033;">--with-tidy</span>=<span style="color: #000000; font-weight: bold;">/</span>usr <span style="color: #660033;">--with-curl</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin <span style="color: #660033;">--with-curlwrappers</span> \
   <span style="color: #660033;">--with-openssl-dir</span>=<span style="color: #000000; font-weight: bold;">/</span>usr <span style="color: #660033;">--with-zlib-dir</span>=<span style="color: #000000; font-weight: bold;">/</span>usr <span style="color: #660033;">--enable-mbstring</span> \
   <span style="color: #660033;">--with-xpm-dir</span>=<span style="color: #000000; font-weight: bold;">/</span>usr <span style="color: #660033;">--with-xsl</span>=<span style="color: #000000; font-weight: bold;">/</span>usr <span style="color: #660033;">--with-ldap</span> <span style="color: #660033;">--with-xmlrpc</span> \
   <span style="color: #660033;">--with-iconv-dir</span>=<span style="color: #000000; font-weight: bold;">/</span>usr <span style="color: #660033;">--with-snmp</span>=<span style="color: #000000; font-weight: bold;">/</span>usr <span style="color: #660033;">--enable-exif</span> <span style="color: #660033;">--enable-calendar</span> \
   <span style="color: #660033;">--with-bz2</span>=<span style="color: #000000; font-weight: bold;">/</span>usr <span style="color: #660033;">--with-mcrypt</span>=<span style="color: #000000; font-weight: bold;">/</span>usr <span style="color: #660033;">--with-gd</span> <span style="color: #660033;">--with-jpeg-dir</span>=<span style="color: #000000; font-weight: bold;">/</span>usr \
   <span style="color: #660033;">--with-png-dir</span>=<span style="color: #000000; font-weight: bold;">/</span>usr <span style="color: #660033;">--with-zlib-dir</span>=<span style="color: #000000; font-weight: bold;">/</span>usr <span style="color: #660033;">--with-freetype-dir</span>=<span style="color: #000000; font-weight: bold;">/</span>usr \
   <span style="color: #660033;">--enable-mbstring</span> <span style="color: #660033;">--enable-zip</span> <span style="color: #660033;">--with-pear</span></pre></td></tr></table></div>

<p>Je suggère d&#8217;ajouter les commande ci bas au configure plus bas en fonction de votre choix de gestionnaire de base de donnée.</p>
<h5>PostgreSQL</h5>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #660033;">--with-pdo-pgsql</span>=<span style="color: #000000; font-weight: bold;">/</span>usr</pre></td></tr></table></div>

<h5>MySQL</h5>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"> <span style="color: #660033;">--with-pdo-mysql</span>=<span style="color: #000000; font-weight: bold;">/</span>usr <span style="color: #660033;">--with-mysqli</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>mysql_config <span style="color: #660033;">--with-mysql</span>=<span style="color: #000000; font-weight: bold;">/</span>usr</pre></td></tr></table></div>

<p>Sortir avec :wq puis exécuter le script.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># /bin/bash ./configure.sh</span></pre></td></tr></table></div>

<p>L&#8217;écran devrait bouger beaucoup&#8230; généralement dans la doc on conseille ici d&#8217;aller prendre un café!</p>
<p>&#8230; Si tout va bien tout devrait terminer par quelque chose qui ressemble à &#8220;Thanks for using php&#8221;. Sinon&#8230;. je conseille ma <a href="http://renoirboulanger.com/blog/2009/08/processus-pour-regler-un-probleme-avec-un-ordinateur/">solution aux problèmes numéro un</a>. <img src='http://renoirboulanger.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Faut pas s&#8217;en faire. Généralement c&#8217;est de tenter avec &#8220;<strong>apt-cache search</strong>&#8221; et &#8220;<strong>apt-get install</strong>&#8221; le nom de la librairie manquante.</p>
<h4>6. Make et Make Install</h4>
<p>Pour l&#8217;installer. Maintenant que PHP est &#8220;configure&#8221;-é  il faut le compiler et l&#8217;installer avec make.</p>
<p>La commande est bien simple.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># make</span></pre></td></tr></table></div>

<p>Beaucoup de sortie ici aussi. Ça risque même d&#8217;être plus long dépendamment de la force du processeur disponible.  C&#8217;est le temps de prendre une marche, encore.</p>
<p>Une fois que tout est terminé avec make, vous pouvez faire, accessoirement un &#8220;make test&#8221;.</p>
<p>La dernière étape est de faire le &#8220;install&#8221;</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># make -i install</span></pre></td></tr></table></div>

<p>Pourquoi le -i? Parceque Ubuntu/Debian risque d&#8217;avertir pour certaines erreurs a cause de la différence d&#8217;installation d&#8217;Apache de Debian/Ubuntu, nous le ferons nous même a bras plus loin dans ce document.</p>
<h4>7. Ajouter le module PHP dans Apache</h4>
<p>Il faut ajouter le module dans Apache pour qu&#8217;il puisse interpreter&#8230; c&#8217;est logique. Étant donné que la commande make -i a surement fait son travail (sous Debian), nous devons nous assurer que tout est en ordre dans la configuration d&#8217;Apache.</p>
<p>Premièrement, copier la librairie compilée:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># updatedb</span>
<span style="color: #666666; font-style: italic;"># locate libphp5</span>
...
<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>modules<span style="color: #000000; font-weight: bold;">/</span>libphp5.so
<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>php-5.3.0<span style="color: #000000; font-weight: bold;">/</span>libs<span style="color: #000000; font-weight: bold;">/</span>libphp5.la
<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>php-5.3.0<span style="color: #000000; font-weight: bold;">/</span>libs<span style="color: #000000; font-weight: bold;">/</span>libphp5.so
...
<span style="color: #666666; font-style: italic;"># cp /usr/src/php-5.3.0/libs/libphp5.so /usr/lib/apache2/modules/libphp5_3.so</span></pre></td></tr></table></div>

<p>Je commencer par mettre a jour la base de donnée &#8220;locate&#8221;, ensuite je cherche où est disponible la librairie, puis ensuite j&#8217;utilise &#8220;cp&#8221; pour déplacer sous un autre nom la librairie.</p>
<p>Ensuite,  dans le dossier:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># cd /etc/apache2/mods-available</span></pre></td></tr></table></div>

<p>Créez un nouveau fichier appelé php5.load et copiez-y le contenu suivant:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;">LoadModule php5_module <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>modules<span style="color: #000000; font-weight: bold;">/</span>libphp5_3.so</pre></td></tr></table></div>

<p>Enregistrer le fichier. Ensuite créez un fichier appelé php5.conf et collez-y ce contenu:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;">AddType application<span style="color: #000000; font-weight: bold;">/</span>x-httpd-php .php .phtml .php3
AddType application<span style="color: #000000; font-weight: bold;">/</span>x-httpd-php-source .phps</pre></td></tr></table></div>

<p>On est prêts! Il faut le charger dans Apache:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># a2enmod php5</span>
Enabling module php5.
Run <span style="color: #ff0000;">&quot;/etc/init.d/apache2 restart&quot;</span> to activate new configuration<span style="color: #000000; font-weight: bold;">!</span>
<span style="color: #666666; font-style: italic;"># invoke-rc.d apache2 restart</span>
<span style="color: #000000; font-weight: bold;">*</span> Restarting web server apache2
...waiting    ...done.</pre></td></tr></table></div>

<h4>8. Tester l&#8217;installation</h4>
<p>C&#8217;est assez simple rendus là.</p>
<p>On commence par le binaire en ligne de commande:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;">$ php <span style="color: #660033;">-v</span>
PHP 5.3.0 <span style="color: #7a0874; font-weight: bold;">&#40;</span>cli<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>built: Aug  <span style="color: #000000;">17</span> <span style="color: #000000;">2009</span> <span style="color: #000000;">19</span>:08:<span style="color: #000000;">32</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
Copyright <span style="color: #7a0874; font-weight: bold;">&#40;</span>c<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000;">1997</span>-<span style="color: #000000;">2009</span> The PHP Group
Zend Engine v2.3.0, Copyright <span style="color: #7a0874; font-weight: bold;">&#40;</span>c<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000;">1998</span>-<span style="color: #000000;">2009</span> Zend Technologies</pre></td></tr></table></div>

<p>Tout va bien!</p>
<p>Ensuite, voir un phpinfo() dans le docroot. (Généralement /var/www/index.php).</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span> ?php
  <span style="color: #990000;">phpinfo</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p><img class="size-full wp-image-1113" style="border:none;" title="PHP 5.3 phpinfo()" src="http://renoirboulanger.com/wp-content/uploads/2009/09/phpinfo_php5_3.png" alt="PHP 5.3 phpinfo()" width="612" height="429" /></p>
<h3>Conclusion</h3>
<p>Je crois avoir bien réussi mon interprétation et ma traduction de l&#8217;article que j&#8217;ai utilisé. J&#8217;y ai ajouté mon grain de sel et rectifié ce qui a marché pour moi. Je vous conseille de documenter pour vos propres besoins ce que vous faites, on sait jamais quand on a besoin de refaire ce qu&#8217;on a déjà fait !</p>
<h3>Références</h3>
<ul>
<li><strong><a lang="en" href="http://www.brandonsavage.net/installing-php-5-3-on-ubuntu/">BrandonSavage.net : Installing PHP 5.3 on Ubuntu</a> </strong></li>
<li><strong><a href="http://www.php-experts.org/developpement-web/5-plugins-indispensables-pour-coder-en-php-avec-lide-eclipse-22">5 plugins indispensables pour coder en PHP avec l&#8217;IDE Eclipse</a></strong><br />Un article que j&#8217;ai beaucoup apprécié car il mentionne ses propres plugins et j&#8217;ai cru bon les ajouter ici.</li>
<li><span lang="en">IBM developerworks</span> &#8220;<span lang="en">What&#8217;s new in PHP 5.3 (<a href="http://www.ibm.com/developerworks/opensource/library/os-php-5.3new1/index.html">part 1</a>, <a href="http://www.ibm.com/developerworks/opensource/library/os-php-5.3new2/index.html?S_TACT=105AGX44&#038;S_CMP=ART">part 2</a>, <a href="http://www.ibm.com/developerworks/opensource/library/os-php-5.3new3/index.html?S_TACT=105AGX44&#038;S_CMP=ART">part 3</a>, and <a href="http://www.ibm.com/developerworks/opensource/library/os-php-5.3new4/index.html?S_TACT=105AGX44&#038;S_CMP=ART">part 4</a>)</span>&#8220;.</li>
<p><strong> </strong></ul>
]]></content:encoded>
			<wfw:commentRss>http://renoirboulanger.com/blog/2009/09/une-vm-linux-qui-sert-au-developpement-php-5-3-avec-eclipse-partie-iii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Accessibilité et les liens externes</title>
		<link>http://renoirboulanger.com/blog/2009/08/accessibilite-et-les-liens-externes/</link>
		<comments>http://renoirboulanger.com/blog/2009/08/accessibilite-et-les-liens-externes/#comments</comments>
		<pubDate>Thu, 20 Aug 2009 22:28:01 +0000</pubDate>
		<dc:creator>Renoir Boulanger</dc:creator>
				<category><![CDATA[Programmation]]></category>
		<category><![CDATA[Accessibilité]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[Techniques]]></category>

		<guid isPermaLink="false">http://renoirboulanger.com/?p=778</guid>
		<description><![CDATA[Accessibilité et les liens externesIl existe plusieurs normes en accessibilité du web qui demande des choses qu&#8217;on ne prend pas nécessairement le temps de faire.
Soit que c&#8217;est pas manque de temps, trop de choses à penser, ou on n&#8217;y pense simplement pas.
Dans cet article j&#8217;exprime mon opinion sur l&#8217;importance (du point de vue utilisabilité) des [...]]]></description>
			<content:encoded><![CDATA[<a href='http://renoirboulanger.com/blog/2009/08/accessibilite-et-les-liens-externes/' class='retweet '  style='display:block;margin:10px 0px;' >Accessibilité et les liens externes</a><p>Il existe plusieurs normes en accessibilité du web qui demande des choses qu&#8217;on ne prend pas nécessairement le temps de faire.</p>
<p>Soit que c&#8217;est pas manque de temps, trop de choses à penser, ou on n&#8217;y pense simplement pas.</p>
<p>Dans cet article j&#8217;exprime mon opinion sur l&#8217;importance (du point de vue utilisabilité) des icones de liens extérieurs. <del>Plus tard je montrerai une méthode pour automatiser</del> <ins>[EDIT 2009-08-23] J&#8217;ai documenté comment faire dans <a href="http://renoirboulanger.com/blog/2009/08/manipulation-des-liens-exterieurs-et-les-popup-pour-ameliorer-laccessibilite">Manipulation des liens extérieurs et les popup pour améliorer l&#8217;Accessibilité</a>.</ins></p>
<p><span id="more-778"></span></p>
<p>Le problème que j&#8217;ai voulu me pencher consiste avec la <a href="http://www.accessibiliteweb.org/bdc/directives/theme/comprehension#pc13_1">règle qui suit</a> :</p>
<blockquote><p><strong>2.4.4 (niveau A)</strong><br />
Destination d&#8217;un lien :<br />
La destination d&#8217;un lien peut Être déterminée à partir du libellé (label=&#8221;") du lien ou du libellé et du contexte de ce lien déterminable par programmation, sauf pour un lien dont la destination serait ambigüe pour l&#8217;ensemble des utilisateur.</p></blockquote>
<p>Ce qui implique qu&#8217;on doit ajouter à la main une icône qui annonce le «popup» et si c&#8217;est un lien extérieur.</p>
<p>&nbsp;</p>
<h2>Pourquoi ne pas automatiser ce qui est automatisable?</h2>
<p>Lorsqu&#8217;on doit manuellement, faire l&#8217;option popup quand on édite un site et le faire à bras pour chacun.</p>
<p>Parfois, en programmant on finit par se demander&#8230;  &#8220;<em><strong>L&#8217;informatique au service de l&#8217;homme</strong></em>&#8221; (ou le contraire?)</p>
<p>&nbsp;</p>
<h2>L&#8217;objectif</h2>
<p>Alors, j&#8217;ai décidé de trouver une manière d&#8217;automatiser?</p>
<ul>
<li>de prendre une balise standard

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;a href=&quot;http://www.somesite.com/action/handler&quot;&gt;Link&lt;/a&gt;</pre></td></tr></table></div>

</li>
<li>d&#8217;ajouter de l&#8217;image icône qui annonce que c&#8217;est un (lien externe + popup)</li>
<li>d&#8217;instaurer le <tt>alt=""</tt> de l&#8217;image</li>
<li>de transformer le lien en popup&#8230;

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;a href=&quot;http://www.somesite.com/action/handler&quot;&gt;Link&lt;img src=&quot;/icons/external_link.png&quot; alt=&quot;Avertissement: Ce lien ouvre dans une fenêtre externe car il ne fait pas partie du présent site&quot; width=&quot;10&quot; height=&quot;10&quot; class=&quot;popuphreficon&quot; /&gt;&lt;/a&gt;</pre></td></tr></table></div>

</li>
</ul>
<p>&#8230; tout ça en Javascript qui manipule le <tt>DOM</tt> d&#8217;une manière valide&#8230; et qui suit les normes d&#8217;<strong>Accessibilité du web</strong> !!</p>
]]></content:encoded>
			<wfw:commentRss>http://renoirboulanger.com/blog/2009/08/accessibilite-et-les-liens-externes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

