<?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 - Tag - clichés</title>
  <link>http://mirmodynamics.com/</link>
  <atom:link href="http://mirmodynamics.com/feed/tag/clich%C3%A9s/rss2" rel="self" type="application/rss+xml"/>
  <description>Si tu kiffes pas reunoi, t'écoutes pas et puis c'est tout.</description>
  <language>en</language>
  <pubDate>Sun, 14 Mar 2010 19:59:01 +0100</pubDate>
  <copyright>2003-2009 &amp;copy; Geoffrey Bachelet</copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Ergonomie d'un blog</title>
    <link>http://mirmodynamics.com/post/2007/02/06/Ergonomie-dun-blog</link>
    <guid isPermaLink="false">urn:md5:07236eaaf779b167e98bc746cc86d29f</guid>
    <pubDate>Tue, 06 Feb 2007 10:27:00 +0100</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Geekeries</category>
        <category>bonnes pratiques</category><category>clichés</category><category>concepts</category><category>ergonomie</category><category>interfaces utilisateurs</category><category>opinions</category>    
    <description>    &lt;p&gt;&lt;a href=&quot;http://www.biologeek.com/journal/index.php/ergonomie-d-un-blog-analyse-des-reponses&quot;&gt;Petite étude rapide sur l'ergonomie des blogs&lt;/a&gt;, chez Biologeek. Le panel représentatif est peut-être un peu faible, mais l'analyse compense :-)&lt;/p&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2007/02/06/Ergonomie-dun-blog#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2007/02/06/Ergonomie-dun-blog#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/atom/comments/742</wfw:commentRss>
      </item>
    
  <item>
    <title>Collections, Object Chaining, et la vérité sur le Père Noël</title>
    <link>http://mirmodynamics.com/post/2006/11/29/Collections-Object-Chaining-et-la-verite-sur-le-Pere-Noel</link>
    <guid isPermaLink="false">urn:md5:e7c45d491281466d693e2b556945606a</guid>
    <pubDate>Wed, 29 Nov 2006 23:09:00 +0100</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Coding</category>
        <category>clichés</category><category>php</category><category>rigolo</category><category>SPL</category><category>surclassage</category><category>zend framework</category>    
    <description>    &lt;p&gt;Aujourd'hui je vais vous parler de deux concepts que j'aime beaucoup et que j'ai (re)découverts en travaillant sur mon projet personnel de conquête de l'univers: les Collections d'objets et l'Object Chaining.&lt;/p&gt;


&lt;p&gt;Les collections, qui sont peut-être finalement un design pattern connu sous un autre nom, permettent d'executer aisément des méthodes sur plusieurs objets (une collection d'objets quoi). Concrétement, disons qu'on à une classe &lt;code&gt;My_Collection&lt;/code&gt;, qui implémente les interfaces &lt;code&gt;Iterator&lt;/code&gt; (et &lt;code&gt;Countable&lt;/code&gt; tant qu'a faire) de la &lt;acronym&gt;SPL&lt;/acronym&gt;, ainsi que la fonction magique &lt;code&gt;__call&lt;/code&gt; suivante (je vous fait grace du docblock):&lt;/p&gt;

&lt;pre&gt;
class My_Collection implements Iterator, Countable {
	public function __call($method, $args) {
		$calls = 0;
		foreach($this as $item) {
			if (method_exists($item, $method)) {
				call_user_func_array(array($item, $method), $args);
				$calls++;
			}
		}
		if ($calls &amp;gt; 0) {
			return $this;
		} else {
			throw new My_Collection_Exception('Method catched but could not be called: '.$method);
		}
	}
}
&lt;/pre&gt;


&lt;p&gt;Ce &lt;em&gt;dispositif&lt;/em&gt; permet d'utiliser le genre de code suivant (si les objets de la collection le permettent, bien évidemment, et disons qu'ici ce sont des objets représentant des images, supportant les méthodes &lt;code&gt;move&lt;/code&gt; et &lt;code&gt;createThumbnail&lt;/code&gt;):&lt;/p&gt;

&lt;pre&gt;
# $array contient les objets My_Image
$collection = new My_Collection($array);
$collection-&amp;gt;move('/new/path/')-&amp;gt;createThumbnail();
&lt;/pre&gt;


&lt;p&gt;Ce qui, comme vous l'aurez deviné, déplacera les fichiers de la collection vers &lt;code&gt;/new/path&lt;/code&gt;, puis en créera des miniatures.&lt;/p&gt;


&lt;p&gt;Deuxième chose, l'Object Chaining. On vient de le voir en fait, ça consiste à &lt;em&gt;chainer&lt;/em&gt; les appels de méthodes grâce à un subtil &lt;code&gt;return $this;&lt;/code&gt;, qui retourne donc une référence à l'objet courant. Exemple pratique, dans le Zend Framework, en étendant &lt;code&gt;Zend_View&lt;/code&gt;:&lt;/p&gt;

&lt;pre&gt;
class My_View extends Zend_View {
	public function assign($spec) {
		$args = func_get_args();
		call_user_func_array(array('parent', 'assign'), $args);
		return $this;
	}
}
&lt;/pre&gt;


&lt;p&gt;Ce qui autorise le genre de code suivant (en admettant que vous ayiez une instance de &lt;code&gt;My_View&lt;/code&gt; dans le registre):&lt;/p&gt;

&lt;pre&gt;
Zend::registry('view')
	-&amp;gt;assign('foo', $foo)
	-&amp;gt;assign('foo', $bar)
	-&amp;gt;render('template.php');
&lt;/pre&gt;


&lt;p&gt;Et là c'est fort, parceque ça rejoint fortement &lt;a href=&quot;http://fashion.hosmoz.net/blog/post/2006/01/28/489-considerations-nocturne-sur-php&quot;&gt;quelque chose dont je parlais en janvier dernier&lt;/a&gt; (le truc qui parle de &lt;code&gt;with&lt;/code&gt;), et donc j'en déduis une chose formidable: &lt;strong&gt;Le père noël existe&lt;/strong&gt;, et il m'a entendu. Merci Santa Copain.&lt;/p&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2006/11/29/Collections-Object-Chaining-et-la-verite-sur-le-Pere-Noel#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2006/11/29/Collections-Object-Chaining-et-la-verite-sur-le-Pere-Noel#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/atom/comments/728</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/Linux-gVim-Rox-filer-Mon-IDE#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/Linux-gVim-Rox-filer-Mon-IDE#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/Linux-gVim-Rox-filer-Mon-IDE#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/Linux-gVim-Rox-filer-Mon-IDE#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/atom/comments/723</wfw:commentRss>
      </item>
    
  <item>
    <title>Discussion sur l'optimisation en PHP chez NiKo</title>
    <link>http://mirmodynamics.com/post/2006/11/23/Discussion-sur-loptimisation-en-PHP-chez-NiKo</link>
    <guid isPermaLink="false">urn:md5:967d08dda8033faf171a3edb213844a8</guid>
    <pubDate>Thu, 23 Nov 2006 13:40:00 +0100</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Coding</category>
        <category>bonnes pratiques</category><category>clichés</category><category>configuration</category><category>environnement</category><category>optimisation</category><category>organisation</category><category>way of life</category>    
    <description>    &lt;p&gt;&lt;a href=&quot;http://www.prendreuncafe.com/blog/post/2006/11/22/12-astuces-optimisation-performances-php&quot;&gt;Une petite discussion sur l'optimisation en PHP&lt;/a&gt; à lieu en ce moment chez NiKo ! Ce n'est pas souvent que je &lt;em&gt;link&lt;/em&gt; directement comme ça, donc dites vous que quand je le fais, c'est que ça en vaut la peine ;-)&lt;/p&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2006/11/23/Discussion-sur-loptimisation-en-PHP-chez-NiKo#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2006/11/23/Discussion-sur-loptimisation-en-PHP-chez-NiKo#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/atom/comments/724</wfw:commentRss>
      </item>
    
  <item>
    <title>Bonnes pratiques PHP</title>
    <link>http://mirmodynamics.com/post/2006/10/29/Bonnes-pratiques-PHP</link>
    <guid isPermaLink="false">urn:md5:1abac6f3dcb348da1fd774b47ad6e842</guid>
    <pubDate>Sun, 29 Oct 2006 16:22:00 +0100</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Coding</category>
        <category>bonnes pratiques</category><category>clichés</category><category>opinions</category><category>optimisation</category><category>organisation</category><category>php</category><category>way of life</category>    
    <description>    &lt;p&gt;Vite fait, un petit jeu pour vous, amis PHPiens.&lt;/p&gt;


&lt;p&gt;Dans le snippet de code qui suit se cachent 6 bonnes pratiques (7 selon le degré de subjectivité que l'on inclue dans une &lt;em&gt;bonne pratique&lt;/em&gt;), saurez vous les retrouver ?&lt;/p&gt;


&lt;pre&gt;&amp;lt;?php

$code_is_ugly = true;
if (9069 === $code_author) {
	$code_is_ugly = false;
}

?&amp;gt;&lt;/pre&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2006/10/29/Bonnes-pratiques-PHP#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2006/10/29/Bonnes-pratiques-PHP#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/atom/comments/705</wfw:commentRss>
      </item>
    
  <item>
    <title>Un forum qu'il est bien: Invision Power Board</title>
    <link>http://mirmodynamics.com/post/2006/10/20/Un-forum-quil-est-bien%3A-Invision-Power-Board</link>
    <guid isPermaLink="false">urn:md5:2749882577f14d005c5bea0531e5a0f6</guid>
    <pubDate>Fri, 20 Oct 2006 14:13:00 +0200</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Geekeries</category>
        <category>clichés</category><category>configuration</category><category>php</category><category>way of life</category><category>work</category>    
    <description>    &lt;p&gt;Alors au taf on va déployer des forums sur l'ensemble des sites du groupe, et donc après un rapide tour des forums disponibles (tant libres que commerciaux), on a choisi &lt;a href=&quot;http://www.invisionpower.com/&quot;&gt;Invision Power Board&lt;/a&gt;. Après une matinée de trifouillage, j'ai l'intime conviction que nous avons fait le bon choix. En effet, avec Invision Power Board, on peut mettre en place un &lt;acronym&gt;SSO&lt;/acronym&gt; en moins d'une heure tout en&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;buvant son café&lt;/li&gt;
&lt;li&gt;lisant ses &lt;acronym&gt;RSS&lt;/acronym&gt;&lt;/li&gt;
&lt;li&gt;discutant avec son chef&lt;/li&gt;
&lt;li&gt;glandant sur &lt;acronym&gt;IRC&lt;/acronym&gt;&lt;/li&gt;
&lt;li&gt;rigolant avec les collègues&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Et ça, c'est pas avec des forums libres que c'est possible.&lt;/p&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2006/10/20/Un-forum-quil-est-bien%3A-Invision-Power-Board#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2006/10/20/Un-forum-quil-est-bien%3A-Invision-Power-Board#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/atom/comments/690</wfw:commentRss>
      </item>
    
  <item>
    <title>Coca-Cola et Minute Maid</title>
    <link>http://mirmodynamics.com/post/2006/10/18/Coca-Cola-et-Minute-Maid</link>
    <guid isPermaLink="false">urn:md5:be1029f2d70097a52079591a70203a7a</guid>
    <pubDate>Wed, 18 Oct 2006 22:32:00 +0200</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Le saviez vous ?</category>
        <category>bouffe</category><category>clichés</category><category>optimisation</category><category>rigolo</category><category>santé</category><category>stupide</category><category>way of life</category>    
    <description>    &lt;p&gt;Non je ne vous dirai pas que Minute Maid appartient à Coca-Cola, tout le monde le sait déjà. Le truc qu'on ne sait pas forcément, et ce surtout grâce au célèbre mantra &lt;em&gt;coca == sucre&lt;/em&gt;, c'est qu'un Coca-Cola est moins calorique et contient moins de glucides qu'un Minute Maid &lt;em&gt;Tropicale&lt;/em&gt;. Qui l'eut-cru ?&lt;/p&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2006/10/18/Coca-Cola-et-Minute-Maid#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2006/10/18/Coca-Cola-et-Minute-Maid#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/atom/comments/671</wfw:commentRss>
      </item>
    
  <item>
    <title>Marre</title>
    <link>http://mirmodynamics.com/post/2006/10/13/Marre</link>
    <guid isPermaLink="false">urn:md5:2ccd1d9df76887a41ba7641f9502c75e</guid>
    <pubDate>Fri, 13 Oct 2006 10:24:00 +0200</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Rubrique à brac</category>
        <category>clichés</category><category>opinions</category><category>stupide</category><category>work</category>    
    <description>    &lt;p&gt;Toujours à se plaindre sans réfléchir, prompt à insulter quelqu'un qui lui répond pourtant courtoisement, et bien sur, ne reconnaissant jamais l'aide qu'on peut s'efforcer de lui apporter, l'internaute de base est vraiment un c*nnard, surtout quand il a tort (c'est à dire la majorité du temps).&lt;/p&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2006/10/13/Marre#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2006/10/13/Marre#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/atom/comments/642</wfw:commentRss>
      </item>
    
  <item>
    <title>Arrêter de fumer: fausse bonne idée ?</title>
    <link>http://mirmodynamics.com/post/2006/09/17/Arreter-de-fumer%3A-fausse-bonne-idee</link>
    <guid isPermaLink="false">urn:md5:ebc59971c597b1f51bab7ba3bb8f00f3</guid>
    <pubDate>Sun, 17 Sep 2006 01:19:00 +0200</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Rubrique à brac</category>
        <category>clichés</category><category>santé</category><category>way of life</category>    
    <description>    &lt;p&gt;J'avoue, j'avais envie d'avoir un titre polémique à la con, et ne nous leurrons pas, arrêter de fumer est &lt;strong&gt;toujours&lt;/strong&gt; une bonne idée. Je voulais juste vous faire part de quelques réflexions à ce sujet. Tout d'abord, sachez qu'arrêter de fumer fait grossir. C'est &lt;strong&gt;inéluctable&lt;/strong&gt; si on ne prend pas soin de remplacer la clope par une activité saine et physique (en général c'est du sport). J'ai personellement pris une bonne dizaine de kilos en moins de 10 mois après avoir arrêté de fumer. Ma coiffeuse me disait cet après midi qu'un de ses collègues avait pris 17 kilos en moins de 2 mois ! Dingue non ? Deuxième point, l'acte de fumer est un facteur d'intégration social. Ca parait con comme ça, mais engager la conversation sur un &lt;em&gt;t'as pas du feu ?&lt;/em&gt; ou &lt;em&gt;t'as pas une clope ?&lt;/em&gt; n'est pas rare, d'autant plus quand on arrive dans un milieu nouveau mais dans lequel on risque de passer une grande partie de son temps (école, travail, etc.). Par exemple vendredi, en sortant du bureau j'ai croisé Bertrand (ce n'est pas son vrai prénom non, mais j'essaye de me conformer à la règle 364) qui fumait sa clope, et comme j'aime bien Bertrand mais que je n'ai pas souvent l'occasion de parler avec lui (il est journaliste, donc il travaille à l'autre bout des locaux), j'aurai bien aimé rester à fumer une clope avec lui pour discuter. Dernière chose, fumer c'est foutrement agréable, quoi qu'on en dise.&lt;/p&gt;


&lt;p&gt;Maintenant, n'allez pas croire que j'incite les gens à fumer, bien au contraire. Le non-fumage possède bien ses avantages indéniables, nottament au niveau physique: on respire mieux, c'est un fait. L'odorat et le goût sont des sens complètement dévastés par la cigarette. La majorité des fumeurs vous soutiendront que &lt;em&gt;non non ça va, je sens les odeurs&lt;/em&gt;, mais ils se fourvoient, comme je me suis moi même fourvoyé à l'époque. En deux semaines l'effet est foudroyant, surtout au niveau du goût pour moi (je suppose que c'est différent pour tout le monde). Autre effet notable: on devient plus riche. Pour une personne qui, comme moi auparavant, fume un paquet de cigarettes par jour, ce sont pas moins (souvent plus en fait) de 5 euros par jour qui s'envolent en fumée, au sens le plus strict du terme. 5 euros par jour, ça fait 150 euros par mois, c'est énorme, même quand on gagne bien sa vie (comme moi oui, même si je ne suis pas l'homme le plus riche du monde). La plus grande des joies étant de pouvoir se regarder dans la glace et de se dire que la victoire de l'homme sur le tabac, c'est beau.&lt;/p&gt;


&lt;p&gt;Dernière chose à noter: Rien n'impressionne un fumeur. Vous aurez beau lui dire qu'il court à sa perte à chaque bouffée qu'il inhale, que ses clopes sont bourrées de produits nocifs pour la santé, qu'il creuse sa tombe, etc., &lt;strong&gt;il le sait déjà&lt;/strong&gt; et, la plupart du temps, &lt;strong&gt;il s'en fout&lt;/strong&gt;. Que voulez vous faire contre quelqu'un qui court sciemment au devant de sa mort ? Il est beaucoup plus facile d'arrêter de fumer inconsciemment. C'est comme ça que j'ai fait: ma copine (toute neuve à l'époque) m'incitait à réduire ma consommation (contrairement à une ex qui m'avait interdit de fumer, ce qui est la pire chose qu'on puisse faire), et plus le temps passait, moins je fumais. Au bout de 2 mois (maximum), je ne fumais plus, sans m'en être rendu compte. Dingue.&lt;/p&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2006/09/17/Arreter-de-fumer%3A-fausse-bonne-idee#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2006/09/17/Arreter-de-fumer%3A-fausse-bonne-idee#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/atom/comments/599</wfw:commentRss>
      </item>
    
</channel>
</rss>