<?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>La Case de l&#039;Oncle Tom &#187; debian</title>
	<atom:link href="http://case.oncle-tom.net/tag/debian/feed/" rel="self" type="application/rss+xml" />
	<link>http://case.oncle-tom.net</link>
	<description>Développement Web, bonnes pratiques et performances</description>
	<lastBuildDate>Sun, 25 Dec 2011 19:33:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<atom:link rel="search"
           href="http://case.oncle-tom.net/opensearch"
           type="application/opensearchdescription+xml"
           title="Content Search" />		<item>
		<title>Configuration d&#8217;Apache, MySQL et PHP à base de liens symboliques</title>
		<link>http://case.oncle-tom.net/2008/configuration-apache-mysql-php-symlinks/</link>
		<comments>http://case.oncle-tom.net/2008/configuration-apache-mysql-php-symlinks/#comments</comments>
		<pubDate>Thu, 11 Dec 2008 06:00:50 +0000</pubDate>
		<dc:creator>Oncle Tom</dc:creator>
				<category><![CDATA[Développement Web]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[apparmor]]></category>
		<category><![CDATA[bonne pratique]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[logiciels libres]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[symlink]]></category>
		<category><![CDATA[ubuntu]]></category>
		<guid isPermaLink="false">http://case.oncle-tom.net/?p=1198</guid>
		<description><![CDATA[J&#8217;ai récemment passé mon poste de développement de Debian Testing vers Ubuntu 8.10. Comme toute installation from scratch, il faut passer par la case configuration. J&#8217;ai déjà expliqué comment modifier l&#8217;emplacement des données d&#8217;un serveur MySQL mais cette fois-ci on va aller encore plus loin : on ne va pas toucher aux fichiers de configuration [...]]]></description>
			<content:encoded><![CDATA[<p>J&#8217;ai récemment passé mon poste de développement de Debian Testing vers Ubuntu 8.10. Comme toute installation <em>from scratch</em>, il faut passer par la case configuration.</p>
<p><img class="aligncenter size-full wp-image-1247" title="Configuration PHP personnalisée" src="http://case.oncle-tom.net/images/2008/12/php-custom.png" alt="" width="499" height="64" /></p>
<p>J&#8217;ai déjà expliqué comment <a href="http://case.oncle-tom.net/2008/05/04/modifier-emplacement-donnees-serveur-mysql/">modifier l&#8217;emplacement des données d&#8217;un serveur MySQL</a> mais cette fois-ci on va aller encore plus loin :</p>
<ul>
<li>on ne va pas toucher aux fichiers de configuration par défaut</li>
<li>on va pouvoir conserver toute notre configuration sur une partition séparée</li>
<li>on va être tranquille pour les éventuelles futures réinstallations</li>
</ul>
<p>C&#8217;est pas très compliqué à mettre en œuvre et au final, tout le monde y gagne !</p>
<p><span id="more-1198"></span></p>
<h3>Organisation du répertoire /home</h3>
<p>Le titre de l&#8217;article le suggère bien, cet article se consacre à la configuration des serveurs et programmes suivants :</p>
<ul>
<li>Apache 2</li>
<li><acronym title="Pre-Hypertext Processing">PHP</acronym> 5</li>
<li>MySQL 5</li>
<li>AppArmor (installé et activé par défaut depuis Ubuntu 8.04)</li>
</ul>
<p>Pour des raisons évidentes de facilité, j&#8217;ai donc créé un répertoire qui rassemble toutes mes configurations spécifiques. En voici son arborescence :</p>
<ul>
<li><strong>~/config</strong>
<ul>
<li>/<em>apache2</em>
<ul>
<li>sites-available
<ul>
<li>000-default-custom</li>
<li>local.monprojet.com</li>
<li>etc.</li>
</ul>
</li>
</ul>
</li>
<li>/<em>apparmor</em>
<ul>
<li>usr.sbin.mysqld-custom</li>
</ul>
</li>
<li>/<em>mysql</em>
<ul>
<li>my-custom.cnf</li>
</ul>
</li>
<li>/<em>php5</em>
<ul>
<li>php-custom.ini</li>
</ul>
</li>
</ul>
</li>
</ul>
<p>Nous écrirons dans ces fichiers uniquement les points de configuration que l&#8217;on souhaite adapter. C&#8217;est plus simple à maintenir. Qui plus est, si les fichiers de configuration sont mis à jour par leur serveur respectif, nos fichiers resteront à l&#8217;abri.</p>
<p>Un des <em>moto</em> de Debian c&#8217;est la <strong>configuration à base de fichiers</strong>. Vous trouverez régulièrement des répertoires ayant un nom suivant le motif <em>application.d</em>. Donc plutôt que d&#8217;avoir 1 seul fichier de configuration, on a 1 fichier initial plus des configurations additionnelles dans ces fameux répertoires &laquo;&nbsp;.d&nbsp;&raquo;.</p>
<h3>Configuration d&#8217;Apache</h3>
<p><img class="aligncenter size-full wp-image-1246" title="Logo Apache" src="http://case.oncle-tom.net/images/2008/12/apache-logo.gif" alt="" width="248" height="70" /></p>
<p>Pour Apache la démarche est la suivante :</p>
<ol>
<li>créer les <em>Virtual Host</em> dans son répertoire personnel</li>
<li>lier les fichiers dans <em>sites-available</em></li>
<li>activer les sites à l&#8217;aide de la commande <em>a2ensite</em></li>
<li>recharger Apache</li>
</ol>
<p>La seule étape par rapport à d&#8217;habitude c&#8217;est qu&#8217;on ne crée par les <em>Virtual Host</em> directement dans /etc/apache2/sites-available et qu&#8217;on les lie depuis notre répertoire personnel.<br />
Admettons que je souhaite créer un <em>Virtual Host</em> pour une instance locale de mon blog. Je vais procéder ainsi :</p>
<ol>
<li><kbd>gedit ~/conf/apache2/sites-available/local.case.oncle-tom.net</kbd><br />
J&#8217;y ai placé une configuration somme toute minimaliste :</p>
<pre><code class="text">&lt;VirtualHost *:80&gt;
ServerName local.case.oncle-tom.net
DocumentRoot /home/oncletom/workspace/case.oncle-tom.net
ErrorLog /var/log/apache2/error.case.oncle-tom.net.log
LogLevel warn
CustomLog /var/log/apache2/access.case.oncle-tom.net.log combined
ServerSignature On
&lt;/VirtualHost&gt;</code></pre>
</li>
<li><kbd>sudo ln -s ~/conf/apache2/sites-available/local.case.oncle-tom.net /etc/apache2/sites-available/local.case.oncle-tom.net</kbd></li>
<li><kbd>sudo a2ensite local.case.oncle-tom.net</kbd></li>
<li><kbd>sudo service apache2 reload</kbd></li>
</ol>
<p>On se fendra de l&#8217;ajout d&#8217;un hôte local dans le fichiers <em>hosts</em> pour coller au plus près à l&#8217;instance de production. Toutefois je ne connais pas d&#8217;autre moyen que de modifier le fichier d&#8217;origine :-/ Si vous avez une solution je suis preneur.</p>
<h3>Configuration de MySQL</h3>
<p><img class="aligncenter size-full wp-image-744" title="Logo MySQL" src="http://case.oncle-tom.net/images/2007/08/powered-by-mysql-167x86.png" alt="" width="167" height="86" /></p>
<p>Pour MySQL c&#8217;est un peu plus compliqué car on va également en profiter pour déplacer l&#8217;emplacement par défaut des données. Pourquoi ? Pour les placer sur une partition qui ne craindra pas les formattages et les réinstallation système.<br />
Si vous aviez déjà suivi ma <a href="http://case.oncle-tom.net/2008/05/04/modifier-emplacement-donnees-serveur-mysql/">procédure de déplacement des données MySQL</a> : oubliez là. Celle-ci est largement plus aboutie.</p>
<p>Avant de se jeter à corps perdu dans les manipulations, voici la démarche entreprise :</p>
<ol>
<li>créer le fichier de configuration MySQL</li>
<li>créer le répertoire qui accueillera les données MySQL</li>
<li>lier la base <em>mysql</em> d&#8217;origine</li>
<li>modifier la configuration d&#8217;AppArmor</li>
<li>recharger la configuration des serveurs AppArmor et MySQL</li>
</ol>
<p>C&#8217;est déjà un peu plus long mais là encore, il n&#8217;y a pas grand chose à faire en fin de compte :</p>
<ol>
<li><kbd>gedit ~/conf/mysql/my-custom.cnf</kbd><br />
On y indique le nouvel emplacement de ses données MySQL :</p>
<pre><code class="text">[mysqld]
datadir            = /home/oncletom/Apps/mysql</code></pre>
</li>
<li><kbd>mkdir /home/oncletom/Apps/mysql<br />
sudo chown mysql:mysql /home/oncletom/Apps/mysql</kbd></li>
<li><kbd>ln -s /var/lib/mysql/mysql /home/oncletom/Apps/mysql/mysql</kbd></li>
<li><kbd>sudo gedit /etc/apparmor.d/usr.bin.mysql</kbd><br />
J&#8217;y ai remplacé</p>
<pre><code class="text">/var/lib/mysql/ r,
/var/lib/mysql/** rwk,</code></pre>
<p>par l&#8217;ancien chemin + le nouvel emplacement des données MySQL</p>
<pre><code class="text">/var/lib/mysql/ r,
/var/lib/mysql/** rwk,
/home/oncletom/Apps/mysql/ r,
/home/oncletom/Apps/mysql/** rwk,</code></pre>
</li>
<li><kbd>sudo service apparmor reload &amp;&amp; sudo service mysql reload</kbd></li>
</ol>
<p>Si vous avez bien suivi toutes mes explications, vous vous demanderez pourquoi j&#8217;ai modifié le profil existant de MySQL dans AppArmor au lieu de lier un nouveau profil ?<br />
Je me suis rendu compte qu&#8217;au démarrage de l&#8217;<acronym title="Operating System">OS</acronym>, <strong>AppArmor ne chargeait pas le profil personnalisé</strong> et bloquait le démarrage de MySQL. J&#8217;ai créé un <a href="http://ubuntuforums.org/showthread.php?t=977830">sujet sur Ubuntu Forums</a> après une lecture de la <a href="https://help.ubuntu.com/community/AppArmor">documentation AppArmor</a> mais pas de nouvelles. Là aussi je suis preneur car en relançant les serveurs à la main, tout fonctionne.</p>
<p>Ensuite à vous de repeupler vos bases de données à partir d&#8217;un dump. Si vous procédez à un déplacement des répertoires, n&#8217;oubliez pas de tout préserver : propriétaire et permissions ! Ça se passe avec l&#8217;option <em>-a</em> de <em>cp</em> par exemple.</p>
<h3>Configuration de <acronym title="Pre-Hypertext Processing">PHP</acronym></h3>
<p><img class="aligncenter size-full wp-image-1245" title="Logo PHP" src="http://case.oncle-tom.net/images/2008/12/php.gif" alt="" width="120" height="67" /></p>
<p>Fort heureusement pour <acronym title="Pre-Hypertext Processing">PHP</acronym> c&#8217;est plus simple puisqu&#8217;il n&#8217;y a qu&#8217;un seul petit lien symbolique à faire.<br />
À noter que la configuration modifiée sera répercutée sur toutes les configurations de <acronym title="Pre-Hypertext Processing">PHP</acronym>, que ça soit pour Apache, en CLI ou <acronym title="Common Gateway Interface">CGI</acronym>.</p>
<ol>
<li><kbd>gedit ~/conf/php/my-custom.ini</kbd><br />
J&#8217;ai ai mis par exemple :</p>
<pre><code class="text">memory_limit = 64M</code></pre>
</li>
<li><kbd>sudo ln -s ~/conf/php/my-custom.ini /etc/php5/conf.d/my-custom.ini</kbd></li>
</ol>
<p>Et voilà c&#8217;est tout pour <acronym title="Pre-Hypertext Processing">PHP</acronym>. Il faut bien entendu recharger votre serveur Web (Apache ou Lighttpd par exemple) pour qu&#8217;ils prennent en compte la modification.</p>
<h3>Conclusion</h3>
<p>J&#8217;ai déjà appliqué cette méthode par 2 fois et que dire si ce n&#8217;est que tout va plus vite ainsi !<br />
Vos fichiers de configuration restent accessibles depuis votre gestionnaire de fichiers (pas besoin de passer en <em>sudo</em> pour sauvegarder les changements). Ils sont préservés de toute réinstallation impromptue.</p>
<p><strong>Vous ne touchez que de manière minimaliste aux fichiers de configuration d&#8217;origine</strong> :</p>
<ul>
<li>/etc/hosts pour ajouter un nom d&#8217;hôte (utile seulement si vous ne souhaitez pas utiliser <em>localhost</em>)</li>
<li>/etc/apparmor.d/usr.bin.mysql pour la raison évoquée plus haut &#8230; sinon on s&#8217;en serait passé</li>
</ul>
<p>J&#8217;ai cherché à faire pareil avec <em>phpmyadmin</em> mais il ne semble pas y avoir de mécanisme de ce type. Dommage.</p>
<p>J&#8217;imagine qu&#8217;il doit y avoir des moyens similaires avec d&#8217;autres serveurs et d&#8217;autres langages. Vous procédez à un reparamétrage systématique ou bien vous utilisez une technique de ce genre ?</p>]]></content:encoded>
			<wfw:commentRss>http://case.oncle-tom.net/2008/configuration-apache-mysql-php-symlinks/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Connexion à un serveur Citrix depuis Firefox sous Linux</title>
		<link>http://case.oncle-tom.net/2008/connexion-serveur-citrix-firefox-linux/</link>
		<comments>http://case.oncle-tom.net/2008/connexion-serveur-citrix-firefox-linux/#comments</comments>
		<pubDate>Tue, 28 Oct 2008 05:00:54 +0000</pubDate>
		<dc:creator>Oncle Tom</dc:creator>
				<category><![CDATA[Développement Web]]></category>
		<category><![CDATA[citrix]]></category>
		<category><![CDATA[deb]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[ica]]></category>
		<category><![CDATA[logiciels libres]]></category>
		<category><![CDATA[metaframe]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[rpm]]></category>
		<category><![CDATA[vpn]]></category>
		<category><![CDATA[xenapp]]></category>
		<guid isPermaLink="false">http://case.oncle-tom.net/?p=1172</guid>
		<description><![CDATA[Pour les besoins du boulot et non plus pour le plaisir, j&#8217;ai eu pour impératif de me connecter à un Intranet client via un VPN Citrix. Je ne sais pas pour vous, mais quand j&#8217;entends VPN, je commence à avoir des sueurs froides en me disant que la galère ne fait que commencer. Et bien [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-1186" title="Chargement du serveur de présentation Citrix" src="http://case.oncle-tom.net/images/2008/10/citrix-loading.png" alt="" width="336" height="190" /></p>
<p>Pour les besoins du boulot et non plus pour le plaisir, j&#8217;ai eu pour impératif de me connecter à un Intranet client via un <a href="http://fr.wikipedia.org/wiki/Citrix_Presentation_Server">VPN Citrix</a>. Je ne sais pas pour vous, mais quand j&#8217;entends VPN, je commence à avoir des sueurs froides en me disant que la galère ne fait que commencer.</p>
<p>Et bien pour une fois, je peux dire que je n&#8217;ai presque pas ramé. Vous allez voir, c&#8217;est <strong>simple et rapide</strong>.<br />
<span id="more-1172"></span></p>
<h3>Citrix Presentation Server en 2 minutes</h3>
<p>Citrix Presentation Server c&#8217;est une manière d&#8217;offrir une connexion à des applications à distance indépendamment de la machine que l&#8217;on utilise. En clair, que l&#8217;on soit sous Linux, MacOS X ou Windows, on est censé pouvoir accéder à des applications d&#8217;une infrastructure distante.</p>
<p>Tout se fait via son navigateur Web préféré (Iceweasel sous Debian, Firefox sous Ubuntu dans mon cas). Seulement voilà, quand je souhaitais lancer l&#8217;application Putty pour profiter d&#8217;une jolie connexion <acronym title="Secure Shell">SSH</acronym>, <em>que nenni</em> !<br />
À la place, j&#8217;avais le droit de télécharger un fichier <em>launch.ica</em> qui, j&#8217;avoue, ne m&#8217;évoquais pas grand chose.</p>
<div id="attachment_1185" class="wp-caption aligncenter" style="width: 510px"><img class="size-full wp-image-1185" title="Téléchargement d'un fichier .ica" src="http://case.oncle-tom.net/images/2008/10/citrix-ica.png" alt="Si on en est là, c'est qu'il y a un soucis" width="500" height="466" /><p class="wp-caption-text">Si on en est là, c&#39;est que ça ne va pas</p></div>
<h3>Installer le plugin ICA pour Linux</h3>
<p><a title="Citrix ICA Client How-To for Linux" href="http://www.agaveblue.org/howtos/Citrix_ICA_How-To.shtml ">Une recherche Google plus tard</a>, je découvre donc sans surprise qu&#8217;il me faut installer un client Citrix. J&#8217;ai un peu peur en imaginant qu&#8217;il ne fonctionne que sur des systèmes d&#8217;exploitation arriérés.</p>
<p>Et pourtant, quand on sait ce qu&#8217;il faut installer c&#8217;est tellement plus simple :</p>
<ol>
<li><a href="http://www.citrix.com/English/ss/downloads/details.asp?downloadId=3323&amp;productId=186&amp;c1=sot2755">Téléchargez le client ICA pour Linux</a>
<ol>
<li>En prenant la version <em>.tar.gz</em> puis en lançant <kbd>./setupwfc</kbd></li>
<li>En convertissant le .rpm par un petit <kbd>sudo alien -i ICAClient-10.6-1.i386.rpm</kbd></li>
<li>En <a title="ICAClient-10.6-1.i386.deb" href="http://dl.free.fr/nnJyoE8KW">utilisant le .deb</a> que j&#8217;ai créé avec <em>alien</em></li>
</ol>
</li>
<li>Liez le plugin ICA à votre navigateur Web
<ul>
<li>Sous Ubuntu : <kbd>ln –s /usr/lib/ICAClient/npica.so /usr/lib/mozilla/plugins/npica.so</kbd></li>
<li>Sous Debian : <kbd>ln –s /usr/lib/ICAClient/npica.so /usr/lib/iceweasel/plugins/npica.so</kbd></li>
</ul>
</li>
<li>Fermez et relancer Firefox/Iceweasel si nécessaire</li>
<li>Dans les modules complémentaires, vérifiez que le plugin apparaît bien (ou bien dans <kbd>about:plugins</kbd>)</li>
</ol>
<div id="attachment_1188" class="wp-caption aligncenter" style="width: 510px"><img class="size-full wp-image-1188" title="Plugin Citrix vu depuis le gestionnaire de modules Firefox" src="http://case.oncle-tom.net/images/2008/10/citrix-plugin.png" alt="Plugin Citrix vu depuis le gestionnaire de modules Firefox" width="500" height="125" /><p class="wp-caption-text">Plugin Citrix vu depuis le gestionnaire de modules Firefox</p></div>
<h3>Conclusion</h3>
<p>Bref ça marche bien même sous Firefox 3 et j&#8217;en suis content. Le chargement des applications est relativement rapide. Ça fait presque bizarre de voir une application Windows bien se lancer !</p>
<p>C&#8217;est également la première fois que je peux me connecter à un VPN distant sans sérieux problèmes. J&#8217;ai déjà eu droit aux VPN Cisco à <em>passphrase</em> aléatoire généré par un badge &#8230; même le support technique n&#8217;a pas pu m&#8217;aider : j&#8217;étais le premier à les appeler en étant sous Linux !</p>
<div id="attachment_1187" class="wp-caption aligncenter" style="width: 295px"><img class="size-full wp-image-1187" title="Chargement de Citrix MetaFrame" src="http://case.oncle-tom.net/images/2008/10/citrix-loading-2.png" alt="Chargement de l'application Windows à distance" width="285" height="145" /><p class="wp-caption-text">Chargement de l&#39;application Windows à distance</p></div>]]></content:encoded>
			<wfw:commentRss>http://case.oncle-tom.net/2008/connexion-serveur-citrix-firefox-linux/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>colorblind-applet : des filtres pour daltonien sous Linux</title>
		<link>http://case.oncle-tom.net/2008/colorblind-applet-des-filtres-pour-daltonien-sous-linux/</link>
		<comments>http://case.oncle-tom.net/2008/colorblind-applet-des-filtres-pour-daltonien-sous-linux/#comments</comments>
		<pubDate>Tue, 12 Aug 2008 05:00:25 +0000</pubDate>
		<dc:creator>Oncle Tom</dc:creator>
				<category><![CDATA[Accessibilité]]></category>
		<category><![CDATA[applet]]></category>
		<category><![CDATA[color oracle]]></category>
		<category><![CDATA[colorblind-applet]]></category>
		<category><![CDATA[daltonisme]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[gnome-mag]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[logiciels libres]]></category>
		<category><![CDATA[ubuntu]]></category>
		<guid isPermaLink="false">http://case.oncle-tom.net/?p=1038</guid>
		<description><![CDATA[J&#8217;ai découvert totalement par hasard un jeu de filtres pour daltonien fonctionnant sur l&#8217;environnement de bureau Gnome. Son petit nom ? colorblind-applet. Il est livré en standard sous Debian et plus péniblement, sous Ubuntu. Cette dernière distribution englobe pourtant Gnome Magnifier (paquet gnome-mag), le projet père mais allez savoir pourquoi, sans l&#8217;applet pour daltonien. Petit [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-1056" title="Colorblind-applet" src="http://case.oncle-tom.net/images/2008/08/colorblind-applet-credits.png" alt="" width="360" height="282" /></p>
<p>J&#8217;ai découvert totalement par hasard un jeu de filtres pour daltonien fonctionnant sur l&#8217;environnement de bureau Gnome. Son petit nom ? <strong>colorblind-applet</strong>.<br />
Il est livré en standard sous Debian et <a title="installer colorblind-applet sous Ubuntu" href="http://news.softpedia.com/news/How-To-Install-the-Colorblind-Applet-on-GNOME-91323.shtml">plus péniblement, sous Ubuntu</a>. Cette dernière distribution englobe pourtant Gnome Magnifier (paquet <em>gnome-mag</em>), le projet père mais allez savoir pourquoi, sans l&#8217;applet pour daltonien.</p>
<p>Petit tour du propriétaire et mise en application dans le cas du développement Web.</p>
<p><span id="more-1038"></span></p>
<h3>Présentation rapide du daltonisme</h3>
<p>Se mettre dans la peau d&#8217;un daltonien, ou voir à travers ses yeux, est une chose difficile. Comment imaginer le rendu des couleurs ? Et surtout, comment l&#8217;imaginer en fonction du daltonisme ?<br />
Il faut savoir qu&#8217;il existe plusieurs variations de cette anomalie de perception de couleurs :</p>
<ul>
<li><strong>mauvaise perception</strong> du rouge</li>
<li><strong>pas de perception</strong> du rouge</li>
<li>mauvaise perception du vert</li>
<li>pas de perception du vert</li>
<li>mauvaise perception du bleu</li>
<li>pas de perception du bleu</li>
</ul>
<p>À cela s&#8217;ajoutent également des combinaisons possibles entre ces différentes variantes. Pour plus d&#8217;informations, je vous invite à consulter l&#8217;<a href="http://fr.wikipedia.org/wiki/Daltonisme">article sur le daltonisme sur Wikipédia</a>.<br />
Et pour votre gouverne, <strong>être daltonien ne signifie pas être handicapé</strong>. Les personnes atteintes de cette anomalie (environ 8% des hommes en France, même pas 1% de femmes) ne peuvent donc pas être reconnues comme telles.</p>
<div class="wp-caption aligncenter" style="width: 210px"><img title="Chiffre 37, invisible pour les personnes atteintes de protanopie" src="http://upload.wikimedia.org/wikipedia/commons/5/55/Colorblind3.png" alt="Chiffre 37, invisible pour les personnes atteintes de protanopie" width="200" height="200" /><p class="wp-caption-text">Chiffre 37, invisible pour les personnes atteintes de protanopie</p></div>
<p>Pour savoir savoir si on est daltonien, il suffit de regarder les images des <a href="http://daltonien.free.fr/daltonien/article.php3?id_article=6">planches du test d&#8217;Ishihara</a>. Peut-être la &laquo;&nbsp;mauvaise&nbsp;&raquo; nouvelle du jour ?</p>
<h3>Présentation de colorblind-applet</h3>
<p>Mais alors, que vient faire <em>colorblind-applet</em> dans tout ça ?<br />
Cet applet pour <a href="http://gnome.org">Gnome</a> est un &laquo;&nbsp;simple&nbsp;&raquo; filtre de visualisation. En clair, il altère la colorimétrie de votre écran pour l&#8217;afficher comme si vous étiez daltonien.<br />
Jusqu&#8217;à présent j&#8217;utilisais <a href="http://colororacle.cartography.ch/">Color Oracle</a> puisque <a title="présentation de Color Oracle sur Ergophile" href="http://www.ergophile.com/2008/02/13/le-daltonisme-vu-par-color-oracle/">présenté avec conviction sur Ergophile</a>.</p>
<p><em>colorblind-applet</em> me convient toutefois davantage pour les raisons suivantes :</p>
<ul>
<li>il peut se piloter entièrement via des <strong>raccourcis clavier</strong> (activation, désactivation, navigation entre les filtres)</li>
<li>son <strong>utilisation est persistante</strong> : il reste actif tant qu&#8217;on ne le désactive pas (Color Oracle enlève le filtre au moindre clic de mémoire)</li>
<li>il demande <strong>peu de ressources machine</strong>, intégration directe dans Gnome oblige (Color Oracle est en Java)</li>
</ul>
<p>En clair je résumerais comme suit :</p>
<ul>
<li>vous êtes sous Linux et plus particulièrement dans un bureau à base de GTK ? Utilisez <em>colorblind-applet</em></li>
<li>dans les autres cas, utilisez <em>Color Oracle</em> (compatible Linux, MacOS X et Windows)</li>
</ul>
<div id="attachment_1055" class="wp-caption aligncenter" style="width: 508px"><img class="size-full wp-image-1055" title="Colorblind-applet : contrôles" src="http://case.oncle-tom.net/images/2008/08/colorblind-applet-controls.png" alt="Colorblind-applet : contrôles" width="498" height="437" /><p class="wp-caption-text">Colorblind-applet : contrôles</p></div>
<h3>colorblind-applet en action</h3>
<p>Puisqu&#8217;une image vaut davantage qu&#8217;un long discours (trop tard me direz-vous <img src='http://case.oncle-tom.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> ), voici une série d&#8217;images présentant mon bureau de travail ainsi qu&#8217;un navigateur Web ouvert sur la page de <a href="http://planete-accessibilite.com/">Planète Accessibilité</a>.</p>
<div id="attachment_1058" class="wp-caption aligncenter" style="width: 310px"><a href="http://case.oncle-tom.net/images/2008/08/original.jpg"><img class="size-medium wp-image-1058" title="Capture d'écran d'origine" src="http://case.oncle-tom.net/images/2008/08/original-300x187.jpg" alt="Capture d'écran d'origine" width="300" height="187" /></a><p class="wp-caption-text">Capture d&#39;écran d&#39;origine</p></div>
<div id="attachment_1059" class="wp-caption aligncenter" style="width: 310px"><a href="http://case.oncle-tom.net/images/2008/08/selective-green-desaturation.jpg"><img class="size-medium wp-image-1059" title="Filtre réglé sur &quot;Selective Green Desaturation&quot;" src="http://case.oncle-tom.net/images/2008/08/selective-green-desaturation-300x187.jpg" alt="Filtre réglé sur &quot;Selective Green Desaturation&quot;" width="300" height="187" /></a><p class="wp-caption-text">Filtre réglé sur &quot;Selective Green Desaturation&quot;</p></div>
<div id="attachment_1057" class="wp-caption aligncenter" style="width: 310px"><a href="http://case.oncle-tom.net/images/2008/08/negative-hue-shift.jpg"><img class="size-medium wp-image-1057" title="Filtre réglé sur &quot;Negative Hue Shift&quot;" src="http://case.oncle-tom.net/images/2008/08/negative-hue-shift-300x187.jpg" alt="Filtre réglé sur &quot;Negative Hue Shift&quot;" width="300" height="187" /></a><p class="wp-caption-text">Filtre réglé sur &quot;Negative Hue Shift&quot;</p></div>
<p><strong> Plusieurs choses à noter</strong> :</p>
<ul>
<li>les teintes blanches sont épargnées</li>
<li>les autres couleurs changent en revanche du tout au tout en fonction du type de daltonisme</li>
<li>jouer sur les couleurs n&#8217;est pas suffisant pour faire passer un message aux utilisateurs</li>
<li>ça ne doit pas être évident de parcourir le Web et ses multiples couleurs tous les jours : la désaturation de vert pique particulièrement les yeux</li>
<li>et par extension, il me paraît très difficile de produire une charte graphique convenant à tous les types de daltonisme</li>
</ul>
<p>Je serais curieux d&#8217;avoir des retours de personnes ayant déjà eu à travailler avec cette déficience, les bonnes pratiques de conception et tout autre conseil avisé.</p>]]></content:encoded>
			<wfw:commentRss>http://case.oncle-tom.net/2008/colorblind-applet-des-filtres-pour-daltonien-sous-linux/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Modifier l&#8217;emplacement des données d&#8217;un serveur MySQL</title>
		<link>http://case.oncle-tom.net/2008/modifier-emplacement-donnees-serveur-mysql/</link>
		<comments>http://case.oncle-tom.net/2008/modifier-emplacement-donnees-serveur-mysql/#comments</comments>
		<pubDate>Sun, 04 May 2008 09:25:57 +0000</pubDate>
		<dc:creator>Oncle Tom</dc:creator>
				<category><![CDATA[Développement Web]]></category>
		<category><![CDATA[apparmor]]></category>
		<category><![CDATA[datadir]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[logiciels libres]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[mysql5]]></category>
		<category><![CDATA[optimisation]]></category>
		<category><![CDATA[ubuntu]]></category>
		<guid isPermaLink="false">http://case.oncle-tom.net/?p=908</guid>
		<description><![CDATA[L&#8217;installation par défaut d&#8217;un serveur MySQL est suffisante pour être opérationnel dans la minute qui suit. Elle ne facilite en revanche pas la maintenance en laissant le répertoire contenant vos bases de données et tables hors de portée. L&#8217;intérêt de choisir soi-même l&#8217;emplacement de ce répertoire, le datadir, est double : regrouper les données en [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align:center"><img src="http://case.oncle-tom.net/images/2007/08/powered-by-mysql-167x86.png" alt="Logo MySQL" /></p>
<p>L&#8217;installation par défaut d&#8217;un serveur MySQL est suffisante pour être opérationnel dans la minute qui suit. Elle ne facilite en revanche pas la maintenance en laissant le répertoire contenant vos bases de données et tables hors de portée.</p>
<p>L&#8217;intérêt de choisir soi-même l&#8217;emplacement de ce répertoire, le <em>datadir</em>, est double :</p>
<ul>
<li><strong>regrouper les données en un endroit connu</strong> (facilite les sauvegardes)</li>
<li>utiliser le partitionnement du disque pour <strong>ne pas avoir à craindre une perte de données</strong> en cas de réinstallation du système (facilite la maintenance)</li>
</ul>
<p>Nous allons voir comment procéder à ce changement tout en adaptant les sécurités des systèmes tels que <a href="http://fedoraproject.org/wiki/SELinux">SELinux</a> et <a href="http://www.novell.com/linux/security/apparmor/">AppArmor</a>. Ces derniers empêcheront en effet le serveur de démarrer.</p>
<p><span id="more-908"></span></p>
<p><strong class="highlight">Remarque importante</strong> : j&#8217;ai publié une <a href="http://case.oncle-tom.net/2008/12/11/configuration-apache-mysql-php-symlinks/">version améliorée du déplacement des données d&#8217;un serveur MySQL</a>. Je la recommande par rapport à cet article : elle implique moins de manipulations et est plus propre.</p>
<h3>Quelques généralités avant de commencer</h3>
<p>Quitte à changer l&#8217;emplacement du <em>datadir</em>, autant le déplacer sur une partition qui ne sera pas effacé lors de la réinstallation de votre système d&#8217;exploitation, que ça soit du Linux, MacOS ou Windows.</p>
<p>Personnellement, sous Ubuntu/Debian, je crée un répertoire dans /home qui s&#8217;appelle mysql. Mon répertoire /home est bien entendu monté sur une partition différente. Si ce n&#8217;est pas le cas chez vous, pensez à <a href="http://doc.ubuntu-fr.org/installation/deplacer_home">déplacer votre /home</a>.</p>
<pre><code class="shell">sudo mkdir /home/mysql
sudo chown mysql:mysql /home/mysql</code></pre>
<p>Enfin, dernier détail à connaître : l&#8217;emplacement de vos données MySQL :</p>
<ul>
<li>sous Linux, généralement : <code>/var/lib/mysql</code></li>
<li>sous Windows, avec WAMP : <code>C:Program FilesWampmysqldata</code></li>
</ul>
<h3>Méthode 1 : modifier la configuration MySQL</h3>
<p>C&#8217;est probablement la <strong>méthode la plus simple</strong> mais elle a l&#8217;inconvénient d&#8217;avoir à modifier un fichier de configuration. Il faut donc modifier la propriété <em>datadir</em> de votre <a href="http://dev.mysql.com/doc/refman/5.1/en/option-files.html">fichier de configuration MySQL</a> :</p>
<ul>
<li>sous Linux, généralement : <code>/etc/mysql/my.cnf</code></li>
<li>sous Windows, avec WAMP : <code>C:Program FilesWampmysqlconfmy.ini</code></li>
</ul>
<p>Dans ce fichier se trouve une section consacrée à la configuration générale du serveur mysql (<em>mysqld</em> pour <em>mysql daemon</em>) :</p>
<pre><code class="text">[mysqld]
user            = mysql
port            = 3306
basedir         = /usr
<strong>datadir</strong>         = <strong>/var/lib/mysql</strong>
tmpdir          = /tmp</code></pre>
<p>J&#8217;ai mis en gras la ligne qui nous intéresse, à savoir le <em>datadir</em>.<br />
Quelle valeur mettre ? Celle de l&#8217;emplacement souhaité pour vos données. Dans mon cas ça aurait été /home/mysql :</p>
<pre><code class="text"><strong>datadir</strong>         = <strong>/home/mysql</strong></code></pre>
<p>Vous vous assurerez d&#8217;avoir bien stoppé le service MySQL, d&#8217;avoir copié/collé vos données de l&#8217;ancien emplacement vers le nouveau et enfin de redémarrer MySQL. C&#8217;est seulement en cas de réussite que vous pourrez supprimer l&#8217;ancien répertoire <img src='http://case.oncle-tom.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<pre><code class="shell">sudo -s
/etc/init.d/mysql stop
cp -pr /var/lib/mysql/* /home/mysql
/etc/init.d/mysql start</code></pre>
<h3>Méthode 2 : utilisation d&#8217;un lien symbolique</h3>
<p>La <a href="http://dev.mysql.com/doc/refman/5.1/en/symbolic-links.html">documentation de MySQL explique l&#8217;utilisation des liens symboliques</a> pour tout, une base de données précises voire même les tables. Ceci dit nous allons voir l&#8217;exemple global : on déplace tout.</p>
<p>Concrètement cette méthode consiste à :</p>
<ol>
<li>stopper le service MySQL</li>
<li>déplacer le répertoire de données (au cas où)</li>
<li>créer le lien symbolique</li>
<li>copier les données dans le nouvel emplacement</li>
<li>relancer le service MySQL</li>
</ol>
<p>Concrètement, ça se traduit comme ceci :</p>
<pre><code class="shell">sudo -s
mv /var/lib/mysql /var/lib/mysql-old
ln -s /home/mysql /var/lib/mysql
cp -pr /var/lib/mysql-old/* /home/mysql
/etc/init.d/mysqld start</code></pre>
<p>Là encore, supprimez la copie de vos données (répertoire mysql-old) seulement en cas de succès. Ça facilite les retours en arrière en cas de pépin.</p>
<h3>Cas particulier : systèmes employant AppArmor ou SELinux</h3>
<p>Il y a cependant un hic possible si vous utilisez une distribution Fedora ou Ubuntu, surtout depuis sa version <a href="http://doc.ubuntu-fr.org/hardy">Hardy Heron (8.04)</a>. Celle-ci intègre une sécurité pour éviter à certains services critiques d&#8217;être altérés par une manipulation extérieure &#8230; comme la notre.</p>
<p>Il faut savoir que les 2 méthodes du haut échoueront si vous rentrez dans ce cas de figure : le <strong>service MySQL ne démarre pas</strong>.<br />
Pas de panique, il y a juste un fichier à modifier : <code>/etc/apparmor.d/usr.sbin.mysqld</code>. Il y a un passage ressemblant à ceci, <em>dans le cas d&#8217;AppArmor et Ubuntu</em> :</p>
<pre><code class="text">/etc/mysql/*.pem r,
/etc/mysql/conf.d/ r,
/etc/mysql/conf.d/* r,
/etc/mysql/my.cnf r,
/usr/sbin/mysqld mr,
/usr/share/mysql/** r,
<strong>/var/lib/mysql/</strong> r,
<strong>/var/lib/mysql/**</strong> rwk,
/var/log/mysql/ r,
/var/log/mysql/* rw,
/var/run/mysqld/mysqld.pid w,
/var/run/mysqld/mysqld.sock w,</code></pre>
<p>Vous voyez le loup venir. Il suffit de remplacer les occurences de /var/lib/mysql par le chemin de votre nouvel emplacement, /home/mysql dans notre cas :</p>
<pre><code class="text"><strong>/home/mysql/</strong> r,
<strong>/home/mysql/**</strong> rwk,</code></pre>
<p>La raison de cette modification est presque simple : AppArmor ne suit pas les liens symboliques. <strong>Il considère que /var/lib/mysql est différent de /home/mysql</strong> et que ce dernier ne concerne pas le service mysqld.<br />
<strong>Notre modification évite ce blocage</strong> et permet du même coup au serveur MySQL de démarrer ; les échecs étant dus au fait que le serveur ne trouvait pas de base à charger (dont la sienne, <em>mysql</em>).</p>
<p>Pour terminer, on peut relancer les 2 services, apparmor et mysqld :</p>
<pre><code class="shell">sudo /etc/init.d/apparmor restart
sudo /etc/init.d/mysqld restart</code></pre>
<h3>Conclusion</h3>
<p>Nous avons vu 2 méthodes pour rendre sa <strong>gestion des bases de données plus souple et plus sure</strong>. En cas de défaillance système &#8211; ça arrive même aux meilleurs &#8211; il faut pouvoir le réinstaller sans craindre de perdre des données vitales. Et les bases de données le sont.</p>
<p>On peut aussi constater que les <strong>nouveaux services de protection peuvent compliquer la vie</strong> si on ne les sait pas actifs et si on ne comprend pas leur fonctionnement. J&#8217;ai passé plusieurs heures à comprendre pourquoi le serveur MySQL ne se relançait pas alors qu&#8217;il me semblait avoir effectué la même manipulation sur les précédentes versions d&#8217;Ubuntu.</p>
<p>N&#8217;hésitez pas à partager votre méthode ou apporter vos suggestions sur votre gestion des <em>datadir</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://case.oncle-tom.net/2008/modifier-emplacement-donnees-serveur-mysql/feed/</wfw:commentRss>
		<slash:comments>36</slash:comments>
		</item>
		<item>
		<title>L&#8217;âge astucieux</title>
		<link>http://case.oncle-tom.net/2007/clever-age/</link>
		<comments>http://case.oncle-tom.net/2007/clever-age/#comments</comments>
		<pubDate>Thu, 15 Nov 2007 22:10:37 +0000</pubDate>
		<dc:creator>Oncle Tom</dc:creator>
				<category><![CDATA[Personnel]]></category>
		<category><![CDATA[Travail 2.0]]></category>
		<category><![CDATA[blog@bordeaux]]></category>
		<category><![CDATA[blogcamp bordeaux]]></category>
		<category><![CDATA[clever age]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[dreamweaver]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[facebook]]></category>
		<guid isPermaLink="false">http://case.oncle-tom.net/2007/11/15/clever-age/</guid>
		<description><![CDATA[Après avoir mis toutes les billes de mon côté pour ma recherche d&#8217;emploi, j&#8217;ai démissionné. J&#8217;avoue que les derniers jours m&#8217;ont paru plus longs que d&#8217;habitude &#8230; l&#8217;impatience de commencer une nouvelle aventure c&#8217;est quelque chose. Après deux semaines de travail, j&#8217;en tire déjà quelques conclusions, par rapport au travail, aux gens avec qui je [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://case.oncle-tom.net/2007/preparer-optimiser-recherche-emploi/">Après avoir mis toutes les billes de mon côté pour ma recherche d&#8217;emploi</a>, <a href="http://case.oncle-tom.net/2007/lettre-demission/">j&#8217;ai démissionné</a>. J&#8217;avoue que les derniers jours m&#8217;ont paru plus longs que d&#8217;habitude &#8230; <em>l&#8217;impatience de commencer une nouvelle aventure c&#8217;est quelque chose</em>.</p>
<p>Après deux semaines de travail, j&#8217;en tire déjà quelques conclusions, par rapport au travail, aux gens avec qui je compose et à ma nouvelle vie. Certains livres et méthodes oscillent entre 30 et 90 jours pour convaincre. Tout ce que je peux dire c&#8217;est que 90 c&#8217;est beaucoup trop : <strong>en 20 ou 30 jours tout est cuit</strong>.</p>
<p><img class="aligncenter size-full wp-image-17816" title="Clever Age" src="http://media.oncle-tom.net/images/2007/11/clever_age.png" alt="" width="240" height="126" /> <span id="more-811"></span></p>
<h3>Changement de collègues</h3>
<p>Avant de pouvoir se sentir bien dans son travail ou sa manière de travailler, le point crucial c&#8217;est l&#8217;entente avec les collègues, physiques ou collaborateurs distants. J&#8217;en avais ma tasse des <q>bonjour, salut ça va ?</q> qui relevaient davantage de la routine que du réel intérêt de bien-portance. Et j&#8217;avoue que <a href="http://prendreuncafe.com/blog/">prendre un café</a> en parcourant <a href="http://blogmarks.net/">Blogmarks</a>, en traînant sur <a href="http://www.gasteroprod.com/">Gasteroprod</a> aux côtés de <a href="http://lacot.org/">Xavier</a> et d&#8217;un <a href="http://www.unelectronlibre.info/">électron libre</a> &#8230; comment dire, y&#8217;a de quoi soulever un bureau avec un doigt, sans les mains.</p>
<p>Enfin en tous cas ça me met le baume au cœur de bon matin. <strong>Travailler bien avec des gens biens, c&#8217;est pas rien</strong>. C&#8217;est une chance que tout le monde doit saisir car indépendamment des connaissances, la <em>bonne entente d&#8217;une équipe peut régir la réussite ou l&#8217;échec d&#8217;un projet</em>.</p>
<h3>Changement d&#8217;outils</h3>
<p>Ce changement de travail a été l&#8217;occasion de réaliser ce que je souhaitais depuis un bon moment : abandonner Windows (quasi) définitivement. J&#8217;ai opéré une bascule <a href="http://www.perdu.com/">Windows</a>+Dreamweaver vers la distribution Linux <a href="http://www.debian.org/">Debian</a> accompagné de l&#8217;<acronym title="Integrated Development Environment">IDE</acronym> Eclipse. L&#8217;occasion d&#8217;adopter un outil surpuissant, notamment en combinaison des modules <a href="http://subclipse.tigris.org/">Subclipse</a> et <a href="http://www.aptana.com/">Aptana</a>.</p>
<p>En effleurant à peine le potentiel de ces applications, j&#8217;ai déjà gagné en temps et en confort de développement : prévisualisation quasi-parfaite des pages Web, éditeur <acronym title="Cascading Style Sheet"><acronym title="Cascading Style Sheets">CSS</acronym></acronym> et <acronym title="HyperText Markup Language"><acronym title="HyperText Markup Language">HTML</acronym></acronym> de haut niveau, de la saisie intuitive, des indicateurs discrets mais facilitant le repérage d&#8217;erreurs et de changements &#8230; il y a de quoi faire et je ne regrette pas de m&#8217;être fait violence.</p>
<h3>Changement d&#8217;habitudes</h3>
<p>Sur le papier commencer et terminer ma journée une heure plus tard que d&#8217;habitude ne me dérangeait pas mais quand le corps décide de ne pas suivre suffisamment rapidement, j&#8217;ai réalisé que débuter en même temps que les magasins, que terminer en même temps qu&#8217;eux n&#8217;était pas l&#8217;idéal imaginé.<br />
Certes c&#8217;est confortable de pouvoir prendre davantage de temps le matin pour soi, pour se tenir au fait de l&#8217;actualité mais la journée terminée, quand on aimerait faire les courses ou récupérer sa voiture au garage, tout est fermé. Oui je suis réfractaire aux courses le samedi matin d&#8217;autant plus que j&#8217;aime passer ce moment à humer les odeurs des marchés fermiers.</p>
<p>Toujours est-il qu&#8217;<strong>il faut prendre le changement d&#8217;habitude de manière positive</strong>. C&#8217;est également probablement plus difficile en automne et en hiver à cause des journées solaires écourtées.</p>
<p>Un défi de plus à relever <img src='http://case.oncle-tom.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<h3>Conclusion : changement de vie</h3>
<p>Je pense donc avoir fait le bon choix dans mes recherches : une équipe motivée et motivante, des conditions de travail excellentes (plein centre historique de Bordeaux), un cadre agréable (que des restaurants autour, j&#8217;aurais une sélection à partager c&#8217;est sûr et certain), un potentiel d&#8217;apprentissage énorme &#8230; bref, tout ce que je voulais en une fois.</p>
<p>Malgré un emploi du temps chargé, je compte toujours continuer à partager avec vous mes astuces professionnelles, mes conseils pour mieux travailler sur/pour Internet. A ce propos, je serai présent <a href="http://www.thibaut-charron.com/blog/?p=108">samedi 17 novembre à <strong>Blog@Bordeaux</strong></a> (<a href="http://www.facebook.com/event.php?eid=20348741624">rejoindre Blog@Bordeaux sur <em>Facebook</em></a>) et très certainement aux prochains <a href="http://blogcampbordeaux.blogspot.com/"><strong>BlogCamp Bordeaux</strong></a>.</p>]]></content:encoded>
			<wfw:commentRss>http://case.oncle-tom.net/2007/clever-age/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

