<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>GNU Squad &#187; Logiciels divers</title>
	<atom:link href="http://blog.gnusquad.org/category/logiciels-divers/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.gnusquad.org</link>
	<description>Freedom computers</description>
	<lastBuildDate>Tue, 15 Jun 2010 06:04:14 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Afficher les caractères spéciaux dans Vim</title>
		<link>http://blog.gnusquad.org/2009/07/24/afficher-les-caracteres-speciaux-dans-vim/</link>
		<comments>http://blog.gnusquad.org/2009/07/24/afficher-les-caracteres-speciaux-dans-vim/#comments</comments>
		<pubDate>Fri, 24 Jul 2009 14:52:10 +0000</pubDate>
		<dc:creator>Sylvain</dc:creator>
				<category><![CDATA[Logiciels divers]]></category>
		<category><![CDATA[Vim]]></category>
		<category><![CDATA[Planet Libre]]></category>

		<guid isPermaLink="false">http://blog.gnusquad.org/?p=260</guid>
		<description><![CDATA[De temps à autre, lors de l&#8217;écriture de scripts, il m&#8217;arrive d&#8217;accompagner l&#8217;appui de la touche espace de sa voisine, la touche « ALT-GR » ce qui du coup crée une espace insécable, invisible sur le moment jusqu&#8217;à ce que le script plante (la plupart du temps après un « pipe &#8211; ALT-GR + 8 [...]]]></description>
			<content:encoded><![CDATA[<p>De temps à autre, lors de l&#8217;écriture de scripts, il m&#8217;arrive d&#8217;accompagner l&#8217;appui de la touche espace de sa voisine, la touche « <em>ALT-GR</em> » ce qui du coup crée une espace insécable, invisible sur le moment jusqu&#8217;à ce que le script plante (la plupart du temps après un « <em>pipe</em> &#8211; <em>ALT-GR + 8</em> »)…</p>
<p>Heureusement, grâce à Vim, il est possible d&#8217;afficher certains caractères spéciaux via les variables « <em>list</em> » et « <em>listchars</em> ».</p>
<p>« <em>list</em> » permet d&#8217;activer l&#8217;affichage des caractères spéciaux, on l&#8217;active en tapant « <em>set list</em> » et on le désactive en tapant « <em>set list!</em> » ou « <em>set nolist</em> ».<br />
« <em>listchars</em> » contient la liste des caractères spéciaux à afficher séparés par des virgules (le « <em>c</em> » après le « <em>:</em> » étant le caractère de remplacement à afficher) :</p>
<ul>
<li>Fin de ligne : « <em>eol:c</em> »</li>
<li>Tabulation : « <em>tab:xy</em> » (« <em>x</em> » étant le premier caractère de la tabulation, « <em>y</em> » étant le reste qui peut varier)</li>
<li>Espaces de fin de ligne : « <em>trail:c</em> »</li>
<li>Débordement à droite de la ligne par rapport à l&#8217;écran : « <em>extends:c</em> »</li>
<li>Débordement à gauche de la ligne par rapport à l&#8217;écran : « <em>precedes:c</em> »</li>
<li>Espace insécable : « <em>nbsp:c</em> »</li>
</ul>
<p>Voici, pour exemple, les paramètres provenant de mon fichier « <em>~/.vimrc</em> » :</p>
<pre>" Affiche les caractères spéciaux
set listchars=nbsp:¤,tab:&gt;-,trail:¤,extends:&gt;,precedes:&lt;
set list</pre>
<p>Avant :<br />
<img class="alignnone size-full wp-image-268" title="VIM (list = false)" src="http://blog.gnusquad.org/wp-content/uploads/2009/07/vim_nolistchars.png" alt="VIM (list = false)" width="340" height="158" /></p>
<p>Après:<br />
<img class="alignnone size-full wp-image-267" title="VIM (list = true)" src="http://blog.gnusquad.org/wp-content/uploads/2009/07/vim_listchars.png" alt="VIM (list = true)" width="340" height="158" /></p>
<p>Sympa, non ? Merci vim ! <img src='http://blog.gnusquad.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
<span id="more-260"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gnusquad.org/2009/07/24/afficher-les-caracteres-speciaux-dans-vim/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Habillez vos commentaires facilement grâce à Vim</title>
		<link>http://blog.gnusquad.org/2009/07/22/habillez-vos-commentaires-facilement-grace-a-vim/</link>
		<comments>http://blog.gnusquad.org/2009/07/22/habillez-vos-commentaires-facilement-grace-a-vim/#comments</comments>
		<pubDate>Wed, 22 Jul 2009 11:20:35 +0000</pubDate>
		<dc:creator>Sylvain</dc:creator>
				<category><![CDATA[Logiciels divers]]></category>
		<category><![CDATA[Vim]]></category>
		<category><![CDATA[Planet Libre]]></category>

		<guid isPermaLink="false">http://blog.gnusquad.org/?p=242</guid>
		<description><![CDATA[J&#8217;ai pour habitude d&#8217;afficher de jolis commentaires bien démarqués du code source afin de pouvoir les lire très rapidement sans devoir les chercher. Hors, selon les langages de programmation, ceux-ci ne s&#8217;écrivent pas de la même façon. Je vous propose donc une petite macro (à placer dans votre « ~/.vimrc ») permettant d&#8217;habiller facilement vos [...]]]></description>
			<content:encoded><![CDATA[<p>J&#8217;ai pour habitude d&#8217;afficher de jolis commentaires bien démarqués du code source afin de pouvoir les lire très rapidement sans devoir les chercher. Hors, selon les langages de programmation, ceux-ci ne s&#8217;écrivent pas de la même façon. Je vous propose donc une petite macro (à placer dans votre « <em>~/.vimrc</em> ») permettant d&#8217;habiller facilement vos commentaires ; celle-ci étant accessible grâce à la touche <strong>F8</strong> en mode normal.</p>
<p>Voici la macro en question :</p>
<pre>
map &lt;F8&gt; :call Comment()&lt;CR&gt;

function! Comment()
    let ext = expand("%:e")

    if ext == 'html' || ext == 'htm'
        execute "normal yyPPI&lt;!--^[lDjI   ^[j^DI--&gt;^[j"
        return
    endif

    if ext == 'php' || ext == 'js'
        execute "normal I// ^[A //^[yyPv$r/yyjpj"
        return
    endif

    if ext == 'txt'
        execute "normal I| ^[A |^[yyPr+lv$r-$r+yyjpj"
        return
    endif

    if ext == 'tex'
        execute "normal I% ^[A %^[yyPr%lv$r/$r%yyjpj"
        return
    endif

    if ext == 'c' || ext == 'cpp' || ext == 'cc' || ext == 'h' || ext == 'hpp'
        execute "normal yyPPI/*^[lDjI   ^[j^DI*/^[j"
        return
    endif

    " Style de commentaire par défaut
    if ext == 'sh' || ext == 'py' || ext == 'pl' || 1
        execute "normal I# ^[A #^[yyPr#lv$r/$r#yyjpj"
        return
    endif
endfunction
</pre>
<p>J&#8217;ai deux petites remarques à faire :</p>
<ol>
<li>« <em>^[</em> » correspond à « <em>ECHAP</em> » que l&#8217;on écrit en appuyant sur « <em>CTRL+V</em> » puis « <em>ECHAP</em> »;</li>
<li>le style de commentaire par défaut doit être sur la dernière ligne à cause du test « <em>|| 1</em> » qui dans tous les cas validera la condition.</li>
</ol>
<p>Voici le résultat obtenu selon le format de fichier :</p>
<ul>
<li>
Extension du fichier <em>html</em> ou <em>htm</em> :</p>
<pre>
&lt;!--
   Hello GNU Squad !
--&gt;
</pre>
</li>
<li>
Extension du fichier <em>php</em> ou <em>js</em> :</p>
<pre>
///////////////////////
// Hello GNU Squad ! //
///////////////////////
</pre>
</li>
<li>
Extension du fichier <em>txt</em> :</p>
<pre>
+-------------------+
| Hello GNU Squad ! |
+-------------------+
</pre>
</li>
<li>
Extension du fichier <em>tex</em> :</p>
<pre>
%///////////////////%
% Hello GNU Squad ! %
%///////////////////%
</pre>
</li>
<li>
Extension du fichier <em>c</em>, <em>cpp</em>, <em>h</em> ou <em>hpp</em> :</p>
<pre>
/*
   Hello GNU Squad !
*/
</pre>
</li>
<li>
Extension du fichier <em>sh</em>, <em>py</em>, <em>pl</em> et tout le reste :</p>
<pre>
#///////////////////#
# Hello GNU Squad ! #
#///////////////////#
</pre>
</li>
</ul>
<p>À vous d&#8217;agrémenter ou de modifier selon vos besoins, si vous avez besoin d&#8217;aide, n&#8217;hésitez-pas à passer par les commentaires <img src='http://blog.gnusquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
<span id="more-242"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gnusquad.org/2009/07/22/habillez-vos-commentaires-facilement-grace-a-vim/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Gérer ses templates pour Vim sans fichiers externes</title>
		<link>http://blog.gnusquad.org/2009/06/25/gerer-ses-templates-pour-vim-sans-fichiers-externes/</link>
		<comments>http://blog.gnusquad.org/2009/06/25/gerer-ses-templates-pour-vim-sans-fichiers-externes/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 10:50:45 +0000</pubDate>
		<dc:creator>Sylvain</dc:creator>
				<category><![CDATA[Logiciels divers]]></category>
		<category><![CDATA[Vim]]></category>
		<category><![CDATA[Planet Libre]]></category>

		<guid isPermaLink="false">http://blog.gnusquad.org/?p=210</guid>
		<description><![CDATA[Suite à un billet posté sur le site Informatique et liberté évoquant une solution originale pour gérer ses templates avec Vim, j&#8217;ai décidé d&#8217;améliorer un peu la technique en utilisant la puissance de ce superbe éditeur combinée à celle de sed.
Habituellement, pour chaque template, nous créons un fichier externe placé dans notre dossier personnel ~/.vim. [...]]]></description>
			<content:encoded><![CDATA[<p>Suite à un billet posté sur le site <a href="http://informatique-et-liberte.tuxfamily.org/2009/06/23/vim-et-son-vimrc-la-gestion-des-templates/trackback/">Informatique et liberté</a> évoquant une solution originale pour gérer ses templates avec <em>Vim</em>, j&#8217;ai décidé d&#8217;améliorer un peu la technique en utilisant la puissance de ce superbe éditeur combinée à celle de <em>sed</em>.</p>
<p>Habituellement, pour chaque template, nous créons un fichier externe placé dans notre dossier personnel <em>~/.vim</em>. Prenons l&#8217;exemple d&#8217;un template HTML dans <em>~/.vim/templates/html</em> que l&#8217;on appellerait de cette manière dans notre fichier de configuration <em>~/.vimrc</em> :</p>
<pre>autocmd BufNewFile *.html 0r ~/.vim/templates/html</pre>
<p>Logiciels utilisés :</p>
<ul>
<li>Vim 7.2</li>
<li>GNU Sed 4.2</li>
</ul>
<p>Le but du jeu est de centraliser toute notre configuration dans notre <em>~/.vimrc</em> et donc d&#8217;y inclure nos templates. Le seul moyen, à ma connaissance, est de mettre ceux-ci en commentaires afin qu&#8217;ils n&#8217;interfèrent pas avec le reste de la configuration, il ne restera plus alors qu&#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 :</p>
<pre>" BEGIN HTML
" &lt;html&gt;
"     &lt;head&gt;
"         &lt;title&gt;Hello gnusquad !&lt;/title&gt;
"     &lt;/head&gt;
" &lt;/html&gt;
" END HTML

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

function! Template(type)
    exe "0r !sed -n '/^\"\\s*BEGIN " . a:type . "$/,/^\"\\s*END " . a:type . "$/ {s///;/^$/d;s/^\" //;p}' $MYVIMRC"
    echo '--> INFO : Template ' . a:type . ' charge < --'
endfunction</pre>
<p>Nous retrouvons donc en première partie le template mis en commentaire et délimité par les marqueurs « <strong>BEGIN HTML</strong> » et « <strong>END HTML</strong> », la deuxième partie appelle la fonction « <strong>Template</strong> » avec en paramètre « <strong>HTML</strong> » lorsque l'on crée un nouveau fichier ayant son nom correspondant au motif « <strong>*.html</strong> », la troisième et dernière partie contient la fonction « <strong>Template</strong> » proprement dite qui prend donc un paramètre servant à délimiter le template, on y trouve une jolie ligne de <em>sed</em> qui paraît obscure à première vue mais qui est très simple : on localise et ne traite que la partie contenue entre « <strong>BEGIN xxx</strong> » et « <strong>END xxx </strong> », on supprime ces deux lignes puis les lignes vides puis on décommente le template, le tout étant inséré dans le buffer courant. <img src='http://blog.gnusquad.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Vous aurez donc compris qu'il est très simple d'ajouter de nouveaux templates : il suffit juste que le paramètre passé à la fonction « <em>Template</em> » corresponde à la partie présente après « <em>BEGIN</em> » et « <em>END</em> » de votre template. <img src='http://blog.gnusquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><span id="more-210"></span></pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.gnusquad.org/2009/06/25/gerer-ses-templates-pour-vim-sans-fichiers-externes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Modifier le « User-Agent » sous Firefox &amp; Thunderbird</title>
		<link>http://blog.gnusquad.org/2009/02/25/modifier-le-user-agent-sous-firefox-thunderbird/</link>
		<comments>http://blog.gnusquad.org/2009/02/25/modifier-le-user-agent-sous-firefox-thunderbird/#comments</comments>
		<pubDate>Wed, 25 Feb 2009 11:54:56 +0000</pubDate>
		<dc:creator>Sylvain</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Logiciels divers]]></category>
		<category><![CDATA[Planet Libre]]></category>

		<guid isPermaLink="false">http://blog.gnusquad.org/?p=140</guid>
		<description><![CDATA[Rien de plus simple, il suffit d&#8217;aller dans l&#8217;éditeur de configuration des ces outils :

Sous Firefox, il faut taper « about:config » dans la barre de navigation
Sous Thunderbird, il faut aller dans le menu « Édition -> Préférences », sélectionner l&#8217;onglet « Avancé » puis « Général » et cliquer sur « Éditeur de configuration» [...]]]></description>
			<content:encoded><![CDATA[<p>Rien de plus simple, il suffit d&#8217;aller dans l&#8217;éditeur de configuration des ces outils :</p>
<ul>
<li>Sous Firefox, il faut taper « <em>about:config</em> » dans la barre de navigation</li>
<li>Sous Thunderbird, il faut aller dans le menu « Édition -> Préférences », sélectionner l&#8217;onglet « Avancé » puis « Général » et cliquer sur « Éditeur de configuration» </li>
</ul>
<p>Ensuite, il faut ajouter (ou modifier si elle existe déjà) une chaîne de caractères que vous nommerez « <em>general.useragent.override</em> », la valeur que vous rentrerez par la suite sera utilisée par Firefox ou Thunderbird pour spécifier l&#8217;« <em>User-Agent</em> ».</p>
<p>À lire :</p>
<ul>
<li><a href="http://fr.wikipedia.org/wiki/User_agent">Wikipédia : User-Agent</a></li>
</ul>
<p><span id="more-140"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gnusquad.org/2009/02/25/modifier-le-user-agent-sous-firefox-thunderbird/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Cookies d&#8217;Adobe Flash Player</title>
		<link>http://blog.gnusquad.org/2008/06/24/cookies-adobe-flash-player/</link>
		<comments>http://blog.gnusquad.org/2008/06/24/cookies-adobe-flash-player/#comments</comments>
		<pubDate>Tue, 24 Jun 2008 16:01:44 +0000</pubDate>
		<dc:creator>Sylvain</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Logiciels divers]]></category>
		<category><![CDATA[Planet Libre]]></category>

		<guid isPermaLink="false">http://blog.gnusquad.org/?p=18</guid>
		<description><![CDATA[Vous utilisez Adobe Flash Player et vous pensiez vider complètement vos traces en utilisant la fonction idoine de votre navigateur ?
Si c&#8217;est le cas, vous aviez tort, allez faire un tour dans les répertoires suivants :

~/.macromedia/Flash_Player/#SharedObjects/xxxx/
~/.macromedia/Flash_Player/macromedia.com/support/flashplayer/sys

Vous y trouverez toute une liste de sites internet sur lesquels vous avez surfé et qui ont déposés un « [...]]]></description>
			<content:encoded><![CDATA[<p>Vous utilisez <em>Adobe Flash Player</em> et vous pensiez vider complètement vos traces en utilisant la fonction idoine de votre navigateur ?<br />
Si c&#8217;est le cas, vous aviez tort, allez faire un tour dans les répertoires suivants :</p>
<blockquote><p>
~/.macromedia/Flash_Player/#SharedObjects/xxxx/<br />
~/.macromedia/Flash_Player/macromedia.com/support/flashplayer/sys
</p></blockquote>
<p>Vous y trouverez toute une liste de sites internet sur lesquels vous avez surfé et qui ont déposés un « cookie Flash ».<br />
Faisons en sorte de contrôler ces cookies et commençons tout d&#8217;abord, par faire table rase de tous ces fichiers :</p>
<pre>
<em>user@gnusquad</em>:~$ rm -r .macromedia
</pre>
<p>Redémarrez votre navigateur s&#8217;il est lancé et configurons Flash Player afin qu&#8217;il arrête d&#8217;enregistrer ces cookies sans notre permission. Pour cela, il faut :</p>
<ul>
<li> aller sur <a href="http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager03.html">la page de configuration</a> du plugin présente sur le site d&#8217;Adobe</li>
<li>spécifier la quantité d&#8217;espace disque disponible pour les sites à « aucun »</li>
<li>décocher la case « Stockez les composants Flash courants pour réduire la durée des téléchargements »</li>
</ul>
<p><a href='http://blog.gnusquad.org/wp-content/uploads/2008/06/preferences_flash.png'><img src="http://blog.gnusquad.org/wp-content/uploads/2008/06/preferences_flash.png" alt="" title="Préférences Adobe Flash Player" width="394" height="269" class="alignnone size-full wp-image-22" /></a></p>
<p>Désormais, Flash Player vous demandera l&#8217;autorisation d&#8217;écrire les cookies mais malheureusement, même si vous lui dites non, celui-ci écrit tout de même quelques informations sur le site dans le deuxième répertoire ! J&#8217;ai essayé de ruser un peu en utilisant les droits du système de fichier pour empêcher Flash Player d&#8217;écrire dans le deuxième répertoire tout en lui laissant la main sur le premier mais sans succès : ce dernier reste vide à cause de l&#8217;échec de l&#8217;écriture dans le second répertoire ! <img src='http://blog.gnusquad.org/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> </p>
<p>Une solution serait de positionner les droits d&#8217;écriture sur « <em>~/.macromedia</em> » uniquement lorsque l&#8217;on en a besoin mais c&#8217;est super lourd et c&#8217;est là que j&#8217;ai découvert l&#8217;extension Firefox « <em>Objection</em> » qui permet de visualiser le contenu des cookies Flash (techniquement parlant, on utilise le terme de <abbr title="Local Shared Object">LSO</abbr>) et de les supprimer :</p>
<p><a href='http://blog.gnusquad.org/wp-content/uploads/2008/06/objection_1.png'><img src="http://blog.gnusquad.org/wp-content/uploads/2008/06/objection_1.png" alt="" title="Objection - Onglet #1" width="488" height="243" class="alignnone size-full wp-image-23" /></a></p>
<p><a href='http://blog.gnusquad.org/wp-content/uploads/2008/06/objection_2.png'><img src="http://blog.gnusquad.org/wp-content/uploads/2008/06/objection_2.png" alt="" title="Objection - Onglet #2" width="508" height="609" class="alignnone size-full wp-image-24" /></a></p>
<p>Voilà, il ne vous reste plus qu&#8217;à penser à supprimer ces cookies Flash lorsque vous effacerez vos autres traces. <img src='http://blog.gnusquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Trois petites notes pour clôturer ce billet :</p>
<ul>
<li>l&#8217;équipe de Firefox est au courant du problème et verra ce qu&#8217;il est possible de faire</li>
<li>sachez que les cookies Flash sont partagés par les différents profils de Firefox (« <em>firefox &#8211;ProfileManager</em> »)</li>
<li>notez enfin qu&#8217;Adobe Flash Player n&#8217;est pas le seul plugin sachant lire du Flash, il y a GNU Gnash (100% libre) qui pour l&#8217;instant n&#8217;implémente pas toute la &laquo;&nbsp;norme&nbsp;&raquo; mais le projet, prioritaire aux yeux du projet GNU, avance à grands pas !</li>
</ul>
<p>À lire :</p>
<ul>
<li><a href="http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager03.html">Configuration d&#8217;Adobe Flash Player </a></li>
<li><a href="http://objection.mozdev.org/">Extension Firefox : Objection</a></li>
<li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=290456">BugZilla : block/clear Flash cookies</a></li>
<li><a href="http://en.wikipedia.org/wiki/Local_Shared_Object">Local Shared Object</a></li>
<li><a href="http://www.gnu.org/software/gnash/">GNU Gnash</a></li>
</ul>
<p><span id="more-18"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gnusquad.org/2008/06/24/cookies-adobe-flash-player/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
