<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://mirmodynamics.com/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>Mirmo Dynamics - ubuntu</title>
  <link>http://mirmodynamics.com/</link>
  <atom:link href="http://mirmodynamics.com/feed/tag/ubuntu/rss2" rel="self" type="application/rss+xml"/>
  <description>Rien de grand ne se fit jamais sans enthousiasme.</description>
  <language>en</language>
  <pubDate>Wed, 08 Oct 2008 11:22:01 +0200</pubDate>
  <copyright>2003-2008 &amp;copy; Geoffrey Bachelet</copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Ubuntu est chez Dell</title>
    <link>http://mirmodynamics.com/post/2007/09/21/Ubuntu-est-chez-Dell</link>
    <guid isPermaLink="false">urn:md5:af8dad27b814b1313254fef74b8ec7df</guid>
    <pubDate>Fri, 21 Sep 2007 12:21:00 +0200</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Geekeries</category>
        <category>dell</category><category>linux</category><category>matériel</category><category>sympa</category><category>ubuntu</category>    
    <description>    &lt;p&gt;Je ne sais pas si c'est récent ou non, mais toujours est-il qu'hier j'ai remarqué sur  &lt;a href=&quot;http://www.dell.fr/&quot;&gt;le site de dell france&lt;/a&gt; la &lt;a href=&quot;http://www.dell.fr/ubuntu&quot;&gt;posibilité d'acheter un ordinateur dell équipé d'Ubuntu Linux&lt;/a&gt;. L'initiative est vraiment sympa, d'autant plus que le matériel proposé me semble tout à fait abordable: on arrive à une configuration desktop équipée d'un core duo et d'1 Go de ram plus un écran 19 pouces pour moins de 600 euros (livraison comprise). J'achète.&lt;/p&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2007/09/21/Ubuntu-est-chez-Dell#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2007/09/21/Ubuntu-est-chez-Dell#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/rss2/comments/1037</wfw:commentRss>
      </item>
    
  <item>
    <title>Quand ssh est mou</title>
    <link>http://mirmodynamics.com/post/2007/09/07/Quand-ssh-est-mou</link>
    <guid isPermaLink="false">urn:md5:f585d294c259143640f57fe5925ce786</guid>
    <pubDate>Fri, 07 Sep 2007 11:58:00 +0200</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Geekeries</category>
        <category>feisty</category><category>lent</category><category>mou</category><category>slow</category><category>ssh</category><category>ubuntu</category>    
    <description>    &lt;p&gt;Juste pour mémoire: &lt;a href=&quot;http://www.refreshinglyblue.com/2007/5/18/long-delay-before-ssh-authentication&quot; title=&quot;http://www.refreshinglyblue.com/2007/5/18/long-delay-before-ssh-authentication&quot;&gt;http://www.refreshinglyblue.com/200...&lt;/a&gt;.&lt;/p&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2007/09/07/Quand-ssh-est-mou#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2007/09/07/Quand-ssh-est-mou#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/rss2/comments/1016</wfw:commentRss>
      </item>
    
  <item>
    <title>Linux + gVim + Rox-filer = Mon IDE.</title>
    <link>http://mirmodynamics.com/post/2006/11/28/Linux-gVim-Rox-filer-Mon-IDE</link>
    <guid isPermaLink="false">urn:md5:024270855ec063e421b28cf4d62f4906</guid>
    <pubDate>Tue, 28 Nov 2006 22:39:00 +0100</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Coding</category>
        <category>clichés</category><category>configuration</category><category>environnement</category><category>interfaces utilisateurs</category><category>opinions</category><category>organisation</category><category>php</category><category>svn</category><category>ubuntu</category><category>unix</category><category>vim</category><category>way of life</category>    
    <description>&lt;p&gt;Une des questions cruciales qui se pose à tout développeur à au moins un moment de sa vie (souvent plusieurs en fait) est le choix d'un environnement de développement. J'en ai testé pas mal, plus ou moins longtemps, et bien que je ne sois jamais complètement satisfait, l'idée de &lt;em&gt;perdre du temps&lt;/em&gt; à développer le mien m'indispose. J'ai donc opté pour l'environnement qui me va le mieux: Linux + gVim + Rox-filer.&lt;/p&gt;


&lt;p&gt;Note: je ne couvre pas ici les fonctionnalités de débuging avancé, que je n'utilise pas encore, mais pour lesquelles j'ai déjà en tête des solutions qui me conviendront bien mieux que les outils intégrés à un quelconque &lt;acronym&gt;IDE&lt;/acronym&gt; (je pense fortement à Xdebug).&lt;/p&gt;    &lt;h3&gt;Comment définir un IDE ?&lt;/h3&gt;


&lt;p&gt;Commençons par le début: qu'est-ce qu'un &lt;acronym&gt;IDE&lt;/acronym&gt; ? Acronyme de &lt;em&gt;Integrated Development Environment&lt;/em&gt;, le terme peut prendre pas mal de signification selon la personne à laquelle on s'adresse. Pour certains, &lt;em&gt;le plus c'est le mieux&lt;/em&gt;, alors que pour d'autre, &lt;em&gt;le moins c'est le pas plus mal finalement&lt;/em&gt;. On pourra citer quelques exemples connus d'&lt;acronym&gt;IDE&lt;/acronym&gt; &lt;em&gt;full-featured&lt;/em&gt;, tels que les incournables &lt;em&gt;Zend Studio&lt;/em&gt;, &lt;em&gt;Eclipse&lt;/em&gt; et autres &lt;em&gt;phpEdit&lt;/em&gt;, mais ce n'est pas le but de cet article. Ici, je vais vous expliquer pourquoi et comment j'utilise quotidiennement gVim et Rox-filer, et le tout sous Ubuntu.&lt;/p&gt;


&lt;p&gt;Revenons en à nos moutons, un environnement de développement, c'est constitué de quelques briques primordiales:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Un éditeur de code&lt;/li&gt;
&lt;li&gt;Un navigateur de fichier&lt;/li&gt;
&lt;li&gt;Un truc qui fait tourner tout ça&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Peu importe qu'ils soient &lt;em&gt;intégrés&lt;/em&gt; ou non, finalement. Personnellement, je suis un fervent adepte du précepte &lt;em&gt;une tâche, un outil&lt;/em&gt;, donc je preferre qu'ils soient dissociés.&lt;/p&gt;


&lt;h3&gt;L'éditeur de code: gVim&lt;/h3&gt;


&lt;p&gt;Certains perdent leurs moyens à la simple évocation de son nom, &lt;em&gt;vim&lt;/em&gt; n'est pourtant rien de plus que le plus puissant des éditeurs de fichier aujourd'hui disponible dans le monde (un troll s'est malicieusement glissé dans cette affirmation, saurez-vous le retrouver ?). Ce qui déroute au premier abord dans &lt;em&gt;vim&lt;/em&gt;, c'est finalement ce qui fait toute sa puissance: le mode &lt;em&gt;commande&lt;/em&gt;. J'ai longtemps utilisé &lt;a href=&quot;http://bluefish.openoffice.nl/index.html&quot;&gt;bluefish&lt;/a&gt;, et finalement las de ses quelques bugs bien énervants (wtf syntax color ?), j'ai décidé de faire le grand pas, et d'utiliser &lt;em&gt;vim&lt;/em&gt;. J'avais bien sur déjà une expérience de cet éditeur, mais retenez bien que le meilleur moyen de maitriser un outil aussi puissant que &lt;em&gt;vim&lt;/em&gt;, ce n'est pas de se jeter à corps perdu dans la doc, mais c'est d'investir du temps incrémentiellement: commencer à utiliser &lt;em&gt;vim&lt;/em&gt;, et quand on souhaite faire quelque chose qu'on ne sait pas faire, lire &lt;a href=&quot;http://vimdoc.sf.net/&quot;&gt;la doc correspondante&lt;/a&gt;&lt;sup&gt;[&lt;a href=&quot;http://mirmodynamics.com/post/2006/11/28/#pnote-723-1&quot; id=&quot;rev-pnote-723-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt;. Pour finir, j'ai traduit il y a quelque temps un excellent tutoriel sur &lt;em&gt;vim&lt;/em&gt;: &lt;a href=&quot;http://fashion.hosmoz.net/blog/post/2004/05/08/150-ledition-efficace-avec-vim&quot;&gt;L'édition efficace avec vim&lt;/a&gt;, donc n'hésitez pas.&lt;/p&gt;


&lt;h4&gt;Un .vimrc qu'il est joli&lt;/h4&gt;


&lt;p&gt;Comme la plupart des applications &lt;em&gt;*nix&lt;/em&gt;, &lt;em&gt;vim&lt;/em&gt; autorise l'utilisation d'un fichier &lt;em&gt;~/.vimrc&lt;/em&gt;. S'il peut paraitre compliqué au premier abord d'élaborer un &lt;em&gt;.vimrc&lt;/em&gt; efficace, il ne faut pas se décourager, car comme d'habitude, il y a tout ce qu'il faut sur le net. J'en veux pour preuve &lt;a href=&quot;http://schlitt.info/applications/blog/index.php?/archives/488-Comfortable-PHP-editing-with-VIM-5.html&quot;&gt;les excellents articles&lt;/a&gt; de &lt;a href=&quot;http://schlitt.info/&quot;&gt;Tobias Schlitt&lt;/a&gt; à ce sujet.&lt;/p&gt;


&lt;p&gt;Pour info, quelques directives de configuration utiles qu'on peut trouver dans mon &lt;em&gt;.vimrc&lt;/em&gt;:&lt;/p&gt;

&lt;pre&gt;
&amp;quot; Supprime un buffer de la mémoire via le raccourci clavier Ctrl+W
noremap &amp;lt;C-W&amp;gt; :bdel!&amp;lt;CR&amp;gt;

&amp;quot; Active l'indentation automatique
set autoindent

&amp;quot; Active les plugins de type de fichier
filetype plugin on

&amp;quot; Active la coloration syntaxique
syntax on

&amp;quot; Thème de couleur pour gVim
colorscheme desert

&amp;quot; Utiliser des tabs de 4 caractères pour l'indentation
set noexpandtab tabstop=4 shiftwidth=4

&amp;quot; Activer la souris (molette, sélection, etc)
set mouse=a

&amp;quot; Afficher des infos dans la barre de status
set ruler
set laststatus=2

&amp;quot; Activer la numérotation des lignes
set number

&amp;quot; Utiliser la recherche incrémentielle
set incsearch

&amp;quot; Ne pas surligner les résultats de recherche
set nohlsearch
&lt;/pre&gt;


&lt;p&gt;Quelques unes (beaucoup en fait) de ces directives sont tirées du &lt;em&gt;.vimrc&lt;/em&gt; de Tobias.&lt;/p&gt;


&lt;p&gt;Dernier détail pour les réfractaires de la ligne de commande, &lt;em&gt;gVim&lt;/em&gt; s'execute en &lt;em&gt;mode graphique&lt;/em&gt;, avec une interface &lt;acronym&gt;GTK&lt;/acronym&gt; conviviale qui permet d'apprendre les raccourcis aisément, et qui gère la souris (défilement à la molette, etc, et d'ailleurs, même en console ça gère la souris, il suffit d'un &lt;code&gt;:set mouse=&amp;quot;a&amp;quot;&lt;/code&gt; pour l'activer).&lt;/p&gt;


&lt;h4&gt;Un ftplugin pour le PHP&lt;/h4&gt;


&lt;p&gt;Ce qu'on appelle &lt;em&gt;ftplugin&lt;/em&gt; dans &lt;em&gt;vim&lt;/em&gt; permet de configurer &lt;em&gt;vim&lt;/em&gt; en fonction du type de fichier que l'on édite. Tobias fournit un &lt;em&gt;ftplugin&lt;/em&gt; spécialisé dans l'édition du &lt;acronym&gt;PHP&lt;/acronym&gt; plutôt bien foutu, qui gère la plupart des &lt;em&gt;features convi-enabled&lt;/em&gt; des soit disants &lt;acronym&gt;IDE&lt;/acronym&gt; évolués:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Complétion des fonctions&lt;/li&gt;
&lt;li&gt;Complétion des mots-clés&lt;/li&gt;
&lt;li&gt;Auto-fermeture des crochets, parenthèses, etc.&lt;/li&gt;
&lt;li&gt;Auto-génération des docblocks PHPDoc&lt;/li&gt;
&lt;li&gt;Vérification de syntaxe du fichier édité&lt;/li&gt;
&lt;li&gt;Et d'autres trucs merveilleux !&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;La classe non ?&lt;/p&gt;


&lt;h3&gt;Un navigateur de fichier kirox (tm)&lt;/h3&gt;


&lt;p&gt;C'est pas moi qui le dit, en fait c'est comme le port-salut, &lt;a href=&quot;http://rox.sf.net/&quot;&gt;rox-filer&lt;/a&gt; rox, c'est tout. Pour ceux que ma puissance de persuasion ne suffit pas, et bien &lt;em&gt;rox-filer&lt;/em&gt; offre tout ce que vous pourriez attendre d'un gestionnaire de fichier moderne:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Navigation spatiale avec technologie &lt;em&gt;oupas&lt;/em&gt; (tm)&lt;/li&gt;
&lt;li&gt;Prévisualisation des images&lt;/li&gt;
&lt;li&gt;Personnalisation (aisée !) des applications utilisées pour lancer les fichiers (en fonction du mimetype)&lt;/li&gt;
&lt;li&gt;Navigation one-click (&lt;em&gt;oupas&lt;/em&gt; (tm))&lt;/li&gt;
&lt;li&gt;Navigation aisée au clavier&lt;/li&gt;
&lt;li&gt;Monitorage des fichiers en cours d'utilisation (ils apparaissent en &lt;strong&gt;gras&lt;/strong&gt;, ce qui est pratique).&lt;/li&gt;
&lt;li&gt;Et j'en passe et des meilleurs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bref, il fait tout ce que ferait un &lt;em&gt;filebrowser&lt;/em&gt; intégré, mais en mieux, puisqu'il est dédié dès le début à cette tache. Afin de le faire interragir au mieux avec gVim, j'utilise la &lt;em&gt;Run action&lt;/em&gt; suivante sur le mimetype &lt;code&gt;text/*&lt;/code&gt;:&lt;/p&gt;


&lt;pre&gt;gvim --servername ash0 --remote-silent-tab &amp;quot;$@&amp;quot;&lt;/pre&gt;


&lt;p&gt;Qui permet d'ouvrir le fichier dans un nouveau tab de &lt;em&gt;vim&lt;/em&gt;, en créant une instance d'un server &lt;em&gt;vim&lt;/em&gt; à la volée si il n'existe pas déjà (ici le server s'appelle &lt;code&gt;ash0&lt;/code&gt;, mais vous pouvez bien évidemment en changer le nom).&lt;/p&gt;


&lt;h3&gt;Une distribution du bien: Ubuntu&lt;/h3&gt;


&lt;p&gt;Et parcequ'il faut bien faire tourner tout ça, j'utilise un système d'exploitation &lt;em&gt;du bien&lt;/em&gt; (tm): GNU/Linux. Mais comme j'ai la flemme, j'utilise une configuration &lt;em&gt;convi-enabled&lt;/em&gt;: &lt;a href=&quot;http://www.ubuntu.com/&quot;&gt;Ubuntu&lt;/a&gt;. Pas besoin de s'étaler je pense, Ubuntu c'est &lt;strong&gt;bien&lt;/strong&gt;, tout le monde en conviendra.&lt;/p&gt;


&lt;h3&gt;Un window-manager léger et puissant: fluxbox&lt;/h3&gt;


&lt;p&gt;Le choix du gestionnaire de fenêtre peut par contre préter a controverse. En effet, c'est ici avant tout une question de gout et de puissance de machine. J'ai personellement un penchant pour les logiciels puissants et légers. Là je vous vois venir avec vos gros sabots: &lt;em&gt;tout le monde veut ce genre de logiciel&lt;/em&gt;. Et bien j'ai envie de répondre que non. La majorité des &lt;em&gt;neo-geeks&lt;/em&gt; de la génération Ubuntu s'en donnent à coeur joie sous Gnome et/ou KDE, qui est loin de ce qu'il convient d'appeler un logiciel &lt;em&gt;puissant et léger&lt;/em&gt;, sous prétexte que les autres &lt;acronym&gt;WM&lt;/acronym&gt; (à part &lt;acronym&gt;KDE&lt;/acronym&gt;), &lt;em&gt;saitrocomplicai&lt;/em&gt;. Bon là ok, j'amalgame surement un peu (beaucoup même, tous les gens sous Gnome ne sont pas des &lt;em&gt;neo-geek&lt;/em&gt;, et l'inverse également), mais il manquait un peu de trollitude dans cet article. Bref, quand on veut, on peut, et comme les gens ne switchent pas de Gnome à un &lt;acronym&gt;WM&lt;/acronym&gt; plus puissant et plus léger, j'en conclus (peut-être à tord hein) qu'ils ne veulent pas.&lt;/p&gt;


&lt;p&gt;Tout ça pour dire que j'utilise &lt;a href=&quot;http://www.fluxbox.org/&quot;&gt;fluxbox&lt;/a&gt;, et ce depuis ma plus tendre enfance. Fluxbox est léger (osez prétendre le contraire...) et puissant: il permet:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;de reconfigurer l'intégralité du comportement de vos fenêtres&lt;/li&gt;
&lt;li&gt;une gestion fine et puissante des raccourcis claviers (j'ai pu reconfigurer les touches &lt;em&gt;convi&lt;/em&gt; de mon clavier &lt;em&gt;convi&lt;/em&gt; en quelques minutes dans mon &lt;code&gt;.fluxbox/keys&lt;/code&gt; grâce à &lt;code&gt;xev&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;de controler facilement quelles applications se lancent au démarrage&lt;/li&gt;
&lt;li&gt;de controler encore plus facilement sur quels bureaux se lancent les sus-citées applications&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Par exemple, mon &lt;code&gt;.fluxbox/startup&lt;/code&gt; démarre sur le premier bureau quelques terminaux, un gaim et un exaile; sur le deuxième bureau un firefox sur le troisième bureau: sylphee, et sur le quatrième bureau, un rox-filer. A coté de ça, je dispose de raccourcis claviers conviviaux pour lancer mes logiciels favoris: le terminal (Mod4&lt;sup&gt;[&lt;a href=&quot;http://mirmodynamics.com/post/2006/11/28/#pnote-723-2&quot; id=&quot;rev-pnote-723-2&quot;&gt;2&lt;/a&gt;]&lt;/sup&gt;+e), rox-filer (Mod4+r), etc. J'ai également à ma disposition des raccourcis claviers pour gérer mes fenêtres: maximiser (horizontalement (Ctrl+Alt+H), verticalement -Ctrl+Alt+V), ou les deux (Ctrl+Alt+M)), &lt;em&gt;enrouler&lt;/em&gt; (Mod4+S), &lt;em&gt;sticker&lt;/em&gt; (Ctrl+Alt+S), enlever les décorations (Ctrl+Alt+T), et j'en passe.&lt;/p&gt;


&lt;p&gt;Enfin, et le plus important pour moi, fluxbox est &lt;em&gt;non-intrusif&lt;/em&gt;. Par défaut, un bureau standard de mon fluxbox ne contient rien. Pas de barre des taches, pas d'icones, pas de menu, &lt;strong&gt;rien&lt;/strong&gt;. Question de gout je vous l'accorde, mais là encore, notez que &amp;quot;c'est faisable&amp;quot;: fluxbox ne vous impose rien, et surtout pas les choix discutables car subjectifs des développeurs.&lt;/p&gt;


&lt;h3&gt;Subversion en ligne de commande&lt;/h3&gt;


&lt;p&gt;Enfin, j'utilise le client subversion en ligne de commande. D'une part parceque je ne connais pas de client digne de ce nom en &lt;acronym&gt;GTK&lt;/acronym&gt; (ma religion m'interdit d'utiliser &lt;acronym&gt;Qt&lt;/acronym&gt;), d'autre part pour profiter pleinement de la puissance qu'offre un shell quand on sait un minimum s'en servir. Pouvoir passer mes commandes &lt;code&gt;svn&lt;/code&gt; dans des &lt;code&gt;awk&lt;/code&gt;, &lt;code&gt;sed&lt;/code&gt;, et autres &lt;code&gt;grep&lt;/code&gt; (surtout &lt;code&gt;grep&lt;/code&gt; en fait), ça n'a pas de prix, et je pense vraiment qu'aucune interface graphique n'arrivera jamais à la cheville de la puissance d'un shell.&lt;/p&gt;


&lt;p&gt;Deuxième avantage à utiliser &lt;code&gt;svn&lt;/code&gt; en ligne de commande: le jour où je serais obligé de le faire, je saurais le faire.&lt;/p&gt;


&lt;h3&gt;Conclusion&lt;/h3&gt;


&lt;p&gt;Voilà, vous savez (presque) tout de mes habitudes de travail (il reste pas mal de domaines à couvrir quand même, je n'ai pas parlé par exemple de mes extensions firefox favorites, ni de mon utilisation intensive de trac, et encore moins des tests unitaires, peut-être une prochaine fois), et j'espère vous avoir donné l'envie de regarder d'un peu plus près ces outils à la réputation peut-être un peu geek, mais d'une puissance incomparable une fois maitrisés :-)&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://mirmodynamics.com/post/2006/11/28/#rev-pnote-723-1&quot; id=&quot;pnote-723-1&quot;&gt;1&lt;/a&gt;] :help &lt;em&gt;commande&lt;/em&gt; est en général d'une grande utilité&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://mirmodynamics.com/post/2006/11/28/#rev-pnote-723-2&quot; id=&quot;pnote-723-2&quot;&gt;2&lt;/a&gt;] Le petit nom de la touche Windows&lt;/p&gt;&lt;/div&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2006/11/28/Linux-gVim-Rox-filer-Mon-IDE#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2006/11/28/Linux-gVim-Rox-filer-Mon-IDE#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/rss2/comments/723</wfw:commentRss>
      </item>
    
  <item>
    <title>Incubated</title>
    <link>http://mirmodynamics.com/post/2006/11/01/Incubated</link>
    <guid isPermaLink="false">urn:md5:7a9cdfbfea0dc5e4f1cc96795fdb0db3</guid>
    <pubDate>Wed, 01 Nov 2006 16:10:00 +0100</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Geekeries</category>
        <category>bonnes pratiques</category><category>doc</category><category>google</category><category>librairie</category><category>microformats</category><category>optimisation</category><category>organisation</category><category>php</category><category>sso</category><category>svn</category><category>sécurité</category><category>ubuntu</category><category>unit testing</category><category>unix</category><category>way of life</category>    
    <description>&lt;p&gt;Les liens interressants (ou pas) de la semaine:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://microformats.org/&quot; title=&quot;http://microformats.org/&quot;&gt;http://microformats.org/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.georss.org/&quot; title=&quot;http://www.georss.org/&quot;&gt;http://www.georss.org/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.thinkvitamin.com/features/ajax/create-a-searchable-google-map&quot; title=&quot;http://www.thinkvitamin.com/features/ajax/create-a-searchable-google-map&quot;&gt;http://www.thinkvitamin.com/feature...&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://features.launchpad.net/distros/ubuntu/+specs&quot; title=&quot;https://features.launchpad.net/distros/ubuntu/+specs&quot;&gt;https://features.launchpad.net/dist...&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://iwantmyopenid.org/bounty&quot; title=&quot;http://iwantmyopenid.org/bounty&quot;&gt;http://iwantmyopenid.org/bounty&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://devzone.zend.com/node/view/id/1113&quot; title=&quot;http://devzone.zend.com/node/view/id/1113&quot;&gt;http://devzone.zend.com/node/view/i...&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://weierophinney.net/matthew/uploads/php_development_best_practices.pdf&quot; title=&quot;http://weierophinney.net/matthew/uploads/php_development_best_practices.pdf&quot;&gt;http://weierophinney.net/matthew/up...&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;    &lt;p&gt;J'ai pas mal entendu parler des microformats ces derniers temps, sans vraiment prendre le temps de me pencher dessus. &lt;a href=&quot;http://www.microformats.org/&quot;&gt;microformats.org&lt;/a&gt; présente l'occasion de se plonger dedans et de comprendre que finalement, les microformats peuvent être un facteur de développement non négligeable pour un site ou une application web. &lt;a href=&quot;http://www.georss.org/&quot;&gt;GeoRSS&lt;/a&gt; de son côté propose une implémentation &lt;em&gt;simple&lt;/em&gt; et &lt;em&gt;puissante&lt;/em&gt; (c'est eux qui le disent) du &lt;a href=&quot;http://en.wikipedia.org/wiki/Geotagging&quot;&gt;Geotagging&lt;/a&gt;. A voir si on ne peut pas coupler tout ça avec quelques pirouettes sur &lt;a href=&quot;http://mirmodynamics.com/post/2006/11/01/&quot;&gt;Google Maps&lt;/a&gt;...&lt;/p&gt;


&lt;p&gt;Pendant ce temps, chez Canonical, on établit déjà les &lt;a href=&quot;https://features.launchpad.net/distros/ubuntu/+specs&quot;&gt;specifications fonctionnelles de Feisty Fawn&lt;/a&gt;, et c'est assez prometteur :-)&lt;/p&gt;


&lt;p&gt;Enfin, dans le petit monde du &lt;acronym&gt;PHP&lt;/acronym&gt; et du webdev en général, il n'est jamais trop tard pour souligner l'existence de protocoles d'authentification centralisée libres comme &lt;a href=&quot;http://openid.net/&quot;&gt;OpenID&lt;/a&gt;, qui de plus à lancé un &lt;em&gt;concours&lt;/em&gt; d'implémentation sous forme de &lt;a href=&quot;http://iwantmyopenid.org/bounty&quot;&gt;bounties&lt;/a&gt; ! On notera également les débuts de &lt;a href=&quot;http://devzone.zend.com/node/view/id/1113&quot;&gt;l'extension d' input filtering pour PHP&lt;/a&gt;, qui promet de simplifier grandement la validation de données externes dans les applis &lt;acronym&gt;PHP&lt;/acronym&gt;. Enfin, &lt;a href=&quot;http://weierophinney.net/matthew/uploads/php_development_best_practices.pdf&quot;&gt;les slides de la conférences PHP Best Practices&lt;/a&gt; qui a eu lieu à la ZendCon, c'est vraiment rempli de bons conseils.&lt;/p&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2006/11/01/Incubated#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2006/11/01/Incubated#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/rss2/comments/711</wfw:commentRss>
      </item>
    
  <item>
    <title>Relayer un stream audio avec icecast2</title>
    <link>http://mirmodynamics.com/post/2006/10/20/Relayer-un-stream-audio-avec-icecast2</link>
    <guid isPermaLink="false">urn:md5:0df1adaf1cd213b3a277c6eb891f838d</guid>
    <pubDate>Fri, 20 Oct 2006 22:05:00 +0200</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Geekeries</category>
        <category>bidouille</category><category>configuration</category><category>doc</category><category>howto</category><category>optimisation</category><category>rigolo</category><category>ubuntu</category><category>unix</category><category>way of life</category><category>work</category>    
    <description>    &lt;p&gt;Pour économiser la bande passante au boulot, j'ai décidé de relayer le stream &lt;em&gt;Club !&lt;/em&gt; de &lt;a href=&quot;http://1.fm/&quot;&gt;1.fm&lt;/a&gt; sur le &lt;acronym&gt;LAN&lt;/acronym&gt;. Après avoir vainement tenté d'utiliser streamripper (on verra plus tard pourquoi vainement), j'ai sorti l'artillerie lourde: &lt;a href=&quot;http://www.icecast.org/&quot;&gt;icecast2&lt;/a&gt;:&lt;/p&gt;


&lt;pre&gt;sudo apt-get install icecast2&lt;/pre&gt;


&lt;p&gt;Si on sait un peu lire, le script de post-configuration nous incite à aller fourrer notre nez dans &lt;code&gt;/etc/default/icecast2&lt;/code&gt;, où l'on apprend (vers la fin) que icecast est désactivé par défaut à cause de la directive &lt;code&gt;ENABLED=false&lt;/code&gt;. C'est en fait une feinte pour nous pousser à configurer le bousin (de toute façon si on le configure pas, il marchera pas). Direction &lt;code&gt;/etc/icecast2/icecast.xml&lt;/code&gt; donc, pour un brin de configuration (les explications qui suivent se basent sur le fichier par défaut d'une installation sur une ubuntu).&lt;/p&gt;


&lt;p&gt;La première partie qui nous interresse s'intitule &lt;code&gt;authentication&lt;/code&gt; (vers la ligne 23). Elle contient les informations d'authentification pour les clients qui se connectent en tant que source (&lt;code&gt;source-password&lt;/code&gt;), les serveurs qui se connectent en tant que slave (&lt;code&gt;relay-password&lt;/code&gt;, en fait je ne suis pas sur à 100%, c'est une déduction) et pour l'interface d'administration (&lt;code&gt;admin-user&lt;/code&gt; et &lt;code&gt;admin-password&lt;/code&gt;). Une fois ces informations modifiées, direction la directive &lt;code&gt;hostname&lt;/code&gt;, qu'on remplira avec au choix, le nom de la machine, son ip, etc. J'ai personellement mis l'ip privée de ma machine (&lt;code&gt;172.16.x.y&lt;/code&gt;), pour que ça correspondent à la prochaine directive qui nous interresse: &lt;code&gt;listen-socket&lt;/code&gt;. Ici on définit le port et l'ip sur laquelle icecast va écouter. En gros, si vous spécifier &lt;code&gt;127.0.0.1&lt;/code&gt;, votre serveur de streaming ne sera accessible qu'en local. On y met donc en général la même chose que dans &lt;code&gt;hostname&lt;/code&gt; (&lt;code&gt;172.16.x.y&lt;/code&gt; par exemple), avec un port qui va bien, libre de préférence (&lt;code&gt;8000&lt;/code&gt; par défaut).&lt;/p&gt;


&lt;p&gt;Maintenant on passe a la partie qui nous interresse vraiment, la section &lt;code&gt;relay&lt;/code&gt;. Rien de bien compliqué ici. Le stream que je souhaite relayer se trouve là: http://64.62.253.223:8060/, or icecast nous demande un &lt;code&gt;server&lt;/code&gt;, un &lt;code&gt;port&lt;/code&gt;, un &lt;em&gt;point de montage&lt;/em&gt; (&lt;code&gt;mount&lt;/code&gt;) et un &lt;em&gt;point de montage local&lt;/em&gt; (&lt;code&gt;local-mount&lt;/code&gt;). Vous avez déjà compris qu'on arrive a cette configuration:&lt;/p&gt;


&lt;pre&gt;   &amp;lt;relay&amp;gt;
       &amp;lt;server&amp;gt;64.62.253.223&amp;lt;/server&amp;gt;
       &amp;lt;port&amp;gt;8060&amp;lt;/port&amp;gt;
       &amp;lt;mount&amp;gt;/&amp;lt;/mount&amp;gt;
       &amp;lt;local-mount&amp;gt;/1.fm&amp;lt;/local-mount&amp;gt;
       &amp;lt;on-demand&amp;gt;0&amp;lt;/on-demand&amp;gt;
       &amp;lt;relay-shoutcast-metadata&amp;gt;1&amp;lt;/relay-shoutcast-metadata&amp;gt;
   &amp;lt;/relay&amp;gt;&lt;/pre&gt;


&lt;p&gt;Ainsi parés, il ne nous reste plus qu'a lancer modifier la directive &lt;code&gt;ENABLED=false&lt;/code&gt; en &lt;code&gt;ENABLED=true&lt;/code&gt; dans &lt;code&gt;/etc/default/icecast2&lt;/code&gt; et à lancer icecast:&lt;/p&gt;


&lt;pre&gt;sudo /etc/init.d/icecast2 start&lt;/pre&gt;


&lt;p&gt;Si vous avez bien tout fait, vous devriez pouvoir streamer depuis &lt;code&gt;http://172.16.x.y:8000/1.fm&lt;/code&gt;, et vos collègues également ! Vous pouvez avoir une vue d'ensemble du serveur ainsi que quelques options d'administration en vous rendant sur l'interface d'admin: http://172.16.x.y:8000/ et en utilisant &lt;code&gt;admin-user&lt;/code&gt; et &lt;code&gt;admin-password&lt;/code&gt; pour vous authentifier.&lt;/p&gt;


&lt;p&gt;A cela on peut ajouter un petit &lt;code&gt;streamripper&lt;/code&gt;:&lt;/p&gt;


&lt;pre&gt;streamripper http://172.16.x.y:8000/1.fm -d ~/streamripped&lt;/pre&gt;


&lt;p&gt;Pour enregistrer. En parlant de streamripper, j'avais tenté au début de relayer avec &lt;code&gt;streamripper -r&lt;/code&gt;, mais malgrès les apparences du &lt;code&gt;netstat -pl&lt;/code&gt; (&lt;code&gt;*:8000 LISTEN&lt;/code&gt;), il ne bind qu'en local, donc impossible d'en faire profiter les collègues :-)&lt;/p&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2006/10/20/Relayer-un-stream-audio-avec-icecast2#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2006/10/20/Relayer-un-stream-audio-avec-icecast2#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/rss2/comments/692</wfw:commentRss>
      </item>
    
  <item>
    <title>Ma première impression sur XGL</title>
    <link>http://mirmodynamics.com/post/2006/10/03/Ma-premiere-impression-sur-XGL</link>
    <guid isPermaLink="false">urn:md5:60e3ea8cf9e08590e0213f9595acc399</guid>
    <pubDate>Tue, 03 Oct 2006 17:08:00 +0200</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Geekeries</category>
        <category>howto</category><category>interfaces utilisateurs</category><category>ubuntu</category>    
    <description>    &lt;p&gt;Bon voilà, je viens de suivre &lt;a href=&quot;http://wiki.beryl-project.org/index.php/Install/Ubuntu/Edgy/XGL&quot;&gt;ce howto&lt;/a&gt;, et ça marche très bien. Passé le stade &lt;em&gt;mais où sont mes efferalgans ?&lt;/em&gt;, on arrive rapidement au stade &lt;em&gt;mais où mon smecta ?&lt;/em&gt;, tellement c'est gerbant de fluidité. Bref, le desktop mappé sur un cube, c'est sympa, mais on lui preferrera de loin les effets moins psychédéliques tels que la &lt;em&gt;vraie&lt;/em&gt; transparence et les animations des fenetres (et encore).&lt;/p&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2006/10/03/Ma-premiere-impression-sur-XGL#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2006/10/03/Ma-premiere-impression-sur-XGL#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/rss2/comments/640</wfw:commentRss>
      </item>
    
  <item>
    <title>Edgy Eft, Dotdeb, php5-pdo-mysql, et moi</title>
    <link>http://mirmodynamics.com/post/2006/10/01/Edgy-Eft-Dotdeb-php5-pdo-mysql-et-moi</link>
    <guid isPermaLink="false">urn:md5:cada8260083979d00e67ac977cd4ac6b</guid>
    <pubDate>Sun, 01 Oct 2006 04:25:00 +0200</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Geekeries</category>
        <category>apache</category><category>apt</category><category>dotdeb</category><category>php</category><category>ubuntu</category>    
    <description>    &lt;p&gt;Bon voilà, ce n'est un secret pour personne, j'ai mis à jour ma Dapper en Edgy, et après avoir laborieusement activé l'accélération &lt;acronym&gt;3D&lt;/acronym&gt; de ma carte graphique, je me suis attelé à la reconstitution de mon environnement de développement favori: &lt;acronym&gt;LAMP5&lt;/acronym&gt;. Cet enrivonnement comprend de plus l'extension PDO Mysql, très utile dans le cadre de l'utilisation du Zend Framework :-) Seulement voilà, Edgy propose un paquet php5 plus à jour que celui de &lt;a href=&quot;http://www.dotdeb.org/&quot;&gt;dotdeb&lt;/a&gt;, ce qui empêche l'installation du paquet php5-pdo-mysql de dotdeb. Ayant mieux à faire qu'installer pdo_mysql via pear, j'ai décidé d'apprendre à me servir un peu d'&lt;acronym&gt;APT&lt;/acronym&gt;, et je me propose de vous faire part de mes conclusions. Commençons par le commencement, le message d'erreur:&lt;/p&gt;


&lt;pre&gt;Les paquets suivants contiennent des dépendances non satisfaites :
  php5-pdo-mysql: Dépend: phpapi-20041225
                  Dépend: php5-common (= 5.1.6-0.dotdeb.2) mais 5.1.6-1ubuntu1 devra être installé
E: Paquets défectueux&lt;/pre&gt;


&lt;p&gt;Il suffit donc de spécifier à &lt;acronym&gt;APT&lt;/acronym&gt; que nous souhaitons utiliser la version &lt;code&gt;5.1.6-0.dotdeb.2&lt;/code&gt; du paquet &lt;code&gt;php5-common&lt;/code&gt;. Rien de plus simple ! Cela se passe dans &lt;code&gt;/etc/apt/preferences&lt;/code&gt;:&lt;/p&gt;


&lt;pre&gt;Package: php5-common
Pin: version 5.1.6-0.dotdeb.2
Pin-Priority: 1001&lt;/pre&gt;


&lt;p&gt;Et comme &lt;code&gt;libapache2-mod-php5&lt;/code&gt; dépend également de &lt;code&gt;php5-common&lt;/code&gt;, il va nous falloir faire de même:&lt;/p&gt;


&lt;pre&gt;Package: libapache2-mod-php5
Pin: version 5.1.6-0.dotdeb.2
Pin-Priority: 1001&lt;/pre&gt;


&lt;p&gt;Voilà, désormais &lt;acronym&gt;APT&lt;/acronym&gt; n'installera que la version &lt;code&gt;5.1.6-0.dotdeb.2&lt;/code&gt; de ces deux paquets, quoiqu'il arrive. Un simple &lt;code&gt;apt-get install php5-pdo-mysql&lt;/code&gt; suffit désormais pour que tout rentre dans l'ordre !&lt;/p&gt;


&lt;p&gt;A noter: &lt;a href=&quot;http://www.debian.org/doc/manuals/apt-howto/ch-apt-get.fr.html#s-pin&quot;&gt;le tutoriel qui m'a tout appris&lt;/a&gt;.&lt;/p&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2006/10/01/Edgy-Eft-Dotdeb-php5-pdo-mysql-et-moi#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2006/10/01/Edgy-Eft-Dotdeb-php5-pdo-mysql-et-moi#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/rss2/comments/637</wfw:commentRss>
      </item>
    
  <item>
    <title>Reconfigurer les locales sous Ubuntu Dapper</title>
    <link>http://mirmodynamics.com/post/2006/06/15/551-reconfigurer-les-locales-sous-ubuntu-dapper</link>
    <guid isPermaLink="false">urn:md5:2d8eee4d57030aeca890141590c79c8e</guid>
    <pubDate>Thu, 15 Jun 2006 11:29:45 +0000</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Le saviez vous ?</category>
        <category>ubuntu</category>    
    <description>    &lt;p&gt;Sous ubuntu Dapper, &lt;code&gt;dpkg-reconfigure locales&lt;/code&gt; ne propose pas de modifier la locale a utiliser sur le système. C'est ennuyeux. Pour remédier a ce problème, nous pouvons utiliser le package &lt;code&gt;localeconf&lt;/code&gt;:&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;This package provides a debconf-based interface to configuring the system-wide locale settings on your system.&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;C'est exactement ce qu'il nous faut.&lt;/p&gt;


&lt;pre&gt;$ sudo apt-get install localeconf
$ sudo dpkg-reconfigure localeconf&lt;/pre&gt;


&lt;p&gt;And violà ;-)&lt;/p&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2006/06/15/551-reconfigurer-les-locales-sous-ubuntu-dapper#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2006/06/15/551-reconfigurer-les-locales-sous-ubuntu-dapper#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/rss2/comments/550</wfw:commentRss>
      </item>
    
  <item>
    <title>Firefox plantouille ?</title>
    <link>http://mirmodynamics.com/post/2006/05/15/536-firefox-plantouille</link>
    <guid isPermaLink="false">urn:md5:1b5ca3ea941edacc0dbbd0d7b57d4285</guid>
    <pubDate>Mon, 15 May 2006 10:33:21 +0000</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Geekeries</category>
        <category>firefox</category><category>ubuntu</category>    
    <description>    &lt;p&gt;Depuis quelques temps, mon firefox 1.5.0.x sous Ubuntu Dapper n'arretait pas de planter, j'avais réussi a endiguer le problème (un peu) grâce à l'installation du plugin noflash, mais il subsistait quand même beaucoup trop de pages à mon gout que mon navigateur preferré n'arrivait pas à lire. J'ai fini par trouver la solution ultime (je ne comprends pas comment j'ai pu ne pas y penser plus tôt):&lt;/p&gt;


&lt;pre&gt;$ sudo apt-get remove libflash-mozplugin&lt;/pre&gt;


&lt;p&gt;Et maintenant tout fonctionne pour le mieux dans le meilleur des mondes (sans flash donc).&lt;/p&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2006/05/15/536-firefox-plantouille#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2006/05/15/536-firefox-plantouille#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/rss2/comments/536</wfw:commentRss>
      </item>
    
  <item>
    <title>Dapper Flight et ICH7</title>
    <link>http://mirmodynamics.com/post/2006/04/25/526-dapper-flight-et-ich7</link>
    <guid isPermaLink="false">urn:md5:f9eed65fe9a98a5b4faee90ada4dbfb4</guid>
    <pubDate>Tue, 25 Apr 2006 16:44:02 +0000</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Geekeries</category>
        <category>ubuntu</category>    
    <description>    &lt;p&gt;Si comme moi vous avez la poisse et qu'après une install de dapper vous n'avez pas de son via le chipset ICH7 de votre Dell Optiplex GX 520, vous pouvez vous en tirer comme ça:&lt;/p&gt;


&lt;pre&gt;$ sudo alsactl power ICH7 on
$ sudo addgroup login audio&lt;/pre&gt;


&lt;p&gt;En remplaçant &lt;em&gt;login&lt;/em&gt; par votre login, bien entendu. En espérant que le problème ne sera pas présent dans la release.&lt;/p&gt;


&lt;p&gt;Merci &lt;a href=&quot;http://jul.is.a.n0life.org/&quot; hreflang=&quot;fr&quot;&gt;julbouln&lt;/a&gt; et Vr pour le coup de main.&lt;/p&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2006/04/25/526-dapper-flight-et-ich7#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2006/04/25/526-dapper-flight-et-ich7#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/rss2/comments/529</wfw:commentRss>
      </item>
    
  <item>
    <title>Utiliser le système d'alternatives de Debian</title>
    <link>http://mirmodynamics.com/post/2006/04/24/525-utiliser-le-systeme-d-alternatives-de-debian</link>
    <guid isPermaLink="false">urn:md5:6bd675fb2dd993b2f5b16d5e08b24cfe</guid>
    <pubDate>Mon, 24 Apr 2006 00:56:44 +0000</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Geekeries</category>
        <category>traduction</category><category>ubuntu</category>    
    <description>&lt;p&gt;Ce billet est la traduction de l'article intitulé &lt;a href=&quot;http://www.debian-administration.org/articles/91&quot;&gt;Using the Debian alternatives system&lt;/a&gt; écrit par &lt;a href=&quot;http://www.debian-administration.org/users/Steve&quot; hreflang=&quot;en&quot;&gt;Steve Kemp&lt;/a&gt; et publié sur le site &lt;a href=&quot;http://www.debian-administration.org/&quot;&gt;Debian Administration&lt;/a&gt;. Cela fait un bon bout de temps que je n'ai pas vraiment pratiqué l'anglais ou traduit quelque chose, donc si vous avez des corrections à apporter, n'hésitez pas.&lt;/p&gt;    &lt;p&gt;Debian est la plus grosse distribution GNU/Linux disponible, avec plus de développeurs, plus de plate-formes et plus de paquets disponibles que n'importe quelle autre. Avec autant de choix, il est courant que les gens aient des idées différentes sur les outils à utiliser - tels que les éditeurs de texte. Le système d'alternatives de Debian essaye de résoudre ce problème.&lt;/p&gt;


&lt;p&gt;Il y a beaucoup d'exemples de programmes ayant besoin d'en executer un autre - par exemple beaucoup de programmes doivent pouvoir autoriser l'utilisateur a faire des modifications dans un fichier. Ils doivent alors executer un éditeur de texte, mais lequel&amp;nbsp;? Il n'est pas approprié pour Debian de forcer l'utilisation d'un outil particulier pour une tâche particulière, si il y a plusieurs alternatives disponibles.&lt;/p&gt;


&lt;p&gt;Par exemple, quand vous planifiez une tache via Cron, on vous présentera un éditeur de texte pour modifier le fichier crontab.&lt;/p&gt;


&lt;p&gt;Plutôt que de forcer l'utilisation d'un éditeur particulier, le paquet cron va vous autoriser à spécifier l'éditeur à utiliser via la variable d'environnement &lt;em&gt;EDITOR&lt;/em&gt;. L'utilisation de variables d'environnement est assez répandue dans le monde Unix pour ce genre de besoin, puisqu'elle permet à chaque programme à offrir un choix à l'utilisateur.&lt;/p&gt;


&lt;p&gt;Cependant, Debian a une solution différente à ce problème.&lt;/p&gt;


&lt;p&gt;Pour quelques types spéciaux d'applications pour lesquels plusieurs programmes peuvent être utilisés, Debian vous permet de choisir quelle alternative vous souhaiter utiliser globalement. Cela couvre des programmes tels que:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Éditeurs de texte&lt;/li&gt;
&lt;li&gt;Navigateurs web&lt;/li&gt;
&lt;li&gt;Gestionnaires de fenêtres&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Cela fonctionne avec un jeu de commandes standards telles que &lt;code&gt;editor&lt;/code&gt;, &lt;code&gt;www-browser&lt;/code&gt; et &lt;code&gt;view&lt;/code&gt;. Chacune de ces commandes n'est qu'un lien symbolique vers la &lt;em&gt;vraie&lt;/em&gt; commande.&lt;/p&gt;


&lt;p&gt;Par exemple, imaginons que vous avez les paquets &lt;code&gt;vim&lt;/code&gt; et &lt;code&gt;emacs21&lt;/code&gt; installés. Pour gérer cela, un programme qui souhaite vous permettre de modifier un fichier executera:&lt;/p&gt;


&lt;pre&gt;/usr/bin/editor&lt;/pre&gt;


&lt;p&gt;Qui est un lien symbolique qui pointe vers:&lt;/p&gt;


&lt;pre&gt;/etc/alternatives/editor&lt;/pre&gt;


&lt;p&gt;Qui a sont tour pointe vers le &lt;em&gt;vrai&lt;/em&gt; éditeur de texte, soit &lt;em&gt;vim&lt;/em&gt; ou &lt;em&gt;emacs&lt;/em&gt; dans notre exemple.&lt;/p&gt;


&lt;p&gt;Ce niveau supplémentaire de redirection permet de mettre à jour facilement le système pour lancer l'éditeur que vous preferrez. Vous pourriez mettre à jour les liens symboliques à la main, mais la manière privilégiée est la suivante:&lt;/p&gt;


&lt;pre&gt;update-alternatives --set editor /usr/bin/emacs21&lt;/pre&gt;


&lt;p&gt;Cela va créer un lien symbolique dans le repertoire &lt;code&gt;/etc/alternatives&lt;/code&gt; qui pointera vers le binaire emacs - désormais quand on executera &lt;code&gt;editor&lt;/code&gt;, emacs sera lancé.&lt;/p&gt;


&lt;p&gt;Si vous changez d'avis et souhaitez utiliser vim in the future, vous n'avez qu'a taper:&lt;/p&gt;


&lt;pre&gt;update-alternatives --set editor /usr/bin/vim&lt;/pre&gt;


&lt;p&gt;Cela fera que vim sera executé quand vous lancerez &lt;code&gt;editor&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;La commande &lt;code&gt;update-alternatives&lt;/code&gt; possède de nombreuses options utiles expliquées dans la page de manuel, que vous pouvez lire en tapant la commande:&lt;/p&gt;


&lt;pre&gt;man update-alternatives&lt;/pre&gt;


&lt;p&gt;Par exemple, vous pouvez voir quel programme sera executé pour un nom donné:&lt;/p&gt;


&lt;pre&gt;skx@lappy:~$ update-alternatives --list x-www-browser
/usr/bin/mozilla-firefox&lt;/pre&gt;


&lt;p&gt;Cela nous montre qu'executer la commande &lt;code&gt;x-www-browser&lt;/code&gt; finira par executer &lt;code&gt;mozilla-firefox&lt;/code&gt;. Sur votre machine quelque chose de complètement différent peut être executé&amp;nbsp;!&lt;/p&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2006/04/24/525-utiliser-le-systeme-d-alternatives-de-debian#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2006/04/24/525-utiliser-le-systeme-d-alternatives-de-debian#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/rss2/comments/528</wfw:commentRss>
      </item>
    
  <item>
    <title>Désinstaller kubuntu</title>
    <link>http://mirmodynamics.com/post/2006/04/18/521-desinstaller-kubuntu</link>
    <guid isPermaLink="false">urn:md5:abb610abb30d6aba4eb471587230ee86</guid>
    <pubDate>Tue, 18 Apr 2006 14:19:11 +0000</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Geekeries</category>
        <category>ubuntu</category>    
    <description>    &lt;p&gt;Alors voilà, desfois, on est pris de folie, et on lance un malheureux &lt;code&gt;apt-get install kubuntu-desktop&lt;/code&gt;. Avec un peu de bol, on oublie le &lt;code&gt;sudo&lt;/code&gt; et tout s'arrette là. Si on a pas de bol, l'installation commence. Pas de bol oui, parcequ'un jour où l'autre (à moins qu'on aime &lt;acronym&gt;KDE&lt;/acronym&gt; au point d'y rester), on voudra désinstaller tout le bordel laissé là par cet immonde package, et en se rendant compte qu'un simple &lt;code&gt;apt-get remove --purge kubuntu-desktop&lt;/code&gt; ne suffit pas, on commence a flipper sérieusement.&lt;/p&gt;


&lt;p&gt;C'est là qu'arrive la puissance d'&lt;acronym&gt;APT&lt;/acronym&gt;, de &lt;acronym&gt;dpkg&lt;/acronym&gt; et de la ligne de commande:&lt;/p&gt;


&lt;pre&gt;$ apt-get remove --purge `apt-cache depends kubuntu-desktop | cut -d : -f 2 | grep kde`
$ apt-get remove --purge `dpkg -l | grep kde | cut -d \  -f 3`
$ apt-get remove --purge `deborphan`&lt;/pre&gt;


&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;: effectivement, il manque l'install de deborphan:&lt;/p&gt;


&lt;pre&gt;$ apt-get install deborphan&lt;/pre&gt;

&lt;p&gt;And voilà, on a un système comme neuf&amp;nbsp;!&lt;/p&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2006/04/18/521-desinstaller-kubuntu#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2006/04/18/521-desinstaller-kubuntu#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/rss2/comments/515</wfw:commentRss>
      </item>
    
  <item>
    <title>Downgrade MySQL 5.0 vers 4.x avec APT</title>
    <link>http://mirmodynamics.com/post/2006/04/13/520-downgrade-mysql-50-vers-4x-avec-apt</link>
    <guid isPermaLink="false">urn:md5:ded35d072423fec57bbb45dbef6078d9</guid>
    <pubDate>Thu, 13 Apr 2006 13:22:37 +0000</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Le saviez vous ?</category>
        <category>sql</category><category>ubuntu</category>    
    <description>    &lt;p&gt;Si vous avez un mysql-server-5.0 d'installé et que vous souhaitez le downgrader vers un 4.x (pour une raison X ou Y), il est probable que &lt;acronym&gt;APT&lt;/acronym&gt; vous jette ainsi:&lt;/p&gt;


&lt;pre&gt;Aborting downgrade from (at least) 5.0 to 4.1.
dpkg: error processing mysql-server-4.1_4.1.15-1ubuntu5_i386.deb (--install):
 subprocess pre-installation script returned error exit status 1
Errors were encountered while processing:
 mysql-server-4.1_4.1.15-1ubuntu5_i386.deb&lt;/pre&gt;


&lt;p&gt;So what&amp;nbsp;? Il s'agit en fait d'un problème causé par la présence du &lt;em&gt;/var/lib/mysql&lt;/em&gt; du mysql-server-5.0, il suffit de le supprimer, ou de le déplacer pour backup:&lt;/p&gt;


&lt;pre&gt;rm -rf /var/lib/mysql
mv /var/lib/mysql /var/lib/mysql.old&lt;/pre&gt;


&lt;p&gt;Une des deux seulement hein&amp;nbsp;! Puis on relance l'installation:&lt;/p&gt;


&lt;pre&gt;apt-get install mysql-server-4.1&lt;/pre&gt;


&lt;p&gt;Ce post inaugure le retour en douceur des posts techniques sur ce blog.&lt;/p&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2006/04/13/520-downgrade-mysql-50-vers-4x-avec-apt#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2006/04/13/520-downgrade-mysql-50-vers-4x-avec-apt#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/rss2/comments/525</wfw:commentRss>
      </item>
    
  <item>
    <title>Exprimez tout l'éclat de votre pingouin !</title>
    <link>http://mirmodynamics.com/post/2006/02/18/497-exprimez-tout-l-eclat-de-votre-pingouin</link>
    <guid isPermaLink="false">urn:md5:f66ee63723c81dd7185d11b33f18e936</guid>
    <pubDate>Sat, 18 Feb 2006 23:49:10 +0000</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Geekeries</category>
        <category>rigolo</category><category>ubuntu</category>    
    <description>    &lt;p&gt;&lt;a href=&quot;http://www.sunsilk.fr/main_product/Home_Range_Eusunsilk/1,,10-1-1,00.html&quot;&gt;sans commentaire&lt;/a&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2006/02/18/497-exprimez-tout-l-eclat-de-votre-pingouin#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2006/02/18/497-exprimez-tout-l-eclat-de-votre-pingouin#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/rss2/comments/494</wfw:commentRss>
      </item>
    
</channel>
</rss>