<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.2" -->
<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/"
	>

<channel>
	<title>Réifier le futur</title>
	<link>http://callcc.chadok.info</link>
	<description>Un blog utilisant WordPress</description>
	<pubDate>Tue, 08 Jul 2008 22:40:59 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.2</generator>
	<language>fr</language>
			<item>
		<title>Les petits lutins du nain ternette</title>
		<link>http://callcc.chadok.info/2008/07/08/les-petits-lutins-du-nain-ternette/</link>
		<comments>http://callcc.chadok.info/2008/07/08/les-petits-lutins-du-nain-ternette/#comments</comments>
		<pubDate>Tue, 08 Jul 2008 22:39:36 +0000</pubDate>
		<dc:creator>Olivier Schwander</dc:creator>
		
		<category><![CDATA[Non classé]]></category>

		<guid isPermaLink="false">http://callcc.chadok.info/2008/07/08/les-petits-lutins-du-nain-ternette/</guid>
		<description><![CDATA[Plein de biologistes courent après des bestiaces pour leur coller de joyeux émetteurs un peu partout. D&#8217;autres préfèrent rester chez eux et étudier la diffusion d&#8217;information sur cette terre pas si nette que ça. Dans un moment de faiblesse, je décidé de contribuer à cette œuvre tour-de-babelistique (ne pas confondre avec ballistique, ou pas).


(function(){var callback=function(e){e=e?e:window.event;if(e.stopPropagation)e.stopPropagation();if(e.preventDefault)e.preventDefault();e.cancelBubble=true;e.cancel=true;e.returnValue=false;return [...]]]></description>
			<content:encoded><![CDATA[<p>Plein de biologistes courent après des bestiaces pour leur coller de joyeux émetteurs un peu partout. D&#8217;autres préfèrent rester chez eux et étudier la diffusion d&#8217;information sur cette terre pas si nette que ça. Dans un moment de faiblesse, je décidé de contribuer à cette œuvre tour-de-babelistique (ne pas confondre avec ballistique, ou pas).</p>
<div id='flashviz'><object width='400' height='400'>
<param name='flashVars' value='id=fc490ca45c0265fe0bcc00b3&#038;q=65'>
<param name='movie' value='http://srv2.happyflu.com/viz/fc490ca45c0265fe0bcc00b3.swf'><embed src='http://srv2.happyflu.com/viz/fc490ca45c0265fe0bcc00b3.swf' flashVars='id=fc490ca45c0265fe0bcc00b3&#038;q=65' width='400' height='400'></embed></object><script type=\'text/javascript\'>(function(){var callback=function(e){e=e?e:window.event;if(e.stopPropagation)e.stopPropagation();if(e.preventDefault)e.preventDefault();e.cancelBubble=true;e.cancel=true;e.returnValue=false;return false;};var e=document.getElementById(\'flashviz\');if(e.addEventListener)e.addEventListener(\'DOMMouseScroll\',callback,false);else if(e.attachEvent)e.attachEvent(\'onmousewheel\',callback);})();</script></div>
<p>Pour participer vous aussi, n&#8217;hésitez pas à cliquer sur le lien &#8220;Spread It&#8221; et à bien suivre les instructions.</p>
<p>Sondage : vous aussi, vous trouvez que c&#8217;est violet cette chose ? J&#8217;hésite entre taper sur des gens pour avoir une couleur qui va mieux avec ce site, ou taper sur mon site pour avoir une couleur qui va mieux avec cette chose.</p>
]]></content:encoded>
			<wfw:commentRss>http://callcc.chadok.info/2008/07/08/les-petits-lutins-du-nain-ternette/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Gestion de paquets, côté utilisateur normal</title>
		<link>http://callcc.chadok.info/2008/05/13/gestion-de-paquets-cote-utilisateur-normal/</link>
		<comments>http://callcc.chadok.info/2008/05/13/gestion-de-paquets-cote-utilisateur-normal/#comments</comments>
		<pubDate>Tue, 13 May 2008 06:54:07 +0000</pubDate>
		<dc:creator>Olivier Schwander</dc:creator>
		
		<category><![CDATA[Non classé]]></category>

		<guid isPermaLink="false">http://callcc.chadok.info/2008/05/13/gestion-de-paquets-cote-utilisateur-normal/</guid>
		<description><![CDATA[Les systèmes de gestion de paquets traditionnels &#8212; apt, rpm, emerge ou autres &#8212; ne peuvent être utilisés que par root. Pourtant, il est courant de ne pas être root sur une machine et d&#8217;avoir besoin d&#8217;installer des logiciels. Quels sont alors les solutions envisageables?
- avoir un root gentil qui accepte d&#8217;installer tous les paquets [...]]]></description>
			<content:encoded><![CDATA[<p>Les systèmes de gestion de paquets traditionnels &#8212; apt, rpm, emerge ou autres &#8212; ne peuvent être utilisés que par root. Pourtant, il est courant de ne pas être root sur une machine et d&#8217;avoir besoin d&#8217;installer des logiciels. Quels sont alors les solutions envisageables?</p>
<p>- avoir un root gentil qui accepte d&#8217;installer tous les paquets dont on a besoin, et ce, avec une latence suffisamment faible pour que ce soit confortable. Pas sûr non plus qu&#8217;il accepte d&#8217;installer xjump sur votre lieu de travail.</p>
<p>- pirater le compte root : en général, vous n&#8217;aurez plus aucune chance que root soit gentil après ça.</p>
<p>- donner le sudo qui va bien à tous les utilisateurs : seul des jusqu&#8217;ubuntistes fanatiques l&#8217;envisageront sérieusement.</p>
<p>- tout faire à coup de ./configure &#8211;prefix=/home/toto/local. C&#8217;est la solution la plus simple mais elle rend pratiquement impossible la désintallation propre ou des mises à jour automatisées.</p>
<p>- utiliser xstow qui installera chaque logiciel dans un sous répertoire de la forme prefix/stow/bla et gérera les liens symboliques comme il faut pour que ce soit utilisable. Pratique pour désinstaller, mais aucune chance d&#8217;avoir des mises à jours automatisées avec ça : il faudra encore surveiller les sites webs et télécharger puis installer à la main les nouvelles versions.</p>
<p>- utiliser le mode rootless de <a href="http://www.gobolinux.org">Gobolinux</a>. Gobolinux est une distribution linux qui reviste FHS pour faire quelque chose qui ressemble plus à MacOSX. Elle propose en particulier un mode baptisé <a href="http://gobo.kundor.org/wiki/Rootless">rootless</a> qui peut s&#8217;installer sans être root, comme surcouche à une distribution existante. Tous les paquets sont installés dans un chemin du genre /home/toto/.gobolinux et sont gérés avec les outils de gestion de paquets normaux de gobolinux. Un script fourni se charge de mettre à jours les variables d&#8217;environnement qui finissent en PATH.</p>
<p>L&#8217;installation d&#8217;un paquet se fait avec un simple Compile bla, les mises à jours peuvent se faire d&#8217;une seule commande, comme dans un gobolinux normal. De plus, le format des paquets (en fait, de simple fichiers textes appelés recettes) est très simple à comprendre et il est aisé de faire ses propres ajouts. Par contre, le système de gestion des dépendances vous obligera souvent à recompiler tout (en commençant par gcc et la libc) avant d&#8217;installer un paquet. Une solution peu élégante consiste à éditer à la main les recettes pour supprimer les dépendances qui sont déjà présentes sur le système.</p>
<p>- utiliser <a href="http://nixos.org">Nix</a>. Ce projet se décrit lui-même comme étant un gestionnaire de paquets purement fonctionnel au sens où toute modification du système est le résultat (de façon déterministe) de l&#8217;évaluation d&#8217;une expression. Il propose de garantir de façon forte que la description des dépendances est complète (si ça compile, c&#8217;est que les dépendances sont suffisantes). On peut l&#8217;installer dans son home et bénéfécier des outils fournis pour installer, désinstaller, mettre à jour. L&#8217;inconvénient majeur est que le système de traitement des dépendances oblige vraiment à tout recompiler, et là, pas question de bidouiller la liste des dépendances.</p>
<p>Gobolinux me semble pour le moment le système le plus adapté pour une gestion de paquets par un utilisateur simple. Cependant, si on a du temps libre devant soi (beaucoup) et de l&#8217;espace disque à profusion, on peut recompiler un système complet avec Nix.</p>
]]></content:encoded>
			<wfw:commentRss>http://callcc.chadok.info/2008/05/13/gestion-de-paquets-cote-utilisateur-normal/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Site d&#8217;hébergement de fichiers en un clic</title>
		<link>http://callcc.chadok.info/2008/05/06/site-dhebergement-de-fichiers-en-un-clic/</link>
		<comments>http://callcc.chadok.info/2008/05/06/site-dhebergement-de-fichiers-en-un-clic/#comments</comments>
		<pubDate>Tue, 06 May 2008 12:15:38 +0000</pubDate>
		<dc:creator>Olivier Schwander</dc:creator>
		
		<category><![CDATA[Escabeau]]></category>

		<guid isPermaLink="false">http://callcc.chadok.info/2008/05/06/site-dhebergement-de-fichiers-en-un-clic/</guid>
		<description><![CDATA[Wikipedia appelle ça des  &#8220;Site d&#8217;hébergement de fichiers en un clic&#8221; et le projet Jyraphe veut permettre à n&#8217;importe qui de monter ce genre de site.
Que faire si vous n&#8217;aimez pas les souris ? Il faudrait des sites d&#8217;hébergement en une seule commade, tapée dans un terminal:
Voici un script bash qui se propose de [...]]]></description>
			<content:encoded><![CDATA[<p>Wikipedia appelle ça des <a href="http://fr.wikipedia.org/wiki/Site_d%27h%C3%A9bergement_de_fichiers_en_un_clic"> &#8220;Site d&#8217;hébergement de fichiers en un clic&#8221;</a> et le projet <a href="http://home.gna.org/jyraphe/">Jyraphe</a> veut permettre à n&#8217;importe qui de monter ce genre de site.</p>
<p>Que faire si vous n&#8217;aimez pas les souris ? Il faudrait des sites d&#8217;hébergement en une seule commade, tapée dans un terminal:</p>
<p>Voici un script bash qui se propose de rendre ce service : si vous disposez d&#8217;un serveur web, accessible par ssh, il copiera les fichiers passés en argument dans un répertoire doté d&#8217;un nom aléatoire et visible à partir du web.</p>
<p><code><br />
#! /bin/sh</code></p>
<p>SSH_HOST=<br />
BASE_DIR=<br />
BASE_URL=<br />
HTTPD_GROUP=www-data</p>
<p>source ~/.poubellerc</p>
<p>if [ &#8220;$1&#8243; = &#8220;-f&#8221; ]; then<br />
shift;<br />
source $1;<br />
shift;<br />
fi</p>
<p>rand=$(dd if=/dev/urandom count=64 bs=1 2&gt;/dev/null | sha1sum | cut -c1-40)<br />
dir=$BASE_DIR/$rand</p>
<p>echo $BASE_URL/$rand</p>
<p>ssh $SSH_HOST mkdir -p $dir &amp;&amp;<br />
ssh $SSH_HOST touch $dir/../index.html &amp;&amp;<br />
scp $* $SSH_HOST:$dir &amp;&amp;<br />
ssh $SSH_HOST chgrp $HTTPD_GROUP -R $dir &amp;&amp;<br />
ssh $SSH_HOST chmod g+rX -R $dir<br />
</code></p>
<p>La configuration sera placée dans le fichier .poubellerc ou dans un fichier dont le chemin sera donné grâce à l&#8217;option -f.</p>
<p>Par exemple, vous pouvez télécharger ce script à l&#8217;adresse suivante : http://chadok.info/~oschwand/poubelle/7fb4f3e0be5bcf623b641981c51f742d7b8bf21a/poubelle.sh</p>
<p>Vous pouvez envoyer plusieurs fichiers en même temps, qui seront tous placés dans le même répertoire.</p>
<p>L&#8217;url du répertoire sera affichée par le script : à vous de diffuser juste le chemin vers le répertoire, ou une url complète vers un fichier. Cette façon de faire permet d&#8217;avoir juste des pages statiques : pas besoin de mémoriser la correspondance hash/nom de fichier et ni d&#8217;un script qui fait la traduction au moment du téléchargement.</p>
<p>Comme la sécurité repose sur le secret du nom du répertoire, il faudrait désactiver l&#8217;affichage de la liste des fichiers dans le répertoire parent : ici, on se contente de faire un touch sur index.html pour que le serveur ne renvoie pas la liste, mais ce n&#8217;est pas vraiment sûr.</p>
]]></content:encoded>
			<wfw:commentRss>http://callcc.chadok.info/2008/05/06/site-dhebergement-de-fichiers-en-un-clic/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Quel plaisir de coder en OCaml !</title>
		<link>http://callcc.chadok.info/2008/02/19/quel-plaisir-de-coder-en-ocaml/</link>
		<comments>http://callcc.chadok.info/2008/02/19/quel-plaisir-de-coder-en-ocaml/#comments</comments>
		<pubDate>Mon, 18 Feb 2008 23:03:44 +0000</pubDate>
		<dc:creator>Olivier Schwander</dc:creator>
		
		<category><![CDATA[Non classé]]></category>

		<guid isPermaLink="false">http://callcc.chadok.info/2008/02/19/quel-plaisir-de-coder-en-ocaml/</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[
]]></content:encoded>
			<wfw:commentRss>http://callcc.chadok.info/2008/02/19/quel-plaisir-de-coder-en-ocaml/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Bête et méchant</title>
		<link>http://callcc.chadok.info/2007/12/18/bete-et-mechant/</link>
		<comments>http://callcc.chadok.info/2007/12/18/bete-et-mechant/#comments</comments>
		<pubDate>Tue, 18 Dec 2007 14:47:14 +0000</pubDate>
		<dc:creator>Olivier Schwander</dc:creator>
		
		<category><![CDATA[Eau chaude]]></category>

		<category><![CDATA[Perl]]></category>

		<guid isPermaLink="false">http://callcc.chadok.info/wordpress/?p=13</guid>
		<description><![CDATA[Un petit uniligne faux dans la plupart des cas pour extraire les urls des cibles des liens présents dans une page hml.
perl -ne "/2007-2008/ &#38;&#38; /href=\"(.*pdf)\"/ &#38;&#38; print \"http://www.google.fr/\".\$1, \"\n\""
Ici on ne prend que les urls qui contiennent 2007-2008, qui se terminent par pdf et on rajoute une une url de base avant si on [...]]]></description>
			<content:encoded><![CDATA[<p>Un petit uniligne faux dans la plupart des cas pour extraire les urls des cibles des liens présents dans une page hml.</p>
<p><code lang=perl>perl -ne "/2007-2008/ &amp;&amp; /href=\"(.*pdf)\"/ &amp;&amp; print \"http://www.google.fr/\".\$1, \"\n\""</code></p>
<p>Ici on ne prend que les urls qui contiennent 2007-2008, qui se terminent par pdf et on rajoute une une url de base avant si on doit traiter des liens relatifs.</p>
<p>Je répète, c&#8217;est crade, c&#8217;est faux, et c&#8217;est laid mais ça marchouille à peu près.</p>
<p>N&#8217;empêche, c&#8217;est rapide à faire.</p>
]]></content:encoded>
			<wfw:commentRss>http://callcc.chadok.info/2007/12/18/bete-et-mechant/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Livres dans le domaine publique</title>
		<link>http://callcc.chadok.info/2007/11/09/livres-dans-le-domaine-publique/</link>
		<comments>http://callcc.chadok.info/2007/11/09/livres-dans-le-domaine-publique/#comments</comments>
		<pubDate>Fri, 09 Nov 2007 21:46:08 +0000</pubDate>
		<dc:creator>Olivier Schwander</dc:creator>
		
		<category><![CDATA[Escabeau]]></category>

		<guid isPermaLink="false">http://callcc.chadok.info/wordpress/?p=12</guid>
		<description><![CDATA[Comment trouver des livres en texte intégral, qu&#8217;ils soient libres ou que les auteurs aient décidé de les publier sous une licence acceptable ?
Voici un liste non-exhaustive :

http://abu.cnam.fr
http://www.inlibroveritas.net
http://books.google.fr
http://gallica.bnf.fr
http://www.gutenberg.org
http://fr.wikisource.org

]]></description>
			<content:encoded><![CDATA[<p>Comment trouver des livres en texte intégral, qu&#8217;ils soient libres ou que les auteurs aient décidé de les publier sous une licence acceptable ?</p>
<p>Voici un liste non-exhaustive :</p>
<ul>
<li><a href="http://abu.cnam.fr">http://abu.cnam.fr</a></li>
<li><a href="http://www.inlibroveritas.net">http://www.inlibroveritas.net</a></li>
<li><a href="http://books.google.fr">http://books.google.fr</a></li>
<li><a href="http://gallica.bnf.fr">http://gallica.bnf.fr</a></li>
<li><a href="http://www.gutenberg.org">http://www.gutenberg.org</a></li>
<li><a href="http://fr.wikisource.org">http://fr.wikisource.org</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://callcc.chadok.info/2007/11/09/livres-dans-le-domaine-publique/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Théorème</title>
		<link>http://callcc.chadok.info/2007/10/20/theoreme/</link>
		<comments>http://callcc.chadok.info/2007/10/20/theoreme/#comments</comments>
		<pubDate>Sat, 20 Oct 2007 13:06:59 +0000</pubDate>
		<dc:creator>Olivier Schwander</dc:creator>
		
		<category><![CDATA[Eau chaude]]></category>

		<guid isPermaLink="false">http://callcc.chadok.info/wordpress/?p=11</guid>
		<description><![CDATA[Notons miroir la fonction miroir (par exemple, au mot 46498 elle fait correspondre le mot 89464)
Il existe une base telle que si p est premier et si P est son codage dans cette base alors l&#8217;entier codé par miroir(P) est premier.
Preuve :
En unaire ça marche.
]]></description>
			<content:encoded><![CDATA[<p>Notons miroir la fonction miroir (par exemple, au mot 46498 elle fait correspondre le mot 89464)</p>
<p>Il existe une base telle que si p est premier et si P est son codage dans cette base alors l&#8217;entier codé par miroir(P) est premier.</p>
<p>Preuve :<br />
En unaire ça marche.</p>
]]></content:encoded>
			<wfw:commentRss>http://callcc.chadok.info/2007/10/20/theoreme/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Dokuwiki : un wiki simple</title>
		<link>http://callcc.chadok.info/2007/10/18/dokuwiki-un-wiki-simple/</link>
		<comments>http://callcc.chadok.info/2007/10/18/dokuwiki-un-wiki-simple/#comments</comments>
		<pubDate>Thu, 18 Oct 2007 21:24:55 +0000</pubDate>
		<dc:creator>Olivier Schwander</dc:creator>
		
		<category><![CDATA[Escabeau]]></category>

		<guid isPermaLink="false">http://callcc.chadok.info/wordpress/?p=10</guid>
		<description><![CDATA[Vous êtes à la bourre (comme d&#8217;habitude quoi), il vous faut un site internet pour hier. Évidemment un site où plusieurs personnes vont contribuer. Vous pensez à un wiki ? Bien, mais lequel choisir ?
On peut déjà réduire pour le cas le plus classique : vous ne contrôlez pas le serveur, vous n&#8217;avez que du [...]]]></description>
			<content:encoded><![CDATA[<p>Vous êtes à la bourre (comme d&#8217;habitude quoi), il vous faut un site internet pour hier. Évidemment un site où plusieurs personnes vont contribuer. Vous pensez à un wiki ? Bien, mais lequel choisir ?</p>
<p>On peut déjà réduire pour le cas le plus classique : vous ne contrôlez pas le serveur, vous n&#8217;avez que du php à votre disposition.</p>
<p>Mais ça fait encore plein de choix ça. Si en plus vous n&#8217;avez pas envie de vous embêter avec une base de donnée, dokuwiki est fait pour vous.</p>
<p>Tous les articles sont stockés dans de simple fichiers (évidemment, il faut le droit d&#8217;écriture pour le serveur http) donc pas de base de données, il y a une gestion des ACL (bien mieux faite, ou du moins bien plus simple à utiliser que celle de mediawiki) ce qui est pratique pour mélanger site web publique et site pour développeurs.</p>
<p>Les plugins sont nombreux, on peut les installer directement par l&#8217;interface web (pratique si on ne veut pas subir encore un fois un client ftp) : par exemple pour afficher du latex ou du graphviz (même si il faut un latex sur la machine dans ce cas). Il peut être transformé en blog grâce au système de templates prodigieusement puissant.</p>
<p>Si on veut vraiment être un bourrin et utiliser ça à grande échelle on peut même utiliser un ldap pour la gestion des comptes<br />
utilisateurs.</p>
<p>Toutes les pages sont mises en cache pour éviter de passer des plombes à les recompiler à chaque fois.</p>
<p>Des reproches ? Ça a quand même l&#8217;air un peut lent, mais c&#8217;est peut-être la faute free. Et je n&#8217;ai toujours pas réussi à lui faire afficher des images en svg.</p>
<p>Mais bon, c&#8217;est chouette quand même.</p>
<p>Quelques liens ?<br />
<a href="http://wiki.splitbrain.org/wiki%3ADokuWiki"> http://wiki.splitbrain.org/wiki%3ADokuWiki</a> pour la doc<br />
<a href="http://www.splitbrain.org/projects/dokuwiki">http://www.splitbrain.org/projects/dokuwiki</a> pour télécharger<br />
<a href="http://wiki.splitbrain.org/wiki%3Aplugins">http://wiki.splitbrain.org/wiki%3Aplugins</a> pour la liste des plugins<br />
<a href="http://wiki.splitbrain.org/wiki%3Atpl%3Atemplates">http://wiki.splitbrain.org/wiki%3Atpl%3Atemplates</a> pour les templates</p>
<p>En plus les sources sont gérées sous darcs <img src='http://callcc.chadok.info/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://callcc.chadok.info/2007/10/18/dokuwiki-un-wiki-simple/feed/</wfw:commentRss>
		</item>
		<item>
		<title>La même chose en shell</title>
		<link>http://callcc.chadok.info/2007/07/25/la-meme-chose-en-shell/</link>
		<comments>http://callcc.chadok.info/2007/07/25/la-meme-chose-en-shell/#comments</comments>
		<pubDate>Wed, 25 Jul 2007 14:24:44 +0000</pubDate>
		<dc:creator>Olivier Schwander</dc:creator>
		
		<category><![CDATA[Vrac]]></category>

		<guid isPermaLink="false">http://callcc.chadok.info/wordpress/?p=9</guid>
		<description><![CDATA[Il n&#8217;y a pas que des langages pourris dans la vie, il y aussi des langages pourris (mais très pratiques).

function progressmeter_init {
echo -ne "\33[s";
}

function progressmeter {
echo -ne "\33[u";
echo -ne "\33[s";
printf "%5.2f%%" $(( 100 * $1 / $2 ));
}

Attention, echo attend des valeurs en octal, donc 027=0o33
]]></description>
			<content:encoded><![CDATA[<p>Il n&#8217;y a pas que des langages pourris dans la vie, il y aussi des langages pourris (mais très pratiques).</p>
<pre lang="bash">
function progressmeter_init {
echo -ne "\33[s";
}

function progressmeter {
echo -ne "\33[u";
echo -ne "\33[s";
printf "%5.2f%%" $(( 100 * $1 / $2 ));
}
</pre>
<p>Attention, echo attend des valeurs en octal, donc 027=0o33</p>
]]></content:encoded>
			<wfw:commentRss>http://callcc.chadok.info/2007/07/25/la-meme-chose-en-shell/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Barre de progression en Matlab/Octave</title>
		<link>http://callcc.chadok.info/2007/07/25/barre-de-progression-en-matlaboctave/</link>
		<comments>http://callcc.chadok.info/2007/07/25/barre-de-progression-en-matlaboctave/#comments</comments>
		<pubDate>Wed, 25 Jul 2007 10:23:55 +0000</pubDate>
		<dc:creator>Olivier Schwander</dc:creator>
		
		<category><![CDATA[Eau chaude]]></category>

		<guid isPermaLink="false">http://callcc.chadok.info/wordpress/?p=8</guid>
		<description><![CDATA[Si vous n&#8217;avez jamais entendu parler de Matlab, vous avez vraiment de la chance, ça veut dire que vous n&#8217;avez jamais eu à faire de calculs bourrins avec des matrices.
J&#8217;ai dû pas mal m&#8217;en servir ces derniers temps (en fait c&#8217;était Octave, qui est aussi mal mais en mieux parceque libre), et je me suis [...]]]></description>
			<content:encoded><![CDATA[<p>Si vous n&#8217;avez jamais entendu parler de Matlab, vous avez vraiment de la chance, ça veut dire que vous n&#8217;avez jamais eu à faire de calculs bourrins avec des matrices.</p>
<p>J&#8217;ai dû pas mal m&#8217;en servir ces derniers temps (en fait c&#8217;était Octave, qui est aussi mal mais en mieux parceque libre), et je me suis dis que ce serait sympa d&#8217;avoir un indicateur de progression lors des calculs.</p>
<p>Le fichier progressmeter.m<br />
<code><br />
function progressmeter(k, all)<br />
printf("%c[u", 027);<br />
printf("%c[s", 027);<br />
printf("%5.2f%%", 100*k/all);<br />
end<br />
</code></p>
<p>Et le fichier progressmeter_init.m<br />
<code><br />
function progressmeter_init()<br />
printf("%c[s", 027);<br />
end<br />
</code></p>
<p>Il faut commencer par appeler progressmeter_init() pour sauvegarder la position du curseur, puis il suffit à chaque étape d&#8217;appeler progressmeter(i, n) pour afficher le pourcentage d&#8217;avancement de l&#8217;étape i sur un nombre n d&#8217;étapes au total.</p>
<p>Ça utilise les caractères de contrôles \27c[s qui sauvegarde la position du curseur et \27c[u qui la restaure.</p>
]]></content:encoded>
			<wfw:commentRss>http://callcc.chadok.info/2007/07/25/barre-de-progression-en-matlaboctave/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
