<?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>www.pc-kc.fr</title>
	<atom:link href="http://www.pc-kc.fr/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pc-kc.fr</link>
	<description>Le site pour garder le contact avec votre PC</description>
	<lastBuildDate>Mon, 16 Apr 2012 10:10:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Apache, suhosin, wordpress et WP-Table Reloaded</title>
		<link>http://michauko.org/blog/2012/04/16/apache-suhosin-wordpress-et-wp-table-reloaded/</link>
		<comments>http://michauko.org/blog/2012/04/16/apache-suhosin-wordpress-et-wp-table-reloaded/#comments</comments>
		<pubDate>Mon, 16 Apr 2012 10:10:58 +0000</pubDate>
		<dc:creator>michauko</dc:creator>
				<category><![CDATA[Chez les autres]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://michauko.org/blog/?p=1331</guid>
		<description><![CDATA[Le problème Hop, un petit aide-mémoire à propos du plugin WP-Table Reloaded pour WordPress sur un serveur avec patch suhosin. Sur des gros tableaux, impossible de faire la moindre mise à jour en live du tableau, car le patch suhosin limite (c&#8217;est son rôle) la taille de certains formulaires, longueurs de noms de variables etc, [...]]]></description>
			<content:encoded><![CDATA[<h2>Le problème</h2>
<p>Hop, un petit aide-mémoire à propos du plugin WP-Table Reloaded pour WordPress sur un serveur avec patch suhosin.<br />
Sur des gros tableaux, impossible de faire la moindre mise à jour en live du tableau, car le patch suhosin limite (c&#8217;est son rôle) la taille de certains formulaires, longueurs de noms de variables etc, ou alors, il tronque certains tableaux.<br />
Seul l&#8217;import initial se passe bien. Ensuite, c&#8217;est la galère.</p>
<h2>La solution ?</h2>
<p>Il faut régler suhosin plus finement <span id="more-1331"></span>(et non pas le désactiver comme recommandent beaucoup de personnes pour dégager le problème vite fait mal fait).</p>
<p>Pour connaître précisément votre config suhosin sur un site donné, vous pouvez utiliser un appel à phpinfo() en PHP.</p>
<p>Ensuite, sur un site ayant des tableaux de 1500 lignes, j&#8217;ai dû, à force d&#8217;alertes suhosin dans /var/log/user.log, modifier ces valeurs dans mon VirtualHost :</p>
<p><code>        php_value suhosin.post.max_array_index_length 0<br />
        php_value suhosin.get.max_array_index_length 0<br />
        php_value suhosin.request.max_array_index_length 0<br />
        php_value suhosin.post.max_vars 0<br />
        php_value suhosin.get.max_vars 0<br />
        php_value suhosin.request.max_vars 0<br />
        php_value suhosin.post.max_name_length 0<br />
        php_value suhosin.get.max_vars 0<br />
        php_value suhosin.request.max_vars 0<br />
        php_value suhosin.memory_limit 512M</code></p>
<p>C&#8217;est une première étape qui permet de voir si ça règle bien le problème. Ensuite, il faut affiner pour ne pas tolérer de l&#8217;illimité (0), mais des valeurs réalistes.<br />
Il restait un dernier blocage à 1000 lignes, cette fois la conf de base PHP, j&#8217;ai modifié ceci puis affiné :<br />
<code>        php_value max_input_vars 10000</code></p>
<p>Un reload Apache et le tour était joué.</p>
]]></content:encoded>
			<wfw:commentRss>http://michauko.org/blog/2012/04/16/apache-suhosin-wordpress-et-wp-table-reloaded/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Catch-all DNS, VirtualHost et on fait mumuse avec les noms de sous-domaines</title>
		<link>http://michauko.org/blog/2012/03/28/catch-all-dns-virtualhost-et-on-fait-mumuse-avec-les-noms-de-sous-domaines/</link>
		<comments>http://michauko.org/blog/2012/03/28/catch-all-dns-virtualhost-et-on-fait-mumuse-avec-les-noms-de-sous-domaines/#comments</comments>
		<pubDate>Wed, 28 Mar 2012 16:07:17 +0000</pubDate>
		<dc:creator>michauko</dc:creator>
				<category><![CDATA[Chez les autres]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://michauko.org/blog/?p=1316</guid>
		<description><![CDATA[Salut lecteur, Un bail que je n&#8217;ai rien écrit sur ce blog, la faute à un petit projet perso qui me prend un peu de temps chez moi, semble-t-il. L&#8217;idée Ceci dit, je voulais laisser une trace de cette manip&#8217; qui consiste à autoriser n&#8217;importe quel nom de sous-domaine d&#8217;un domaine que vous possédez, exemple [...]]]></description>
			<content:encoded><![CDATA[<p>Salut lecteur,</p>
<p>Un bail que je n&#8217;ai rien écrit sur ce blog, la faute à un petit projet perso qui me prend un peu de temps chez moi, semble-t-il.</p>
<h2>L&#8217;idée</h2>
<p>Ceci dit, je voulais laisser une trace de cette manip&#8217; qui consiste à autoriser n&#8217;importe quel nom de sous-domaine d&#8217;un domaine que vous possédez, exemple le fameux &laquo;&nbsp;mon_domaine.com&nbsp;&raquo; en ayant la possibilité d&#8217;envoyer vers un site ou un autre (au sens, un VirtualHost/DocumentRoot ou un autre) suivant le nom de sous-domaine appelé, la liste de ces sous-domaines étant potentiellement illimitée.</p>
<p>Bon, OK, pour la formulation, c&#8217;est pas forcément limpide. Un exemple concret : mon_domaine.com est <span id="more-1316"></span>une société qui propose un service web personnalisé pour ses clients. Le gérant de la chose décide de mettre en place les sous-domaines suivants :</p>
<ul>
<li>www.mon_domaine.com</li>
<li>demo.mon_domaine.com ; même mieux : une liste de plusieurs instances de démo : demo1, demo2 etc</li>
<li>une série infinie de clientXXX.mon_domaine.com, exemples : http://client.mon_domaine.com, http://autreclient.mon_domaine.com</li>
</ul>
<p>
On voudrait que le &laquo;&nbsp;www&nbsp;&raquo; renvoie vers le site &laquo;&nbsp;commerçant&nbsp;&raquo;, que les &laquo;&nbsp;demoX&nbsp;&raquo; renvoient vers le service en mode démo (chacun étant une instance différente, une base de données différente, par exemple) et que chaque &laquo;&nbsp;clientXXX&nbsp;&raquo; pointe vers le vrai outil, dont le code est commun pour tous les clients, là aussi avec une peut-être une base de donnée différente par client.<br />
Pourquoi ne pas juste passer un paramètre dans l&#8217;URL pour indiquer le client ? car dans mon cas, je préférais faire des sous-domaines différents, ça enlève un tas d&#8217;épines du pied en ce qui concerne la gestion des sessions, gestion qui est liée au nom complet du domaine, pas à ce qu&#8217;il y a après le &laquo;&nbsp;.com&nbsp;&raquo;, comme un http://&#8230;.com/?client=xxx</p>
<p>On a toujours la possibilité de faire n&#8217;importe quelle crassouillerie pour avoir un script d&#8217;index[.php] qui dirige vers tel ou tel code/outil suivant l&#8217;URL appelée. Pourquoi pas. Mais lorsque l&#8217;un des outils est par exemple un outil dont on ne veut pas modifier l&#8217;index[.php], ça peut poser problème. Exemple, le &laquo;&nbsp;www&nbsp;&raquo; est un wordpress, le reste un outil maison. Je ne veux pas avoir à jouer avec le htaccess du WordPress, ce genre de choses. Bref, je scinde les mondes avant et je limite les risques de passage de l&#8217;un à l&#8217;autre.</p>
<p>Bon, ça y est ? le contexte est clair ?<br />
Voici la solution que je trouve la plus élégante.</p>
<h2>Côté DNS : catch-all</h2>
<p>Si le gérant de votre nom de domaine le permet, créez d&#8217;abord un enregistrement DNS type A ou CNAME nommé &laquo;&nbsp;*&nbsp;&raquo; et pointant vers votre serveur. Exemple : &laquo;&nbsp;<code>*.mon_domaine.com CNAME mon_domaine.com</code>&laquo;&nbsp;.<br />
Tous ne le permettent sûrement pas. Je sais au moins que OVH le tolère, il suffit de mettre &laquo;&nbsp;*&nbsp;&raquo; comme nom de sous-domaine.<br />
Ensuite, on peut tester avec la commande &laquo;&nbsp;<code>host/nslookup nimportequoi.mon_domaine.com</code>&laquo;&nbsp;.</p>
<h2>Côté Apache : identification du sous-domaine demandé</h2>
<p>Avec la manip&#8217; DNS, on est sûr que nimportequoi.mon_domaine.com renvoie bien vers le serveur. Reste à trier au niveau Apache (plutôt qu&#8217;au niveau code derrière, comme j&#8217;ai expliqué plus haut).<br />
Déjà pour être sûr que ça marche, une conf simpliste consiste à créer un unique VirtualHost comme ceci :</p>
<pre>< VirtualHost *>
        ServerName mon_domaine.com
        ServerAlias *.mon_domaine.com
        ServerAdmin webmaster@mon_domaine.com
        ...
        DocumentRoot /quelque/part/
        ...
< /VirtualHost>
</pre>
<p>Avec ça, vous pouvez appeler http://peu_importe.mon_domaine.com ou http://www.mon_domaine.com et atterrir sur le même VirtualHost/DocumentRoot, le même &laquo;&nbsp;site&nbsp;&raquo;.</p>
<p>Ensuite, on améliore pour scinder les 3 jeux de sous-domaines. Supprimez le VirtualHost d&#8217;avant et mettez :</p>
<pre>< VirtualHost *>
        ServerName www.mon_domaine.com
        ServerAdmin webmaster@mon_domaine.com
        ...
        DocumentRoot /quelque/part/le/site/www/
        ...
< /VirtualHost>
< VirtualHost *>
        ServerAlias demo*.mon_domaine.com
        ServerAdmin webmaster@mon_domaine.com
        ...
        DocumentRoot /quelque/part/le/code/des/sites/de/demo/
        ...
< /VirtualHost>
< VirtualHost *>
        ServerName mon_domaine.com
        ServerAlias *.mon_domaine.com
        ServerAdmin webmaster@mon_domaine.com
        ...
        DocumentRoot /quelque/part/le/code/des/sites/de/production/
        ...
< /VirtualHost></pre>
<p>Bah voilà, c&#8217;est tout, les 3 répertoires mentionnés dans les DocumentRoot sont indépendants.<br />
Il ne resterait plus que dans l&#8217;outil, à récupérer le nom du sous-domaine (exemple à partir de <code>$_SERVER['SERVER_NAME']</code> en PHP) et faire le traitement adéquat.</p>
<p>En espérant que ça serve à quelqu&#8217;un,</p>
<p>A la prochaine !</p>
]]></content:encoded>
			<wfw:commentRss>http://michauko.org/blog/2012/03/28/catch-all-dns-virtualhost-et-on-fait-mumuse-avec-les-noms-de-sous-domaines/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PC Airis OSless il n&#8217;y a pas que les grands constructeurs dans la vie</title>
		<link>http://www.pc-kc.fr/edito/pc-airis-osless-il-ny-a-pas-que-les-grands-constructeurs-dans-la-vie/</link>
		<comments>http://www.pc-kc.fr/edito/pc-airis-osless-il-ny-a-pas-que-les-grands-constructeurs-dans-la-vie/#comments</comments>
		<pubDate>Mon, 06 Feb 2012 17:10:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Edito]]></category>
		<category><![CDATA[Planet-Libre]]></category>
		<category><![CDATA[airis]]></category>
		<category><![CDATA[detaxe]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[osless]]></category>
		<category><![CDATA[pc sans os]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.pc-kc.fr/?p=979</guid>
		<description><![CDATA[Airis un PC libre &#160; La semaine dernière j&#8217;ai acheté un PC Airis N1104D. Super et alors en quoi cela concerne le planet ? Comme beaucoup je ne veux pas payer pour avoir un Windows que je n&#8217;utiliserai pas, je suis depuis quatre ans maintenant la liste detaxe.org et force est de constater que les choses [...]]]></description>
			<content:encoded><![CDATA[<p>Airis un PC libre</p>
<p>&nbsp;</p>
<p>La semaine dernière j&#8217;ai acheté un PC Airis N1104D. Super et alors en quoi cela concerne le planet ?</p>
<p>Comme beaucoup je ne veux pas payer pour avoir un Windows que je n&#8217;utiliserai pas, je suis depuis quatre ans maintenant la liste <a title="detaxe.org pc sans OS" href="http://non.aux.racketiciels.info/">detaxe.org</a> et force est de constater que les choses avancent, mais lentement, depuis tout ce temps quelques procès gagnés, d&#8217;autres perdus, bientôt un nouveau président (ou pas …) et pourtant nos pc du commerce (meilleurs amis du Geek) sont toujours très liés à leur <span style="text-decoration: line-through;">maitre</span> OS. Je ne vais pas me lancer dans une diatribe contre Microsoft d&#8217;autres l&#8217;ont fait mieux que moi, et certainement avec beaucoup plus de talent. Non je vais juste parlé d&#8217;un PC vendu sans OS, qui à un rapport qualité prix imbattable (enfin à mon avis, vous jugerez vous même).</p>
<p>Car si effectivement du côté des grands constructeurs (HP, Dell, …) rien ne change ou pas grand chose, du côté des constructeurs alternatifs, il y a largement de quoi trouver son bonheur.</p>
<p>Bref j&#8217;ai donc acheté ce PC N1104D pour 800€ (quand même) oui mais attention Core I7 2Ghz, 8Go de RAM, écran 15&nbsp;&raquo; et 750 Go de HDD. Pourquoi je précise tout ça, pas pour dire qu&#8217;elle est belle la machine, mais juste pour que vous sachiez qu&#8217;il est possible d&#8217;avoir une machine de bonne qualité avec des performances plus que correctes. Je n&#8217;ai pas trouvé sur un seul site marchand, ou en magasin un PC de grand constructeur au caractéristiques équivalentes pour la même somme, toutes les configurations étaient (largement ?) au dessus des 1000 €, même si on part du principe qu&#8217;il y a le coût de la licence Windows que l&#8217;on peut se faire rembourser (parfois avec de la chance et du temps), on est loin du compte.</p>
<p>Récemment j’assistais à une conférence pendant laquelle un prix à été décerné à une société francaise (rien à voir avec les PC, non rien pour l&#8217;instant) le PDG de Lafuma a dit qu&#8217;aujourd&#8217;hui sous un aspect green washing il faisait plus avec moins, meilleurs qualité, moins cher, moins d&#8217;emballage, etc … Je reviens vers mon PC et je me dis qu&#8217;il est possible de tenir un raisonnement semblable, plus de qualité, plus de ram, de disque, de cpu, moins de prix, de magasins, d&#8217;os, ….</p>
<p>&nbsp;</p>
<p>Bref le monde change l&#8217;informatique aussi, c&#8217;est ma première expérience d&#8217;achat de portable de cette sorte (en 20 ans), et je dois dire que je vous la recommande. Ce qui ne gâche rien le SAV est de qualité et la machine est 100% linux friendly.</p>
<p>Certains dirons que Airis est basé sur un clevo que ce n&#8217;est pas un petit constructeur sortit d&#8217;on ne sait où, certes mais en attendant il est possible d&#8217;acquérir un pc sans OS et de bonne facture, sans forcément se prendre la tête avec des procédures de remboursement, un procès, où je ne sais quoi encore.</p>
<p>Pour info chez Airis il n&#8217;y a pas que des portables il y a aussi des All-in-one, maintenant j&#8217;aime bien aussi les linutop et le fit-PC.</p>
<p>Liens vers le site airis france : <a title="lien verrs la boutique Airis France" href="http://www.boutique-airis-france.fr/index.php">Boutique airis</a></p>
<p>Liens vers le modèle acheté : <a title="Airis N1104D" href="http://www.boutique-airis-france.fr/index.php?page=shop.product_details&amp;flypage=vmj_naru.tpl&amp;product_id=23&amp;category_id=39&amp;option=com_virtuemart&amp;Itemid=249">Airis N1104D</a></p>
<p>Quand je parlais de clevo il y a un autre distributeur chez qui ont peu monter son PC &laquo;&nbsp;à la carte&nbsp;&raquo; mais c&#8217;est plus cher : lien vers une base presque identique au N1104D sur le site de <a title="W258HUQ Base clevo pour N1104D" href="http://www.pcw.fr/shop/15-6/clevo-w251huq.html">clevo france </a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pc-kc.fr/edito/pc-airis-osless-il-ny-a-pas-que-les-grands-constructeurs-dans-la-vie/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Ralentir le débit de postfix pour wanadoo/orange</title>
		<link>http://michauko.org/blog/2011/11/29/ralentir-le-debit-de-postfix-pour-wanadooorange/</link>
		<comments>http://michauko.org/blog/2011/11/29/ralentir-le-debit-de-postfix-pour-wanadooorange/#comments</comments>
		<pubDate>Tue, 29 Nov 2011 11:45:03 +0000</pubDate>
		<dc:creator>michauko</dc:creator>
				<category><![CDATA[Chez les autres]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[postfix]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://michauko.org/blog/?p=1302</guid>
		<description><![CDATA[Si vous avez un serveur d&#8217;envoi de mails (je ne parle pas d&#8217;être un spammeur) et beaucoup d&#8217;abonnés chez Wanadoo et Orange, vous risquez fort le rejet temporaire de votre serveur si le débit d&#8217;envoi est trop fort. C&#8217;est ce qui m&#8217;est arrivé et hop, 5000 mails entassés dans la file de postfix. On peut [...]]]></description>
			<content:encoded><![CDATA[<p>Si vous avez un serveur d&#8217;envoi de mails (je ne parle pas d&#8217;être un spammeur) et beaucoup d&#8217;abonnés chez Wanadoo et Orange, vous risquez fort le rejet temporaire de votre serveur si le débit d&#8217;envoi est trop fort.<br />
C&#8217;est ce qui m&#8217;est arrivé et hop, 5000 mails entassés dans la file de postfix.</p>
<p>On peut donc créer une file spéciale dans le master.cf de postfix et une règle de transport pour ces domaines, avec un débit réduit. Du moment où j&#8217;ai rechargé la configuration postfix et relancer le traitement de la file, magie, en 1 heure, les 5000 mails étaient distribués.</p>
<p>Pour ce faire, j&#8217;ai utilisé les documentations suivantes et adapté au contexte &laquo;&nbsp;configuration postfix définie dans MySQL&nbsp;&raquo;, comme expliqué dans <a href="http://michauko.org/blog/?s=postfix+mysql" title="mes articles précédents" >mes articles précédents</a>, toujours d&#8217;actualité.<span id="more-1302"></span></p>
<ul>
<li><a href="http://linuxnet.ca/postfix/dedicated_transport.html" >http://linuxnet.ca/postfix/dedicated_transport.html</a></li>
<li><a href="http://www.zapoyok.info/2011/01/01/orangewanadoo-et-%C2%AB-too-many-connections-slow-down-ofr004_104-104-%C2%BB/" >http://www.zapoyok.info/2011/01/01/orangewanadoo-et-%C2%AB-too-many-connections-slow-down-ofr004_104-104-%C2%BB/</a></li>
</ul>
<h2>Dans master.cf</h2>
<blockquote><p>slow    unix    &#8211;       &#8211;       n       &#8211;       5       smtp<br />
  -o syslog_name=postfix-slow<br />
  -o smtp_destination_concurrency_limit=3<br />
  -o slow_destination_rate_delay=1
</p></blockquote>
<h2>Dans main.cf</h2>
<blockquote><p>slow_destination_recipient_limit = 20<br />
slow_destination_concurrency_limit = 2
</p></blockquote>
<h2>Dans la table &laquo;&nbsp;transport&nbsp;&raquo; niveau MySQL</h2>
<p>Sur une conf &laquo;&nbsp;non SQL&nbsp;&raquo;, il suffirait de jouer avec le fichier de transport, sans oublier le &laquo;&nbsp;postmap&nbsp;&raquo; qui va bien.<br />
Dans mon cas, le fichier de transport est défini comme ceci : <code>transport_maps = proxy:mysql:/etc/postfix/mysql-virtual_transports.cf</code>.<br />
Donc, pour ajouter une route particulière pour ces 4 domaines, on ajoute en base :</p>
<blockquote><p>INSERT INTO `transport` (domain, transport)<br />
VALUES (&#8216;wanadoo.fr&#8217;,'slow&#8217;),<br />
VALUES (&#8216;wanadoo.com&#8217;,'slow&#8217;),<br />
VALUES (&#8216;orange.fr&#8217;,'slow&#8217;),<br />
VALUES (&#8216;orange.com&#8217;,'slow&#8217;)<br />
;</p></blockquote>
<p>Enfin, on relance postfix et la file d&#8217;attente avec ses X messages bloqués avec un <code>postqueue -f</code>.</p>
<h2>Monitoring de la file d&#8217;attente sous Nagios</h2>
<p>Du coup, j&#8217;ai trouvé qu&#8217;il me manquait une surveillance de la file d&#8217;attente &laquo;&nbsp;postqueue&nbsp;&raquo; d&#8217;un serveur via Nagios. Je signale simplement ce script (<a href="http://exchange.nagios.org/directory/Plugins/Email-and-Groupware/Postfix/check_postqueue-2Esh/details" title="http://exchange.nagios.org/directory/Plugins/Email-and-Groupware/Postfix/check_postqueue-2Esh/details" >http://exchange.nagios.org/directory/Plugins/Email-and-Groupware/Postfix/check_postqueue-2Esh/details</a>)<br />
Il semble faire le boulot simplement.<br />
A rapprocher de <a href="http://michauko.org/blog/2010/01/06/nrpe-monitorer-des-linux-avec-nagios/" >ce document</a> si l&#8217;ajout d&#8217;un contrôle via NRPE ne vous est pas familier.</p>
<p>Et voilà.</p>
]]></content:encoded>
			<wfw:commentRss>http://michauko.org/blog/2011/11/29/ralentir-le-debit-de-postfix-pour-wanadooorange/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CIFS VFS: No response for cmd 50 mid xxx</title>
		<link>http://michauko.org/blog/2011/10/18/cifs-vfs-no-response-for-cmd-50-mid-xxx/</link>
		<comments>http://michauko.org/blog/2011/10/18/cifs-vfs-no-response-for-cmd-50-mid-xxx/#comments</comments>
		<pubDate>Tue, 18 Oct 2011 13:47:04 +0000</pubDate>
		<dc:creator>michauko</dc:creator>
				<category><![CDATA[Chez les autres]]></category>
		<category><![CDATA[debian]]></category>

		<guid isPermaLink="false">http://michauko.org/blog/?p=1296</guid>
		<description><![CDATA[Sur une machine Debian Squeeze virtualisée, kernel 2.6.28, depuis quelques jours, une tonne de messages type Oct 18 00:20:59 mamachine kernel: [1870080.158744] CIFS VFS: No response for cmd 50 mid 10251. Au-delà des messages, toutes les manipulations de fichiers sur des partages Samba fonctionnaient curieusement : transferts de fichiers interrompus, créations de répertoires quand ça [...]]]></description>
			<content:encoded><![CDATA[<p>Sur une machine Debian Squeeze virtualisée, kernel 2.6.28, depuis quelques jours, une tonne de messages type <code>Oct 18 00:20:59 mamachine kernel: [1870080.158744]  CIFS VFS: No response for cmd 50 mid 10251</code>. Au-delà des messages, toutes les manipulations de fichiers sur des partages Samba fonctionnaient curieusement : transferts de fichiers interrompus, créations de répertoires quand ça voulait etc.</p>
<p>Sur Internet, on trouve de la prose indiquant que ça peut se régler en désactivant le &laquo;&nbsp;Opportunistic Locking&nbsp;&raquo;, concrètement en faisant un <code>echo 0 > /proc/fs/cifs/OplockEnabled</code> bien bourrin, moyennant une vague perte de performance (je n&#8217;ai pas mesuré).<br />
Ca n&#8217;aura pas suffit.</p>
<p>Comme j&#8217;ai vu passer, il me semble, des mises à jour samba il y a peu de temps, ça sentait la modif récente (chez MS, ou pas et répercutée dans Samba) et le kernel un peu trop vieux pour que tout ça marche bien. Résultat, après une mise à jour du noyau en 2.6.39 (backport), en mettant tout de même le &laquo;&nbsp;OplockEnabled&nbsp;&raquo; à 0 (j&#8217;avoue que je n&#8217;ai pas testé sans), le problème a disparu.</p>
<p>Un copain me souffle de mettre <code>fs.cifs.OplockEnabled=0</code> dans <code>/etc/sysctl.d/local.conf</code> plutôt que l&#8217;éternel <code>echo 0 > /proc...</code> dans le <code>rc.local</code>.</p>
]]></content:encoded>
			<wfw:commentRss>http://michauko.org/blog/2011/10/18/cifs-vfs-no-response-for-cmd-50-mid-xxx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Freebox V6 1.1.0 – téléphonie – attention ça galère, mais y’a une solution</title>
		<link>http://michauko.org/blog/2011/08/23/freebox-v6-1-1-0-telephonie-attention-ca-galere-mais-ya-une-solution/</link>
		<comments>http://michauko.org/blog/2011/08/23/freebox-v6-1-1-0-telephonie-attention-ca-galere-mais-ya-une-solution/#comments</comments>
		<pubDate>Tue, 23 Aug 2011 20:10:09 +0000</pubDate>
		<dc:creator>michauko</dc:creator>
				<category><![CDATA[Chez les autres]]></category>

		<guid isPermaLink="false">http://michauko.org/blog/?p=1266</guid>
		<description><![CDATA[Ce matin, nouvelle mise à jour de la freebox V6. Au programme officiel, plein de corrections sur la téléphonie (LE truc qui intéresse un cabinet médical dont je m&#8217;occupe). Après les déboires pas possibles de la téléphonie début 2011 (j&#8217;aurais bien tué un développeur ou 2), c&#8217;était à peu près stable depuis plusieurs mois. Avec [...]]]></description>
			<content:encoded><![CDATA[<p>Ce matin, nouvelle mise à jour de la freebox V6. Au programme officiel, plein de corrections sur la téléphonie (LE truc qui intéresse un cabinet médical dont je m&#8217;occupe). Après les déboires pas possibles de la téléphonie début 2011 (j&#8217;aurais bien tué un développeur ou 2), c&#8217;était à peu près stable depuis plusieurs mois.<br />
Avec un répondeur sur la prise téléphonie derrière la freebox et 2 DECT finalement &laquo;&nbsp;associés&nbsp;&raquo; à la freebox et pas à leur base d&#8217;origine, filaire, ça marchait à peu près. Il ne fallait que composer 3 fois les numéros pour que ça passe.</p>
<p>Ce matin, mise à jour donc, en priant (mais j&#8217;aurais dû attendre, comme d&#8217;hab). Et là : tu reçois les coups de téléphones, mais quand tu composes, pas de sonnerie, mais ça sonne chez le destinataire et dès qu&#8217;il décroche ça coupe&#8230;.<br />
Une crise de nerfs plus tard + rererereboot de cette bouse + &laquo;&nbsp;désassociation&nbsp;&raquo; + réassociation + test de la base DECT filaire, pas mieux.<br />
Donc maintenant, j&#8217;ai compris, je me rue vers <a href="http://bugs.freeplayer.org/task/7528"  class="broken_link">leur système de bugtracking et hop</a>, un mec a loggué le même incident et un type a trouvé une solution qui n&#8217;explique rien mais qui marche, confirmé par plusieurs dont moi.</p>
<p>Il faut donc activer (si pas déjà fait) votre répondeur et autres fonctions depuis l&#8217;interface de gestion &laquo;&nbsp;www.free.fr / mon compte&nbsp;&raquo;, sauvegarder, désactiver tout ça et sauvegarder à nouveau. Inutile, pas logique, débile, mais ça marche.<br />
Comme je disais sur le site des bugs : &laquo;&nbsp;Bon c&#8217;est super hein, je peux enlever des dB machin truc à ma freebox et me pinouiller de qqs ko/s, mais pour téléphoner, faut aller sur ce site pour savoir faire. clap clap clap.&nbsp;&raquo;</p>
]]></content:encoded>
			<wfw:commentRss>http://michauko.org/blog/2011/08/23/freebox-v6-1-1-0-telephonie-attention-ca-galere-mais-ya-une-solution/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Migration de Firefox vers Chrome, des années après sa sortie…</title>
		<link>http://michauko.org/blog/2011/08/22/migration-de-firefox-vers-chrome-des-annees-apres-sa-sortie/</link>
		<comments>http://michauko.org/blog/2011/08/22/migration-de-firefox-vers-chrome-des-annees-apres-sa-sortie/#comments</comments>
		<pubDate>Mon, 22 Aug 2011 15:41:28 +0000</pubDate>
		<dc:creator>michauko</dc:creator>
				<category><![CDATA[Chez les autres]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://michauko.org/blog/?p=1258</guid>
		<description><![CDATA[Et voilà, ce matin ça m&#8217;a pris comme une envie de&#8230; enfin, d&#8217;un coup. Firefox 6 m&#8217;ayant largement gonflé à mon retour de vacances, j&#8217;ai tenté la migration vers Chrome. Je consigne ici quelques remarques qui rassureront ceux qui hésitent depuis longtemps. Si à l&#8217;époque de la sortie de Chrome, il n&#8217;y avait rien pour [...]]]></description>
			<content:encoded><![CDATA[<p>Et voilà, ce matin ça m&#8217;a pris comme une envie de&#8230; enfin, d&#8217;un coup. Firefox 6 m&#8217;ayant largement gonflé à mon retour de vacances, j&#8217;ai tenté la migration vers Chrome. Je consigne ici quelques remarques qui rassureront ceux qui hésitent depuis longtemps. Si à l&#8217;époque de la sortie de Chrome, il n&#8217;y avait rien pour l&#8217;arranger, les choses ont changé depuis le temps.</p>
<p>Avant de migrer, il y a 2 questions à se poser (à mon avis) :<br />
- quel intérêt ? nouvelles fonctions ? plus beau ? aimer le changement ?<br />
- y&#8217;a-t-il toutes les fonctions / mes plugins ?</p>
<p>Pour la première question<span id="more-1258"></span>, entre le fait que Mozilla sorte ces dernières semaines une version plus vite que certains ne changent de slip et que la version 6 se viande trop souvent quoi que j&#8217;y fasse (réinstall, vider tout ce que tu peux, en version portable ou pas, sur différents OS, en supprimant des plugins&#8230;) et que la réputation de Chrome, pour la rapidité, semble faite, c&#8217;était l&#8217;occasion de tester. Restait donc à trouver les plugins &laquo;&nbsp;manquants&nbsp;&raquo; au logiciel de base, à coup sûr le genre FireGestures, TabMix Plus etc&#8230;</p>
<p><em>Je propose d&#8217;ailleurs à Mozilla de sauter tout de suite à la version &laquo;&nbsp;15 pro&nbsp;&raquo;. &laquo;&nbsp;firefox 15 pro&nbsp;&raquo;, ça serait tout de suite mieux que tous les autres logiciels, puisque le numéro est plus gros. Et c&#8217;est pro.<br />
</em></p>
<p>Bon allez, on abrège :</p>
<h1>Premiers pas</h1>
<h2>Reprise de données</h2>
<p>Mes données firefox sont synchronisées par le logiciel Firefox lui-même et j&#8217;utilise principalement (je vais pas m&#8217;étendre là-dessus) un firefox &#8211; 5, donc &#8211; portable (et crypté).<br />
Première mission : reprendre tout ça. Chrome reprend tout (mots de passe, historique etc) d&#8217;une version *installée* et *sans mot de passe principal*. J&#8217;ai donc dû installer un firefox &laquo;&nbsp;normalement&nbsp;&raquo;, écraser le contenu du profil vierge (sous Windows, dans <code>C:\Docs&#038;Settings\moi\Mozilla....\profile....\</code>) en faisant en plus sauter le mot de passe principal.<br />
La reprise fonctionne alors très bien.<br />
Penser à effacer cette copie de profile devenue inutile.</p>
<h2>Proxy</h2>
<p>Au boulot, il y a le proxy officiel, et mon proxy au bout d&#8217;un tunnel SSH. Dans les options de configuration, on s&#8217;aperçoit que Chrome ne propose que le proxy paramétré dans le système (IE) ! Sans blague ???? quel choix débile : si c&#8217;est sensé faciliter le fonctionnement pour un boulet lambda qui installe Chrome entreprise, bah il faut blâmer les administrateurs de ne pas l&#8217;autoriser avec packaging à la clef. Sinon, il faut les blâmer de laisser faire. Et dernier choix, le particulier qui utilise un proxy ??? ça devient rare, ou alors il est au courant. Il reprendra sa conf.<br />
Bref, devant ce merveilleux choix, Google m&#8217;expliqua que je devais mettre &#8211;proxy-server=mon.proxy:mon_port dans la ligne de commande. Pratique et hautement configurable. Enfin bon, ça me suffit et je suis sûr qu&#8217;il y a un plugin pour améliorer ça <img src='http://michauko.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>Divers, impression, synchro multi-poste</h2>
<p>Bon ensuite c&#8217;est parti ça marche, je note rapidement 2 choses : on peut &laquo;&nbsp;épingler&nbsp;&raquo; les sites, comme dans les firefox récents et il y a une fonction pour imprimer sur une imprimante d&#8217;un autre PC avec Chrome. Il faudra que j&#8217;essaye ça : sortir un papier trouvé chez soi pour le boulot et réciproquement. Pourquoi pas.<br />
Les onglets épinglés reviennent lorsqu&#8217;on relance. Pas les autres. On peut faire ctrl-shift-T pour rappeler tous les onglets fermés, mais il va falloir vite trouver TabMix+ ou équivalent. Il faut dire que j&#8217;avais un peu ignoré l&#8217;option qui justement restaure les onglets après fermeture. Ca fait déjà une bonne partie de ce dont j&#8217;ai besoin dans TMP.<br />
Ayant un compte Google et utilisant un bon panel de leurs applications, la synchro de mes paramètres (mdp etc) est tombée sous le sens. Ca marche bien et chose terrible : en installant un chrome &laquo;&nbsp;normal&nbsp;&raquo; (pas portable) sur un autre PC à moi, la synchro aura même redescendu les plugins ! Pas mal.</p>
<p>Bon bah voilà, reste à affiner avec des plug-ins.<br />
Ah, et les raccourcis clavier sont les mêmes, globalement.</p>
<h1>Equivalence des plugins</h1>
<h2>FireGestures => <a href="https://chrome.google.com/webstore/detail/aeaoofnhgocdbnbeljkmbjdmhbcokfdb?hl=fr" title="Mouse Stroke"  class="broken_link">Mouse Stroke</a></h2>
<p>Pareil, voire mieux (paramétrable par application ?)<br />
Les raccourcis de base sont les mêmes <img src='http://michauko.org/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<h2><a href="https://chrome.google.com/webstore/detail/cfhdojbkjhnklbpkdaibdccddilifddb" title="AdBlock+" >Adblock+ => inchangé</a></h2>
<p>Ne pas confondre avec la palanquée d&#8217;autres outils qui ont presque la même icone.</p>
<h2>Fox To Phone => <a href="https://chrome.google.com/webstore/detail/oadboiipflhobonjjffjbfekfjcgkhco?hl=fr" title="Chrome To Phone" >Chrome To Phone</a></h2>
<p>Pareil. Je crois que le plugin vient de Chrome au départ, de toute manière.</p>
<h2><a href="http://www.garmin.com/products/communicator/" title="Garmin communicator => inchangé&nbsp;&raquo; target=&nbsp;&raquo;_blank&nbsp;&raquo;>Garmin Communicator => inchangé</a></h2>
<p>OK, ça semble être fonctionnel mais je n&#8217;ai pas mon GPS sur moi.</p>
<h2>gTranslate => <a href="https://chrome.google.com/webstore/detail/obgoiaeapddkeekbocomnjlckbbfapmk" title="Auto-Translate" >Auto-Translate</a></h2>
<p>Pareil en mieux.</p>
<h2>Google + + (plus plus) => <a href="https://chrome.google.com/webstore/detail/aamklbolfkledofgpbdllkangemkfdnb?hl=fr" title="Publish Sync"  class="broken_link">Publish Sync</a></h2>
<p>Google++ génial sur le papier (publications FB/G+/Twitter depuis l&#8217;un des 3, vers les 3) n&#8217;a jamais fonctionné pour moi. L&#8217;extension Publish Sync, uniquement pour Chrome, était donc une belle occasion. Ben ça marche, nickel.</p>
<h2>NZBdStatus => <a href="https://chrome.google.com/webstore/detail/okphadhbbjadcifjplhifajfacbkkbod" title="SABConnect++" >SABConnect++</a></h2>
<p>Ca marche et c&#8217;est même mieux que le NZBdStatus que j&#8217;utilisais sur Firefox.</p>
<h2>ReadItLater => une page web</h2>
<p>Avec Chrome,  ça propose une page web. Finalement c&#8217;est mieux que le bouton que j&#8217;avais sur Firefox.</p>
<h2>TabMix + => <a href="https://chrome.google.com/webstore/detail/nmidkjogcjnnlfimjcedenagjfacpobb?hl=fr" title="FreshStart" >FreshStart </a>/ <a href="https://chrome.google.com/webstore/detail/bbcnbpafconjjigibnhbfmmgdbbkcjfi?hl=fr" title="Session Manager" >Session Manager</a> ?</h2>
<p>Gros sujets bloquant plein de personnes (dont moi).<br />
Je n&#8217;utilise que :<br />
- la réouverture de la session, même en cas de crash<br />
- la sauvegarde de quelques ensembles d&#8217;onglets pour faciliter l&#8217;accès simultané à un paquet donné de sites.<br />
- la protection contre la fermeture / le changement d&#8217;url d&#8217;un onglet.<br />
Le premier point est disponible de base, sauf en cas de crash. Ca semble apporté par &laquo;&nbsp;FreshStart&nbsp;&raquo;, mais je n&#8217;ai pas encore réussi à planter le navigateur. On verra, donc. A ce propos, chaque onglet semble donner naissance à un processus système différent, ça limite peut-être la casse en cas de plantage d&#8217;un site.<br />
Le deuxième point vient avec FreshStart &#8211; j&#8217;avais trouvé Session Manager au départ. Ca ne faisait que ça. A voir si tout ça remonte via la synchro Google sur un autre PC&#8230;.<br />
Troisième et dernier point : rien trouvé. Je m&#8217;en passerai. Quand on ferme un onglet par erreur, on peut facilement le rouvrir.</p>
<p>Je ne dis rien sur les options de navigation : ouverture et placement des onglets car il y a longtemps que j&#8217;ai arrêté de bidouiller tout ça. Je m&#8217;adapte au logiciel. Avec chrome, ça ouvre un onglet juste à droite de l&#8217;onglet courant. Bon, soit.</p>
<h2>Easy Youtube Video Downloader => <a href="http://www.chromeextensions.org/music-videos-photos/fastesttube/" title="FastestTube" >FastestTube</a></h2>
<p>Ca marche, point. Intégration pareil : une liste déroulante sous la vidéo.<br />
Je n&#8217;ai pas regardé d&#8217;outils multi-site (dailymotion &#038; co)</p>
<h2>FireBug => ?</h2>
<p>Rien vu vite fait, à part que le bouton droit sur un élément puis &laquo;&nbsp;Inspect&nbsp;&raquo; sort déjà pas mal de choses. Au pire, vu les rares fois où j&#8217;ai besoin de FireBug, je lancerai mon bon vieux &laquo;&nbsp;Firefox 27.2 pro limited edition&nbsp;&raquo;</p>
<h2>Nouveau : <a href="https://chrome.google.com/webstore/detail/khpcanbeojalbkpgpmjpdkjnkfcgfkhb?hl=fr" title="Chromium Wheel Smooth Scroller" >Chromium Wheel Smooth Scoller</a></h2>
<p>Tombé dessus par hasard, c&#8217;est vrai que le scroll à la souris est bien plus fluide. J&#8217;adopte.</p>
<h2>Nouveau : <a href="https://chrome.google.com/webstore/detail/nlbjncdgjeocebhnmkbbbdekmmmcbfjd" title="Abonnement RSS"  class="broken_link">Abonnement RSS</h2>
<p>Ca rajoute l&#8217;icone lorsqu&#8217;un flux RSS est détecté sur une page, comme Firefox à une époque.</p>
<h2>Nouveau : <a href="https://chrome.google.com/webstore/detail/mmffncokckfccddfenhkhnllmlobdahm" title="FastestChrome" >FastestChrome</a></h2>
<p>Sensé accélérer le chargement, précharger des pages, faire la cuisine etc. On me l&#8217;a recommandé, j&#8217;ai installé mais je verrai plus tard</p>
<p>Voilà pour ce tour d&#8217;horizon rapide. Yapuka ne pas être déçu maintenant.</p>
]]></content:encoded>
			<wfw:commentRss>http://michauko.org/blog/2011/08/22/migration-de-firefox-vers-chrome-des-annees-apres-sa-sortie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ampache, debian et le flash-pas-libre</title>
		<link>http://michauko.org/blog/2011/08/22/ampache-debian-et-le-flash-pas-libre/</link>
		<comments>http://michauko.org/blog/2011/08/22/ampache-debian-et-le-flash-pas-libre/#comments</comments>
		<pubDate>Mon, 22 Aug 2011 13:02:57 +0000</pubDate>
		<dc:creator>michauko</dc:creator>
				<category><![CDATA[Chez les autres]]></category>
		<category><![CDATA[debian]]></category>

		<guid isPermaLink="false">http://michauko.org/blog/?p=1256</guid>
		<description><![CDATA[Le lecteur flash incorporé à Ampache n&#8217;est pas dans le paquet officiel de Debian, pas compatible avec le DFSG. Bref.
Pour l&#8217;ajouter, dézipper le contenu du sous-répertoire xspf jukebox de ce fichier ZIP (http://lacymorrow.com/projects/j...]]></description>
			<content:encoded><![CDATA[<p>Le lecteur flash incorporé à Ampache n&#8217;est pas dans le paquet officiel de Debian, pas compatible avec le DFSG. Bref.<br />
Pour l&#8217;ajouter, dézipper le contenu du sous-répertoire <code>xspf jukebox</code> de ce fichier ZIP (http://lacymorrow.com/projects/jukebox/source.zip) dans <code>/usr/share/ampache/www/modules/flash</code> et le lecteur flash incorporé fonctionnera.</p>
]]></content:encoded>
			<wfw:commentRss>http://michauko.org/blog/2011/08/22/ampache-debian-et-le-flash-pas-libre/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nagios et contrôle du nombre de processus d’un Windows</title>
		<link>http://michauko.org/blog/2011/08/19/nagios-et-controle-du-nombre-de-processus-dun-windows/</link>
		<comments>http://michauko.org/blog/2011/08/19/nagios-et-controle-du-nombre-de-processus-dun-windows/#comments</comments>
		<pubDate>Fri, 19 Aug 2011 07:05:40 +0000</pubDate>
		<dc:creator>michauko</dc:creator>
				<category><![CDATA[Chez les autres]]></category>

		<guid isPermaLink="false">http://michauko.org/blog/?p=1252</guid>
		<description><![CDATA[Truc bête en vitesse : comment contrôler le plus simplement possible le nombre de processus d&#8217;une machine windows depuis Nagios ? J&#8217;ai trouvé plein de scripts en SNMP, assez lourdingue à mettre en place, ça ne me plaisait pas. Puis en relisant la doc de la commande &#171;&#160;check_nt&#160;&#187; (nécessitant un client NSClient++ en face), je [...]]]></description>
			<content:encoded><![CDATA[<p>Truc bête en vitesse : comment contrôler le plus simplement possible le nombre de processus d&#8217;une machine windows depuis Nagios ?<br />
J&#8217;ai trouvé plein de scripts en SNMP, assez lourdingue à mettre en place, ça ne me plaisait pas.<br />
Puis en relisant la doc de la commande &laquo;&nbsp;check_nt&nbsp;&raquo; (nécessitant un client NSClient++ en face), je suis tombé sur l&#8217;option &laquo;&nbsp;COUNTER&nbsp;&raquo;. Alors voilà, à conserver dans un coin de tête :<br />
<code>/usr/lib/nagios/plugins/check_nt -H srv_windows -v COUNTER -p 12489 -l "\\Objects\Processes" -w 120 -c 150</code></p>
]]></content:encoded>
			<wfw:commentRss>http://michauko.org/blog/2011/08/19/nagios-et-controle-du-nombre-de-processus-dun-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>scp et SSH en PHP</title>
		<link>http://michauko.org/blog/2011/06/29/scp-et-ssh-en-php/</link>
		<comments>http://michauko.org/blog/2011/06/29/scp-et-ssh-en-php/#comments</comments>
		<pubDate>Wed, 29 Jun 2011 11:36:49 +0000</pubDate>
		<dc:creator>michauko</dc:creator>
				<category><![CDATA[Chez les autres]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://michauko.org/blog/?p=1244</guid>
		<description><![CDATA[Hop, J&#8217;ai eu besoin de faire un script un peu évolué pour jouer avec une base Oracle et des fichiers à ramener depuis un serveur distant. Bref, j&#8217;ai pensé au PHP pour faire un truc assez fin, mêlant Oracle et des transferts de fichiers en &#171;&#160;scp&#160;&#187;. Seule difficulté, installer le module SSH pour PHP. Ce [...]]]></description>
			<content:encoded><![CDATA[<p>Hop,<br />
J&#8217;ai eu besoin de faire un script un peu évolué pour jouer avec une base Oracle et des fichiers à ramener depuis un serveur distant.<br />
Bref, j&#8217;ai pensé au PHP pour faire un truc assez fin, mêlant Oracle et des transferts de fichiers en &laquo;&nbsp;scp&nbsp;&raquo;.</p>
<p>Seule difficulté, installer le module SSH pour PHP. Ce que je décris ici.<br />
Ensuite, les bouts de codes exemple sont sur <a href="http://www.php.net/manual/fr/book.ssh2.php"  class="broken_link">la doc de PHP</a>.</p>
<h1>Côté serveur Debian</h1>
<p>J&#8217;étais parti de l&#8217;installation PECL directement, ça plante, il manquait des petits bouts côté Debian<span id="more-1244"></span>. Je montre pour l&#8217;exemple :</p>
<pre>srv:~# pecl install ssh2 "channel://pecl.php.net/ssh2-0.11.2"
Failed to download pecl/ssh2 within preferred state "stable", latest release is version 0.11.2, stability "beta", use "channel://pecl.php.net/ssh2-0.11.2" to install
downloading ssh2-0.11.2.tgz ...
Starting to download ssh2-0.11.2.tgz (22,740 bytes)
........done: 22,740 bytes
[...]
checking for ssh2 files in default path... not found
configure: error: The required libssh2 library was not found.  You can obtain that package from http://sourceforge.net/projects/libssh2/
ERROR: `/tmp/pear/temp/ssh2/configure --with-ssh2' failed
</pre>
<p>Donc, il faut d&#8217;abord installer tout ça :</p>
<pre>srv:~# apt-cache search libssh2
libnet-ssh2-perl - Perl module for the SSH 2 protocol
libssh2-1-dbg - SSH2 client-side library (debug package)
libssh2-1-dev - SSH2 client-side library (development headers)
libssh2-1 - SSH2 client-side library
libssh2-php - PHP Bindings for libssh2
python-libssh2 - Python binding for libssh2 library

srv:~# aptitude install libssh2-1-dev libssh2-php</pre>
<h1>Installation du module avec PECL</h1>
<p>On peut donc enfin installer le module :</p>
<pre>srv:~# pecl install ssh2 "channel://pecl.php.net/ssh2-0.11.2"
Failed to download pecl/ssh2 within preferred state "stable", latest release is version 0.11.2, stability "beta", use "channel://pecl.php.net/ssh2-0.11.2" to install
[...]
Build process completed successfully
Installing '/usr/lib/php5/20090626+lfs/ssh2.so'
install ok: channel://pecl.php.net/ssh2-0.11.2
configuration option "php_ini" is not set to php.ini location
You should add "extension=ssh2.so" to php.ini
aladdin:~# grep extension /etc/php5 -r
/etc/php5/conf.d/gd.ini:extension=gd.so
/etc/php5/conf.d/ssh2.ini:extension=ssh2.so
/etc/php5/conf.d/snmp.ini:extension=snmp.so</pre>
<p>L&#8217;installation se charge toute seule d&#8217;activer l&#8217;extension ssh2.so dans les fichiers de conf PHP.</p>
<h1>Exemple de code d&#8217;un transfert</h1>
<pre>define ("SSH_KEY","/path/to/.ssh/id_dsa");
define ("SSH_FINGERPRINT","BXXXXXXXXXXXXXXXXXXXXXX81"); # à récupérer la première fois
...
$ssh = ssh2_connect(SSH_SERVER,SSH_PORT);
if (ssh2_fingerprint ($ssh,SSH2_FINGERPRINT_MD5) != SSH_FINGERPRINT) { # bien penser à contrôler le fingerprint ; c'est dommage de s'en priver !
  echo "c'est mal";
}
if (!ssh2_auth_pubkey_file($ssh, SSH_LOGIN, SSH_KEY.".pub", SSH_KEY, '')) {
  echo "authentif par clef ratée";
}
...
if (@ssh2_scp_recv ($ssh, $fich_src, $fich_dest)) {
  echo "transfert OK";
}
...
</pre>
]]></content:encoded>
			<wfw:commentRss>http://michauko.org/blog/2011/06/29/scp-et-ssh-en-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

