<?xml version="1.0"?>
<rss version="2.0">

<channel>
	<title>Planète des utilisateurs Debian</title>
	<link>http://planet-fr.debian.net/users/</link>
	<language>en</language>
	<description>Planète des utilisateurs Debian - http://planet-fr.debian.net/users/</description>

<item>
	<title>Gr&amp;#233;gory Colpart: JCE non limitées sous Debian</title>
	<guid permalink="False">http://gcolpart.evolix.net/blog21/?p=268</guid>
	<link>http://gcolpart.evolix.net/blog21/jce-non-limitees-sous-debian/</link>
	<description>&lt;p&gt;Les packages Debian de Java n&amp;#8217;intègrent pas de mécanisme pour faciliter l&amp;#8217;utilisation des versions non limitées des JCE (&lt;em&gt;Java Cryptography Extension&lt;/em&gt;), utiles pour avoir des fonctions de chiffrement dites « fortes » (&lt;a href=&quot;http://bugs.debian.org/466675&quot;&gt;#466675&lt;/a&gt;). L&amp;#8217;idée est de créer des diversions locales pour conserver les versions non limitées, même en cas de mise-à-jour :&lt;/p&gt;
&lt;pre&gt;
# dpkg-divert --divert /usr/share/doc/sun-java6-jre/US_export_policy.jar.ori \
 --rename /usr/lib/jvm/java-6-sun-1.6.0.12/jre/lib/security/US_export_policy.jar
Adding `local diversion of /usr/lib/jvm/java-6-sun-1.6.0.12/jre/lib/security/US_export_policy.jar
 to /usr/share/doc/sun-java6-jre/US_export_policy.jar.ori'
# dpkg-divert --divert /usr/share/doc/sun-java6-jre/local_policy.jar.ori \
--rename /usr/lib/jvm/java-6-sun-1.6.0.12/jre/lib/security/local_policy.jar
Adding `local diversion of /usr/lib/jvm/java-6-sun-1.6.0.12/jre/lib/security/local_policy.jar
to /usr/share/doc/sun-java6-jre/local_policy.jar.ori'
&lt;/pre&gt;
&lt;p&gt;Attention, bien garder à l&amp;#8217;esprit que si une faille de sécurité survient, il faudra mettre à jour manuellement ces fichiers.&lt;/p&gt;</description>
	<pubDate>jeu, 02 jui 2009 21:45:56 +0000</pubDate>
</item>
<item>
	<title>Carl Chenet: Reportbug 4.5</title>
	<guid permalink="False">http://carlchenet.wordpress.com/?p=58</guid>
	<link>http://carlchenet.wordpress.com/2009/06/30/reportbug-4-5/</link>
	<description>&lt;div class=&quot;snap_preview&quot;&gt;&lt;br /&gt;&lt;p&gt;En cette splendide fin de mois de juin, le Reportbug nouveau est arrivé.&lt;/p&gt;
&lt;p&gt;La version 4.5 est sortie le 29 juin avec son lot de nouveautés. L&amp;#8217;auto-configuration propose désormais d&amp;#8217;ajouter un serveur mandataire et l&amp;#8217;interface en GTK2 continue de s&amp;#8217;améliorer. En coulisse, beaucoup d&amp;#8217;améliorations pour rendre l&amp;#8217;application plus robuste suivi des habituels corrections de bugs. Merci encore à Sandro Tosi pour son gros travail de triage de bugs et d&amp;#8217;ajouts de nos patchs à Reportbug.&lt;/p&gt;
&lt;p&gt;Reportbug est toujours dans une bonne dynamique et s&amp;#8217;évertue à rendre à la fois plus simple la saisie d&amp;#8217;un nouveau rapport de bug pour l&amp;#8217;utilisateur et plus efficace l&amp;#8217;identification du bug pour les développeurs qui traitent les rapports de bugs.&lt;/p&gt;
&lt;p&gt;Nous sommes friands des rapports de bugs sur Reportbug lui-même, n&amp;#8217;hésitez pas à nous faire parvenir vos rapports de bugs/demandes de nouvelles fonctionnalités.&lt;/p&gt;
&lt;p&gt;Ne vous laissez pas décourager par la première saisie de bug qui peut être relativement longue (15-20mn), vous contribuez ainsi à améliorer Debian. Et les prochaines saisies seront beaucoup plus rapides &lt;img src=&quot;http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/carlchenet.wordpress.com/58/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/carlchenet.wordpress.com/58/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/carlchenet.wordpress.com/58/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/carlchenet.wordpress.com/58/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/carlchenet.wordpress.com/58/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/carlchenet.wordpress.com/58/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/carlchenet.wordpress.com/58/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/carlchenet.wordpress.com/58/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/carlchenet.wordpress.com/58/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/carlchenet.wordpress.com/58/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=carlchenet.wordpress.com&amp;blog=7722010&amp;post=58&amp;subd=carlchenet&amp;ref=&amp;feed=1&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>mar, 30 jun 2009 17:15:34 +0000</pubDate>
</item>
<item>
	<title>Benoit Peccatte: En vrac (24)</title>
	<guid permalink="False">urn:md5:ae425327f830d02cc874640348b90886</guid>
	<link>http://linux-attitude.fr/post/En-vrac-%2824%29</link>
	<description>&lt;p&gt;&lt;strong&gt;Niveau&lt;/strong&gt;&amp;#160;: &lt;img src=&quot;http://linux-attitude.fr/public/Pics/s.gif&quot; alt=&quot;Star&quot; /&gt; &lt;img src=&quot;http://linux-attitude.fr/public/Pics/s.gif&quot; alt=&quot;Star&quot; /&gt; &lt;img src=&quot;http://linux-attitude.fr/public/Pics/e.gif&quot; alt=&quot;Empty&quot; /&gt; &lt;img src=&quot;http://linux-attitude.fr/public/Pics/e.gif&quot; alt=&quot;Empty&quot; /&gt; &lt;img src=&quot;http://linux-attitude.fr/public/Pics/e.gif&quot; alt=&quot;Empty&quot; /&gt;&lt;br /&gt;
&lt;strong&gt;Résumé&lt;/strong&gt;&amp;#160;: perl -077pe&amp;#160;; ps kstart_time&amp;#160;; stty -echo&amp;#160;; expr&amp;#160;; bc -l&amp;#160;; tar c - | ssh tar x -&lt;/p&gt;


&lt;p&gt;Petite pause.&lt;/p&gt;


&lt;p&gt;Appli&amp;shy;quer une expres&amp;shy;sion régu&amp;shy;lière en une seule fois sur tout un fichier (comme s&amp;#8217;il ne fai&amp;shy;sait qu&amp;#8217;une ligne)&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
$ perl -0777pe 's/expression/remplacement/'
&lt;/pre&gt;


&lt;p&gt;Con&amp;shy;nai&amp;shy;tre les pro&amp;shy;ces&amp;shy;sus qui sont lan&amp;shy;cés &amp;#8220;en ce moment&amp;#8221;, par exem&amp;shy;ple pen&amp;shy;dant un script d&amp;#8217;ins&amp;shy;tal&amp;shy;la&amp;shy;tion&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
# listes les processus par date de création toutes les 2s
$  watch &amp;quot;ps kstart_time aux |tail&amp;quot;
&lt;/pre&gt;


&lt;p&gt;Évi&amp;shy;ter d&amp;#8217;affi&amp;shy;cher les mots de passe lors&amp;shy;que vous les deman&amp;shy;dez à l&amp;#8217;uti&amp;shy;li&amp;shy;sa&amp;shy;teur dans vos scripts shell&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
$ stty -echo
$ read password
$ stty echo
&lt;/pre&gt;


&lt;p&gt;Faire un cal&amp;shy;cul en ligne de com&amp;shy;mande (ins&amp;shy;tallé par&amp;shy;tout, même sur les vieux unix)&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
$ expr 1 + 5
&lt;/pre&gt;


&lt;p&gt;Faire un cal&amp;shy;cul en ligne de com&amp;shy;mande, mais en mieux&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
# à mettre dans votre bashrc de préférence
$ bcl() { echo &amp;quot;scale=2; $@&amp;quot; | bc -l ; }
$ bcl 1+2
&lt;/pre&gt;


&lt;p&gt;Tar over ssh (rsync quoi)&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
$ tar cf - /repertoire | ssh mamachine.net &amp;quot;cd /destination &amp;amp;&amp;amp; tar xvf -&amp;quot;
&lt;/pre&gt;</description>
	<pubDate>mar, 30 jun 2009 12:42:00 +0000</pubDate>
</item>
<item>
	<title>Sylvain Derosiaux: Gérer ses templates pour Vim sans fichiers externes</title>
	<guid permalink="False">http://blog.gnusquad.org/?p=210</guid>
	<link>http://blog.gnusquad.org/2009/06/</link>
	<description>&lt;p&gt;Suite à un billet posté sur le site &lt;a href=&quot;http://informatique-et-liberte.tuxfamily.org/2009/06/23/vim-et-son-vimrc-la-gestion-des-templates/trackback/&quot;&gt;Informatique et liberté&lt;/a&gt; évoquant une solution originale pour gérer ses templates avec &lt;em&gt;Vim&lt;/em&gt;, j&amp;#8217;ai décidé d&amp;#8217;améliorer un peu la technique en utilisant la puissance de ce superbe éditeur combinée à celle de &lt;em&gt;sed&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Habituellement, pour chaque template, nous créons un fichier externe placé dans notre dossier personnel &lt;em&gt;~/.vim&lt;/em&gt;. Prenons l&amp;#8217;exemple d&amp;#8217;un template HTML dans &lt;em&gt;~/.vim/templates/html&lt;/em&gt; que l&amp;#8217;on appellerait de cette manière dans notre fichier de configuration &lt;em&gt;~/.vimrc&lt;/em&gt; :&lt;/p&gt;
&lt;pre&gt;autocmd BufNewFile *.html 0r ~/.vim/templates/html&lt;/pre&gt;
&lt;p&gt;Logiciels utilisés :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Vim 7.2&lt;/li&gt;
&lt;li&gt;GNU Sed 4.2&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Le but du jeu est de centraliser toute notre configuration dans notre &lt;em&gt;~/.vimrc&lt;/em&gt; et donc d&amp;#8217;y inclure nos templates. Le seul moyen, à ma connaissance, est de mettre ceux-ci en commentaires afin qu&amp;#8217;ils n&amp;#8217;interfèrent pas avec le reste de la configuration, il ne restera plus alors qu&amp;#8217;à trouver le template adéquat, pour cela on passera par des marqueurs de début et de fin de template, voici donc ma solution :&lt;/p&gt;
&lt;pre&gt;&quot; BEGIN HTML
&quot; &amp;lt;html&amp;gt;
&quot;     &amp;lt;head&amp;gt;
&quot;         &amp;lt;title&amp;gt;Hello gnusquad !&amp;lt;/title&amp;gt;
&quot;     &amp;lt;/head&amp;gt;
&quot; &amp;lt;/html&amp;gt;
&quot; END HTML

autocmd BufNewFile *.html call Template('HTML')

function! Template(type)
    exe &quot;0r !sed -n '/^\&quot;\\s*BEGIN &quot; . a:type . &quot;$/,/^\&quot;\\s*END &quot; . a:type . &quot;$/ {s///;/^$/d;s/^\&quot; //;p}' $MYVIMRC&quot;
    echo '--&gt; INFO : Template ' . a:type . ' charge  --'
endfunction&lt;/pre&gt;
&lt;p&gt;Nous retrouvons donc en première partie le template mis en commentaire et délimité par les marqueurs « &lt;strong&gt;BEGIN HTML&lt;/strong&gt; » et « &lt;strong&gt;END HTML&lt;/strong&gt; », la deuxième partie appelle la fonction « &lt;strong&gt;Template&lt;/strong&gt; » avec en paramètre « &lt;strong&gt;HTML&lt;/strong&gt; » lorsque l&amp;#8217;on crée un nouveau fichier ayant son nom correspondant au motif « &lt;strong&gt;*.html&lt;/strong&gt; », la troisième et dernière partie contient la fonction « &lt;strong&gt;Template&lt;/strong&gt; » proprement dite qui prend donc un paramètre servant à délimiter le template, on y trouve une jolie ligne de &lt;em&gt;sed&lt;/em&gt; qui paraît obscure à première vue mais qui est très simple : on localise et ne traite que la partie contenue entre « &lt;strong&gt;BEGIN xxx&lt;/strong&gt; » et « &lt;strong&gt;END xxx &lt;/strong&gt; », on supprime ces deux lignes puis les lignes vides puis on décommente le template, le tout étant inséré dans le buffer courant. &lt;img src=&quot;http://blog.gnusquad.org/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;p&gt;Vous aurez donc compris qu&amp;#8217;il est très simple d&amp;#8217;ajouter de nouveaux templates : il suffit juste que le paramètre passé à la fonction « &lt;em&gt;Template&lt;/em&gt; » corresponde à la partie présente après « &lt;em&gt;BEGIN&lt;/em&gt; » et « &lt;em&gt;END&lt;/em&gt; » de votre template. &lt;img src=&quot;http://blog.gnusquad.org/wp-includes/images/smilies/icon_wink.gif&quot; alt=&quot;;)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more-210&quot;&gt;&lt;/span&gt;&lt;/p&gt;</description>
	<pubDate>jeu, 25 jun 2009 10:50:45 +0000</pubDate>
</item>
<item>
	<title>Erwan Briand: CodingTeam 0.9.1 est disponible !</title>
	<guid permalink="False">urn:md5:0783df0d137b23dcf226ecc9b1f0cdba</guid>
	<link>http://xbright.codingteam.net/post/2009/06/25/CodingTeam-0.9.1-est-disponible-%21</link>
	<description>&lt;p&gt;J'ai publié aujourd'hui (enfin, hier, déjà) &lt;a href=&quot;http://codingteam.net/project/codingteam/news/show/345-codingteam_091_released&quot;&gt;la troisième release de la forge CodingTeam&lt;/a&gt;, soit la version &lt;strong&gt;0.9.1&lt;/strong&gt;. &lt;a href=&quot;http://codingteam.net/project/codingteam/doc/WhatIsCodingTeam&quot;&gt;CodingTeam&lt;/a&gt; est une &lt;a href=&quot;http://fr.wikipedia.org/wiki/Forge_%28informatique%29&quot;&gt;forge logicielle&lt;/a&gt; libre écrite en PHP. Après un peu plus de 6 mois, donc, cette nouvelle version vient remplacer la précédente 0.9 en apportant pas mal de nouveautés, d'une réécriture complète de toutes les vues (pour intégrer un léger moteur de template basé sur la &lt;a href=&quot;http://www.php.net/alternative_syntax&quot;&gt;syntaxe alternative de PHP&lt;/a&gt;) à la possibilité de rendre un projet privé.&lt;br /&gt;&lt;br /&gt;Parmi les choses attendues et bien au rendez-vous, on trouvera notamment les hooks post-commits permettant de marquer automatiquement un rapport de bug comme résolu, une nouvelle timeline, la possibilité pour les anonymes de rapporter un bug, l'ajout de la notion de milestone en plus de la notion de version (afin de séparer la notion de version dans laquelle sera corrigé le problème de celle qui est affectée par le problème) et donc nouvelle manière de générer la roadmap, les portes-documents des utilisateurs (afin d'uploader des fichiers comme des images qu'ils pourront utiliser dans la documentation de leurs projets), la possibilité de rendre une forge privée (obligation de s'identifier pour afficher une page) et pas mal de changements sur l'explorateur de sources Subversion.&lt;br /&gt;&lt;br /&gt;On notera donc que tout ce que les utilisateurs ont demandé a été intégré dans cette nouvelle version. CodingTeam, désormais utilisée par plus d'un millier de personnes sur CodingTeam.net et en interne par quelques entreprises, est donc de plus en plus riche en fonctionnalités et reste toujours distribué sous la licence AGPL (dans sa version 3). J'insiste sur ce point car je remarque que les gens continuent d'utiliser des forges non-libres sans se rendre compte du problème. Avec CodingTeam (ou CodingTeam.net si vous ne voulez pas installer de forge chez vous !), vous avez une solution libre, ce que ne sont pas capables de vous offrir plusieurs forges pourtant très utilisées par les développeurs de logiciel libre. Développer un logiciel libre en utilisant des outils non-libres est bien entendu tout à fait possible, oui. Mais c'est surtout incohérent et proche de l'escroquerie intellectuelle.&lt;br /&gt;&lt;br /&gt;Ensuite, et pour revenir dans le sujet initial, les adeptes de Jabber seront heureux de remarquer que l'authentification via XMPP (&lt;a href=&quot;http://xmpp.org/extensions/xep-0070.html&quot;&gt;XEP-0070&lt;/a&gt;) est désormais possible. Plus qu'une réelle fonctionnalité, c'est une preuve de concept de la possibilité d'étendre la classe BaseSession afin de gérer l'authentification sur la forge autrement que par le couple identifiant/mot de passe habituel. Toutefois, cette fonctionnalité expérimentale peut être activée sur une forge basée sur CodingTeam dès maintenant. L'authentification via un compte Jabber, les salons de conversations Jabber, la présence et l'avatar du compte Jabber… On ne peut pas nier que CodingTeam intègre beaucoup de fonctionnalités liées à Jabber/XMPP. Et sûrement plus que les autres forges.&lt;br /&gt;&lt;br /&gt;Toujours sur le point de vue développeur, la classe de gestion des erreurs a été étendue afin de gérer l'affichage d'un traceback, l'archivage des erreurs, la gestion de toutes les erreurs (même des erreurs fatales PHP)… Bref, elle aide bien en situation de développement (mais on peut plus ou moins lui fermer le clapet en situation de production).&lt;br /&gt;&lt;br /&gt;L'interface d'administration a aussi été améliorée puisqu'on peut désormais vider le cache facilement ou même éditer toutes les données de base de la forge (liste des licences, catégories…).&lt;br /&gt;&lt;br /&gt;Et bien entendu, CodingTeam.net a été mis à jour. N'hésitez pas à y ajouter votre projet ou à explorer la liste des 276 projets. Si vous voulez installer ou tester cette nouvelle version de la forge logicielle libre CodingTeam, c'est &lt;a href=&quot;http://codingteam.org/download&quot;&gt;par ici que ça se passe&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Il n'y a donc pas grand chose à ajouter, si ce n'est que la 0.9.2 devrait suivre plus ou moins prochainement avec &lt;a href=&quot;http://codingteam.net/project/codingteam/roadmap&quot;&gt;des choses vraiment très sympathiques&lt;/a&gt;. Et si vous ne le connaissez toujours pas, jetez un œil au site de CodingTeam : &lt;a href=&quot;http://codingteam.org&quot;&gt;codingteam.org&lt;/a&gt; !&lt;/p&gt;</description>
	<pubDate>mer, 24 jun 2009 22:33:00 +0000</pubDate>
</item>
<item>
	<title>Benoit Peccatte: Comptes ldap (4)</title>
	<guid permalink="False">urn:md5:95aeedd80dbe44aea69aa49c460dae7b</guid>
	<link>http://linux-attitude.fr/post/Comptes-ldap-%284%29</link>
	<description>&lt;p&gt;&lt;strong&gt;Niveau&lt;/strong&gt;&amp;#160;: &lt;img src=&quot;http://linux-attitude.fr/public/Pics/s.gif&quot; alt=&quot;Star&quot; /&gt; &lt;img src=&quot;http://linux-attitude.fr/public/Pics/s.gif&quot; alt=&quot;Star&quot; /&gt; &lt;img src=&quot;http://linux-attitude.fr/public/Pics/s.gif&quot; alt=&quot;Star&quot; /&gt; &lt;img src=&quot;http://linux-attitude.fr/public/Pics/s.gif&quot; alt=&quot;Star&quot; /&gt; &lt;img src=&quot;http://linux-attitude.fr/public/Pics/e.gif&quot; alt=&quot;Empty&quot; /&gt;&lt;br /&gt;
&lt;strong&gt;Résumé&lt;/strong&gt;&amp;#160;:&lt;/p&gt;


&lt;p&gt;Suite de la &lt;a href=&quot;http://linux-attitude.fr/post/Comptes-ldap-%283%29&quot;&gt;for&amp;shy;mi&amp;shy;da&amp;shy;ble série&lt;/a&gt;&amp;#160;:&lt;/p&gt;


&lt;h3&gt;Et après les comp&amp;shy;tes&amp;#160;?&lt;/h3&gt;


&lt;p&gt;Il est aussi pos&amp;shy;si&amp;shy;ble d&amp;#8217;uti&amp;shy;li&amp;shy;ser libnss-ldap pour autre chose que pour les comp&amp;shy;tes uti&amp;shy;li&amp;shy;sa&amp;shy;teurs.
La biblio&amp;shy;thè&amp;shy;que &lt;a href=&quot;http://linux-attitude.fr/post/Fichiers-de-r%C3%A9solution-de-noms&quot;&gt;NSS&lt;/a&gt; étant une biblio&amp;shy;thè&amp;shy;que géné&amp;shy;ri&amp;shy;que de réso&amp;shy;lu&amp;shy;tion de nom, il est pos&amp;shy;si&amp;shy;ble d&amp;#8217;uti&amp;shy;li&amp;shy;ser le ldap pour&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;les grou&amp;shy;pes (atten&amp;shy;tion pas de login pour newrp à tra&amp;shy;vers  pam de prévu)&lt;/li&gt;
&lt;li&gt;les noms de machine&lt;/li&gt;
&lt;li&gt;et d&amp;#8217;autres qui ne pas très inté&amp;shy;res&amp;shy;sants pour l&amp;#8217;ins&amp;shy;tant &amp;#8230;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pour cela, rien de plus facile, tout est déjà fait, il suf&amp;shy;fit de modi&amp;shy;fier la ligne cor&amp;shy;res&amp;shy;pon&amp;shy;dante dans /etc/nss&amp;shy;witch.conf et de com&amp;shy;men&amp;shy;cer à peu&amp;shy;pler le LDAP.&lt;/p&gt;


&lt;p&gt;Un groupe est défi&amp;shy;nit comme suit&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
objectClass: posixGroup
cn: mongroupe
description: goupe a moi
gidNumber: 1000
memberUid: peck
memberUid: amiami
&lt;/pre&gt;


&lt;p&gt;Notez que la des&amp;shy;crip&amp;shy;tion est option&amp;shy;nelle et que les mem&amp;shy;bres sont décrits par uid. Le user&amp;shy;Pass&amp;shy;word est aussi dis&amp;shy;po&amp;shy;ni&amp;shy;ble mais n&amp;#8217;est pas uti&amp;shy;li&amp;shy;sa&amp;shy;ble actuel&amp;shy;le&amp;shy;ment pour les grou&amp;shy;pes du sys&amp;shy;tème.&lt;/p&gt;


&lt;p&gt;Exem&amp;shy;ple de machine (plus besoin de DNS local ;-)&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
objectClass: ipHost
cn: mamachine
ipNetworkNumber: 1.2.3.4
&lt;/pre&gt;


&lt;h3&gt;S&amp;#8217;adap&amp;shy;ter à l&amp;#8217;exis&amp;shy;tant&lt;/h3&gt;


&lt;p&gt;Il est pos&amp;shy;si&amp;shy;ble que vous ayez à gérer un ser&amp;shy;veur ldap exis&amp;shy;tant avec ses comp&amp;shy;tes et son pro&amp;shy;pre schéma (active direc&amp;shy;tory&amp;#160;?).
C&amp;#8217;est pour&amp;shy;quoi il existe des options de map&amp;shy;ping dans la con&amp;shy;fi&amp;shy;gu&amp;shy;ra&amp;shy;tion de pam_ldap et nss_ldap.&lt;/p&gt;


&lt;p&gt;Ces options sont assez sim&amp;shy;ples, il s&amp;#8217;agit de repar&amp;shy;cou&amp;shy;rir votre schéma et pour cha&amp;shy;que entrée néces&amp;shy;saire pour le sys&amp;shy;tème, expli&amp;shy;quer au fichier de con&amp;shy;fi&amp;shy;gu&amp;shy;ra&amp;shy;tion quel est le nom de l&amp;#8217;attri&amp;shy;but ou de la classe que vous uti&amp;shy;li&amp;shy;sez sur le ldap. Ceci est à faire une fois pour nss et une fois pour pam.&lt;/p&gt;


&lt;p&gt;Les com&amp;shy;man&amp;shy;des sont&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;nss_map_object&amp;shy;class&lt;/strong&gt;&amp;#160;: chan&amp;shy;ger une classe uti&amp;shy;li&amp;shy;sée par libnss-ldap&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;nss_map_attri&amp;shy;bute&lt;/strong&gt;&amp;#160;: chan&amp;shy;ger un attri&amp;shy;but uti&amp;shy;lisé par libnss-ldap&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;nss_default_attri&amp;shy;bute_value&lt;/strong&gt;&amp;#160;: don&amp;shy;ner une valeur par défaut à un attri&amp;shy;but (pra&amp;shy;ti&amp;shy;que pour le shell par exem&amp;shy;ple)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pam_login_attri&amp;shy;bute&lt;/strong&gt;&amp;#160;: change l&amp;#8217;attri&amp;shy;but ser&amp;shy;vant à mat&amp;shy;cher le login pen&amp;shy;dant l&amp;#8217;authen&amp;shy;ti&amp;shy;fi&amp;shy;ca&amp;shy;tion&lt;/li&gt;
&lt;li&gt;Il n&amp;#8217;est pas pos&amp;shy;si&amp;shy;ble de chan&amp;shy;ger l&amp;#8217;attri&amp;shy;but uti&amp;shy;lisé par pam pour le mot de passe (nor&amp;shy;mal c&amp;#8217;est le ser&amp;shy;veur ldap qui gère).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Les clas&amp;shy;ses modi&amp;shy;fia&amp;shy;bles (en res&amp;shy;tant dals le domaine uti&amp;shy;li&amp;shy;sa&amp;shy;teur/groupe) sont&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;posixAc&amp;shy;count&lt;/strong&gt;&amp;#160;: uti&amp;shy;li&amp;shy;sa&amp;shy;teur ayant un compte unix&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;sha&amp;shy;do&amp;shy;wAc&amp;shy;count&lt;/strong&gt;&amp;#160;: uti&amp;shy;li&amp;shy;sa&amp;shy;teur ayant un sys&amp;shy;tème avancé de ges&amp;shy;tion de mot de passe&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;posix&amp;shy;Group&lt;/strong&gt;: groupe unix&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Les attri&amp;shy;buts modi&amp;shy;fia&amp;shy;bles sont&amp;#160;: &lt;strong&gt;uid&amp;shy;Num&amp;shy;ber&lt;/strong&gt;, &lt;strong&gt;gid&amp;shy;Num&amp;shy;ber&lt;/strong&gt;, &lt;strong&gt;gecos&lt;/strong&gt;, &lt;strong&gt;home&amp;shy;Di&amp;shy;rec&amp;shy;tory&lt;/strong&gt;, &lt;strong&gt;login&amp;shy;Shell&lt;/strong&gt;, &lt;strong&gt;sha&amp;shy;dow&amp;shy;Last&amp;shy;Change&lt;/strong&gt;, &lt;strong&gt;sha&amp;shy;dow&amp;shy;Min&lt;/strong&gt;, &lt;strong&gt;sha&amp;shy;dow&amp;shy;Max&lt;/strong&gt;, &lt;strong&gt;sha&amp;shy;dow&amp;shy;War&amp;shy;ning&lt;/strong&gt;, &lt;strong&gt;sha&amp;shy;do&amp;shy;wI&amp;shy;nac&amp;shy;tive&lt;/strong&gt;, &lt;strong&gt;sha&amp;shy;do&amp;shy;wEx&amp;shy;pire&lt;/strong&gt;, &lt;strong&gt;sha&amp;shy;dow&amp;shy;Flag&lt;/strong&gt;, &lt;strong&gt;mem&amp;shy;be&amp;shy;rUid&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;Plus de détails (et plus de cles&amp;shy;ses) dans la &lt;a href=&quot;http://www.faqs.org/rfcs/rfc2307.html&quot; hreflang=&quot;en&quot;&gt;RFC 2307&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;La con&amp;shy;fi&amp;shy;gu&amp;shy;ra&amp;shy;tion four&amp;shy;nie avec le paquet donne des exem&amp;shy;ples pour les dif&amp;shy;fé&amp;shy;rents sys&amp;shy;tè&amp;shy;mes exis&amp;shy;tants (aix, micro&amp;shy;soft &amp;#8230;)&lt;/p&gt;


&lt;h3&gt;libnss-ldapd&lt;/h3&gt;

&lt;p&gt;Main&amp;shy;te&amp;shy;nant vous pour&amp;shy;riez avoir d&amp;#8217;autres pro&amp;shy;blè&amp;shy;mes, comme la per&amp;shy;for&amp;shy;mance ou quel&amp;shy;ques hoquets du réseau qui cou&amp;shy;pent des con&amp;shy;nexions.
La solu&amp;shy;tion tra&amp;shy;di&amp;shy;tion&amp;shy;nelle pour cela est d&amp;#8217;ins&amp;shy;tal&amp;shy;ler &lt;a href=&quot;http://linux-attitude.fr/post/Cache-pour-la-résolution-de-noms&quot;&gt;nscd&lt;/a&gt; qui fera un cache et vous évi&amp;shy;tera ces pro&amp;shy;blè&amp;shy;mes (et peut en créer d&amp;#8217;autres puis&amp;shy;que c&amp;#8217;est un cache).&lt;/p&gt;


&lt;p&gt;Mais il existe une autre solu&amp;shy;tion&amp;#160;: libnss-ldapd, notez bien le &amp;#8216;d&amp;#8217; final. C&amp;#8217;est une ver&amp;shy;sion de libnss-ldap réé&amp;shy;crite pour par&amp;shy;ler à un démon qui est le seul à par&amp;shy;ler avec le ser&amp;shy;veur ldap. Ça a l&amp;#8217;avan&amp;shy;tage de mutua&amp;shy;li&amp;shy;ser les requê&amp;shy;tes dans une seule con&amp;shy;nexion et donc d&amp;#8217;évi&amp;shy;ter pas mal de pro&amp;shy;blè&amp;shy;mes, sur&amp;shy;tout en cas de forte charge.&lt;/p&gt;


&lt;p&gt;Petit incon&amp;shy;vé&amp;shy;nient pour les puris&amp;shy;tes, ça ouvre une faille poten&amp;shy;tielle (incon&amp;shy;nue à ce jour) pour un uti&amp;shy;li&amp;shy;sa&amp;shy;teur qui vou&amp;shy;drait deve&amp;shy;nir admi&amp;shy;nis&amp;shy;tra&amp;shy;teur via le ser&amp;shy;veur ldap, puis&amp;shy;que ce n&amp;#8217;est plus le noyau qui véri&amp;shy;fie les droits root d&amp;#8217;admi&amp;shy;nis&amp;shy;tra&amp;shy;tion mais le démon.&lt;/p&gt;


&lt;p&gt;Le démon se con&amp;shy;fi&amp;shy;gure dans /etc/nss-ldapd.conf. La syn&amp;shy;taxe est la même que pour pam_ldap et libnss-ldap, le con&amp;shy;tenu ne doit pas chan&amp;shy;ger.&lt;/p&gt;


&lt;p&gt;Le démon est du coup assez impor&amp;shy;tant, il faut véri&amp;shy;fier qu&amp;#8217;il est lancé (moni&amp;shy;to&amp;shy;rer toussa &amp;#8230;). Il s&amp;#8217;appelle &lt;strong&gt;nslcd&lt;/strong&gt;.&lt;/p&gt;



&lt;h3&gt;Sécu&amp;shy;rité et per&amp;shy;for&amp;shy;man&amp;shy;ces&lt;/h3&gt;


&lt;p&gt;Si vous avez beau&amp;shy;coup d&amp;#8217;uti&amp;shy;li&amp;shy;sa&amp;shy;teurs vous pou&amp;shy;vez vou&amp;shy;loir res&amp;shy;trein&amp;shy;dre les recher&amp;shy;ches. &lt;br /&gt;
Si vous avez des uti&amp;shy;li&amp;shy;sa&amp;shy;teurs qui ne doi&amp;shy;vent pas tous avoir accès au sys&amp;shy;tème, vous pou&amp;shy;vez vou&amp;shy;loir res&amp;shy;trein&amp;shy;dre les recher&amp;shy;ches.&lt;/p&gt;


&lt;p&gt;C&amp;#8217;est pour&amp;shy;quoi nss et pam four&amp;shy;nis&amp;shy;sent des direc&amp;shy;ti&amp;shy;ves pour réduire la taille des recher&amp;shy;che et donc la liste des uti&amp;shy;li&amp;shy;sa&amp;shy;teurs&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;base&lt;/strong&gt;&amp;#160;: réduit l&amp;#8217;accès à tou&amp;shy;tes les com&amp;shy;man&amp;shy;des LDAP à une seule bran&amp;shy;che&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;scope&lt;/strong&gt;&amp;#160;: indi&amp;shy;quer si la recher&amp;shy;che doit tes&amp;shy;ter les sous bran&amp;shy;ches ou non&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;nss_base_&amp;lt;map&amp;gt;&lt;/strong&gt;&amp;#160;: per&amp;shy;met d&amp;#8217;indi&amp;shy;quer à ldap de se limi&amp;shy;ter à une requête pour un type donné de réso&amp;shy;lu&amp;shy;tion, map peut valoir passwd, sha&amp;shy;dow ou group (ou hosts, ser&amp;shy;vi&amp;shy;ces, net&amp;shy;works,  pro&amp;shy;to&amp;shy;cols,  rpc,  ethers, net&amp;shy;masks,  boot&amp;shy;pa&amp;shy;rams, alia&amp;shy;ses  ou net&amp;shy;group). Exem&amp;shy;ple&amp;#160;: nss_base_passwd ou=users,dc=linux-atti&amp;shy;tude,dc=fr?sub?uid&amp;gt;1000&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pam_fil&amp;shy;ter&lt;/strong&gt;&amp;#160;: per&amp;shy;met de modi&amp;shy;fier la par&amp;shy;tir fil&amp;shy;tre pour pam (pas besoin de modi&amp;shy;fier le reste car il n&amp;#8217;y a qu&amp;#8217;une requête faite par pam). Exem&amp;shy;ple&amp;#160;: pam_fil&amp;shy;ter uid&amp;gt;1000&lt;/li&gt;
&lt;/ul&gt;</description>
	<pubDate>mar, 23 jun 2009 21:43:00 +0000</pubDate>
</item>
<item>
	<title>Benoit Peccatte: Comptes ldap (3)</title>
	<guid permalink="False">urn:md5:7b50193ceb4101492f3ed76cdcadcbb7</guid>
	<link>http://linux-attitude.fr/post/Comptes-ldap-%283%29</link>
	<description>&lt;p&gt;&lt;strong&gt;Niveau&lt;/strong&gt;&amp;#160;: &lt;img src=&quot;http://linux-attitude.fr/public/Pics/s.gif&quot; alt=&quot;Star&quot; /&gt; &lt;img src=&quot;http://linux-attitude.fr/public/Pics/s.gif&quot; alt=&quot;Star&quot; /&gt; &lt;img src=&quot;http://linux-attitude.fr/public/Pics/s.gif&quot; alt=&quot;Star&quot; /&gt; &lt;img src=&quot;http://linux-attitude.fr/public/Pics/s.gif&quot; alt=&quot;Star&quot; /&gt; &lt;img src=&quot;http://linux-attitude.fr/public/Pics/e.gif&quot; alt=&quot;Empty&quot; /&gt;&lt;br /&gt;
&lt;strong&gt;Résumé&lt;/strong&gt;&amp;#160;: lib&amp;shy;map-ldap&amp;#160;; passwd&amp;#160;; chsh&amp;#160;; chfn&amp;#160;; addu&amp;shy;ser&lt;/p&gt;


&lt;p&gt;Désolé, j&amp;#8217;ai oublié la suite de &lt;a href=&quot;http://linux-attitude.fr/post/Comptes-ldap-%282%29&quot;&gt;la série LDAP&lt;/a&gt;. On peut faire un peu mieux que la der&amp;shy;nière fois.&lt;/p&gt;


&lt;h3&gt;Chan&amp;shy;ger son mot de passe&lt;/h3&gt;

&lt;p&gt;Nous n&amp;#8217;avons pas activé le chan&amp;shy;ge&amp;shy;ment de mot de passe. Pour cela, c&amp;#8217;est assez sim&amp;shy;ple, il suf&amp;shy;fit de modi&amp;shy;fier com&amp;shy;mon-pass&amp;shy;word (cela peut être ailleurs pour cer&amp;shy;tai&amp;shy;nes dis&amp;shy;tri&amp;shy;bu&amp;shy;tions &amp;#8230;)&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
password   sufficient   pam_unix.so nullok obscure min=4 max=8 md5
password   sufficient   pam_ldap.so
&lt;/pre&gt;


&lt;p&gt;Il faut aussi modi&amp;shy;fier /etc/pam_ldap.conf pour que pam ne modi&amp;shy;fie pas direc&amp;shy;te&amp;shy;ment le mot de passe, mais uti&amp;shy;lise les fonc&amp;shy;tions de ldap pré&amp;shy;vues à cet effet. Cela per&amp;shy;met qu&amp;#8217;il ne soit pas sto&amp;shy;cké en clair, mais avec la méthode défi&amp;shy;nie dans la con&amp;shy;fi&amp;shy;gu&amp;shy;ra&amp;shy;tion de ldap ({SSHA} par défaut).&lt;/p&gt;
&lt;pre&gt;
# A ajouter dans /etc/pam_ldap.conf
pam_password exop
&lt;/pre&gt;


&lt;p&gt;Et voilà vous pou&amp;shy;vez tes&amp;shy;ter la com&amp;shy;mande passwd.
Mais vous cons&amp;shy;ta&amp;shy;te&amp;shy;rez qu&amp;#8217;il y a quel&amp;shy;que chose qui clo&amp;shy;che. Si vous lan&amp;shy;cez la com&amp;shy;mande en root, l&amp;#8217;ancien mot de passe vous est quand même demandé. C&amp;#8217;est parce que vous n&amp;#8217;avez pas les droits d&amp;#8217;admi&amp;shy;nis&amp;shy;tra&amp;shy;teur sur le ldap.&lt;/p&gt;


&lt;p&gt;Pour remé&amp;shy;dier à cela, il vous faut un compte ldap qui a le droit de modi&amp;shy;fier le champ pass&amp;shy;word des autres uti&amp;shy;li&amp;shy;sa&amp;shy;teurs, par exem&amp;shy;ple l&amp;#8217;admi&amp;shy;nis&amp;shy;tra&amp;shy;teur ldap. Puis ren&amp;shy;sei&amp;shy;gnez ce compte dans pam_ldap.conf&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
# /etc/pam_ldap.conf
# Il faudra stocker le mot de passe correspondant en clair dans /etc/pam_ldap.secret
# Ce fichier doit appartenir à root et être en mode 600
rootbinddn cn=admin,dc=linux-attitude,dc=fr
&lt;/pre&gt;


&lt;p&gt;Ça y est vous êtes prêts.&lt;/p&gt;


&lt;h3&gt;chsh, chfn, addu&amp;shy;ser&lt;/h3&gt;

&lt;p&gt;Les uti&amp;shy;li&amp;shy;sa&amp;shy;teurs ont le droit de chan&amp;shy;ger leur shell ainsi que leurs infor&amp;shy;ma&amp;shy;tions per&amp;shy;son&amp;shy;nel&amp;shy;les.
Pour cela ils ont les com&amp;shy;man&amp;shy;des chsh et chfn.&lt;/p&gt;


&lt;p&gt;Mal&amp;shy;heu&amp;shy;reu&amp;shy;se&amp;shy;ment ces com&amp;shy;man&amp;shy;des mani&amp;shy;pu&amp;shy;lent /etc/passwd. Le paquet lib&amp;shy;pam-ldap four&amp;shy;nit des script pour rem&amp;shy;pla&amp;shy;cer ces com&amp;shy;man&amp;shy;des, mais ils sont un peu basi&amp;shy;ques et néces&amp;shy;si&amp;shy;tent lib&amp;shy;net-ldap-perl (Net::LDAP). Vous pou&amp;shy;vez vous baser des&amp;shy;sus pour faire les votres si vous pen&amp;shy;sez que ces fonc&amp;shy;tion&amp;shy;na&amp;shy;li&amp;shy;tés sont indis&amp;shy;pen&amp;shy;sa&amp;shy;bles pour vos uti&amp;shy;li&amp;shy;sa&amp;shy;teurs. On les trouve dans /usr/share/doc/lib&amp;shy;pam-ldap/exam&amp;shy;ples/ . un cer&amp;shy;tain nom&amp;shy;bre de para&amp;shy;mè&amp;shy;tres sont codés en dur et peu de véri&amp;shy;fi&amp;shy;ca&amp;shy;tions d&amp;#8217;erreur sont fai&amp;shy;tes.&lt;/p&gt;


&lt;p&gt;Si vous modi&amp;shy;fiez vos binai&amp;shy;res dans /usr/bin sur debian, fai&amp;shy;tes atten&amp;shy;tion la pro&amp;shy;chaine mise à jour ris&amp;shy;que de les rem&amp;shy;pla&amp;shy;cer. Pour évi&amp;shy;ter ce pro&amp;shy;blème, il existe la com&amp;shy;mande dpkg-divert&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
# On fait croire aux paquets qu'ils installent /usr/bin/chfn alors qu'ils installent en réalité /usr/bin/chfn.old
$ dpkg-divert --add --rename --divert /usr/bin/chfn.old /usr/bin/chfn
# voila, vous pouvez maintenant remplacer /usr/bin/chfn
&lt;/pre&gt;


&lt;p&gt;Autre pro&amp;shy;blème, addu&amp;shy;ser ne com&amp;shy;prend pas non plus le ldap. Ici le pro&amp;shy;blème est le même mais la solu&amp;shy;tion un peu meilleure.
Un paquet ldaps&amp;shy;cripts est dis&amp;shy;po&amp;shy;ni&amp;shy;ble et il con&amp;shy;tient des com&amp;shy;man&amp;shy;des comme lda&amp;shy;pad&amp;shy;du&amp;shy;ser pour vous faci&amp;shy;li&amp;shy;ter la créa&amp;shy;tion d&amp;#8217;uti&amp;shy;li&amp;shy;sa&amp;shy;teurs ldap.
Les com&amp;shy;man&amp;shy;des sont con&amp;shy;fi&amp;shy;gu&amp;shy;rées dans /etc/ldaps&amp;shy;cripts/ .&lt;/p&gt;


&lt;p&gt;Tout ceci pour&amp;shy;rait s&amp;#8217;amé&amp;shy;lio&amp;shy;rer dans de pro&amp;shy;chai&amp;shy;nes ver&amp;shy;sions, un patch a l&amp;#8217;air en cours de déve&amp;shy;lop&amp;shy;pe&amp;shy;ment pour le paquet sha&amp;shy;dow (qui con&amp;shy;tient ces outils) qui uti&amp;shy;li&amp;shy;se&amp;shy;rait la libnss pour effec&amp;shy;tuer ces actions. Les com&amp;shy;man&amp;shy;des fonc&amp;shy;tion&amp;shy;ne&amp;shy;raient donc direc&amp;shy;te&amp;shy;ment.&lt;/p&gt;



&lt;h3&gt;Quel&amp;shy;ques remar&amp;shy;ques&lt;/h3&gt;

&lt;p&gt;Depuis que nous avons des vrais comp&amp;shy;tes sys&amp;shy;tè&amp;shy;mes basés sur le ldap nous som&amp;shy;mes con&amp;shy;tents. Mais quel&amp;shy;ques peti&amp;shy;tes cho&amp;shy;ses tout de même&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Gar&amp;shy;dez le compte root sur le sys&amp;shy;tème, on ne sait jamais, si le ldap tombe, vous seriez bien embê&amp;shy;tés&lt;/li&gt;
&lt;li&gt;Fai&amp;shy;tes atten&amp;shy;tions aux droits dans le ldap, ils impac&amp;shy;tent les fonc&amp;shy;tion&amp;shy;na&amp;shy;li&amp;shy;tés des com&amp;shy;man&amp;shy;des sys&amp;shy;tè&amp;shy;mes (droit de lis&amp;shy;ter les autres uti&amp;shy;li&amp;shy;sa&amp;shy;teurs par exem&amp;shy;ple)&lt;/li&gt;
&lt;li&gt;Avec un ser&amp;shy;veur dis&amp;shy;tant, le ldap devient une forme de NIS&lt;/li&gt;
&lt;li&gt;Vous pou&amp;shy;vez uti&amp;shy;li&amp;shy;sez la répli&amp;shy;ca&amp;shy;tion ldap pour résis&amp;shy;ter aux crash&lt;/li&gt;
&lt;li&gt;Vous pou&amp;shy;vez tou&amp;shy;jours gar&amp;shy;der une mot de passe local au cas où le ldap ne mar&amp;shy;che pas (pam fait les 2)&lt;/li&gt;
&lt;li&gt;Vous pou&amp;shy;vez vous con&amp;shy;nec&amp;shy;ter à un con&amp;shy;tro&amp;shy;leur de domaine win&amp;shy;dows&lt;/li&gt;
&lt;li&gt;Si vous avez de pro&amp;shy;blè&amp;shy;mes les logs d&amp;#8217;authen&amp;shy;ti&amp;shy;fi&amp;shy;ca&amp;shy;tion sont dans /var/log/auth.log&lt;/li&gt;
&lt;li&gt;Vous pou&amp;shy;vez vou&amp;shy;loir ne met&amp;shy;tre en place que l&amp;#8217;authen&amp;shy;ti&amp;shy;fi&amp;shy;ca&amp;shy;tion via pam et ne pas uti&amp;shy;li&amp;shy;ser libnss. Ce cas cor&amp;shy;res&amp;shy;pond à des uti&amp;shy;li&amp;shy;sa&amp;shy;teurs vir&amp;shy;tuels (comme pour le ftp) qui n&amp;#8217;uti&amp;shy;li&amp;shy;se&amp;shy;ront pas alors de vrai compte sur le sys&amp;shy;tème.&lt;/li&gt;
&lt;/ul&gt;</description>
	<pubDate>dim, 21 jun 2009 15:08:00 +0000</pubDate>
</item>
<item>
	<title>Christophe Nowicki: Héberger son propre fournisseur d’identité OpenID</title>
	<guid permalink="False">http://www.csquad.org/?p=93</guid>
	<link>http://www.csquad.org/2009/06/11/heberger-son-propre-fournisseur-didentite-openid/</link>
	<description>&lt;h3&gt;Présentation d&amp;#8217;OpenID&lt;/h3&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;img src=&quot;http://www.csquad.org/wp-content/openid_logo.png&quot; alt=&quot;&quot; /&gt;
&lt;/td&gt;
&lt;td valign=&quot;top&quot;&gt;
&lt;p&gt;
&lt;a href=&quot;http://fr.wikipedia.org/wiki/OpenID&quot;&gt;OpenID&lt;/a&gt; est un système d’authentification décentralisé qui permet l’authentification unique, ainsi que le partage d’attributs. Il permet à un utilisateur de s’authentifier auprès de plusieurs sites compatibles sans avoir à retenir un identifiant pour chacun d’eux mais en utilisant à chaque fois un unique identifiant OpenID.&lt;/p&gt;
&lt;p&gt; Cette identifiant se presente sous forme d&amp;#8217;URL, celle-ci contient l&amp;#8217;adresse du serveur d&amp;#8217;identification et le nom de l&amp;#8217;utilisateur : &lt;a href=&quot;http://id.csquad.org/identity/cscm&quot;&gt;http://id.csquad.org/identity/cscm&lt;/a&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;Je trouve ce système d&amp;#8217;identification pratique, car je change de poste de travail ( portable, station de travail, etc&amp;#8230;) et je n&amp;#8217;ai pas trouvé de solution de synchronisation de mot de passe convaincante. &lt;/p&gt;
&lt;h3&gt;Pourquoi héberger son propre fournisseur d&amp;#8217;identité?&lt;/h3&gt;
&lt;p&gt;Héberger son propre serveur d&amp;#8217;identité vous permet de gérer votre identité numérique.&lt;br /&gt;
C&amp;#8217;est à dire, déterminer les informations personnelles que vous fournissez au service que vous utilisez.&lt;br /&gt;
 &lt;strong&gt;Héberger ce type de service sur son propre serveur vous garantit que vous avez la main sur vos données personnelles.&lt;/strong&gt;&lt;br /&gt;
Cela vous garantit que :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;les autres fournisseurs d&amp;#8217;identité n&amp;#8217;exploitent pas vos données personnelles ;&lt;/li&gt;
&lt;li&gt;votre compte restera toujours actif, en effet rien ne vous garantit qu&amp;#8217;un fournisseur d&amp;#8217;identité ne cesse son activité ; &lt;/li&gt;
&lt;li&gt;une liberté en matière de politique de mot de passe / choix de l&amp;#8217;identifiant / nombre de comptes, etc&amp;#8230; &lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Présentation de Community-ID&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;http://source.keyboard-monkeys.org/projects/show/communityid&quot;&gt;Community-ID&lt;/a&gt; est une application PHP, compatible avec les spécifications &lt;a href=&quot;http://openid.net/specs/openid-authentication-2_0.html&quot;&gt;OpenID 2.0&lt;/a&gt; sous licence BSD.&lt;br /&gt;
Il propose les fonctionnalités suivantes :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;comptes d&amp;#8217;utilisateurs ; &lt;/li&gt;
&lt;li&gt;données personnelles ;&lt;/li&gt;
&lt;li&gt;sites fédérés ;&lt;/li&gt;
&lt;li&gt;historique ;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Configuration de Community-ID sur un serveur Debian GNU/Linux&lt;/h3&gt;
&lt;p&gt;Voici la procédure d&amp;#8217;installation de la version 1.0 de Community-ID sur une distribution Debian GNU/Linux version &amp;#8220;Lenny&amp;#8221;.&lt;/p&gt;
&lt;p&gt;Vous avez besoin :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;d&amp;#8217;un nom de domaine ;&lt;/li&gt;
&lt;li&gt;d&amp;#8217;un serveur Apache avec le support de PHP 5 et le module rewrite ;&lt;/li&gt;
&lt;li&gt;d&amp;#8217;une base de données MySQL avec phpMyAdmin ;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Configuration de MySQL&lt;/h4&gt;
&lt;p&gt;A l&amp;#8217;aide de phpMyAdmin, créer un utilisateur &lt;em&gt;communityid&lt;/em&gt; et créer une base portant le même nom en lui donnant tous les privilèges sur cette base.&lt;/p&gt;
&lt;h4&gt;Installation dépendances&lt;/h4&gt;
&lt;p&gt;Le programme nécessite les dépendances suivantes :&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
# apt-get install apache2-mpm-prefork libapache2-mod-php5  php5-mysql  php5-gd php5-gmp&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;h4&gt;Installation du programme&lt;/h4&gt;
&lt;p&gt;Vous pouvez télécharger le programme sur SourceForge : &lt;a href=&quot;http://sourceforge.net/project/showfiles.php?group_id=252134&amp;package_id=324987&quot;&gt;Community-ID&lt;/a&gt;.&lt;br /&gt;
et extraire le fichier tar.gz dans le répertoire &lt;em&gt;/var/www&lt;/em&gt; :&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;br /&gt;
# cd /var/www&lt;br /&gt;
# wget http://freefr.dl.sourceforge.net/sourceforge/communityid/cid-1.0.0.tar.gz&lt;br /&gt;
# tar xzf cid-1.0.0.tar.gz&lt;br /&gt;
# chown www-data: -R communityid&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Vous devez ensuite configurer le site web pour Apache en mettant le contenu suivant dans le fichier &lt;em&gt;/etc/apache2/sites-available/communityid&lt;/em&gt; :&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
  ServerName id.nom_de_domaine&lt;br /&gt;
  ErrorLog /var/log/apache2/id.nom_de_domaine/error.log&lt;br /&gt;
  CustomLog /var/log/apache2/id.nom_de_domaine/access.log common&lt;br /&gt;
  DocumentRoot /var/www/communityid/webdir&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
Il faut créer le répertoire pour les logs du site, activer le site et le module &lt;em&gt;rewrite&lt;/em&gt; dans Apache :&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
# mkdir /var/log/apache2/id.nom_de_domaine/&lt;br /&gt;
# a2enmod rewrite&lt;br /&gt;
Enabling module rewrite.&lt;br /&gt;
Run '/etc/init.d/apache2 restart' to activate new configuration!&lt;br /&gt;
# a2ensite communityid&lt;br /&gt;
Enabling site communityid.&lt;br /&gt;
Run '/etc/init.d/apache2 reload' to activate new configuration!&lt;br /&gt;
# /etc/init.d/apache2 restart&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;h4&gt;Configuration&lt;/h4&gt;
&lt;p&gt;Vous pouvez ensuite pointer votre navigateur sur l&amp;#8217;adresse de votre site : http://id.nom_de_domaine/&lt;br /&gt;
La procédure d&amp;#8217;installation vous demande les informations de connexion à la base de données pour configurer celle-ci.&lt;br /&gt;
Une fois la base de données crée, vous pouvez vous connecter à l&amp;#8217;interface à l&amp;#8217;aide de l&amp;#8217;utilisateur &lt;em&gt;admin&lt;/em&gt; et du mot de passe &lt;em&gt;admin&lt;/em&gt;, pour vous créer un compte. &lt;/p&gt;
&lt;h3&gt;Liste des services compatibles&lt;/h3&gt;
&lt;p&gt;Voici la liste des quelques services que j&amp;#8217;utilise avec mon serveur OpenID :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.dailymotion.com/&quot;&gt;Dailymotion&lt;/a&gt; ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://sourceforge.net/&quot;&gt;Sourceforge&lt;/a&gt; ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.peeron.com&quot;&gt;Peeron&lt;/a&gt; ;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Il existe de nombreux services compatibles avec ce système d&amp;#8217;authentification, référencés par l&amp;#8217;annuaire &lt;a href=&quot;http://openiddirectory.com/&quot;&gt;OpenID Directory&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Les principaux systèmes de blog proposent le support d&amp;#8217;OpenID sous forme de plugin :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://wordpress.org/extend/plugins/openid/&quot;&gt;WordPress&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://plugins.dotaddict.org/dc1/details/OpenID&quot;&gt;Dotclear&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si vous avez réussi à installer votre fournisseur d&amp;#8217;identité, vous pouvez vous connecter sur mon blog pour me laisser un commentaire &lt;img src=&quot;http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif&quot; alt=&quot;;-)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;</description>
	<pubDate>jeu, 11 jun 2009 06:31:37 +0000</pubDate>
</item>
<item>
	<title>Carl Chenet: RMLL 2009 et retour sur Pycon FR</title>
	<guid permalink="False">http://carlchenet.wordpress.com/?p=47</guid>
	<link>http://carlchenet.wordpress.com/2009/06/08/rmll-2009-et-retour-sur-pycon-fr/</link>
	<description>&lt;div class=&quot;snap_preview&quot;&gt;&lt;br /&gt;&lt;p&gt;&lt;img class=&quot;alignnone&quot; title=&quot;Je vais aux RMLL !&quot; src=&quot;http://www.ohmytux.com/je_vais_aux_rmll.png&quot; alt=&quot;Je vais aux RMLL!&quot; width=&quot;250&quot; height=&quot;139&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Comme indiqué ci-dessus, je serai aux Rencontres Mondiales du Logiciel Libre (RMLL) à Nantes, le 9 juillet 2009 &lt;a title=&quot;Mon petit projet libre ... ne connaît pas la crise&quot; href=&quot;http://2009.rmll.info/Mon-petit-projet-libre-ne-connait.html&quot; target=&quot;_blank&quot;&gt;pour une conférence&lt;/a&gt; sous la forme d&amp;#8217;un retour d&amp;#8217;expérience sur &lt;a title=&quot;Projet Bélier&quot; href=&quot;http://www.ohmytux.com/belier&quot; target=&quot;_blank&quot;&gt;mon projet Bélier&lt;/a&gt;, avec une large part accordée à la démarche qualité dans le développement d&amp;#8217;un logiciel en Python. Sera également abordé l&amp;#8217;importance de l&amp;#8217;empaquetage qui me permettra de mettre en avant mes récents travaux au sein de &lt;a title=&quot;La page du projet Debian&quot; href=&quot;http://www.debian.org&quot; target=&quot;_blank&quot;&gt;Debian&lt;/a&gt;. Je serai également une grande partie de la journée sur le stand de &lt;a href=&quot;http://afpy.org&quot; target=&quot;_blank&quot;&gt;l&amp;#8217;Association Francophone Python (AFPY)&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Si vous êtes un contributeur/DD/DM du projet Debian, n&amp;#8217;hésitez pas à venir causer avec moi ! Et la même chose bien sûr pour toutes les personnes intéressées par Python.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Rapide retour sur Pycon FR 2009&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a title=&quot;Pycon FR&quot; href=&quot;http://pycon.fr/&quot; target=&quot;_blank&quot;&gt;Les journées Pycon FR 2009&lt;/a&gt;, conférences francophones autour du langage Python, ont eu lieu le dernier week-end de mai à la Cité des Sciences et de l&amp;#8217;Industrie à Paris. Les conférences se sont enchaînées, abordant un large éventail de sujets. J&amp;#8217;ai présenté moi-même une conférence sur la mise en place d&amp;#8217;une démarche qualité au sein d&amp;#8217;un développement en Python ainsi qu&amp;#8217;un &amp;#8220;lightning talk&amp;#8221; sur mon projet Bélier. L&amp;#8217;organisation a été parfaite et les feedbacks ont été très positifs.&lt;/p&gt;
&lt;p&gt;Je pense présenter l&amp;#8217;année prochaine une conférence sur Python et Debian abordant l&amp;#8217;utilisation du langage Python dans Debian et comment un développeur utilisant Python peut contribuer à Debian.&lt;/p&gt;
&lt;p&gt;à bientôt !&lt;/p&gt;
  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/carlchenet.wordpress.com/47/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/carlchenet.wordpress.com/47/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/carlchenet.wordpress.com/47/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/carlchenet.wordpress.com/47/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/carlchenet.wordpress.com/47/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/carlchenet.wordpress.com/47/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/carlchenet.wordpress.com/47/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/carlchenet.wordpress.com/47/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/carlchenet.wordpress.com/47/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/carlchenet.wordpress.com/47/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=carlchenet.wordpress.com&amp;blog=7722010&amp;post=47&amp;subd=carlchenet&amp;ref=&amp;feed=1&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>lun, 08 jun 2009 17:26:52 +0000</pubDate>
</item>
<item>
	<title>Erwan Briand: Patate \o/</title>
	<guid permalink="False">urn:md5:03f77464eedaebacc7bc639bd7144cb0</guid>
	<link>http://xbright.codingteam.net/post/2009/06/08/Patate-%5Co/</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://xbright.codingteam.net/post/2007/04/07/Biquette&quot;&gt;Biquette&lt;/a&gt; et moi sommes heureux de vous présenter une nouvelle venue, la dénommée Patate !&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://xbright.codingteam.net/public/debiensbellesimages/DSC00768.JPG&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://xbright.codingteam.net/public/debiensbellesimages/.DSC00768_s.jpg&quot; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://xbright.codingteam.net/public/debiensbellesimages/DSC00771.JPG&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://xbright.codingteam.net/public/debiensbellesimages/.DSC00771_s.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Patate est un petit ordinateur portable MSI Wind U100 (&lt;a href=&quot;http://www.msi-computer.fr/modele/wind-u100&quot;&gt;027FR&lt;/a&gt; pour la référence exacte) tout noir et tout top cool. Pour ceux qui veulent savoir ce que la bête a sous le capot, c'est un processeur Intel Atom à 1.6GHz, un disque dur de 160Go, un gigot de RAM, un écran 10.2 pouces (avec donc une résolution de 1024x600), un lecteur de cartes qui marchera &lt;em&gt;sans rien faire&lt;/em&gt; et une webcam (pratique pour les cam2cam coquines sur MSN, comme pensent sûrement actuellement &lt;acronym title=&quot;Genre P'tit FR[e]D.&quot;&gt;plusieurs lecteurs&lt;/acronym&gt;)… L'ordinateur est aussi livré avec un CD de restauration et de sauvegarde de Windows XP (qui est d'ailleurs très utile sur un ordinateur sans lecteur CD) ainsi qu'une pré-installation d'XP. Le disque dur, après son formatage et son repartitionnement en bonne et due forme ne possède plus aucune trace de tout ça, donc le monde va bien et les oiseaux chantent (si si, tendez l'oreille). Comme il m'est arrivé quelques péripéties lors de la configuration de cette petite patate, je vais relater tout ça ici au cas où un autre que moi aurait un MSI Wind et ne s'en sortirait pas, il y aura donc des vrais bouts de technique dans ce billet ; désolé si ça choque.&lt;/p&gt;
&lt;p&gt;L'installation en elle même s'est déroulée sans encombres via une clef usb contenant la &lt;em&gt;netinstall&lt;/em&gt; de Debian testing (et d'ailleurs, j'écris ce billet depuis patate \o/). Par contre, au premier boot, il m'est arrivé un truc bizarre : &lt;strong&gt;/etc/fstab&lt;/strong&gt; désignait le disque dur comme &lt;strong&gt;/dev/sdc&lt;/strong&gt; alors que &lt;em&gt;fdisk -l &lt;/em&gt;parlait bien de &lt;strong&gt;/dev/sda&lt;/strong&gt;. J'ai dû être un peu distrait pendant l'installation parce que grub ne se lançait tout-bien que si je bootais sur la clef usb (&lt;strong&gt;/dev/sda&lt;/strong&gt;, en l'occurrence ; je sais que c'est un peu confus mais il faut quand même suivre un minimum). Une réinstallation de grub et une modification du fichier &lt;strong&gt;/etc/fstab&lt;/strong&gt; plus tard, la machine démarrait tranquillement.&lt;/p&gt;
&lt;p&gt;Ensuite, vient le problème de la carte wifi. En effet, selon les modèles et lieux de commercialisation de l'ordinateur, la puce wifi n'est pas la même. La plus courante à l'air d'être une Realtek RTL8187SE et à ce qu'on peut lire sur le net, c'est aussi la plus chiante. Le mien est équipé d'une Ralink RT2860 (alors que le commerçant m'avait pourtant annoncé l'autre). Et il y aurait même des modèles avec un chipset Atheros (ça aurait été idéal). En tout cas, avec ma carte et Debian, y a pas 36 solutions, il faut le kernel 2.6.29 si on veut bénéficier du pilote fourni avec le noyau (rt2860sta) qui marche tout simplement super. Et puis, ça ne peut pas être un mal d'être à jour, c'est que le 2.6.26 commence se faire vieux quand même. Petit bémol, le driver dépendrait d'un firmware non-libre (comme le dit ce rapport de &lt;a href=&quot;http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=521553&quot;&gt;bug&lt;/a&gt;).&lt;em&gt; Ralink, bouh !&lt;/em&gt; Sinon, on peut aussi se l'installer via module-assistant, mais je ne vais pas &lt;a href=&quot;http://wiki.debian.org/rt2860sta&quot;&gt;détailler tout ça&lt;/a&gt; ici. Me voilà donc de nouveau obligé d'utiliser du non-libre pour mon matériel. /o\&lt;/p&gt;
&lt;p&gt;Ensuite, j'ai opté pour m'installer un cocktail personnel avec du SLiM, du Openbox, du xfce4-terminal, du xfce4-panel… Mais tout ne s'arrête pas là. Il y a aussi moyen de s'amuser avec la carte graphique. En lançant &lt;strong&gt;glxgears&lt;/strong&gt;, on obtient environ 400 FPS. Eh bien, on peut passer à environ 900 FPS en un claquement de doigt, satisfaisant par la même les gamerz nomades (chambre, salon, toilettes) que nous sommes tous (même toi, là bas, au fond). Pour cela, j'ai honteusement pompé sur le net (des tutos, des rapports de bugs, des sujets de forum) et j'ai fait un joli mix que voici.&lt;/p&gt;
&lt;p&gt;D'abord, dans le xorg.conf :&lt;/p&gt;
&lt;pre&gt;Section &quot;Device&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Identifier	&quot;Configured Video Device&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Option		&quot;AccelMethod&quot;			&quot;xaa&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Option		&quot;MigrationHeuristic&quot;		&quot;greedy&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Option		&quot;DRI&quot;				&quot;true&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Option		&quot;FramebufferCompression&quot;	&quot;on&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Option		&quot;UseFBDev&quot;			&quot;true&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Option		&quot;RenderAccel&quot;			&quot;true&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Option		&quot;XAANoOffscreenPixmaps&quot;		&quot;true&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Option		&quot;Tiling&quot;			&quot;on&quot;&lt;br /&gt;EndSection&lt;/pre&gt;
&lt;p&gt;Et puis au final, dans le &lt;strong&gt;.bashrc&lt;/strong&gt; :&lt;/p&gt;
&lt;pre&gt;export INTEL_BATCH=1&lt;/pre&gt;&lt;p&gt;Bon, par contre, rien de dingue, j'oscille entre 5 et 50 FPS selon les jeux et certains (comme gl-117) refusent tout simplement de se lancer. Les malpropres. Notons aussi que pour le coup, j'ai un peu copié sans chercher à comprendre, c'est que c'est bien obscur toutes ces bêtises d'accélération graphique.&lt;/p&gt;
&lt;p&gt;Le portable vient aussi avec une interface Bluetooth. J'ai d'ailleurs trouvé &lt;a href=&quot;http://thunar.xfce.org/pwiki/documentation/sendto_menu&quot;&gt;sur le net&lt;/a&gt; une bien bonne astuce pour utiliser tout ça facilement, la voici. Avant toute chose, il faut installer le paquet &lt;strong&gt;gnome-bluetooth&lt;/strong&gt; et ensuite créer le fichier &lt;em&gt;./local/share/Thunar/sendto/gnome-obex-send-generic.dekstop&lt;/em&gt;. Ce fichier doit juste contenir ça :&lt;/p&gt;
&lt;pre&gt;[Desktop Entry]&lt;br /&gt;Type=Application&lt;br /&gt;Version=1.0&lt;br /&gt;Encoding=UTF-8&lt;br /&gt;Name=Bluetooth OBEX Recipient&lt;br /&gt;Exec=/usr/bin/gnome-obex-send %f&lt;/pre&gt;&lt;p&gt;Et hop, il y aura une nouvelle entrée au menu « Envoyer vers » de Thunar. Et on utilisera gnome-obex-server pour récupérer des fichiers transmis par le Bluetooth (chez moi, il se lance à l'ouverture de ma session).&lt;/p&gt;
&lt;p&gt;Pour pouvoir utiliser les touches de gestion du son, il faut faire une petite manipulation de rien du tout avec xmodmap. Quand on utilise Openbox, il suffit d'ajouter « &lt;em&gt;xmodmap /chemin/vers/votre/xmap&lt;/em&gt; » dans &lt;strong&gt;~/.config/openbox/autostart.sh&lt;/strong&gt;. Ce fichier xmap contiendra :&lt;/p&gt;
&lt;pre&gt;keycode 176 = XF86AudioRaiseVolume&lt;br /&gt;keycode 174 = XF86AudioLowerVolume&lt;br /&gt;keycode 160 = XF86AudioMute&lt;/pre&gt;
&lt;p&gt;Et il n'y a plus qu'à mettre à jour le &lt;strong&gt;~/.config/openbox/rc.xml&lt;/strong&gt; :&lt;/p&gt;
&lt;pre&gt;    &amp;lt;keybind key=&quot;XF86AudioRaiseVolume&quot;&amp;gt;&lt;br /&gt;      &amp;lt;action name=&quot;Execute&quot;&amp;gt;&lt;br /&gt;        &amp;lt;command&amp;gt;aumix -v+4&amp;lt;/command&amp;gt;&lt;br /&gt;      &amp;lt;/action&amp;gt;&lt;br /&gt;    &amp;lt;/keybind&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;keybind key=&quot;XF86AudioLowerVolume&quot;&amp;gt;&lt;br /&gt;      &amp;lt;action name=&quot;Execute&quot;&amp;gt;&lt;br /&gt;        &amp;lt;command&amp;gt;aumix -v-4&amp;lt;/command&amp;gt;&lt;br /&gt;      &amp;lt;/action&amp;gt;&lt;br /&gt;    &amp;lt;/keybind&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;keybind key=&quot;XF86AudioMute&quot;&amp;gt;&lt;br /&gt;      &amp;lt;action name=&quot;Execute&quot;&amp;gt;&lt;br /&gt;        &amp;lt;command&amp;gt;aumix -v0&amp;lt;/command&amp;gt;&lt;br /&gt;      &amp;lt;/action&amp;gt;&lt;br /&gt;    &amp;lt;/keybind&amp;gt;&lt;/pre&gt;&lt;p&gt;Voilà qui n'est déjà pas mal. Maintenant, sans transition, on va passer de la bidouille du dimanche à quelque chose de bien plus intéressant.&lt;/p&gt;
&lt;p&gt;Étant d'un naturel paranoïaque, il ne m'a pas fallu en parler longtemps sur le net avant de me décider à chiffrer ma partition &lt;strong&gt;/home&lt;/strong&gt;. Et en plus, c'est vraiment pas si compliqué que ça. On commence par installer le paquet &lt;strong&gt;cryptsetup&lt;/strong&gt;. Avant toute chose, il peut être sympa de se faire un petit backup, j'ai par exemple créé un dossier &lt;strong&gt;/var/homebackup&lt;/strong&gt; dans lequel j'ai copié &lt;strong&gt;/home/xbright&lt;/strong&gt;. Après, on attaque les choses sérieuses (vérifiez que le module &lt;strong&gt;dm-crypt&lt;/strong&gt; est chargé pour la suite). Et si vous avez un avertissement à propos d'un certain &lt;strong&gt;udevsettle&lt;/strong&gt; manquant, pas de panique, c'est un &lt;a href=&quot;http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=514729&quot;&gt;bug&lt;/a&gt;. Enfin, pour bien comprendre mon exemple, dans mon cas, &lt;strong&gt;/home&lt;/strong&gt; est sur &lt;strong&gt;/dev/sda5&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;On commence par démonter notre partition :&lt;/p&gt;
&lt;pre&gt;umount /dev/sda5&lt;/pre&gt;
&lt;p&gt;Ensuite, on lance la création du chiffrage sur cette partition :&lt;/p&gt;
&lt;pre&gt;cryptsetup luksFormat /dev/sda5&lt;/pre&gt;
&lt;p&gt;Et puis, on va ouvrir tout ça :&lt;/p&gt;
&lt;pre&gt;cryptsetup luksOpen /dev/sda5 home&lt;/pre&gt;
&lt;p&gt;Et on va maintenant créer un système de fichier ext3 :&lt;/p&gt;
&lt;pre&gt;mke2fs -j /dev/mapper/home&lt;/pre&gt;
&lt;p&gt;À ce moment là, moi, j'ai restauré ma sauvegarde en trois étapes toutes simples :&lt;/p&gt;
&lt;pre&gt;mount -t ext3 /dev/mapper/home /mnt&lt;br /&gt;cp -av /var/homebackup/xbright /mnt&lt;br /&gt;umount /mnt&lt;/pre&gt;
&lt;p&gt;Et ensuite, dernière étape, il faut modifier deux fichiers, le premier, &lt;strong&gt;/etc/fstab&lt;/strong&gt;, il s'agit de modifier la ligne concernant notre partition afin qu'elle ressemble à ça :&lt;/p&gt;
&lt;pre&gt;/dev/mapper/home&amp;nbsp;&amp;nbsp;&amp;nbsp; /home&amp;nbsp;&amp;nbsp;&amp;nbsp; ext3&amp;nbsp;&amp;nbsp;&amp;nbsp; defaults&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&lt;/pre&gt;&lt;p&gt;Le dernier fichier à modifier est &lt;strong&gt;/etc/crypttab&lt;/strong&gt;, auquel il suffira d'ajouter cette ligne :&lt;/p&gt;
&lt;pre&gt;home&amp;nbsp;&amp;nbsp;&amp;nbsp; /dev/sda5&amp;nbsp;&amp;nbsp;&amp;nbsp; none&amp;nbsp;&amp;nbsp;&amp;nbsp; luks&lt;/pre&gt;
&lt;p&gt;Un petit reboot et c'est bon. Il faudra juste entrer le mot de passe à chaque boot pour que la partition puisse être lue. Et puis, ça rassure le paranoïaque qui sommeille au fond de nous.&lt;/p&gt;
&lt;p&gt;Et maintenant, les traditionnels screenshots pour montrer un peu à quoi ressemble la bestiole (attention, la taille de la police pourrait faire peur à &lt;acronym title=&quot;N'est-ce pas, elghinn ?&quot;&gt;certains qui se balladent sur le web en 16 pixels&lt;/acronym&gt;, parce que là, c'est moins que la moitié).&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://xbright.codingteam.net/public/debiensbellesimages/2009-06-08-043637_1024x600_scrot.png&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://xbright.codingteam.net/public/debiensbellesimages/.2009-06-08-043637_1024x600_scrot_s.jpg&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://xbright.codingteam.net/public/debiensbellesimages/2009-06-08-042859_1024x600_scrot.png&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://xbright.codingteam.net/public/debiensbellesimages/.2009-06-08-042859_1024x600_scrot_s.jpg&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://xbright.codingteam.net/public/debiensbellesimages/2009-06-08-043839_1024x600_scrot.png&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://xbright.codingteam.net/public/debiensbellesimages/.2009-06-08-043839_1024x600_scrot_s.jpg&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://xbright.codingteam.net/public/debiensbellesimages/2009-06-08-042939_1024x600_scrot.png&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://xbright.codingteam.net/public/debiensbellesimages/.2009-06-08-042939_1024x600_scrot_s.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>lun, 08 jun 2009 15:39:00 +0000</pubDate>
</item>
<item>
	<title>Benoit Peccatte: Comptes ldap (2)</title>
	<guid permalink="False">urn:md5:bfcb5226386bcb87848e4e39339d3097</guid>
	<link>http://linux-attitude.fr/post/Comptes-ldap-%282%29</link>
	<description>&lt;p&gt;&lt;strong&gt;Niveau&lt;/strong&gt;&amp;#160;: &lt;img src=&quot;http://linux-attitude.fr/public/Pics/s.gif&quot; alt=&quot;Star&quot; /&gt; &lt;img src=&quot;http://linux-attitude.fr/public/Pics/s.gif&quot; alt=&quot;Star&quot; /&gt; &lt;img src=&quot;http://linux-attitude.fr/public/Pics/s.gif&quot; alt=&quot;Star&quot; /&gt; &lt;img src=&quot;http://linux-attitude.fr/public/Pics/e.gif&quot; alt=&quot;Empty&quot; /&gt; &lt;img src=&quot;http://linux-attitude.fr/public/Pics/e.gif&quot; alt=&quot;Empty&quot; /&gt;&lt;br /&gt;
&lt;strong&gt;Résumé&lt;/strong&gt;&amp;#160;: lib&amp;shy;pam-ldap&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://linux-attitude.fr/post/Comptes-ldap-%281%29&quot;&gt;Hier&lt;/a&gt; nous avons créé un compte sur le ldap. Bien, mais on ne pou&amp;shy;vait pas en faire grand chose. Il faut main&amp;shy;te&amp;shy;nant pou&amp;shy;voir se con&amp;shy;nec&amp;shy;ter. Il est théo&amp;shy;ri&amp;shy;que&amp;shy;ment pos&amp;shy;si&amp;shy;ble de tout faire avec libnss mais c&amp;#8217;est à la fois plus dif&amp;shy;fi&amp;shy;cile et moins fonc&amp;shy;tion&amp;shy;nel qu&amp;#8217;avec pam.&lt;/p&gt;


&lt;p&gt;Comme vous le savez &lt;a href=&quot;http://linux-attitude.fr/post/Papiers-sil-vous-plait&quot;&gt;l&amp;#8217;authen&amp;shy;ti&amp;shy;fi&amp;shy;ca&amp;shy;tion&lt;/a&gt; sous linux se fait avec PAM. Nous allons donc uti&amp;shy;li&amp;shy;ser un module dédié&amp;#160;: lib&amp;shy;pam-ldap (cool le paquet porte le même nom).&lt;/p&gt;


&lt;h3&gt;LDAP&lt;/h3&gt;


&lt;p&gt;Cette fois ne nous force à uti&amp;shy;li&amp;shy;ser aucun object&amp;shy;Class, mais comme il sait uti&amp;shy;li&amp;shy;ser les attri&amp;shy;buts de la classe sha&amp;shy;do&amp;shy;wAc&amp;shy;count, on peut uti&amp;shy;li&amp;shy;ser celle-ci pour se sim&amp;shy;pli&amp;shy;fier la vie.&lt;/p&gt;


&lt;p&gt;Ajou&amp;shy;tons le mot de passe à notre uti&amp;shy;li&amp;shy;sa&amp;shy;teur. On crée le mot de passe LDAP à la main, mais par la suite vous ver&amp;shy;rez que ce n&amp;#8217;est pas indis&amp;shy;pen&amp;shy;sa&amp;shy;ble.&lt;/p&gt;
&lt;pre&gt;
$ slappasswd -s test
{SSHA}l5X6sBFomfk3tk02HEMWK4YLep7pqZDk
&lt;/pre&gt;


&lt;p&gt;On ajoute ce mot de passe à l&amp;#8217;uti&amp;shy;li&amp;shy;sa&amp;shy;teur déjà créé&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
$ ldapmodify -x -D &amp;quot;cn=admin,dc=linux-attitude,dc=fr&amp;quot; -W
dn: uid=peck,ou=people,dc=linux-attitude,dc=fr
changetype: modify
add: userPassword
userPassword: {SSHA}l5X6sBFomfk3tk02HEMWK4YLep7pqZDk
&lt;/pre&gt;


&lt;p&gt;Un test de con&amp;shy;nexion avec ldap&amp;shy;search vous mon&amp;shy;trera que le mot de passe est bien pris en compte&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
$ ldapsearch -x -D &amp;quot;uid=peck,ou=people,dc=linux-attitude,dc=fr&amp;quot; -w test &amp;quot;uid=peck&amp;quot;
&lt;/pre&gt;


&lt;h3&gt;PAM&lt;/h3&gt;


&lt;p&gt;Main&amp;shy;te&amp;shy;nant il faut expli&amp;shy;quer gen&amp;shy;ti&amp;shy;ment à PAM d&amp;#8217;aller faire son authen&amp;shy;ti&amp;shy;fi&amp;shy;ca&amp;shy;tion en uti&amp;shy;li&amp;shy;sant LDAP. Pour cela hop, con&amp;shy;fi&amp;shy;gu&amp;shy;ra&amp;shy;tion dans /etc/pam.d/com&amp;shy;mon-*. Cer&amp;shy;tai&amp;shy;nes dis&amp;shy;tri&amp;shy;bu&amp;shy;tions devront peut-être con&amp;shy;fi&amp;shy;gu&amp;shy;rer cha&amp;shy;que élé&amp;shy;ment un par un&amp;#160;: su, login, ssh &amp;#8230;&lt;/p&gt;

&lt;pre&gt;
# common-auth
# attention, le pam_unix devient sufficient
auth    sufficient    pam_unix.so nullok_secure nodelay
# use_first pass permet de ne demander qu'une fois les mot de passe pour les 2 modules
auth    sufficient    pam_ldap.so use_first_pass 
&lt;/pre&gt;

&lt;pre&gt;
# common-account
account    required    pam_unix.so
account    sufficient   pam_ldap.so
&lt;/pre&gt;

&lt;pre&gt;
# common-session
session    required    pam_unix.so
session    optional    pam_ldap.so
&lt;/pre&gt;


&lt;p&gt;Main&amp;shy;te&amp;shy;nant atta&amp;shy;quons-nous au fichier de con&amp;shy;fi&amp;shy;gu&amp;shy;ra&amp;shy;tion pro&amp;shy;pre&amp;shy;ment dit&amp;#160;: /etc/pam_ldap.conf. En voici l&amp;#8217;essen&amp;shy;tiel&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
# /etc/pam_ldap.conf
base ou=people,dc=linux-attitude,dc=fr
uri ldap://127.0.0.1/
ldap_version 3
&lt;/pre&gt;


&lt;p&gt;Vous remar&amp;shy;que&amp;shy;rez que pam_ldap.conf et libnss-ldap.conf ne ren&amp;shy;trent jamais en con&amp;shy;flit. Vous pou&amp;shy;vez faire un lien de l&amp;#8217;un vers l&amp;#8217;autre ou modi&amp;shy;fier la con&amp;shy;fi&amp;shy;gu&amp;shy;ra&amp;shy;tion pour que ce soient les mêmes fichiers. Cela peut vous évi&amp;shy;ter quel&amp;shy;ques désa&amp;shy;gré&amp;shy;ments.&lt;/p&gt;


&lt;h3&gt;Test&lt;/h3&gt;

&lt;p&gt;Main&amp;shy;te&amp;shy;nant tout mar&amp;shy;che, même l&amp;#8217;authen&amp;shy;ti&amp;shy;fi&amp;shy;ca&amp;shy;tion. Fai&amp;shy;tes le test&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
$ su - peck
Password:
$ id
peck
&lt;/pre&gt;


&lt;p&gt;Youpi, ça mar&amp;shy;che même en ssh.
Bon c&amp;#8217;est bien gen&amp;shy;til, mais c&amp;#8217;est encore un peu léger. &lt;a href=&quot;http://linux-attitude.fr/post/Comptes-ldap-%283%29&quot;&gt;La pro&amp;shy;chaine fois&lt;/a&gt; , on vou&amp;shy;drait pou&amp;shy;voir faire encore plus.&lt;/p&gt;</description>
	<pubDate>sam, 06 jun 2009 15:20:00 +0000</pubDate>
</item>
<item>
	<title>Carl Chenet: Pycallgraph</title>
	<guid permalink="False">http://carlchenet.wordpress.com/?p=38</guid>
	<link>http://carlchenet.wordpress.com/2009/06/06/pycallgraph/</link>
	<description>&lt;div class=&quot;snap_preview&quot;&gt;&lt;br /&gt;&lt;p&gt;J&amp;#8217;ai récemment adopté le paquet Debian du programme &lt;a title=&quot;Page du projet Pycallgraph&quot; href=&quot;http://pycallgraph.slowchop.com/&quot; target=&quot;_blank&quot;&gt;Pycallgraph&lt;/a&gt;. Excellente raison pour vous présenter rapidement ce programme.&lt;/p&gt;
&lt;p&gt;Pycallgraph vous permet de générer une représentation graphique des appels aux différentes fonctions qui composent votre programme Python. Vous pouvez ainsi détecter une anomalie ou comprendre pourquoi votre programme n&amp;#8217;est pas performant lors de son exécution.&lt;br /&gt;
Un exemple avec &lt;a title=&quot;Projet Bélier&quot; href=&quot;http://www.ohmytux.com/belier&quot; target=&quot;_blank&quot;&gt;mon projet Bélier&lt;/a&gt; peut être consulté ici&lt;a title=&quot;Graphe du programme Bélier&quot; href=&quot;http://www.ohmytux.com/belier/pycallgraph.png&quot; target=&quot;_blank&quot;&gt; à cette adresse&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;L&amp;#8217;utilisation du programme est très simple. Pour Bélier, la commande a été la suivante :&lt;/p&gt;
&lt;p&gt;$ pycallgraph bel -e ordres&lt;/p&gt;
&lt;p&gt;Dans l&amp;#8217;exemple ci-dessus, le fichier image au format PNG généré s&amp;#8217;appellera pycallgraph.png. Pour l&amp;#8217;appeler autrement, il aurait suffi d&amp;#8217;appeler la commande suivante :&lt;/p&gt;
&lt;p&gt;$ pycallgraph &amp;#8211;output-file mon_graphe_belier.png bel -e ordres&lt;/p&gt;
&lt;p&gt;Il peut être utile de rajouter certaines instructions dans votre code afin de faciliter l&amp;#8217;intégration de Pycallgraph. Plus d&amp;#8217;informations à l&amp;#8217;adresse suivante : &lt;a title=&quot;documentation de Pycallgraph&quot; href=&quot;http://pycallgraph.slowchop.com/pycallgraph/wiki/documentation/0.5.1&quot; target=&quot;_blank&quot;&gt;http://pycallgraph.slowchop.com/pycallgraph/wiki/documentation/0.5.1&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Cerise sur le gâteau, la version Debian est à jour par rapport à l&amp;#8217;upstream &lt;img src=&quot;http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/carlchenet.wordpress.com/38/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/carlchenet.wordpress.com/38/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/carlchenet.wordpress.com/38/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/carlchenet.wordpress.com/38/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/carlchenet.wordpress.com/38/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/carlchenet.wordpress.com/38/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/carlchenet.wordpress.com/38/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/carlchenet.wordpress.com/38/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/carlchenet.wordpress.com/38/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/carlchenet.wordpress.com/38/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=carlchenet.wordpress.com&amp;blog=7722010&amp;post=38&amp;subd=carlchenet&amp;ref=&amp;feed=1&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>sam, 06 jun 2009 12:55:54 +0000</pubDate>
</item>
<item>
	<title>Shams Fantar: Tutoriel : apache et les vhosts</title>
	<guid>urn:md5:339325a7b8dfe086eb4f879b0fdc4360</guid>
	<link>http://about-gnulinux.info/dotclear/index.php?post/2009/06/06/Tutoriel-%3A-apache-et-les-vhosts</link>
	<description>&lt;p&gt;Des personnes m'ont demandé à plusieurs reprises de leur expliquer &quot;comment faire un vhost avec apache ?&quot;, pour leur répondre, je vais expliquer ici comment le créer, c'est une configuration assez simple à mettre en place. Nous allons le faire donc avec apache, un sous-domaine (ou un nom de domaine, c'est la même conf). La configuration est réalisée sous debian.&lt;/p&gt;


&lt;h3&gt;I - Explications :&lt;/h3&gt;


&lt;p&gt;Pour rappel, les vhosts (virtual hosts) sont utilisées pour pouvoir héberger plusieurs sites web par exemple sur une même machine/même ip. En gros, on redirige un domaine/sous-domaine sur l'IP de la machine qui hébergera le site, et on indique à apache &quot;si je tape ce sous-domaine, montre-moi le contenu de ce répertoire sur le serveur (sous-entendu du site web qui se trouve derrière)&quot;.&lt;/p&gt;


&lt;h3&gt;II - DNS :&lt;/h3&gt;


&lt;p&gt;Je ne vais pas entrer dans les détails au niveau de la conf DNS avec bind, mais voici ce que nous retiendrons pour rediriger un sous-domaine sur la bonne IP :&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;mon-sous.domaine.tld.    A       IP-du-serveur&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Relancez ensuite bind à coup de /etc/init.d/bind9 reload.&lt;/p&gt;


&lt;h3&gt;III - Maintenant, les préparatifs :&lt;/h3&gt;


&lt;p&gt;Avant la configuration du vhost lui-même, il faut créer le répertoire (si il n'existe pas) où se trouvera tout le contenu, par habitude, je mets tout le contenu dans un public_html :&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;mkdir /home/monsite/public_html&lt;/p&gt;&lt;/blockquote&gt;


&lt;h3&gt;IV - Et on passe au vhost :&lt;/h3&gt;


&lt;p&gt;Les vhosts sont à créer dans /etc/apache2/site-available/ sous debian. Ouvrez un nouveau fichier :&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;cd /etc/apache2/site-available/ &amp;amp;&amp;amp; nano mon-sous.domaine.tld&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Et copiez cette configuration de base :&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;&amp;lt;VirtualHost *&amp;gt;&lt;br /&gt;
ServerAdmin root@localhost # vous pouvez y mettre votre mail, il sera affiché aux visiteurs en cas de problèmes techniques avec apache.&lt;br /&gt;
ServerName mon-sous.domaine.tld # le sous-domaine ou le domaine &lt;br /&gt;
ServerAlias www.mon-sous.domaine.tld # vous pouvez mettre un second domaine/sous-domaine pour un même vhost&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DocumentRoot /home/monsite/public_html  # le chemin vers le contenu du site&lt;br /&gt;
&amp;lt;Directory /&amp;gt;&lt;br /&gt;
Options FollowSymLinks&lt;br /&gt;
AllowOverride All&lt;br /&gt;
&amp;lt;/Directory&amp;gt;&lt;br /&gt;
&amp;lt;Directory /home/monsite/public_html&amp;gt; # le chemin vers le contenu du site&lt;br /&gt;
Options Indexes FollowSymLinks MultiViews&lt;br /&gt;
AllowOverride All&lt;br /&gt;
Order allow,deny&lt;br /&gt;
allow from all&lt;br /&gt;
&amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ErrorLog /var/log/apache2/error_mon-sous.domaine.tld # gestion des logs d'erreur&lt;br /&gt;
&lt;br /&gt;
# Possible values include: debug, info, notice, warn, error, crit,&lt;br /&gt;
# alert, emerg.&lt;br /&gt;
LogLevel warn&lt;br /&gt;
&lt;br /&gt;
CustomLog /var/log/apache2/access_mon-sous.domaine.tld combined # gestion des logs d'accès&lt;br /&gt;
ServerSignature Off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;/p&gt;&lt;/blockquote&gt;



&lt;p&gt;Les explications sont dans la configuration ci-dessus. La configuration est également disponible &lt;a href=&quot;http://about-gnulinux.info/dotclear/public/vhost&quot;&gt;ici&lt;/a&gt; (pour des raisons de mise en page).&lt;/p&gt;


&lt;p&gt;Comme je l'ai dit, la configuration est vraiment basique mais elle est suffisante pour un simple site web. Réfèrez-vous à Google pour d'autres paramètres possibles en fonction de vos besoins.&lt;/p&gt;


&lt;h3&gt;V - On indique tout ça à apache :&lt;/h3&gt;


&lt;p&gt;Il faut maintenant dire à apache d'utiliser le vhost :&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;a2ensite mon-sous.domaine.tld&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Et le relancer pour lui indiquer cet ajout :&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;/etc/init.d/apache2 reload&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Et voilà ! Apache est maintenant capable de diriger le sous-domaine vers le bon contenu.&lt;/p&gt;


&lt;h3&gt;VI - Et...&lt;/h3&gt;


&lt;p&gt;Pour supprimer un vhost :&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;a2dissite mon-sous.domaine.tld&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Et il faut relancer apache.&lt;/p&gt;</description>
	<pubDate>sam, 06 jun 2009 08:10:00 +0000</pubDate>
</item>
<item>
	<title>Shams Fantar: Script PHP pour connaître le nombre de fois qu'un fichier est téléchargé</title>
	<guid>urn:md5:e8ccdfa34b954ae6cde22d8e5ca7bd7f</guid>
	<link>http://about-gnulinux.info/dotclear/index.php?post/2009/06/05/Script-PHP-pour-conna%C3%AEtre-le-nombre-de-t%C3%A9l%C3%A9chargements-pour-chaque-fichier</link>
	<description>&lt;p&gt;Ayant besoin et ne trouvant pas de script répondant à mes attentes, j'ai codé moi-même un script permettant de compter le nombre de fois qu'un fichier est téléchargé. Le script est assez court mais je pense qu'il pourra servir, il permet de gagner du temps !&lt;/p&gt;


&lt;p&gt;Le script en PHP fonctionne avec MySQL pour ce qui est des données. Il ne nécessite rien d'autre. Vous avez également le droit à une petite interface d'administration.&lt;/p&gt;


&lt;p&gt;Le fameux script en question est disponible &lt;a href=&quot;http://about-gnulinux.info/dotclear/public/script/dlcounting.tar&quot;&gt;dans une archive tar&lt;/a&gt;. Lisez le fichier read.me pour tous les détails concernant son utilisation. Les scripts sont accessibles &lt;a href=&quot;http://git.snurf.info/gitweb?p=phpscripts.git/.git;a=commit;h=9049ffa147622cc82d044f4bffb4258343eb1f2d&quot;&gt;ici&lt;/a&gt; aussi.&lt;/p&gt;


&lt;p&gt;Une version 0.2 devrait voir le jour sous peu, il sera possible, pour avoir des stats plus vraies, de ne compter qu'un téléchargement par fichier par IP.&lt;/p&gt;


&lt;p&gt;N'hésitez pas pour les feedbacks !&lt;/p&gt;</description>
	<pubDate>ven, 05 jun 2009 15:46:00 +0000</pubDate>
</item>
<item>
	<title>Carl Chenet: Reportbug : situation actuelle</title>
	<guid permalink="False">http://carlchenet.wordpress.com/?p=33</guid>
	<link>http://carlchenet.wordpress.com/2009/06/04/reportbug-situation-actuelle/</link>
	<description>&lt;div class=&quot;snap_preview&quot;&gt;&lt;br /&gt;&lt;p&gt;Suite à &lt;a href=&quot;http://sandrotosi.blogspot.com/2009/06/reportbug-where-were-now-where-were.html&quot; target=&quot;_blank&quot;&gt;un billet&lt;/a&gt; de &lt;a title=&quot;Blog de Sandro Tosi&quot; href=&quot;http://sandrotosi.blogspot.com/&quot; target=&quot;_blank&quot;&gt;Sandro Tosi&lt;/a&gt; passé sur &lt;a href=&quot;http://planet.debian.org&quot; target=&quot;_blank&quot;&gt;planet.debian.org&lt;/a&gt; qui résumait les avancées récentes de Reportbug que j&amp;#8217;ai présenté dans &lt;a title=&quot;Reportbug&quot; href=&quot;http://carlchenet.wordpress.com/2009/05/18/reportbug/&quot; target=&quot;_blank&quot;&gt;un billet précédent&lt;/a&gt;, je vais me permettre d&amp;#8217;entrer un peu plus dans le détail.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Développement de l&amp;#8217;interface en GTK2 de reportbug par Luca Bruno qui fait un gros travail.&lt;/li&gt;
&lt;li&gt;Renforcement de l&amp;#8217;application (rajouts de contrôles)&lt;/li&gt;
&lt;li&gt;Développement de nouvelles options&lt;/li&gt;
&lt;li&gt;Réduction importante du nombre de bugs. &lt;a href=&quot;http://people.debian.org/%7Eglandium/bts/r/reportbug.png&quot; target=&quot;_blank&quot;&gt;Ce tableau&lt;/a&gt; généré par Sandro Tosi résume la situation.)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si vous êtes sous Sid et que vous avez la possibilité de tester le dernier Reportbug, n&amp;#8217;hésitez pas à envoyer un bug sur Reportbug lui-même. Nous ne garantissons pas un retour rapide sur votre rapport (excepté pour un bug considéré comme important) car les trois contributeurs principaux sont très occupés (j&amp;#8217;essaie moi-même d&amp;#8217;écluser de nombreux rapports présents depuis trop longtemps dans le BTS avant de me concentrer sur les nouveaux rapports). Mais quoiqu&amp;#8217;il arrive, nous voyons passer le rapport et nous vous ferons un retour dessus dès que possible.&lt;/p&gt;
&lt;p&gt;Un grand remerciement à Sandro Tosi qui clôt et corrige lui-même de très nombreux rapports, tout en intégrant les patchs que Luca et moi lui envoyons, sans parler de sa disponibilité sur IRC (ubiquité?).&lt;/p&gt;
&lt;p&gt;En tous les cas Reportbug est très actif et les retours que nous avons dessus nous permettront d&amp;#8217;avancer, merci à vous.&lt;/p&gt;
  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/carlchenet.wordpress.com/33/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/carlchenet.wordpress.com/33/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/carlchenet.wordpress.com/33/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/carlchenet.wordpress.com/33/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/carlchenet.wordpress.com/33/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/carlchenet.wordpress.com/33/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/carlchenet.wordpress.com/33/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/carlchenet.wordpress.com/33/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/carlchenet.wordpress.com/33/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/carlchenet.wordpress.com/33/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=carlchenet.wordpress.com&amp;blog=7722010&amp;post=33&amp;subd=carlchenet&amp;ref=&amp;feed=1&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>jeu, 04 jun 2009 20:12:00 +0000</pubDate>
</item>
<item>
	<title>Benoit Peccatte: Comptes ldap (1)</title>
	<guid permalink="False">urn:md5:dab7c2f743a028fadba05236df3d52fb</guid>
	<link>http://linux-attitude.fr/post/Comptes-ldap-%281%29</link>
	<description>&lt;p&gt;&lt;strong&gt;Niveau&lt;/strong&gt;&amp;#160;: &lt;img src=&quot;http://linux-attitude.fr/public/Pics/s.gif&quot; alt=&quot;Star&quot; /&gt; &lt;img src=&quot;http://linux-attitude.fr/public/Pics/s.gif&quot; alt=&quot;Star&quot; /&gt; &lt;img src=&quot;http://linux-attitude.fr/public/Pics/s.gif&quot; alt=&quot;Star&quot; /&gt; &lt;img src=&quot;http://linux-attitude.fr/public/Pics/e.gif&quot; alt=&quot;Empty&quot; /&gt; &lt;img src=&quot;http://linux-attitude.fr/public/Pics/e.gif&quot; alt=&quot;Empty&quot; /&gt;&lt;br /&gt;
&lt;strong&gt;Résumé&lt;/strong&gt;&amp;#160;: nss-ldap&lt;/p&gt;


&lt;p&gt;Il y a plu&amp;shy;sieurs façon de gérer ses comp&amp;shy;tes par ldap. Com&amp;shy;men&amp;shy;çons par la plus sim&amp;shy;ple. Pla&amp;shy;çons-nous dans le cas d&amp;#8217;une machine qui a des uti&amp;shy;li&amp;shy;sa&amp;shy;teurs sys&amp;shy;tè&amp;shy;mes sto&amp;shy;ckés sur le ldap.&lt;/p&gt;


&lt;p&gt;Les uti&amp;shy;li&amp;shy;sa&amp;shy;teurs sont gérés par la biblio&amp;shy;thè&amp;shy;que de nom nom&amp;shy;mée &lt;a href=&quot;http://linux-attitude.fr/post/Fichiers-de-résolution-de-noms&quot;&gt;NSS&lt;/a&gt; (&lt;a href=&quot;http://linux-attitude.fr/post/Cache-pour-la-résolution-de-noms&quot;&gt;et là&lt;/a&gt;). Cette biblio&amp;shy;thè&amp;shy;que se con&amp;shy;fi&amp;shy;gure dans /etc/nss&amp;shy;witch.conf. En sup&amp;shy;po&amp;shy;sant qu&amp;#8217;on ait déjà un ser&amp;shy;veur ldap avec des uti&amp;shy;li&amp;shy;sa&amp;shy;teurs, il suf&amp;shy;fit donc de modi&amp;shy;fier ce fichier ainsi que d&amp;#8217;ajou&amp;shy;ter un fichier de con&amp;shy;fi&amp;shy;gu&amp;shy;ra&amp;shy;tion spé&amp;shy;ci&amp;shy;fi&amp;shy;que à nss-ldap.&lt;/p&gt;


&lt;h3&gt;Ser&amp;shy;veur LDAP&lt;/h3&gt;

&lt;p&gt;Sup&amp;shy;po&amp;shy;sons que vous ayez déjà un ser&amp;shy;veur ins&amp;shy;tallé (apt-get ins&amp;shy;tall slapd), avec un suf&amp;shy;fixe nommé dc=linux-atti&amp;shy;tude,dc=fr.&lt;/p&gt;


&lt;p&gt;Si vous n&amp;#8217;avez pas encore d&amp;#8217;arbo&amp;shy;res&amp;shy;cence avec des uti&amp;shy;li&amp;shy;sa&amp;shy;teurs, choi&amp;shy;sis&amp;shy;sez en une, par exem&amp;shy;ple ou=peo&amp;shy;ple,dc=linux-atti&amp;shy;tude,dc=fr.&lt;/p&gt;


&lt;p&gt;Et peu&amp;shy;plons d&amp;#8217;uti&amp;shy;li&amp;shy;sa&amp;shy;teurs notre arbre (je ne vais pas vous appren&amp;shy;dre le &lt;a href=&quot;http://tldp.org/HOWTO/LDAP-HOWTO/&quot; hreflang=&quot;en&quot;&gt;LDAP&lt;/a&gt;). Atten&amp;shy;tion, ici il faut uti&amp;shy;li&amp;shy;ser la classe posixAc&amp;shy;count pour les uti&amp;shy;li&amp;shy;sa&amp;shy;teurs que nous allons créer. Il est pos&amp;shy;si&amp;shy;ble de faire autre&amp;shy;ment, mais nous ver&amp;shy;rons ça plus tard.&lt;/p&gt;


&lt;p&gt;Créons un uti&amp;shy;li&amp;shy;sa&amp;shy;teur avec un uid qui ne ren&amp;shy;trera pas en con&amp;shy;flit avec les uti&amp;shy;li&amp;shy;sa&amp;shy;teurs exis&amp;shy;tants pour mieux tes&amp;shy;ter. Uti&amp;shy;li&amp;shy;sons un groupe non ldap pour sim&amp;shy;pli&amp;shy;fier le pro&amp;shy;ces&amp;shy;sus (atten&amp;shy;tion, posixAc&amp;shy;count est AUXI&amp;shy;LIARY, ce qui veut dire qu&amp;#8217;il faut une autre classe pour l&amp;#8217;uti&amp;shy;li&amp;shy;sa&amp;shy;teur, ine&amp;shy;tOrg&amp;shy;Per&amp;shy;son par exem&amp;shy;ple)&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
$ ldapadd -x -D &amp;quot;cn=admin,dc=linux-attitude,dc=fr&amp;quot; -W
dn: uid=peck,ou=people,dc=linux-attitude,dc=fr
uid: peck
objectClass: posixAccount
objectClass: inetOrgPerson
cn: peckname
sn: Peck Le bogoss
uidNumber: 2000
gidNumber: 1000
homeDirectory : /tmp
&lt;/pre&gt;


&lt;h3&gt;NSS&lt;/h3&gt;


&lt;p&gt;Il nous faut le paquet libnss-ldap. Pour que NSS le prenne en compte, il faut édi&amp;shy;ter /etc/nss&amp;shy;witch.conf&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
# on donne la priorité à ldap
passwd:         ldap compat
&lt;/pre&gt;


&lt;p&gt;Main&amp;shy;te&amp;shy;nant, il faut con&amp;shy;fi&amp;shy;gu&amp;shy;rer libnss-ldap, c&amp;#8217;est un peu plus com&amp;shy;pli&amp;shy;qué, mais le fichier de con&amp;shy;fig par défaut est plein de com&amp;shy;men&amp;shy;tai&amp;shy;res. Voici le mini&amp;shy;mum à con&amp;shy;fi&amp;shy;gu&amp;shy;rer&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
# /etc/libnss-ldap.conf
base ou=people,dc=nodomain
uri ldap://127.0.0.1/
ldap_version 3
&lt;/pre&gt;


&lt;h3&gt;Test&lt;/h3&gt;


&lt;p&gt;Ce test doit être fait en root car nous n&amp;#8217;avons pas tout mis en place. Nous n&amp;#8217;avons pour l&amp;#8217;ins&amp;shy;tant défini que l&amp;#8217;exis&amp;shy;tence de l&amp;#8217;uti&amp;shy;li&amp;shy;sa&amp;shy;teur.&lt;/p&gt;
&lt;pre&gt;
$ su - peck
$ id
# Une autre façon de faire :
$ getent passwd peck
&lt;/pre&gt;


&lt;p&gt;You&amp;shy;hou ça mar&amp;shy;che. &lt;br /&gt;
&lt;a href=&quot;http://linux-attitude.fr/post/Comptes-ldap-%282%29&quot;&gt;Demain&lt;/a&gt; nous ferons un peu mieux parce que là bon, c&amp;#8217;est léger &amp;#8230;&lt;/p&gt;</description>
	<pubDate>jeu, 04 jun 2009 16:05:00 +0000</pubDate>
</item>
<item>
	<title>Eric Veiras Galisson: Mercurial : éditer l'historique d'un dépôt (les changesets) avec les MQ</title>
	<guid permalink="False">urn:md5:b771fe4892e9ad7200fe98b56996570f</guid>
	<link>http://blog.sietch-tabr.com/index.php/post/2009/05/07/Mercurial-%3A-%C3%A9diter-l-historique-d-un-d%C3%A9p%C3%B4t-%28les-changesets%29-avec-les-MQ</link>
	<description>&lt;p&gt;J&amp;#8217;ai toujours&lt;sup&gt;[&lt;a href=&quot;http://blog.sietch-tabr.com/index.php/post/2009/05/07/#pnote-264-1&quot; id=&quot;rev-pnote-264-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt; cru qu&amp;#8217;on ne pouvait éditer l&amp;#8217;historique des &amp;#8216;changesets&amp;#8217; de Mercurial, mais en fait si&amp;#160;! Et c&amp;#8217;est grâce à &lt;a href=&quot;http://noehr.org/post/mercurial-powertip-move-changesets-out-of-the-way-momentarily/&quot;&gt;ce billet&lt;/a&gt; sur le blog de Jesper Noehr (un des gars derrière &lt;a href=&quot;http://bitbucket.org&quot;&gt;bitbucket&lt;/a&gt;) que j&amp;#8217;ai découvert qu&amp;#8217;en fait c&amp;#8217;est tout à fait possible.&lt;/p&gt;


&lt;p&gt;En utilisant les MQ (mercurial queues) dont je vous ai déjà parlé, il est donc tout à fait possible de rééditer des modifications déjà enregistrées (committées) dans votre dépôt Mercurial.&lt;/p&gt;


&lt;p&gt;Bien évidemment, ce genre de manipulations n&amp;#8217;est possible que si vous &lt;strong&gt;contrôlez&lt;/strong&gt; votre dépôt et ses éventuels clones. Dès l&amp;#8217;instant où celui-ci a pu être cloné, vous avez perdu la maîtrise de votre code et les modifications sur lesquelles vous voulez revenir sont déjà parties.&lt;/p&gt;


&lt;p&gt;Nous sommes dans un dépôt test avec 3 changesets&lt;/p&gt;
&lt;pre&gt;
$ hg log
changeset:   2:6a2d12a15cda
tag:         tip
summary:     modifications de a et b

changeset:   1:ca5faf3b4493
summary:     ajout de b

changeset:   0:66545c7be018
summary:     ajout de a&lt;/pre&gt;


&lt;p&gt;et nous souhaitons revenir sur les changesets 1 et 2.&lt;/p&gt;


&lt;p&gt;Nous initialisons d&amp;#8217;abord un dépôt de MQ si ce n&amp;#8217;est pas déjà fait&lt;/p&gt;
&lt;pre&gt;
$ hg qinit -c&lt;/pre&gt;

&lt;p&gt;&lt;sup&gt;[&lt;a href=&quot;http://blog.sietch-tabr.com/index.php/post/2009/05/07/#pnote-264-2&quot; id=&quot;rev-pnote-264-2&quot;&gt;2&lt;/a&gt;]&lt;/sup&gt;&lt;/p&gt;


&lt;p&gt;Puis nous importons les changesets que nous voulons modifier&lt;/p&gt;
&lt;pre&gt;
$ hg qimport -r 2:1&lt;/pre&gt;


&lt;p&gt;Si on regarde maintenant le log&lt;/p&gt;
&lt;pre&gt;
changeset:   2:6a2d12a15cda
tag:         qtip
tag:         2.diff
tag:         tip
summary:     modification de a et b

changeset:   1:ca5faf3b4493
tag:         1.diff
tag:         qbase
summary:     ajout de b

changeset:   0:66545c7be018
tag:         qparent
summary:     ajout de a&lt;/pre&gt;

&lt;p&gt;on retrouve bien nos 3 différents changesets sauf que les 2 derniers sont différents&amp;#160;: ce sont maintenant des patchs sous forme MQ que nous pouvons alors manipuler de façon classique&lt;sup&gt;[&lt;a href=&quot;http://blog.sietch-tabr.com/index.php/post/2009/05/07/#pnote-264-3&quot; id=&quot;rev-pnote-264-3&quot;&gt;3&lt;/a&gt;]&lt;/sup&gt;&lt;/p&gt;


&lt;p&gt;On peut donc dépiler tous les patchs pour revenir dans l&amp;#8217;état qu&amp;#8217;on voulait avant les changesets 1 et 2&lt;/p&gt;
&lt;pre&gt;
$ hg qpop -a
Patch queue now empty
$ hg log
changeset:   0:66545c7be018
tag:         tip
summary:     ajout de a&lt;/pre&gt;


&lt;p&gt;On peut alors à coup de hg qpush/hg qpop empiler/dépiler nos patchs afin de les modifier, les réorganiser ou ajouter des changesets, et donc revenir sur l&amp;#8217;historique de notre dépôt.&lt;/p&gt;


&lt;p&gt;&lt;em&gt;J&amp;#8217;ai découvert qu&amp;#8217;en fait cette information est également disponible sur le site de Mercurial, voyez &lt;a href=&quot;http://www.selenic.com/mercurial/wiki/EditingHistory&quot; title=&quot;http://www.selenic.com/mercurial/wiki/EditingHistory&quot;&gt;http://www.selenic.com/mercurial/wi&amp;#8230;&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://blog.sietch-tabr.com/index.php/post/2009/05/07/#rev-pnote-264-1&quot; id=&quot;pnote-264-1&quot;&gt;1&lt;/a&gt;] &amp;#8220;toujours&amp;#8221; est peut-être un trop grand mot, ça ne fait pas non plus si longtemps que ça que je connais Mercurial ;-)&amp;#8230;&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://blog.sietch-tabr.com/index.php/post/2009/05/07/#rev-pnote-264-2&quot; id=&quot;pnote-264-2&quot;&gt;2&lt;/a&gt;] tant qu&amp;#8217;à faire nous ajoutons -c pour avoir un dépôt MQ &amp;#8216;versionnable&amp;#8217;&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://blog.sietch-tabr.com/index.php/post/2009/05/07/#rev-pnote-264-3&quot; id=&quot;pnote-264-3&quot;&gt;3&lt;/a&gt;] je vous renvoie vers les &lt;a href=&quot;http://hgbook.red-bean.com/read/managing-change-with-mercurial-queues.html&quot;&gt;chapitre 12&lt;/a&gt; et &lt;a href=&quot;http://hgbook.red-bean.com/read/advanced-uses-of-mercurial-queues.html&quot;&gt;13&lt;/a&gt; du hgbook pour plus d&amp;#8217;infos&lt;/p&gt;&lt;/div&gt;</description>
	<pubDate>mer, 03 jun 2009 13:48:00 +0000</pubDate>
</item>
<item>
	<title>Shams Fantar: Note : PHP et les sessions</title>
	<guid>urn:md5:1d94611db5bc05dbbeb588bfcb932ec5</guid>
	<link>http://about-gnulinux.info/dotclear/index.php?post/2009/06/02/Note-%3A-PHP-et-les-sessions</link>
	<description>&lt;p&gt;Petite note comme ça, ce n'est pas un cours, juste un mémo.&lt;/p&gt;


&lt;p&gt;Les sessions en PHP :&lt;/p&gt;

&lt;pre&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;Pour ouvrir une session :&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;&lt;p&gt;session_start();&lt;/p&gt;&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Pour détruire une variable spécifique dans une session :&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;&lt;p&gt;unset($_SESSION['ma-variable'];&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Ne pas oublier de détruite ma-variable si on doit lui réattribuer une autre valeur plus tard.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pour détruire une session :&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;&lt;p&gt;session_destroy();&lt;/p&gt;&lt;/blockquote&gt;</description>
	<pubDate>mar, 02 jun 2009 20:46:00 +0000</pubDate>
</item>
<item>
	<title>Benoit Peccatte: Il fait chaud ici !</title>
	<guid permalink="False">urn:md5:1aae0baacf7ee4bdb2f4d842df58f037</guid>
	<link>http://linux-attitude.fr/post/Il-fait-chaud-ici-%21</link>
	<description>&lt;p&gt;&lt;strong&gt;Niveau&lt;/strong&gt;&amp;#160;: &lt;img src=&quot;http://linux-attitude.fr/public/Pics/s.gif&quot; alt=&quot;Star&quot; /&gt; &lt;img src=&quot;http://linux-attitude.fr/public/Pics/s.gif&quot; alt=&quot;Star&quot; /&gt; &lt;img src=&quot;http://linux-attitude.fr/public/Pics/s.gif&quot; alt=&quot;Star&quot; /&gt; &lt;img src=&quot;http://linux-attitude.fr/public/Pics/e.gif&quot; alt=&quot;Empty&quot; /&gt; &lt;img src=&quot;http://linux-attitude.fr/public/Pics/e.gif&quot; alt=&quot;Empty&quot; /&gt;&lt;br /&gt;
&lt;strong&gt;Résumé&lt;/strong&gt;&amp;#160;: sen&amp;shy;sors-detect&amp;#160;; sen&amp;shy;sors; hdd&amp;shy;temp; fan&amp;shy;con&amp;shy;trol&lt;/p&gt;


&lt;h3&gt;Sen&amp;shy;sors&lt;/h3&gt;


&lt;p&gt;Com&amp;shy;ment con&amp;shy;naî&amp;shy;tre les dif&amp;shy;fé&amp;shy;ren&amp;shy;tes tem&amp;shy;pé&amp;shy;ra&amp;shy;tu&amp;shy;res à l&amp;#8217;inté&amp;shy;rieur de votre machine&amp;#160;?
Il y a des cap&amp;shy;teurs, donc il y a bien une infor&amp;shy;ma&amp;shy;tion quel&amp;shy;que part. Linux a tous les dri&amp;shy;vers néces&amp;shy;sai&amp;shy;res, mais pour ceux qui se sont essayé à regar&amp;shy;der, c&amp;#8217;est dif&amp;shy;fi&amp;shy;cile de savoir qui sert à quoi. Heu&amp;shy;reu&amp;shy;se&amp;shy;ment, il y a &lt;a href=&quot;http://www.lm-sensors.org/&quot; hreflang=&quot;en&quot;&gt;lm-sen&amp;shy;sors&lt;/a&gt; pour venir à notre secours.&lt;/p&gt;


&lt;p&gt;Pour avoir la liste de tous les cap&amp;shy;teurs dis&amp;shy;po&amp;shy;ni&amp;shy;bles sur la machine ainsi que les dri&amp;shy;ver linux asso&amp;shy;ciés à char&amp;shy;ger, il existe une com&amp;shy;mande toute sim&amp;shy;ple une fois le paquet lm-sen&amp;shy;sors ins&amp;shy;tallé&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
$ sensors-detect
&lt;/pre&gt;


&lt;p&gt;Cette com&amp;shy;mande scanne le maté&amp;shy;riel, vous pose une ques&amp;shy;tion ou deux et ter&amp;shy;mine en vous lis&amp;shy;tant les modu&amp;shy;les noyau à char&amp;shy;ger pour pou&amp;shy;voir obte&amp;shy;nir les valeurs. Deux cho&amp;shy;ses à faire&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
# On charge le(s) module(s)
$ modprobe lemodule
# Et on automatise ça pour le prochain reboot
$ echo lemodule &amp;gt;&amp;gt; /etc/modules
&lt;/pre&gt;


&lt;p&gt;Et voilà, il ne vous reste plus qu&amp;#8217;à lire les valeurs. Pour cela, vous avez plu&amp;shy;sieurs outils&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
# lecture simple des valeurs en mode texte
$ sensors 
# lecture avec interface graphique (ne marche pas chez moi)
$ xsensors
&lt;/pre&gt;


&lt;p&gt;Ou les tra&amp;shy;di&amp;shy;tion&amp;shy;nel&amp;shy;les applet qu&amp;#8217;on peut trou&amp;shy;ver sur &lt;a href=&quot;http://sensors-applet.sourceforge.net/&quot; hreflang=&quot;en&quot;&gt;gnome&lt;/a&gt;, &lt;a href=&quot;http://kima.sourceforge.net/&quot; hreflang=&quot;en&quot;&gt;kde&lt;/a&gt;, &lt;a href=&quot;http://members.dslextreme.com/users/billw/gkrellm/gkrellm.html&quot; hreflang=&quot;en&quot;&gt;gkrellm&lt;/a&gt;, win&amp;shy;dow&amp;shy;ma&amp;shy;ker &amp;#8230;&lt;/p&gt;


&lt;h3&gt;Hdd&amp;shy;temp&lt;/h3&gt;


&lt;p&gt;Si vous vou&amp;shy;lez aussi lire la tem&amp;shy;pé&amp;shy;ra&amp;shy;ture de vos dis&amp;shy;que, il existe hdd&amp;shy;temp du paquet épo&amp;shy;nyme.
Celui-ci mar&amp;shy;che direc&amp;shy;te&amp;shy;ment en ligne de com&amp;shy;mande&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
# Il faut être root
$ hddtemp /dev/sda
&lt;/pre&gt;


&lt;p&gt;Il existe aussi en mode démon, une fois ins&amp;shy;tallé, modi&amp;shy;fiez /etc/default/hdd&amp;shy;temp (debian) et relan&amp;shy;cez le démon&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
$ /etc/init.d/hddtemp restart
# vérifions qu'il marche
$ telnet localhost 7634
&lt;/pre&gt;


&lt;p&gt;Et voila, il ne vous reste plus qu&amp;#8217;a ajou&amp;shy;ter le dis&amp;shy;que dur dans l&amp;#8217;applet.&lt;/p&gt;


&lt;p&gt;Atten&amp;shy;tion, l&amp;#8217;applet de gnome néces&amp;shy;site d&amp;#8217;être redé&amp;shy;mar&amp;shy;rée pour détec&amp;shy;ter hdd&amp;shy;temp.&lt;/p&gt;


&lt;h3&gt;Fan&amp;shy;con&amp;shy;trol&lt;/h3&gt;


&lt;p&gt;C&amp;#8217;est la fête, pas&amp;shy;sons main&amp;shy;te&amp;shy;nant aux ven&amp;shy;ti&amp;shy;la&amp;shy;teurs. Vous avez déjà remar&amp;shy;qué que vous pou&amp;shy;vez avoir la vitesse de rota&amp;shy;tion dans vos applet. Ajou&amp;shy;tez la au moins tem&amp;shy;po&amp;shy;rai&amp;shy;re&amp;shy;ment, ça peut vous être utile pour la suite.&lt;/p&gt;


&lt;p&gt;En effet, nous n&amp;#8217;allons pas seu&amp;shy;le&amp;shy;ment lire la vitesse des ven&amp;shy;ti&amp;shy;la&amp;shy;teurs, mais nous allons la modi&amp;shy;fier. Pour ceux qui veu&amp;shy;lent regar&amp;shy;der sous le capot, tout cela se trouve dans /sys/devi&amp;shy;ces/plat&amp;shy;form/&amp;lt;sen&amp;shy;sor&amp;shy;dri&amp;shy;ver&amp;gt;/&lt;/p&gt;


&lt;p&gt;Fan&amp;shy;con&amp;shy;trol est un paquet qui con&amp;shy;tient deux cho&amp;shy;ses&amp;#160;: un script per&amp;shy;met&amp;shy;tant de régler auto&amp;shy;ma&amp;shy;ti&amp;shy;que&amp;shy;ment la vitesse de rota&amp;shy;tion des ven&amp;shy;ti&amp;shy;la&amp;shy;teurs et un outil per&amp;shy;met&amp;shy;tant de le con&amp;shy;fi&amp;shy;gu&amp;shy;rer sans se for&amp;shy;cer.&lt;/p&gt;


&lt;p&gt;Pour uti&amp;shy;li&amp;shy;ser fan&amp;shy;con&amp;shy;trol, il faut avoir des sen&amp;shy;sors opé&amp;shy;ra&amp;shy;tion&amp;shy;nels. Gar&amp;shy;dez de pré&amp;shy;fé&amp;shy;rence un oeil sur votre applet pour évi&amp;shy;ter les débor&amp;shy;de&amp;shy;ments de tem&amp;shy;pé&amp;shy;ra&amp;shy;ture et pour savoir quoi répon&amp;shy;dre au script.&lt;/p&gt;
&lt;pre&gt;
$ pwmconfig
&lt;/pre&gt;


&lt;p&gt;Ce script vous pose plein de ques&amp;shy;tions, arrête les ven&amp;shy;ti&amp;shy;la&amp;shy;teurs, les relance, les ralen&amp;shy;tit &amp;#8230; dans le but de savoir quel ven&amp;shy;ti&amp;shy;la&amp;shy;teur fait quoi, à quel cap&amp;shy;teur de tem&amp;shy;pé&amp;shy;ra&amp;shy;ture on peut l&amp;#8217;asso&amp;shy;cier et com&amp;shy;ment il mar&amp;shy;che. Sachez au pas&amp;shy;sage que les pro&amp;shy;ces&amp;shy;seurs accep&amp;shy;tent des tem&amp;shy;pé&amp;shy;ra&amp;shy;tu&amp;shy;res assez éle&amp;shy;vées, pas besoin de les for&amp;shy;cer à 40°C, vous éco&amp;shy;no&amp;shy;mi&amp;shy;se&amp;shy;rez du bruit. Regar&amp;shy;dez la doc de votre fabri&amp;shy;cant si vous vou&amp;shy;lez un avis sérieux.&lt;/p&gt;


&lt;p&gt;Le script pose 2 ques&amp;shy;tions dif&amp;shy;fi&amp;shy;ci&amp;shy;les à com&amp;shy;pren&amp;shy;dre&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MINS&amp;shy;TART est la valeur de con&amp;shy;fi&amp;shy;gu&amp;shy;ra&amp;shy;tion au des&amp;shy;sus de laquelle le ven&amp;shy;ti&amp;shy;la&amp;shy;teur com&amp;shy;mence à tour&amp;shy;ner&lt;/li&gt;
&lt;li&gt;MINS&amp;shy;TOP est la  valeur de con&amp;shy;fi&amp;shy;gu&amp;shy;ra&amp;shy;tion au des&amp;shy;sous de laquelle le ven&amp;shy;ti&amp;shy;la&amp;shy;teur s&amp;#8217;arrête de tour&amp;shy;ner&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;De façon géné&amp;shy;rale, MINS&amp;shy;TOP doit être supé&amp;shy;rieur à MINS&amp;shy;TART (&lt;a href=&quot;http://fr.wikipedia.org/wiki/Hyst%C3%A9r%C3%A9sis&quot; hreflang=&quot;fr&quot;&gt;hys&amp;shy;té&amp;shy;ré&amp;shy;sis&lt;/a&gt;), mais les valeurs sont assez pro&amp;shy;ches. Vous pou&amp;shy;vez aussi choi&amp;shy;sir ces valeurs par rap&amp;shy;port à ce que vous enten&amp;shy;dez plu&amp;shy;tôt qu&amp;#8217;à la vitesse réelle de rota&amp;shy;tion.&lt;/p&gt;


&lt;p&gt;Une fois le tout con&amp;shy;fi&amp;shy;guré&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
$ /etc/init.d/fancontrol start
&lt;/pre&gt;


&lt;p&gt;Et écou&amp;shy;tez ce silence en pro&amp;shy;ve&amp;shy;nance de votre ven&amp;shy;ti&amp;shy;la&amp;shy;teur. Sur&amp;shy;tout lors&amp;shy;que vous fai&amp;shy;tes des acti&amp;shy;vi&amp;shy;tés peu inten&amp;shy;si&amp;shy;ves.&lt;/p&gt;</description>
	<pubDate>mar, 02 jun 2009 13:22:00 +0000</pubDate>
</item>
<item>
	<title>Benoit Peccatte: Scripts nautilus</title>
	<guid permalink="False">urn:md5:53d7589b7a020830a27fd0ad26e706a1</guid>
	<link>http://linux-attitude.fr/post/Scripts-nautilus</link>
	<description>&lt;p&gt;&lt;strong&gt;Niveau&lt;/strong&gt;&amp;#160;: &lt;img src=&quot;http://linux-attitude.fr/public/Pics/s.gif&quot; alt=&quot;Star&quot; /&gt; &lt;img src=&quot;http://linux-attitude.fr/public/Pics/s.gif&quot; alt=&quot;Star&quot; /&gt; &lt;img src=&quot;http://linux-attitude.fr/public/Pics/e.gif&quot; alt=&quot;Empty&quot; /&gt; &lt;img src=&quot;http://linux-attitude.fr/public/Pics/e.gif&quot; alt=&quot;Empty&quot; /&gt; &lt;img src=&quot;http://linux-attitude.fr/public/Pics/e.gif&quot; alt=&quot;Empty&quot; /&gt;&lt;br /&gt;
&lt;strong&gt;Résumé&lt;/strong&gt;&amp;#160;: ~/.gno&amp;shy;me2/nau&amp;shy;ti&amp;shy;lus-scripts&lt;/p&gt;


&lt;p&gt;Aujourd&amp;#8217;hui par&amp;shy;lons un peu d&amp;#8217;inter&amp;shy;face uti&amp;shy;li&amp;shy;sa&amp;shy;teur. Vous arrive-t-il sou&amp;shy;vent de lan&amp;shy;cer la même com&amp;shy;mande sur plein de fichiers&amp;#160;?
Avez-vous une per&amp;shy;sonne de votre famille qui perd son temps à ouvrir des fichiers un par un pour faire une modi&amp;shy;fi&amp;shy;ca&amp;shy;tion dans cha&amp;shy;que&amp;#160;?&lt;/p&gt;


&lt;p&gt;Si ces opé&amp;shy;ra&amp;shy;tions sont auto&amp;shy;ma&amp;shy;ti&amp;shy;sa&amp;shy;bles (cal&amp;shy;culs ope&amp;shy;nof&amp;shy;fice, modi&amp;shy;fi&amp;shy;ca&amp;shy;tion d&amp;#8217;image, ajout d&amp;#8217;une ligne de texte &amp;#8230;) alors il y a un moyen pour les ren&amp;shy;dre acces&amp;shy;si&amp;shy;ble direc&amp;shy;te&amp;shy;ment depuis le navi&amp;shy;ga&amp;shy;teur de fichier. Pour cela, il suf&amp;shy;fit d&amp;#8217;écrire un script et de le pla&amp;shy;cer dans ~/.gno&amp;shy;me2/nau&amp;shy;ti&amp;shy;lus-scripts. Essayer de bien le nom&amp;shy;mer car il appa&amp;shy;raî&amp;shy;tra tel quel dans le menu con&amp;shy;tex&amp;shy;tuel &amp;#8220;Scripts&amp;#8221; de nau&amp;shy;ti&amp;shy;lus.&lt;/p&gt;


&lt;p&gt;Pour par&amp;shy;ler con&amp;shy;crè&amp;shy;te&amp;shy;ment, nous allons faire un outil de réduc&amp;shy;tion d&amp;#8217;image dis&amp;shy;po&amp;shy;ni&amp;shy;ble direc&amp;shy;te&amp;shy;ment depuis le navi&amp;shy;ga&amp;shy;teur de fichier.
Nous allons donc édi&amp;shy;ter le fichier &lt;strong&gt;~/.gno&amp;shy;me2/nau&amp;shy;ti&amp;shy;lus-scripts/Reduc&amp;shy;tion&amp;shy;Pho&amp;shy;tos&lt;/strong&gt; qui nous per&amp;shy;met&amp;shy;tra d&amp;#8217;appe&amp;shy;ler ima&amp;shy;ge&amp;shy;ma&amp;shy;gick pour réduire la taille des pho&amp;shy;tos sélec&amp;shy;tion&amp;shy;nées (en ajou&amp;shy;tant un pré&amp;shy;fixe pour ne rien per&amp;shy;dre). Nous feront notre démo sur tous les fichiers sélec&amp;shy;tion&amp;shy;nés à la sou&amp;shy;ris pour bien mon&amp;shy;trer qu&amp;#8217;on auto&amp;shy;ma&amp;shy;tise un com&amp;shy;por&amp;shy;te&amp;shy;ment d&amp;#8217;uti&amp;shy;li&amp;shy;sa&amp;shy;teur &amp;#8220;nor&amp;shy;mal&amp;#8221;.&lt;/p&gt;


&lt;p&gt;Le script reçoit ses infor&amp;shy;ma&amp;shy;tions dans des varia&amp;shy;bles d&amp;#8217;envi&amp;shy;ron&amp;shy;ne&amp;shy;ment. La plus impor&amp;shy;tante dans notre cas est &lt;strong&gt;NAU&amp;shy;TI&amp;shy;LUS_SCRIPT_SELEC&amp;shy;TED_FILE_PATHS&lt;/strong&gt; qui con&amp;shy;tient la liste des fichiers sélec&amp;shy;tion&amp;shy;nés sépa&amp;shy;rés par des retours à la ligne. Donc une petite bou&amp;shy;cle pour les trai&amp;shy;ter tous d&amp;#8217;un coup&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
echo -n &amp;quot;$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS&amp;quot; | while read in_file
do
        process_file $in_file
done
&lt;/pre&gt;


&lt;p&gt;Alors il se peut que le script ait des ques&amp;shy;tions à poser à l&amp;#8217;uti&amp;shy;li&amp;shy;sa&amp;shy;teur. C&amp;#8217;est le moment d&amp;#8217;uti&amp;shy;li&amp;shy;ser zenity. Un petit outil sympa, équi&amp;shy;va&amp;shy;lent de dia&amp;shy;log, mais bien mieux inté&amp;shy;gré dans gnome. Petite exem&amp;shy;ple avec la sélec&amp;shy;tion d&amp;#8217;un nom&amp;shy;bre dans une inter&amp;shy;valle de 0 à 100&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
$ percent=$(zenity --scale --title=&amp;quot;Choix du pourcentage&amp;quot; --text &amp;quot;Pourcents : &amp;quot; --value=&amp;quot;50&amp;quot; --min-value=&amp;quot;0&amp;quot; --max-value=&amp;quot;100&amp;quot; --step=&amp;quot;1&amp;quot;)
&lt;/pre&gt;


&lt;p&gt;Sim&amp;shy;ple non&amp;#160;?&lt;/p&gt;


&lt;p&gt;Pour trai&amp;shy;ter les ima&amp;shy;ges en ligne de com&amp;shy;mande, vous con&amp;shy;nais&amp;shy;sez ima&amp;shy;ge&amp;shy;ma&amp;shy;gick. Voici la com&amp;shy;mande à uti&amp;shy;li&amp;shy;ser dans mon cas&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
convert image1.jpg -quality 80 -resize 1200 image2.jpg
&lt;/pre&gt;


&lt;p&gt;Voila, on a tou&amp;shy;tes les bri&amp;shy;ques pour faire le script.&lt;/p&gt;
&lt;pre&gt;
#!/bin/bash
#
# Name : ReductionPhoto
# Author : peck
# Licence : GPLv2
#

set -x

#################################################
#       FONCTIONS
ask_questions ()
{
        # question communes à tous les fichieirs
        quality=$(zenity --scale --title=&amp;quot;Choix de qualite&amp;quot; --text &amp;quot;Qualite&amp;quot; --value=&amp;quot;75&amp;quot; --min-value=&amp;quot;0&amp;quot; --max-value=&amp;quot;100&amp;quot; --step=&amp;quot;1&amp;quot;)
        width=$(zenity --entry --title=&amp;quot;Largeur de l'ecran&amp;quot; --text &amp;quot;Largeur&amp;quot; --entry-text=&amp;quot;1200&amp;quot;)
}

reduct()
{
        # options de reduction
        options=&amp;quot;-quality $quality -resize $width&amp;quot;
echo $options &amp;gt;&amp;gt; /tmp/debug

        # sauter les non-images
        if identify &amp;quot;$1&amp;quot; &amp;gt;/dev/null
        then
                # convertir
                convert &amp;quot;$1&amp;quot; $options &amp;quot;$2&amp;quot;
        fi
}

#################################################
#       PROGRAMME
if [ $# -eq 0 ]; then
        zenity --error --title=&amp;quot;Erreur&amp;quot; --text=&amp;quot;Pas de fichier selectionne pour la conversion&amp;quot;
        exit 1
fi
if which convert 2&amp;gt;/dev/null
then
        true
else
        zenity --error --title=&amp;quot;Erreur&amp;quot; --text=&amp;quot;ImageMagick n'est pas installe&amp;quot;
        exit 1
fi

# c'est parti
ask_questions
echo -n &amp;quot;$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS&amp;quot; | while read in_file
do
        ibase=$(basename &amp;quot;$in_file&amp;quot;)
        idir=$(dirname &amp;quot;$in_file&amp;quot;)
        out_file=&amp;quot;$idir/r_$ibase&amp;quot;

        # on fait gaffe aux fichiers qu'on ecrase
        if ls &amp;quot;$out_file&amp;quot;
        then
                if zenity --question --title=&amp;quot;Fichier existant&amp;quot; --text=&amp;quot;Remplacer r_$ibase ?&amp;quot;
                then
                        reduct &amp;quot;$in_file&amp;quot; &amp;quot;$out_file&amp;quot;
                fi
        else
                reduct &amp;quot;$in_file&amp;quot; &amp;quot;$out_file&amp;quot;
        fi
done

# et ouala
zenity --info &amp;quot;Reduction terminee&amp;quot;
&lt;/pre&gt;


&lt;p&gt;À vous de faire tout ce qui vous inté&amp;shy;resse, le reste de la doc se trouve dans la faq du &lt;a href=&quot;http://g-scripts.sourceforge.net/&quot; hreflang=&quot;en&quot;&gt;site&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>dim, 31 mai 2009 10:23:00 +0000</pubDate>
</item>
<item>
	<title>Shams Fantar: Le blog en version anglaise</title>
	<guid>urn:md5:0d2ef3378ffe2d217407b1c4641911ba</guid>
	<link>http://about-gnulinux.info/dotclear/index.php?post/2009/05/30/Le-blog-en-version-anglaise</link>
	<description>&lt;p&gt;Voulant rendre mes articles lisibles par plus de monde, j'ai ouvert un autre blog, avec les articles que j'écris sur celui-ci (celui où vous vous trouvez actuellement). La différence réside dans le fait que sur cet autre blog, je traduis en anglais les articles disponibles ici.&lt;/p&gt;


&lt;p&gt;Ceci permet donc que plus de monde soit en mesure de lire ce que je rédige. Le contenu est par conséquent le même.&lt;/p&gt;


&lt;p&gt;Le blog en version anglaise est disponible ici : &lt;a href=&quot;http://en.about-gnulinux.info/&quot;&gt;http://en.about-gnulinux.info/&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Quelques articles du blog anglais seront publiés prochainement sur &lt;a href=&quot;http://about-gnulinux.info/dotclear/index.php?post/2009/04/27/Ecrire-des-articles-pour-le-futur-linux.com&quot;&gt;linux.com&lt;/a&gt;.&lt;/p&gt;</description>
	<pubDate>sam, 30 mai 2009 16:29:00 +0000</pubDate>
</item>
<item>
	<title>Benoit Peccatte: En vrac (23)</title>
	<guid permalink="False">urn:md5:2df9e3ab9e9946799d69af111f03c968</guid>
	<link>http://linux-attitude.fr/post/En-vrac-%2823%29</link>
	<description>&lt;p&gt;&lt;strong&gt;Niveau&lt;/strong&gt;&amp;#160;: &lt;img src=&quot;http://linux-attitude.fr/public/Pics/s.gif&quot; alt=&quot;Star&quot; /&gt; &lt;img src=&quot;http://linux-attitude.fr/public/Pics/s.gif&quot; alt=&quot;Star&quot; /&gt; &lt;img src=&quot;http://linux-attitude.fr/public/Pics/e.gif&quot; alt=&quot;Empty&quot; /&gt; &lt;img src=&quot;http://linux-attitude.fr/public/Pics/e.gif&quot; alt=&quot;Empty&quot; /&gt; &lt;img src=&quot;http://linux-attitude.fr/public/Pics/e.gif&quot; alt=&quot;Empty&quot; /&gt;&lt;br /&gt;
&lt;strong&gt;Résumé&lt;/strong&gt;&amp;#160;: pam_fail&amp;shy;de&amp;shy;lay.so&amp;#160;; tail -F *&amp;#160;; dusort&amp;#160;;&lt;/p&gt;


&lt;p&gt;Réduire le délai en cas d&amp;#8217;erreur du mot de passe (très chiant pour su par exem&amp;shy;ple).
Sim&amp;shy;ple cal&amp;shy;cul, le délai par défaut de 2s donne 13243 ans pour bru&amp;shy;te&amp;shy;for&amp;shy;cer un mot de passe de 8 let&amp;shy;tres (26 pos&amp;shy;si&amp;shy;bi&amp;shy;li&amp;shy;tés). On peut donc se per&amp;shy;met&amp;shy;tre de divi&amp;shy;ser ce délai par 4 pour appor&amp;shy;ter un peu de con&amp;shy;fort à l&amp;#8217;usage&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
$ vi /etc/pam.d/common-auth
# on annule le délay ajouté par pam_unix
auth    required        pam_unix.so nullok_secure nodelay
# on ajoute un délai en microsecondes
auth  optional  pam_faildelay.so  delay=500000
&lt;/pre&gt;

&lt;p&gt;Atten&amp;shy;tion, login vient avec son pro&amp;shy;pre délai sup&amp;shy;plé&amp;shy;men&amp;shy;taire de 3 secon&amp;shy;des chez debian (dans /etc/pam.d/login).&lt;/p&gt;



&lt;p&gt;Il est pos&amp;shy;si&amp;shy;ble de regar&amp;shy;der les nou&amp;shy;vel&amp;shy;les lignes sur plu&amp;shy;sieurs fichiers en même temps&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
$ tail -F /var/log/*
&lt;/pre&gt;


&lt;p&gt;Alias pour con&amp;shy;naî&amp;shy;tre rapi&amp;shy;de&amp;shy;ment les 10 plus gros réper&amp;shy;toire du réper&amp;shy;toire en cours&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
$ alias dusort='du --max-depth=1 | sort -rn | head -n 10'
&lt;/pre&gt;


&lt;p&gt;Appe&amp;shy;ler une com&amp;shy;mande en évi&amp;shy;tant tous les alias pos&amp;shy;si&amp;shy;ble (par exem&amp;shy;ple rm qui est aliasé rm -i):&lt;/p&gt;
&lt;pre&gt;
# bash uniquement
$ \commande
&lt;/pre&gt;


&lt;p&gt;Avan&amp;shy;cer / recu&amp;shy;ler d&amp;#8217;un mot lors de l&amp;#8217;édi&amp;shy;tion de ligne (bash ou tout outil read&amp;shy;line) &lt;strong&gt;Esc-fle&amp;shy;che&lt;/strong&gt; droite ou gau&amp;shy;che.&lt;/p&gt;


&lt;p&gt;Effa&amp;shy;cer les fichiers de plus de XX jours&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
$ find . -not -ctime -XX -name &amp;quot;*.ncap&amp;quot; -exec rm {} ;
&lt;/pre&gt;</description>
	<pubDate>mer, 27 mai 2009 16:16:00 +0000</pubDate>
</item>
<item>
	<title>Carl Chenet: Bélier 0.8</title>
	<guid permalink="False">http://carlchenet.wordpress.com/?p=22</guid>
	<link>http://carlchenet.wordpress.com/2009/05/23/belier-0-8/</link>
	<description>&lt;div class=&quot;snap_preview&quot;&gt;&lt;br /&gt;&lt;p&gt;La nouvelle version de mon programme Bélier est disponible depuis hier sur &lt;a title=&quot;Page d'accueil de bélier&quot; href=&quot;http://www.ohmytux.com/belier&quot; target=&quot;_blank&quot;&gt;http://www.ohmytux.com/belier&lt;/a&gt; et sur &lt;a title=&quot;mentors.debian.net&quot; href=&quot;http://mentors.debian.net&quot; target=&quot;_blank&quot;&gt;mentors.debian.net&lt;/a&gt; &lt;img src=&quot;http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif&quot; alt=&quot;;)&quot; class=&quot;wp-smiley&quot; /&gt;  Je recherche donc un sponsor.&lt;/p&gt;
&lt;p&gt;&lt;a title=&quot;paquet debian belier&quot; href=&quot;http://mentors.debian.net/debian/pool/main/b/belier&quot; target=&quot;_blank&quot;&gt;http://mentors.debian.net/debian/pool/main/b/belier&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://mentors.debian.net/debian/pool/main/b/belier/belier_0.8-1.dsc&quot; target=&quot;_blank&quot;&gt;http://mentors.debian.net/debian/pool/main/b/belier/belier_0.8-1.dsc&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Bélier permet l&amp;#8217;ouverture automatisée d&amp;#8217;un terminal ou l&amp;#8217;exécution de commandes sur un ordinateur distant via une connexion ssh. L&amp;#8217;intérêt principal de Bélier réside dans sa capacité à traverser plusieurs machines intermédiaires avant d&amp;#8217;accomplir la tâche assignée.&lt;/p&gt;
&lt;p&gt;Un schéma vaut souvent mieux qu&amp;#8217;un long discours :&lt;/p&gt;
&lt;p&gt;
&lt;div class=&quot;wp-caption aligncenter&quot;&gt;&lt;img title=&quot;Schéma de fonctionnement de Bélier&quot; src=&quot;http://www.ohmytux.com/belier/images/schema_belier.png&quot; alt=&quot;Schéma de fonctionnement de Bélier&quot; width=&quot;406&quot; height=&quot;158&quot; /&gt;&lt;p class=&quot;wp-caption-text&quot;&gt;Schéma de fonctionnement de Bélier&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;Permettant d&amp;#8217;automatiser des connexion ssh avec plusieurs machines intermédiaires entre la source et la destination, Bélier réunit tous les éléments nécessaires pour qu&amp;#8217;un administrateur, avec son seul poste de travail, puisse administrer son réseau de manière indépendante sans devoir/pouvoir modifier les serveurs dont il a la charge.&lt;/p&gt;
&lt;p&gt;Bélier génère un script expect en sortie qu&amp;#8217;il vous suffira d&amp;#8217;exécuter pour atteindre votre machine.&lt;/p&gt;
&lt;p&gt;Bélier n&amp;#8217;est pas une alternative à l&amp;#8217;échange de clés ssh ou à des solutions centralisées de déploiement de logiciels. Son rôle est de permettre à un administrateur système qui ne possède pas la maîtrise totale de son parc, qui ne peut pas mettre en place une solution centralisée d&amp;#8217;administration, de travailler de manière productive sans perdre un temps considérable à atteindre ses machines.&lt;/p&gt;
&lt;p&gt;Des exemples concrets d&amp;#8217;utilisation sont disponibles ici :&lt;/p&gt;
&lt;p&gt;&lt;a title=&quot;Exemples d'utilisation de Bélier&quot; href=&quot;http://www.ohmytux.com/belier/#toc8&quot; target=&quot;_blank&quot;&gt;http://www.ohmytux.com/belier/#toc8&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Quelques fonctionnalités :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;atteinte d&amp;#8217;une machine cible à travers plusieurs machines intermédiaires&lt;/li&gt;
&lt;li&gt;lancement d&amp;#8217;une commande d&amp;#8217;une machine source vers une machine cible à travers plusieurs machines intermédiaires&lt;/li&gt;
&lt;li&gt;possibilité de changer de compte sur chaque machine du chemin (pour utiliser un échange de clé ou se conformer à une restriction d&amp;#8217;accès)&lt;/li&gt;
&lt;li&gt;possibilité de changer de port entre chaque connexion ssh du chemin&lt;/li&gt;
&lt;li&gt;vous pouvez définir les mots de passe ou non (utilisation d&amp;#8217;un échange de clé existant)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bélier sera présenté dans un lightning talk au Pycon Fr http://pycon.fr le 31/05/09. Un retour d&amp;#8217;expérience sur le développement de Bélier aura également lieu aux Rencontres Mondiales du Logiciel Libre à Nantes le 09/07/2009.&lt;/p&gt;
&lt;p&gt;Comme annoncé au début du message, je recherche un sponsor Debian pour ce paquet. Tout retour sur l&amp;#8217;empaquetage d&amp;#8217;un mainteneur/DD me sera extrêmement profitable. Et bien sûr tous les retours d&amp;#8217;éventuels testeurs en général.&lt;/p&gt;
  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/carlchenet.wordpress.com/22/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/carlchenet.wordpress.com/22/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/carlchenet.wordpress.com/22/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/carlchenet.wordpress.com/22/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/carlchenet.wordpress.com/22/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/carlchenet.wordpress.com/22/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/carlchenet.wordpress.com/22/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/carlchenet.wordpress.com/22/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/carlchenet.wordpress.com/22/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/carlchenet.wordpress.com/22/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=carlchenet.wordpress.com&amp;blog=7722010&amp;post=22&amp;subd=carlchenet&amp;ref=&amp;feed=1&quot; /&gt;&lt;/p&gt;&lt;/div&gt;</description>
	<pubDate>ven, 22 mai 2009 23:09:32 +0000</pubDate>
</item>
<item>
	<title>Benoit Peccatte: Pas d'écran, pas de chocolat</title>
	<guid permalink="False">urn:md5:1705982490e8d1150146779abff194ba</guid>
	<link>http://linux-attitude.fr/post/Pas-d-%C3%A9cran%2C-pas-de-chocolat</link>
	<description>&lt;p&gt;&lt;strong&gt;Niveau&lt;/strong&gt;&amp;#160;: &lt;img src=&quot;http://linux-attitude.fr/public/Pics/s.gif&quot; alt=&quot;Star&quot; /&gt; &lt;img src=&quot;http://linux-attitude.fr/public/Pics/s.gif&quot; alt=&quot;Star&quot; /&gt; &lt;img src=&quot;http://linux-attitude.fr/public/Pics/s.gif&quot; alt=&quot;Star&quot; /&gt; &lt;img src=&quot;http://linux-attitude.fr/public/Pics/e.gif&quot; alt=&quot;Empty&quot; /&gt; &lt;img src=&quot;http://linux-attitude.fr/public/Pics/e.gif&quot; alt=&quot;Empty&quot; /&gt;&lt;br /&gt;
&lt;strong&gt;Résumé&lt;/strong&gt;&amp;#160;: Xvnc&lt;/p&gt;


&lt;p&gt;Sup&amp;shy;po&amp;shy;sons une machine sur laquelle vous n&amp;#8217;avez pas d&amp;#8217;écran. Vous vou&amp;shy;driez tout de même pou&amp;shy;voir y accé&amp;shy;der en mode gra&amp;shy;phi&amp;shy;que. Pour ma part, il s&amp;#8217;agit de met&amp;shy;tre en place une machine auto&amp;shy;nome, qui ser&amp;shy;vi&amp;shy;rait à dif&amp;shy;fu&amp;shy;ser la musi&amp;shy;que sur mon ampli. Pas de place pour l&amp;#8217;écran, le pro&amp;shy;blème, il faut bien la com&amp;shy;man&amp;shy;der un peu de temps en temps.&lt;/p&gt;


&lt;p&gt;Pour cela il y a plu&amp;shy;sieurs solu&amp;shy;tions&lt;/p&gt;


&lt;h3&gt;Solu&amp;shy;tion A&lt;/h3&gt;

&lt;p&gt;Dans le cas de dif&amp;shy;fu&amp;shy;sion de musi&amp;shy;que, il est pos&amp;shy;si&amp;shy;ble de trou&amp;shy;ver un sys&amp;shy;tème pure&amp;shy;ment ser&amp;shy;veur per&amp;shy;met&amp;shy;tant d&amp;#8217;être com&amp;shy;mandé par une inter&amp;shy;face web ou un client en ligne de com&amp;shy;mande. Je pense à des plu&amp;shy;gins spé&amp;shy;ci&amp;shy;fi&amp;shy;ques à des client habi&amp;shy;tuels ou à des ser&amp;shy;veurs comme &lt;a href=&quot;http://mpd.wikia.com/wiki/Music_Player_Daemon_Wiki&quot; hreflang=&quot;en&quot;&gt;mpd&lt;/a&gt; sans inter&amp;shy;face gra&amp;shy;phi&amp;shy;que.&lt;/p&gt;


&lt;p&gt;Incon&amp;shy;vé&amp;shy;nient, l&amp;#8217;inter&amp;shy;face est assez peu intui&amp;shy;tive et néces&amp;shy;site une cer&amp;shy;taine bidouille pour être acces&amp;shy;si&amp;shy;ble par tous.
De plus on passe du temps pour fina&amp;shy;le&amp;shy;ment ne faire que de la musi&amp;shy;que (si on veut que la machine fasse aussi alarme, il faut repar&amp;shy;tir dans la bidouille.&lt;/p&gt;


&lt;h3&gt;Solu&amp;shy;tion B&lt;/h3&gt;

&lt;p&gt;Un solu&amp;shy;tion très unixienne avec inter&amp;shy;face gra&amp;shy;phi&amp;shy;que serait de met&amp;shy;tre en place XDMCP sur le ser&amp;shy;vice de con&amp;shy;nexion (gdm, kdm &amp;#8230;). Bonne solu&amp;shy;tion, même pour les clients win&amp;shy;dows puis&amp;shy;que &lt;a href=&quot;http://www.straightrunning.com/XmingNotes/&quot; hreflang=&quot;en&quot;&gt;xming&lt;/a&gt; per&amp;shy;met de faire ser&amp;shy;veur X sous win&amp;shy;dows.&lt;/p&gt;


&lt;p&gt;Cette solu&amp;shy;tion nous per&amp;shy;met&amp;shy;trait de dis&amp;shy;po&amp;shy;ser de tous les avan&amp;shy;ta&amp;shy;ges d&amp;#8217;un bureau inté&amp;shy;gré, par exem&amp;shy;ple, régler le son, con&amp;shy;fi&amp;shy;gu&amp;shy;rer une radio &amp;#8230;
Par con&amp;shy;tre, cette solu&amp;shy;tion a l&amp;#8217;incon&amp;shy;vé&amp;shy;nient de ren&amp;shy;dre la machine con&amp;shy;cer&amp;shy;née non auto&amp;shy;nome. A la moin&amp;shy;dre décon&amp;shy;nexion, pof, plus de musi&amp;shy;que. Mais expli&amp;shy;quons quand même la solu&amp;shy;tion briè&amp;shy;ve&amp;shy;ment.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Acti&amp;shy;vez XDMCP sur votre *dm
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;gdm&lt;/strong&gt;&amp;#160;: dans /etc/gdm/gdm.conf&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;kdm&lt;/strong&gt;&amp;#160;: dans /etc/kde*/kdm/kdmrc&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;##########&amp;shy;MA&amp;shy;CRO#0#
&lt;ul&gt;
&lt;li&gt;Con&amp;shy;nec&amp;shy;tez vous avec votre ser&amp;shy;veur X
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;X86&lt;/strong&gt; ou &lt;strong&gt;Xorg&lt;/strong&gt;&amp;#160;:&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;##########&amp;shy;MA&amp;shy;CRO#1#

&lt;p&gt;&lt;br /&gt;** &lt;strong&gt;Xming&lt;/strong&gt;&amp;#160;: xlaunch / &amp;#8220;One WIn&amp;shy;dow&amp;#8221; / &amp;#8220;Open ses&amp;shy;sion via XDMCP&amp;#8221; / &amp;#8220;Con&amp;shy;nect to Host&amp;#8221;&lt;/p&gt;


&lt;h3&gt;Solu&amp;shy;tion C&lt;/h3&gt;

&lt;p&gt;Pour pou&amp;shy;voir sur&amp;shy;vi&amp;shy;vre aux décon&amp;shy;nexions, il existe un pro&amp;shy;to&amp;shy;cole vnc. On peut uti&amp;shy;li&amp;shy;ser vnc de deux façons&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;sur un ser&amp;shy;veur X exis&amp;shy;tant auquel on est con&amp;shy;necté&lt;/li&gt;
&lt;li&gt;sur un ser&amp;shy;veur X vir&amp;shy;tuel qui ne fait aucun affi&amp;shy;chage réel, juste ser&amp;shy;veur X et ser&amp;shy;veur vnc&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Dans le pre&amp;shy;mier cas on uti&amp;shy;li&amp;shy;sera &lt;strong&gt;x11vnc&lt;/strong&gt;, qu&amp;#8217;il est pos&amp;shy;si&amp;shy;ble de lan&amp;shy;cer une fois con&amp;shy;necté en tant qu&amp;#8217;uti&amp;shy;li&amp;shy;sa&amp;shy;teur. Mais cela ne cor&amp;shy;res&amp;shy;pond pas trop à notre cas d&amp;#8217;usage.&lt;/p&gt;


&lt;p&gt;Dans le Deuxième cas, il suf&amp;shy;fit de dire à notre *dm de ne pas lan&amp;shy;cer de ser&amp;shy;veur X nor&amp;shy;mal, mais un ser&amp;shy;veur vnc.
Pour &lt;strong&gt;gdm&lt;/strong&gt;, il suf&amp;shy;fit de modi&amp;shy;fier gdm.conf&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
[daemon]
# pour éviter les paramètre incompris de Xvnc
VTAllocation=false

[servers]
# liste des serveur à lancer
0=vnc device=/dev/console

[server-vnc]
# définition d'un serveur X utilisant directement vnc
name=vnc server
command=/usr/bin/Xvnc -PasswordFile=/root/.vnc/passwd -audit 0
flexible=true
&lt;/pre&gt;


&lt;p&gt;Notez que rien ne vous empê&amp;shy;che de lais&amp;shy;ser gdm lan&amp;shy;cer un ser&amp;shy;veur X habi&amp;shy;tuel en plus d&amp;#8217;un ser&amp;shy;veur Xvnc (met&amp;shy;tre un 1 à la place du 0).&lt;/p&gt;


&lt;p&gt;Pour &lt;strong&gt;kdm&lt;/strong&gt;, (atten&amp;shy;tion, pas testé)&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
[X-:*-Core]
ServerCmd=/usr/bin/Xvnc
ServerArgsLocal=&amp;quot;-PasswordFile=/root/.vnc/passwd&amp;quot;
&lt;/pre&gt;


&lt;p&gt;Notez le sto&amp;shy;ckage du mot de passe dans /root/.vnc/passwd, vous le met&amp;shy;tez où vous vou&amp;shy;lez, mais c&amp;#8217;est la qu&amp;#8217;il est créé par la com&amp;shy;mande ser&amp;shy;vant à créer le fichier&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
$ vncpasswd
&lt;/pre&gt;


&lt;p&gt;Très bien, mais le ser&amp;shy;veur ne ser&amp;shy;vant pas à plu&amp;shy;sieurs per&amp;shy;son&amp;shy;nes et sachant qu&amp;#8217;il n&amp;#8217;est acces&amp;shy;si&amp;shy;ble que sur le réseau local, on vou&amp;shy;drais ne pas avoir à pas&amp;shy;ser l&amp;#8217;étape de con&amp;shy;nexion.&lt;/p&gt;


&lt;h3&gt;Solu&amp;shy;tion D&lt;/h3&gt;

&lt;p&gt;Le sys&amp;shy;tème D con&amp;shy;siste donc à se pas&amp;shy;ser du dm. Ma solu&amp;shy;tion (spé&amp;shy;ci&amp;shy;fi&amp;shy;que à mon cas musi&amp;shy;cal, mais sim&amp;shy;ple à répé&amp;shy;ter) est de me faire un script qui lan&amp;shy;cera tout ça au démar&amp;shy;rage (j&amp;#8217;éteins gdm plu&amp;shy;tôt que de le con&amp;shy;fi&amp;shy;gu&amp;shy;rer pour se con&amp;shy;nec&amp;shy;ter auto&amp;shy;ma&amp;shy;ti&amp;shy;que&amp;shy;ment).&lt;/p&gt;


&lt;p&gt;Au pas&amp;shy;sage, j&amp;#8217;ai créé un uti&amp;shy;li&amp;shy;sa&amp;shy;teur music, mais vous vous en fou&amp;shy;tez.&lt;/p&gt;


&lt;p&gt;Chez mon nou&amp;shy;vel uti&amp;shy;li&amp;shy;sa&amp;shy;teur, j&amp;#8217;ai créé le script sui&amp;shy;vant&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
#!/bin/sh
# -geometry : un serveur X avec des dimensions satisfaisantes pour la plupart des utilisateurs
# -AlwaysShared : forcer le partage du serveur lorsque plusieurs utilisateur se connectent
# -PasswordFile=/home/music/.vnc/passwd : à remplacer par &amp;quot;-SecurityTypes None&amp;quot;
#                  pour les fous qui ne veulent aucun mot de passe
Xvnc  -geometry 1000x700 -AlwaysShared -SecurityTypes None -audit 0 :0 &amp;amp;
sleep 1
export DISPLAY=:0
# environnement de bureau à lancer
startxfce4  &amp;amp;
sleep 1
# on avertit le quidam dans la pièce qu'on est prêt (30ms, 600hz)
beep -l 300 -f 600
&lt;/pre&gt;


&lt;p&gt;Pour trou&amp;shy;ver com&amp;shy;ment lan&amp;shy;cer l&amp;#8217;envi&amp;shy;ron&amp;shy;ne&amp;shy;ment de bureau qui vous inté&amp;shy;resse, il suf&amp;shy;fit de lire les réper&amp;shy;toi&amp;shy;res &lt;strong&gt;/usr/share/xses&amp;shy;sions&lt;/strong&gt; et &lt;strong&gt;/etc/dm/Ses&amp;shy;sions&lt;/strong&gt;, ils con&amp;shy;tien&amp;shy;nent la liste des bureaux con&amp;shy;nus des *dm. Une fois le bon fichier trou&amp;shy;vén repé&amp;shy;rez la ligne Exec= et vous aurez la com&amp;shy;mande.&lt;/p&gt;


&lt;p&gt;Et astuce pour le polish, on met ce script dans un cron de l&amp;#8217;uti&amp;shy;li&amp;shy;sa&amp;shy;teur con&amp;shy;cerné pour qu&amp;#8217;il se lance auto&amp;shy;ma&amp;shy;ti&amp;shy;que&amp;shy;ment au démar&amp;shy;rage de la machine&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
$ crontab -e
# m h  dom mon dow   command
# Notez le @reboot magique
@reboot /home/music/script.sh
&lt;/pre&gt;


&lt;p&gt;Voila, il suf&amp;shy;fit de se con&amp;shy;nec&amp;shy;ter avec un client vnc. On peut trou&amp;shy;ver vnc&amp;shy;vie&amp;shy;wer sous linux et sous win&amp;shy;dows. On peut avoir plu&amp;shy;sieurs uti&amp;shy;li&amp;shy;sa&amp;shy;teurs, et on peut avoir une uti&amp;shy;li&amp;shy;sa&amp;shy;tion sim&amp;shy;ple du sys&amp;shy;tème.&lt;/p&gt;</description>
	<pubDate>ven, 22 mai 2009 16:16:00 +0000</pubDate>
</item>
<item>
	<title>Shams Fantar: Linux-libre, un kernel 100% libre !</title>
	<guid>urn:md5:c1ce56b078ed041fefcdb25d910b055d<