<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Sciunto</title>
	<atom:link href="http://sciunto.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://sciunto.wordpress.com</link>
	<description>Un jour, ils sauront qu&#039;il existe un univers libre...</description>
	<lastBuildDate>Sat, 28 Jan 2012 13:17:13 +0000</lastBuildDate>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='sciunto.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/3ad1edbb00a7bce358f422a5a39e6b40?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Sciunto</title>
		<link>http://sciunto.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://sciunto.wordpress.com/osd.xml" title="Sciunto" />
	<atom:link rel='hub' href='http://sciunto.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Archivage des liens dans mes notes zim</title>
		<link>http://sciunto.wordpress.com/2012/01/27/archivage-des-liens-dans-mes-notes-zim/</link>
		<comments>http://sciunto.wordpress.com/2012/01/27/archivage-des-liens-dans-mes-notes-zim/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 17:33:12 +0000</pubDate>
		<dc:creator>François</dc:creator>
				<category><![CDATA[Contribution]]></category>
		<category><![CDATA[Developpement]]></category>
		<category><![CDATA[Planet-april]]></category>
		<category><![CDATA[Planet-libre]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[archivage]]></category>
		<category><![CDATA[archive]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[zim]]></category>

		<guid isPermaLink="false">http://sciunto.wordpress.com/?p=646</guid>
		<description><![CDATA[Situation J&#8217;utilise zim tous les jours, notamment afin de conserver ma veille. Cette veille est issue du traitement de mes flux RSS. Lorsqu&#8217;une page contient une information intéressante sur un sujet, j&#8217;ajoute le lien dans la page zim qui correspond. J&#8217;y ajoute parfois des commentaires. Je fais de même lorsque je navigue (recherche d&#8217;astuces, comparatif [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sciunto.wordpress.com&amp;blog=10984286&amp;post=646&amp;subd=sciunto&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h1>Situation</h1>
<p>J&#8217;utilise <a href="http://zim-wiki.org/">zim</a> tous les jours, notamment afin de conserver ma veille. Cette veille est issue du traitement de mes flux RSS. Lorsqu&#8217;une page contient une information intéressante sur un sujet, j&#8217;ajoute le lien dans la page zim qui correspond. J&#8217;y ajoute parfois des commentaires. Je fais de même lorsque je navigue (recherche d&#8217;astuces, comparatif pour achats&#8230;). Je pense que la majorité des personnes utilisent des marques pages dans leurs navigateurs. Je ne trouve pas cela pratique car il est difficile de les ranger, de les manipuler, de les commenter. Zim m&#8217;enlève cette difficulté.</p>
<h1>Problématique</h1>
<p>Cependant, chacun sait que le web bouge sans cesse. Le problème vient lorsque vous décidez de vous pencher sur un sujet. Vous ouvrez la page zim en relation afin de retrouver toutes les informations accumulées aux fils des mois ou des années. Vous retrouvez vos liens mais certains sont morts. Plusieurs raisons à cela : le site peut être inaccessible, avoir changé de CMS (liens cassés), de domaine ou simplement avoir disparu, voir le contenu retiré&#8230; dommage le lien était intéressant.</p>
<h1>Première tentative</h1>
<p>Nous ne sommes pas les premiers à faire ce constat, d&#8217;autres ont anticipé en créant <a href="https://fr.wikipedia.org/wiki/Archivage_du_Web">des archives du web</a>. La plus connue est sans doute <a href="http://www.archive.org/web/web.php">archive.org</a>. D&#8217;ailleurs, je vous conseille le module <a href="https://addons.mozilla.org/fr/firefox/addon/resurrect-pages/">resurrect pages</a> pour firefox.</p>
<p>Il y a toujours un mais&#8230; La solution n&#8217;est pas idéale, car nous sommes dépendant d&#8217;un service qui peut ne pas avoir archivé la page souhaitée : le crawler n&#8217;est pas passé au bon moment, le crawler n&#8217;est pas parvenu jusqu&#8217;à la page ou le site n&#8217;a jamais été visité&#8230;</p>
<h1>Seconde tentative</h1>
<p>L&#8217;idée est de mettre en place sa propre archive. On n&#8217;est jamais mieux servi que par soi-même, pas vrai ? Les outils utilisés par ces sites d&#8217;archives me semblent démesurés pour mes besoins. Un wget de la page me suffirait amplement dans 95% des cas. Bien sûr, on ne va pas faire ça à la main, ce serait trop long, et rapidement on ne le ferait plus.</p>
<p>Un script python va donc nous sauver la mise. En scannant à la recherche d&#8217;url toutes nos pages zim, il va récupérer la page avec le module urllib.request. Cette page est sauvée dans l&#8217;endroit de son choix. On ajoute un lien (comme le fait wikipedia dans les <a href="https://fr.wikipedia.org/wiki/Open_Database_License#R.C3.A9f.C3.A9rences">références</a> via <a href="https://fr.wikipedia.org/wiki/Wikiwix">wikiwix</a>) vers notre fichier téléchargé. Zim gère l&#8217;ouverture des fichiers avec xdg-open, chez moi c&#8217;est géré dans</p>
<p>~/.local/share/applications/mimeapps.list</p>
<p>Un simple clic sur l&#8217;archive ouvre la page dans le navigateur.</p>
<p>Le script peut être automatisé à l&#8217;aide d&#8217;une tâche cron ou via la fonctionnalité &#8220;outil personnalisé&#8221; de zim.</p>
<h1>Quelques remarques</h1>
<p>Comme je l&#8217;ai spécifié, j&#8217;utilise urllib.request. Je n&#8217;ai pas trouvé mieux dans la récupération de page. Si vous connaissez une bibliothèque plus performantes, je suis toujours preneur.</p>
<p>J&#8217;ai du changer le user-agent. Pour ceux qui ne connaissent pas, c&#8217;est la façon dont est identifié le visiteur du site. Par défaut, c&#8217;est python, je l&#8217;ai changé pour Firefox car des sites comme wikipedia me jetais. Sans doute parce qu&#8217;ils préfèrent qu&#8217;on utilise l&#8217;API.</p>
<p>La solution est implémentée pour zim, mais l&#8217;idée est générique pour ceux qui utiliseraient d&#8217;autres solutions de prise de note.</p>
<h1>Idées d&#8217;amélioration</h1>
<p>Il serait peut être pertinent de rafraîchir les archives tous les mois en conservant les versions anciennes (au cas où). Typiquement, certains commentaires sont très utiles et il peut être bon de les avoir. Une autre bonne chose serait d&#8217;avoir la possibilité d&#8217;empêcher délibérément l&#8217;archivage. Parfois, j&#8217;ai des liens vers des dépôts pour lesquels il n&#8217;y a aucun intérêt à avoir une copie ! Si vous avez d&#8217;autres propositions&#8230;</p>
<h1>Code</h1>
<p>C&#8217;est sous GPLv3, nécessite python3. J&#8217;ai déposé le code <a href="https://github.com/sciunto/ZimArchivist">ici</a>, plus pour information que pour production pour le moment, le code est relativement chaud. Si des gens sont intéressés par des versions stables dans le futur, je les proposerai.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sciunto.wordpress.com/646/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sciunto.wordpress.com/646/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sciunto.wordpress.com/646/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sciunto.wordpress.com/646/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sciunto.wordpress.com/646/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sciunto.wordpress.com/646/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sciunto.wordpress.com/646/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sciunto.wordpress.com/646/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sciunto.wordpress.com/646/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sciunto.wordpress.com/646/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sciunto.wordpress.com/646/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sciunto.wordpress.com/646/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sciunto.wordpress.com/646/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sciunto.wordpress.com/646/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sciunto.wordpress.com&amp;blog=10984286&amp;post=646&amp;subd=sciunto&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sciunto.wordpress.com/2012/01/27/archivage-des-liens-dans-mes-notes-zim/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/42ec4e0630bebb954a69e156bb1d2717?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">François</media:title>
		</media:content>
	</item>
		<item>
		<title>Mettre à jour des licences sur des fichiers d&#8217;un mediawiki</title>
		<link>http://sciunto.wordpress.com/2011/12/26/mettre-a-jour-des-licences-sur-des-fichiers-dun-mediawiki/</link>
		<comments>http://sciunto.wordpress.com/2011/12/26/mettre-a-jour-des-licences-sur-des-fichiers-dun-mediawiki/#comments</comments>
		<pubDate>Mon, 26 Dec 2011 17:54:51 +0000</pubDate>
		<dc:creator>François</dc:creator>
				<category><![CDATA[Contribution]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Planet-april]]></category>
		<category><![CDATA[Planet-libre]]></category>
		<category><![CDATA[licence]]></category>
		<category><![CDATA[mechanize]]></category>
		<category><![CDATA[mediawiki]]></category>

		<guid isPermaLink="false">http://sciunto.wordpress.com/?p=642</guid>
		<description><![CDATA[L&#8217;April possède un wiki de travail permettant aux membres et aux non-membres de participer à l&#8217;élaboration de divers travaux. Ce wiki fonctionne grâce à mediawiki. Récemment, j&#8217;ai mis en place un sélecteur de licence permettant à un contributeur d&#8217;apposer facilement une licence parmi une sélection (ou de mettre une licence &#8216;custom&#8217; si aucune n&#8217;est satisfaisante). [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sciunto.wordpress.com&amp;blog=10984286&amp;post=642&amp;subd=sciunto&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>L&#8217;<a href="http://www.april.org">April</a> possède un <a href="http://wiki.april.org">wiki de travail</a> permettant aux membres et aux non-membres de participer à l&#8217;élaboration de divers travaux. Ce wiki fonctionne grâce à <a href="https://www.mediawiki.org/wiki/MediaWiki/fr">mediawiki.<br />
</a></p>
<p>Récemment, j&#8217;ai mis en place un sélecteur de licence permettant à un contributeur d&#8217;apposer facilement une licence parmi une sélection (ou de mettre une licence &#8216;custom&#8217; si aucune n&#8217;est satisfaisante). Ceci se fait très facilement en modifier la page spéciale MediaWiki:Licenses. Il suffit d&#8217;y faire une liste de modèles  et ces modèles insère le texte adéquat de la licence (ou un lien y référant). La question de la licence est bien évidemment centrale dans ce type d&#8217;outil de travail, il en va de la possibilité de diffuser et de réutiliser les productions des contributeurs.</p>
<p>Ceci étant fait, il s&#8217;est posé la question des fichiers ayant été envoyés par le passé pour lesquels il n&#8217;y avait pas eu de licence précisée (environ 1200 fichiers). Pour palier ce manque, j&#8217;ai écris quelques lignes de code afin de mettre à jour automatiquement ces fichiers en question.</p>
<p>J&#8217;avais pour point de départ un fichier csv que j&#8217;ai parsé à l&#8217;aide d&#8217;un <a href="http://wiki.april.org/w/Fichier:Parse_csv.txt">premier code perl</a> pour créer des fichiers dont la syntaxe est de <a href="https://fr.wikipedia.org/wiki/Fichier_INI">type ini</a>, facile à manipuler. Je produit un fichier par utilisateur concerné. Chaque entrée concernant un fichier dont la licence est à préciser.</p>
<p>Un courriel est envoyé à chaque personne pour demander de compléter le champ licence, puis, à la réception de celui-ci, il est lu par un <a href="http://wiki.april.org/w/Fichier:Mechanize.txt">deuxième script</a> via la bibliothèque <a href="http://search.cpan.org/~wadg/Config-IniFiles-2.38/IniFiles.pm">Config::IniFiles</a>. Les informations sont ajoutées à la page mediawiki idoine, comme l&#8217;aurait fait le sélecteur de licence, via la bibliothèque <a href="http://search.cpan.org/dist/WWW-Mechanize/">WWW::Mechanize</a>.</p>
<p>Le choix de perl s&#8217;est fait lorsque j&#8217;ai appris (merci VX et Tangui) que la bibliothèque perl mechanize était bien mieux documentée que la <a href="http://wwwsearch.sourceforge.net/mechanize/">bibliothèque python</a> (devinette inside via 3 exemples). C&#8217;est tout de même plus rassurant&#8230;</p>
<p>Ca se code tout seul&#8230; si on n&#8217;oublie pas les deux lignes pour se loguer à mediawiki avant (certains comprendront <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ). En espérant que cela serve ou donne des idées à quelqu&#8217;un.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sciunto.wordpress.com/642/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sciunto.wordpress.com/642/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sciunto.wordpress.com/642/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sciunto.wordpress.com/642/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sciunto.wordpress.com/642/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sciunto.wordpress.com/642/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sciunto.wordpress.com/642/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sciunto.wordpress.com/642/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sciunto.wordpress.com/642/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sciunto.wordpress.com/642/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sciunto.wordpress.com/642/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sciunto.wordpress.com/642/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sciunto.wordpress.com/642/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sciunto.wordpress.com/642/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sciunto.wordpress.com&amp;blog=10984286&amp;post=642&amp;subd=sciunto&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sciunto.wordpress.com/2011/12/26/mettre-a-jour-des-licences-sur-des-fichiers-dun-mediawiki/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/42ec4e0630bebb954a69e156bb1d2717?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">François</media:title>
		</media:content>
	</item>
		<item>
		<title>Fail2ban, lighttpd et le mode auth</title>
		<link>http://sciunto.wordpress.com/2011/12/24/fail2ban-lighttpd-et-le-mode-auth/</link>
		<comments>http://sciunto.wordpress.com/2011/12/24/fail2ban-lighttpd-et-le-mode-auth/#comments</comments>
		<pubDate>Sat, 24 Dec 2011 21:12:39 +0000</pubDate>
		<dc:creator>François</dc:creator>
				<category><![CDATA[Sysadmin]]></category>
		<category><![CDATA[Contribution]]></category>
		<category><![CDATA[Planet-april]]></category>
		<category><![CDATA[auto-hébergement]]></category>
		<category><![CDATA[fail2ban]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[lighttpd]]></category>

		<guid isPermaLink="false">http://sciunto.wordpress.com/?p=636</guid>
		<description><![CDATA[Chacun sait qu&#8217;il est bon de protéger son serveur d&#8217;attaque brute-force. Pour cela, j&#8217;utilise le célèbre fail2ban. Mon serveur ayant une configuration relativement modeste, j&#8217;ai choisi d&#8217;utiliser lighttpd (lighty) comme serveur web. Ce serveur web fait notamment tourner depuis peu un gitweb dont le seul but est de me permettre d&#8217;accéder à mon contenu synchronisé [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sciunto.wordpress.com&amp;blog=10984286&amp;post=636&amp;subd=sciunto&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Chacun sait qu&#8217;il est bon de protéger son serveur d&#8217;attaque brute-force. Pour cela, j&#8217;utilise le célèbre <a href="http://www.fail2ban.org">fail2ban</a>. Mon serveur ayant une configuration relativement modeste, j&#8217;ai choisi d&#8217;utiliser lighttpd (lighty) comme serveur web. Ce serveur web fait notamment tourner depuis peu un gitweb dont le seul but est de me permettre d&#8217;accéder à mon contenu synchronisé sur mon dépôt git depuis une autre machine. Autrement dit, en cas d&#8217;urgence, je veux pouvoir consulter mes notes.</p>
<p>Ces notes doivent rester privées. Pour cela, j&#8217;ai utilisé le mode mod_auth de lighttpd permettant de mettre en place un mot de passe sur le dossier. L&#8217;une des principales menaces dans la mise en place de ce type de protection est l&#8217;attaque par brute-force. Alors que lighttpd <a href="http://lists.pld-linux.org/mailman/pipermail/pld-devel-en/2010-May/021637.html">a été patché</a> en mai 2010 pour que le log contienne l&#8217;IP lors d&#8217;un échec d&#8217;authentification, aucune règle pour fail2ban n&#8217;existait. Je l&#8217;ai donc créée.</p>
<p>Les modifications que j&#8217;ai apporté ont été commité dans un <a href="https://github.com/sciunto/fail2ban">fork git du projet</a>. J&#8217;ai effectué une demande de merge auprès de la communauté de fail2ban, leur laissant le soin d&#8217;améliorer si besoin est.</p>
<p>PS : encore une preuve de la simplicité de contribuer au logiciel libre, l&#8217;écriture du billet a été plus longue que la contribution elle-même.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sciunto.wordpress.com/636/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sciunto.wordpress.com/636/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sciunto.wordpress.com/636/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sciunto.wordpress.com/636/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sciunto.wordpress.com/636/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sciunto.wordpress.com/636/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sciunto.wordpress.com/636/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sciunto.wordpress.com/636/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sciunto.wordpress.com/636/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sciunto.wordpress.com/636/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sciunto.wordpress.com/636/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sciunto.wordpress.com/636/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sciunto.wordpress.com/636/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sciunto.wordpress.com/636/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sciunto.wordpress.com&amp;blog=10984286&amp;post=636&amp;subd=sciunto&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sciunto.wordpress.com/2011/12/24/fail2ban-lighttpd-et-le-mode-auth/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/42ec4e0630bebb954a69e156bb1d2717?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">François</media:title>
		</media:content>
	</item>
		<item>
		<title>Un des enjeux actuels du logiciel libre : le service libre</title>
		<link>http://sciunto.wordpress.com/2011/10/23/un-des-enjeux-actuels-du-logiciel-libre-le-service-libre/</link>
		<comments>http://sciunto.wordpress.com/2011/10/23/un-des-enjeux-actuels-du-logiciel-libre-le-service-libre/#comments</comments>
		<pubDate>Sun, 23 Oct 2011 17:52:35 +0000</pubDate>
		<dc:creator>François</dc:creator>
				<category><![CDATA[auto-hébergement]]></category>
		<category><![CDATA[Pensées et philosophie]]></category>
		<category><![CDATA[Planet-april]]></category>
		<category><![CDATA[Planet-libre]]></category>

		<guid isPermaLink="false">http://sciunto.wordpress.com/?p=616</guid>
		<description><![CDATA[Il faut l&#8217;admettre, le logiciel libre a fait un énorme progrès ces dernières années. Alors que les systèmes GNU/linux ou BSD étaient utilisés dans des domaines spécifiques (universités, entreprises&#8230;), ceux-ci et les logiciels libres en général ont réussi à rentrer là où ils n&#8217;étaient pas présents jusqu&#8217;alors : les foyers, les écoles, l&#8217;assemblée nationale ou [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sciunto.wordpress.com&amp;blog=10984286&amp;post=616&amp;subd=sciunto&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Il faut l&#8217;admettre, le logiciel libre a fait un énorme progrès ces dernières années. Alors que les systèmes GNU/linux ou BSD étaient utilisés dans des domaines spécifiques (universités, entreprises&#8230;), ceux-ci et les logiciels libres en général ont réussi à rentrer là où ils n&#8217;étaient pas présents jusqu&#8217;alors : les foyers, les écoles, l&#8217;assemblée nationale ou la gendarmerie.</p>
<p>Je conçois cette adoption en deux temps. La première a dû se faire à l&#8217;époque où l&#8217;accès internet s&#8217;est démocratisé avec les premières connections ADSL : Mandrake était alors une distribution reconnue pour les débutants. Cette première vague s&#8217;est suivie, selon moi, d&#8217;une seconde par ubuntu qui a réussi à provoquer un mouvement communautaire très fort, époque où la moindre sortie d&#8217;une nouvelle version mettait en branle les blogs qui s&#8217;empressaient de relayer l&#8217;information. Il y a probablement eu dans ce succès un effet certain des versions de microsoft de l&#8217;époque (vista notamment) où les utilisateurs avertis de Windows cherchaient quelque chose qui fonctionne.</p>
<p>Ces deux vagues ont permis d&#8217;une part d&#8217;améliorer la prise en main des logiciels libres en les rendant plus conviviaux et plus simples (pour quoi le souhaite, on peut toujours installer des distributions/logiciels réputés difficiles). La documentation et les sources d&#8217;informations se sont multipliés au point que désormais il est facile de trouver les solutions à ses problèmes ou à ses interrogations. Je trouve remarquable qu&#8217;aujourd&#8217;hui le mot &#8220;linux&#8221; ait déjà été entendu par beaucoup de personnes, ce n&#8217;était pas le cas il y a 10 ans.</p>
<p>La question qui peut s&#8217;imposer est alors l&#8217;existence d&#8217;une troisième salve. Doit-on s&#8217;y attendre ? Je ne le crois pas. La puissance de frappe qu&#8217;a eu ubuntu a sans doute déjà permis de sensibiliser les personnes prêtes à écouter, comprendre et essayer un monde différent : qu&#8217;il soit technique ou philosophique. Je ne parie pas d&#8217;aussi grand succès à des distributions récentes telles que Mageia qui joue sur ce créneau. Bien sûr, leur travail est utile car d&#8217;une part, il y aura toujours un flot continue de nouveaux et que l&#8217;une des qualités du logiciel libre est d&#8217;avoir autant d&#8217;alternative qu&#8217;il y a de penser la chose, la diversité en somme. Pour ces deux raisons, ce travail est nécessaire.</p>
<p>Au sein des utilisateurs de logiciel libre, il y a ceux qui y voient un intérêt certain dans la qualité, la stabilité, la diversité, le prix ou tout autre raison pratique. D&#8217;autres ont franchi une étape supplémentaire en adhérant à une pensée libriste, dirons-nous même si celle-ci ne doit pas être au fond unique ni totalement synthétisable. De ces deux groupes, tous font l&#8217;expérience d&#8217;une maitrise, de la maitrise de leurs systèmes, de leurs logiciels et ainsi de la maitrise de leurs données. Cette maitrise est découle de la transparence du code et de l&#8217;utilisation de format ouvert qui rendent respectivement plus confient dans la sûreté et dans la pérennité de l&#8217;information.</p>
<p>Si la description s’arrêtait là, elle serait douce et merveilleuse mais depuis quelques années, les internautes que nous sommes utilisons de plus en plus de services. J&#8217;appellerai ces services, services distants par opposition aux services locaux que nous rendent nos bons logiciels libres installés sur notre disque par nos soins. Ces services distants sont gérés par d&#8217;autres, sur une machine de quelqu&#8217;un d&#8217;autre et pour un grand nombre d&#8217;entre nous. Nous, utilisateurs de ces services, nous ne faisons que les utiliser en donnant nos données&#8230; rien ne nous assure qu&#8217;elles ne seront pas exploitées, combinées, réutilisées par autrui. Rien ne nous assure même que nous pourrons les récupérer un jour. Ces services ne supplanteront pas, enfin j&#8217;en suis persuadé, nos logiciels locaux, mais ils cohabiteront car les modèles sont différents et complémentaires. La cohabitation fera qu&#8217;un utilisateur ne sera plus libre, de fait.</p>
<p>Le défis lancé  au monde du libre est pour moi celui-là. Permettre à ces personnes qui ont compris les qualités du code libre, qui ont saisi à quel point leur liberté ne pouvait d&#8217;exercer sans, de pouvoir bénéficier de services distants maîtrisés. À preuve du contraire, la maitrise des services distants passe nécessairement par un contrôle physique de la machine et du code qui y est exécuté. En effet, des <a title="réflexions" href="http://autonomo.us/2008/07/franklin-street-statement/">réflexions</a> sont menées afin de conceptualiser un service libre. Cependant, cela nécessite, à un moment ou à un autre, de donner confiance aux administrateurs.</p>
<p>En terme plus clair cela revient à dire que le serveur doit se retrouver chez vous pour que vous restiez seul propriétaire physique des informations et le serveur doit exécuter du code libre pour maîtriser ce qu&#8217;il adviendra de vos données (comment elles sont traitées). Dans ce cas, on a ce que j&#8217;appelle des services distants-locaux.</p>
<p>Aujourd&#8217;hui, il y a à ma connaissance deux projets ayant pour objectif d&#8217;installer des services distants-locaux : <a>FreedomBox</a> et <a>BeedBox</a>.</p>
<p>Le premier a été porté par Eben Moglen alors que les révolutions du monde arabe éclataient. L&#8217;idée étant de fournir des &#8220;plugbox&#8221; dont l’installation serait enfantine et qui rendraient les libertés numériques de ses utilisateurs. Le second prend sa source avec une conférence de Benjamin Bayart (internet ou minitel 2.0) où il soulignait que les briques logiciels pour créer un serveur mais il n&#8217;y a pas la glue qui ferait un tout cohérent et facilement gérable. Beedbox a été lancé par un groupe francophone.</p>
<p>Ayant appris l&#8217;existence de Beedbox après celle de FreedomBox, j&#8217;ai d&#8217;abord cru en des projets identiques. En réalité, les deux projets oeuvrent sur des terrains voisins et complémentaire.</p>
<p>Alors que le projet FreedomBox est davantage centré sur les questions de lutte contre la censure, de vie privée et d&#8217;anonymat afin de permettre un accès libre à l&#8217;information et la liberté d&#8217;expression, Beedbox se concentre à rendre accessible l&#8217;auto-hébergement. L&#8217;objectif est clairement de permettre à quiconque le souhaitant d&#8217;héberger les services dont il a besoin afin de contrôler au mieux ses données.</p>
<p>Les deux projets ont en commun la défense de la neutralité du net ainsi que le contrôle des données. Ils sont à mes yeux les chrysalides du monde libre.</p>
<p>Liens pouvant intéresser le lecteur :</p>
<ul>
<li><a href="http://owncloud.org/">Owncloud</a></li>
<li><a href="http://www.archost.org/">Archost</a></li>
<li><a href="http://www.suna.fdn.fr/globenet/no-box/cahier-charges">No-Box</a></li>
<li><a href="http://fr.flossmanuals.net/PourUnWebOuvert/Introduction">Livre : Pour un web ouvert</a></li>
<li><a href="http://www.beedbox.org/">Beedbox</a></li>
<li><a href="https://www.freedomboxfoundation.org/">FreedomBox</a></li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sciunto.wordpress.com/616/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sciunto.wordpress.com/616/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sciunto.wordpress.com/616/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sciunto.wordpress.com/616/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sciunto.wordpress.com/616/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sciunto.wordpress.com/616/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sciunto.wordpress.com/616/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sciunto.wordpress.com/616/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sciunto.wordpress.com/616/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sciunto.wordpress.com/616/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sciunto.wordpress.com/616/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sciunto.wordpress.com/616/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sciunto.wordpress.com/616/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sciunto.wordpress.com/616/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sciunto.wordpress.com&amp;blog=10984286&amp;post=616&amp;subd=sciunto&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sciunto.wordpress.com/2011/10/23/un-des-enjeux-actuels-du-logiciel-libre-le-service-libre/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/42ec4e0630bebb954a69e156bb1d2717?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">François</media:title>
		</media:content>
	</item>
		<item>
		<title>Ma nouvelle gestion des flux RSS</title>
		<link>http://sciunto.wordpress.com/2011/08/15/ma-nouvelle-gestion-des-flux-rss/</link>
		<comments>http://sciunto.wordpress.com/2011/08/15/ma-nouvelle-gestion-des-flux-rss/#comments</comments>
		<pubDate>Mon, 15 Aug 2011 14:52:55 +0000</pubDate>
		<dc:creator>François</dc:creator>
				<category><![CDATA[auto-hébergement]]></category>
		<category><![CDATA[Logiciel]]></category>
		<category><![CDATA[Planet-april]]></category>
		<category><![CDATA[Planet-libre]]></category>
		<category><![CDATA[GTD]]></category>
		<category><![CDATA[imap]]></category>
		<category><![CDATA[RSS]]></category>
		<category><![CDATA[rsslounge]]></category>
		<category><![CDATA[tinytinrss]]></category>

		<guid isPermaLink="false">http://sciunto.wordpress.com/?p=609</guid>
		<description><![CDATA[Solutions locales J&#8217;utilise, sans doute comme de nombreux internautes, les flux RSS (ou atom) afin de suivre des planet ou divers sites. Jusqu&#8217;ici, j&#8217;utilisais thunderbird pour les récupérer. J&#8217;ai essayé d&#8217;utiliser d&#8217;autres logiciels tels que newsbeuter sans être parvenu à les adopter. La critique que je fais à un logiciel CLI est l&#8217;absence de gestion des [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sciunto.wordpress.com&amp;blog=10984286&amp;post=609&amp;subd=sciunto&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h1>Solutions locales</h1>
<p>J&#8217;utilise, sans doute comme de nombreux internautes, les flux RSS (ou atom) afin de suivre des planet ou divers sites. Jusqu&#8217;ici, j&#8217;utilisais thunderbird pour les récupérer. J&#8217;ai essayé d&#8217;utiliser d&#8217;autres logiciels tels que <a href="http://newsbeuter.org/">newsbeuter</a> sans être parvenu à les adopter. La critique que je fais à un logiciel CLI est l&#8217;absence de gestion des images, ce qui oblige d&#8217;ouvrir la page dans un navigateur pour visualiser pleinement l&#8217;article. Une opération de trop. Quant aux autres logiciels graphiques (mes derniers tests remontent à au moins deux ans), ils ne m&#8217;ont guerre séduit car ils n&#8217;apportaient rien de plus et je devais lancer un logiciel supplémentaire. Je vais revenir sur cette raison.</p>
<p>Quel que soit le logiciel, une de mes préoccupations provenait de la fréquence des synchronisations : que se passera-t-il si je n&#8217;allume pas fréquemment ma machine ? Réponse, je vais louper des articles. Ce n&#8217;est pas la fin du monde, mais c&#8217;est gênant.</p>
<h1>Solutions distantes (web)</h1>
<p>Pour palier ce problème, on peut utiliser une machine tournant 24h/24 pour récupérer les flux, ainsi plus aucun loupé. Je ne parle délibérément pas des services proposés par certaines entreprises car je considère que mes flux sont des données importantes de ma vie privée.</p>
<p>Ayant un petit serveur, je peux héberger moi-même un service qui fait la même chose. Une approche bien connue est celle de <a href="http://tt-rss.org/">tinytinyRSS</a> ou encore <a href="http://rsslounge.aditu.de/">RSSlounge</a> : ces logiciels possèdent une interface web.</p>
<p>Pourtant séduisante, cette possibilité ne me convient pas. J&#8217;aime avoir mes flux dans mon courrielleur. Apprenti GTG que je suis, les conseils de <a href="http://www.couchet.org/20110412-lille/">Frédéric Couchet</a> me font dire que je dois réduire au maximum le nombre d&#8217;entrée (sources de tâches). Devoir d&#8217;une part traiter mes courriels avec un logiciel puis voir ailleurs pour traiter mes flux va à l&#8217;encontre de ce conseil.</p>
<h1>Solutions distantes (courriel)</h1>
<p>L&#8217;idée est donc d&#8217;envoyer les articles comme des courriels. Il existe <a href="http://www.dsfc.net/internet/veille/rss-2-mail-et-mail-2-rss/">quelques solutions</a>. <a href="http://artisan.karma-lab.net/flux-facilement-accessibles-grace-a-feed2imap">Artisan-linux</a> a préféré utiliser un logiciel qui injecte directement dans une boite imap. Pour ma part, j&#8217;ai choisi un logiciel qui envoie sur une boite mail&#8230; que j&#8217;utilise en imap (pour les avantages que tout le monde verra). Ce logiciel est <a href="http://www.allthingsrss.com/rss2email/">rss2email</a>. Je déconseille le paquet debian, très patché (trop ou pas assez à mon goût&#8230;), le principal soucis est qu&#8217;il n&#8217;utilise pas d&#8217;extraheader RSS-feed qui me permet de filtrer pour organiser mes flux. Le logiciel fonctionne bien. Même si la récupération et le traitement des flux est bon, la gestion des IO me semble très mauvaise : je préfère de loin un fichier de configuration éditable à la main. Le petit inconvénient est que je dois gérer la classement dans thunderbird, ce n&#8217;est pas le logiciel qui le fait (au contraire de la solution d&#8217;artisan-linux je crois). Ceci dit, je ne me connecterai avec un autre client que dans de très rares occasions (2 fois par an maxi), ça ne me semble pas gênant.</p>
<p>Ainsi, j&#8217;obtiens mes infos directement dans mon courrielleur, j&#8217;ai réduit mon nombre de répertoire (toujours via à vis de GTD) en remplaçant un répertoire par flux par un répertoire par thématique.</p>
<p>La boite que j&#8217;utilise est une boite Imap de chez gandi (à défaut d&#8217;une boite sur mon serveur pour le moment). L&#8217;espace étant limité (enfin, pas tant que ça), cela va me motiver à garder ces dossiers vides. Je prends un flux et je le <a href="http://gagnermavie.com/wp-content/uploads/2007/05/gmv-gtdfr-ref.gif">traite</a> : pas d&#8217;accumulation <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>D&#8217;un point de vue vie privée et auto-hébergement, ce n&#8217;est pas optimal, mais déjà pas mal.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sciunto.wordpress.com/609/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sciunto.wordpress.com/609/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sciunto.wordpress.com/609/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sciunto.wordpress.com/609/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sciunto.wordpress.com/609/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sciunto.wordpress.com/609/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sciunto.wordpress.com/609/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sciunto.wordpress.com/609/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sciunto.wordpress.com/609/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sciunto.wordpress.com/609/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sciunto.wordpress.com/609/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sciunto.wordpress.com/609/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sciunto.wordpress.com/609/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sciunto.wordpress.com/609/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sciunto.wordpress.com&amp;blog=10984286&amp;post=609&amp;subd=sciunto&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sciunto.wordpress.com/2011/08/15/ma-nouvelle-gestion-des-flux-rss/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/42ec4e0630bebb954a69e156bb1d2717?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">François</media:title>
		</media:content>
	</item>
		<item>
		<title>Petite revue des solutions libres de synchronisation</title>
		<link>http://sciunto.wordpress.com/2011/08/06/petite-revue-des-solutions-libres-de-synchronisation/</link>
		<comments>http://sciunto.wordpress.com/2011/08/06/petite-revue-des-solutions-libres-de-synchronisation/#comments</comments>
		<pubDate>Sat, 06 Aug 2011 18:55:49 +0000</pubDate>
		<dc:creator>François</dc:creator>
				<category><![CDATA[auto-hébergement]]></category>
		<category><![CDATA[Logiciel]]></category>
		<category><![CDATA[Planet-april]]></category>
		<category><![CDATA[Planet-libre]]></category>
		<category><![CDATA[dropbox]]></category>
		<category><![CDATA[dvcs-autosync]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[incron]]></category>
		<category><![CDATA[rsync]]></category>
		<category><![CDATA[sparkleshare]]></category>
		<category><![CDATA[syncany]]></category>
		<category><![CDATA[synchronisation]]></category>
		<category><![CDATA[unison]]></category>

		<guid isPermaLink="false">http://sciunto.wordpress.com/?p=590</guid>
		<description><![CDATA[Avant de commencer cette petite revue, je vais présenter ce que j&#8217;attend d&#8217;une solution de synchronisation pour mes petits besoins personnels. Synchronisation de N clients sur un serveur Accès hors ligne des données (et modification), synchro à la prochaine connexion Automatisation des synchro (dès qu&#8217;il y a quelque chose à synchroniser et que la connexion [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sciunto.wordpress.com&amp;blog=10984286&amp;post=590&amp;subd=sciunto&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Avant de commencer cette petite revue, je vais présenter ce que j&#8217;attend d&#8217;une solution de synchronisation pour mes petits besoins personnels.</p>
<ul>
<li>Synchronisation de N clients sur un serveur</li>
<li>Accès hors ligne des données (et modification), synchro à la prochaine connexion</li>
<li>Automatisation des synchro (dès qu&#8217;il y a quelque chose à synchroniser et que la connexion existe, on y va)</li>
<li>Utilisation en ligne de commande possible (et GUI pour qui veut)</li>
<li>En bonus, historique des fichiers</li>
</ul>
<div>Mon principal intérêt est de synchroniser les données de logiciels tels que GTG ou Zim. Ce ne sont que des fichiers textes, pas méchants.</div>
<div>Ceci peut paraitre bien simple. Cependant, les solutions libres permettant ça sont nombreuses mais peu fonctionnelle&#8230; sauf une (un peu de suspens). Allez, on passe à la revue</div>
<h1>Revue</h1>
<p>Cette revue est sans doute incomplète mais elle est le résultat tout de même de nombreuses heures (par dizaines) à fouiner un peu partout et à tester. J&#8217;espère qu&#8217;elle sera utile à celles et ceux qui se posent la même question et peut être à éclaircir (en vue de développements futurs ?) les points forts et faibles de l&#8217;existant. Je parle ici uniquement des solutions libres pour lesquelles les données peuvent être mises sur un serveur maitrisé par l&#8217;utilisateur final (auto-hébergement&#8230;). J&#8217;avoue ne pas avoir tout testé. Aux personnes qui pensent dropbox, je les renvoie <a href="http://www.silicon.fr/dropbox-accessible-pendant-4-heures-sans-mot-de-passe-54652.html">là</a> et <a href="http://www.cloudactu.fr/dropbox-changement-de-politique/">là</a>.</p>
<h2>Rsync</h2>
<div>Outil éprouvé, Rsync permet de la synchronisation unidirectionnelle A  vers B, si B est plus vieux, on remplace par le version de A. C&#8217;est très bien pour les sauvegardes, la copie de fichiers mais pas pour la synchronisation qui doit être bidirectionnelle.</div>
<h2>Unison</h2>
<p>Un vieux software performant. C&#8217;est le rsync bidirectionnel. Il peut être utilisé en local ou à travers du SSH et peut être automatisé (option batch). Le seul hic est qu&#8217;il n&#8217;a pas le moyen de vérifier qu&#8217;une nouvelle synchro est nécessaire, autrement dit, ce n&#8217;est pas un démon. Il faut le coupler à autre chose comme inotify. <a href="http://fr.wikipedia.org/wiki/Inotify">Inotify</a> permet d&#8217;envoyer des signaux lorsqu&#8217;il y a des modifications sur le système de fichier (création, accès, destruction&#8230;)</p>
<p>Unison étant pour moi une des solutions les plus à même de répondre aux besoins, je ferai un paragraphe dédié en fin d&#8217;article (bidouilles possibles). Cependant, elle ne l&#8217;est pas en l&#8217;état. Certains ont essayé de faire des adaptations avec le logiciel suivant.</p>
<h2>Lsyncd</h2>
<p><a href="http://code.google.com/p/lsyncd/">Lsyncd</a> est conçu pour palier l&#8217;absence d&#8217;inotify dans rsync. Le projet semble avoir déjà une petite maturité. Le problème est qu&#8217;avec rsync, on tombe à nouveau dans une solution unidirectionnelle. Une <a href="http://www.r-bloggers.com/details-of-two-way-sync-between-two-ubuntu-machines/">solution</a> utilisant Unison à la place de rsync semble prometteuse. L&#8217;idée est de synchroniser via ssh en utilisant le puissance de unison lorsque le système de fichier est changé (lsyncd). L&#8217;auteur procède même à du <a href="http://geekfault.org/2011/02/19/reverse-ssh-acceder-a-un-serveur-derriere-un-natfirewall/">reverse ssh</a> afin de déclencher une synchronisation dû à un changement de l&#8217;autre coté (je peux presque m&#8217;éviter ça&#8230; j&#8217;y reviendrai). En lisant les commentaires, on remarque qu&#8217;<a href="http://blog.nguyenvq.com/2011/07/18/real-time-file-synchronization-like-dropbox-via-unison/">une personne</a> a remonté un problème : les tâches unison sont lancées en série. L&#8217;écueil est que la synchronisation démarre sur un fichier spécifique mais que la synchro est globale. On voit vite qu&#8217;on peut créer un grand nombre de processus unison parce que plein de petits fichiers son modifiés successivement. On a vu mieux.  Le hack n&#8217;est pas parfait.</p>
<h2>SSHfs/webdav</h2>
<p>Je n&#8217;ai pas essayé sshfs mais webdav via <a href="http://owncloud.org/">owncloud</a>. J&#8217;imagine que le premier souffre des mêmes critiques que le second qui sont que le travail hors ligne est impossible. Je n&#8217;ai trouvé aucune solution logicielle permettant de travailler sur du webdav hors ligne. Attention aussi à la moindre déconnexion internet. Si vous continuer à utiliser votre logiciel parce que vous ne faites pas attention et qu&#8217;il accède aux données, les surprises vont arriver rapidement (j&#8217;ai testé&#8230;).</p>
<p>Le hack que je vois ici est :</p>
<ol>
<li>de monter le webdav si connexion active</li>
<li>synchroniser avec la copie locale</li>
<li>démonter</li>
</ol>
<div>Et recommencer l&#8217;opération régulièrement (sur des critères à définir, cf plus bas). Je pense que c&#8217;est possible, mais pas très beau ni très performant.</div>
<h2>Sparkleshare</h2>
<p><a href="http://blog.nicolargo.com/2011/07/sparkleshare-enfin-une-vraie-alternative-libre-a-dropbox.html">Certains ont crié victoire</a> à l&#8217;arrivé de ce logiciel (tout au moins dans le titre <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ). Le problème est qu&#8217;à l&#8217;heure actuelle, le projet est jeune et que le client est en mono. Je ne suis pas emballé pour l&#8217;instant par ce logiciel, mais bien plus par l&#8217;idée. Concept concurrent à Unison, Sparkleshare utilise la puissance de gestionnaires de version tel que Git. C&#8217;est pour moi la condition sine qua none d&#8217;une bonne qualité : reposer sur un système éprouvé. Ce système est avant tout utile pour des fichiers non binaires, en effet, les performances chuteront dès qu&#8217;il s&#8217;agira de renvoyer le fichier en intégralité. Mon avis est que c&#8217;est un faux problème, car je ne cherche pas à synchroniser Zim comme des photos. Pour des photos, j&#8217;utiliserais bien plus webdav qu&#8217;une solution de synchronisation comme sparkleshare.</p>
<p>Git permet d&#8217;avoir l&#8217;historique, un bon point mais certains disent que le dépôt risque de prendre du poids rapidement. Git permet de modifier l&#8217;histoire, je ne suis pas un gourou mais je pense qu&#8217;en se penchant dans la doc, on doit pouvoir trouver le moyen d&#8217;alléger le dépôt régulièrement.</p>
<h2>dvcs-autosync</h2>
<p>Passons maintenant à <a href="http://mayrhofer.eu.org/dvcs-autosync">celui-ci</a>. Ce logiciel utilise Git, inotify et Jabber (XMPP). Le substitut à sparkleshare par excellence. J&#8217;ai été un peu surpris de l&#8217;utilisation de jabber, celui-ci sert visiblement à communiquer entre les divers instances. C&#8217;est pour moi la révélation de cette revue, simple, efficace, mes pré-tests sont tout à fait concluant. Ce logiciel est une perle qui devrait être bien plus largement connue. Une discussion a eu lieu sur le <a href="https://bbs.archlinux.org/viewtopic.php?id=115801">forum d&#8217;archlinux</a>.</p>
<h2>Syncany</h2>
<p>Voici un <a href="http://www.syncany.org/">logiciel en java</a>. Il semble très prometteur aussi puisqu&#8217;il a pour ambition d&#8217;être chiffré et peu dépendant du support de stockage : FTP, IMAP, Webdav, SSH et bien d&#8217;autres&#8230; La version que j&#8217;ai testé ne fonctionnait pas (FTP ou webdav ou SSH, commit initial impossible). Difficile de donner un avis, mais la première version n&#8217;est pas encore sortie. C&#8217;est pour moi un logiciel à surveiller de très près. Il faudra voir la robustesse en gestion de conflits etc.</p>
<h2>Lipsync</h2>
<p>Suite à <a href="http://fak3r.com/geek/howto-build-your-own-open-source-dropbox-clone/">cet article</a>, j&#8217;ai aussi trouvé <a href="https://github.com/philcryer/lipsync">ce logiciel</a> que je n&#8217;ai pas réussi à faire fonctionner. J&#8217;ai commencé à modifier le code pour résoudre divers bugs et puis j&#8217;ai rapidement lâché. La qualité n&#8217;est pas à la hauteur de mes espérances. D&#8217;après ce que j&#8217;ai vu, il n&#8217;utilise que rsync&#8230; (?)</p>
<h2>Csync</h2>
<p>Je mentionne aussi l&#8217;existence de ce projet <a href="http://www.csync.org/">csync</a> qui semble mort. Pas testé de ce fait.</p>
<h2>Rubydrop</h2>
<p><a href="http://blog.meltingice.net/programming/rubydrop-open-source-alternative-dropbox/">Rubydrop</a> est un projet plus à l&#8217;échelle du projet personnel. La dernière activité remonte à décembre 2010 et la licence est exotique. Par manque de conviction, je n&#8217;ai pas testé non plus.</p>
<h1>Conclusion de la revue</h1>
<p>De nombreuses solutions et très peu qui fonctionnent out of the box pour moi. Il y a deux concepts qui sortent du lot : le bon vieux Unison et des gestionnaires de version comme Git. L&#8217;utilisation de inotify est selon moi un atout, mais limite l&#8217;interopérabilité avec les systèmes windows notamment (comme ça ne m&#8217;importe pas&#8230;). Les autres systèmes de type webdav ne répondent pas à nos besoins, ils sont par contre bien plus utiles pour des dépôts de documents, photos, vidéos, sons&#8230; Là où une synchronisation manuelle à un sens (on ne synchronise pas des photos tous les quatre matins). Pour les données d&#8217;un logiciel utilisé au quotidien, c&#8217;est inadapté.</p>
<p>Parmis les solutions à surveiller, je dirais :</p>
<ul>
<li>Syncany</li>
<li>Sparkleshare (principalement la recherche d&#8217;amélioration concernant mono)</li>
<li><strong>dvcs-autosync</strong> : peu connu et qui mériterait de l&#8217;être plus. Actuellement, c&#8217;est la <strong>seule solution viable à mes yeux</strong>.</li>
</ul>
<div>Cette dernière solution sera donc celle que je vais mettre en place bientôt. J&#8217;ai déjà installé sur mon serveur un dépôt git. En effet, il n&#8217;est pas question d&#8217;utiliser un dépôt public tel que <a href="https://gitorious.org/">gitorious</a> (moteur libre) ou <a href="http://github.com/">github</a>. Ceci dit, sur le second, il permet de gérer des dépôts privés moyennant finance. Ceux qui ont une machine qui tourne en permanence, je vous conseille cet <a href="http://www.mickael-allain.fr/index.php?post/2010/03/06/Installation-et-configuration-de-son-serveur-Git-avec-Gitosis-sous-Debian-5">excellent tuto sur gitosis</a> et <a href="http://cobex4.dhrclic.com/category/serveur/git-gitosis/">celui-ci aussi</a>.</div>
<div>J&#8217;espère que cette quette sera utile à d&#8217;autres et que je vous ai donné envie de tester dvcs-autosync.</div>
<div>EDIT du 7 aout 2011 : je viens de voir sur gitosis n&#8217;est plus maintenu. Gitolite en est une réécriture.</div>
<h1>Addendum : Bidouilles possibles</h1>
<p>Si on s&#8217;ennuie, on peut envisager des petites bidouilles (hacks). Ce sont de petites pensées, le coeur de l&#8217;article n&#8217;est pas là <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h2>Webdav</h2>
<p>Je vois assez bien un hack très rapide avec webdav. Comme expliqué plus haut, ne pas travailler directement dans le répertoire monté, mais synchroniser dedans avec unison. Synchroniser par cron me semble peut intelligent. Par contre, <a href="http://www.sysadmin-fr.org/fr/linux/incron">incron</a> devrait être facile à utiliser (ou un script perl/python avec une lib inotify).</p>
<h2>Unison</h2>
<p>A l&#8217;image de lsyncd + unison, je pense qu&#8217;on peut écrire un petit code (perl ou python par ex) avec la lib inotify qui lancerait des synchro avec unison. J&#8217;éviterai l&#8217;erreur ci-dessus en groupant les synchros. Autrement dit, je ne lance pas une synchro dès qu&#8217;il y a un signal lancé par inotify. Je limite par ex la fréquence des synchro et j&#8217;attends toujours que la précédente soit finie pour lancer la nouvelle. C&#8217;est l&#8217;absence de cette deuxième condition qui selon moi pose problème.</p>
<p>J&#8217;ai parfois des soucis avec le reverse ssh (erreur du type  <span style="font-family:Consolas, Monaco, monospace;"><span class="Apple-style-span" style="font-size:12px;line-height:18px;white-space:pre;">ssh_exchange_identification: Connection closed by remote host</span></span>) objets de longues discussions sans solution sur les forums alors que je suis déjà parvenu à le faire fonctionner. Néanmoins, je pense que synchroniser au démarrage de la machine et après des temps d&#8217;inactivité long suffirait (à titre personnel). En effet, je ne travaille que sur une machine à la fois et un long moment se passe lorsque je change de machine (temps de trajet d&#8217;au moins 10 minutes). On devrait dans ce cas pouvoir se passer d&#8217;une communication serveur vers clients.</p>
<h2></h2>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sciunto.wordpress.com/590/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sciunto.wordpress.com/590/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sciunto.wordpress.com/590/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sciunto.wordpress.com/590/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sciunto.wordpress.com/590/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sciunto.wordpress.com/590/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sciunto.wordpress.com/590/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sciunto.wordpress.com/590/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sciunto.wordpress.com/590/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sciunto.wordpress.com/590/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sciunto.wordpress.com/590/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sciunto.wordpress.com/590/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sciunto.wordpress.com/590/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sciunto.wordpress.com/590/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sciunto.wordpress.com&amp;blog=10984286&amp;post=590&amp;subd=sciunto&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sciunto.wordpress.com/2011/08/06/petite-revue-des-solutions-libres-de-synchronisation/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/42ec4e0630bebb954a69e156bb1d2717?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">François</media:title>
		</media:content>
	</item>
		<item>
		<title>Premiers pas vers l&#8217;auto-hébergement</title>
		<link>http://sciunto.wordpress.com/2011/08/05/premiers-pas-vers-lauto-hebergement/</link>
		<comments>http://sciunto.wordpress.com/2011/08/05/premiers-pas-vers-lauto-hebergement/#comments</comments>
		<pubDate>Fri, 05 Aug 2011 12:27:14 +0000</pubDate>
		<dc:creator>François</dc:creator>
				<category><![CDATA[auto-hébergement]]></category>
		<category><![CDATA[Planet-april]]></category>
		<category><![CDATA[Planet-libre]]></category>
		<category><![CDATA[Sysadmin]]></category>

		<guid isPermaLink="false">http://sciunto.wordpress.com/?p=580</guid>
		<description><![CDATA[Je ne vais pas faire l&#8217;introduction classique à un tel billet qui consisterait à redonner les clefs du discours de Benjamin Bayard sur la différence entre internet et le minitel ainsi que l&#8217;importance de faire de l&#8217;internet. Plusieurs raisons m&#8217;ont poussé à installer un serveur chez moi : Apprendre (parce que mine de rien, ce [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sciunto.wordpress.com&amp;blog=10984286&amp;post=580&amp;subd=sciunto&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Je ne vais pas faire l&#8217;introduction classique à un tel billet qui consisterait à redonner les clefs du discours de Benjamin Bayard sur la différence entre internet et le minitel ainsi que l&#8217;importance de faire de l&#8217;internet.</p>
<p>Plusieurs raisons m&#8217;ont poussé à installer un serveur chez moi :</p>
<ul>
<li>Apprendre (parce que mine de rien, ce n&#8217;est pas trivial)</li>
<li>Synchroniser des fichiers en maîtrisant mes données</li>
<li>Avoir la possibilité de monter quelques pages web</li>
<li>Echanger quelques fichiers via ftp</li>
<li>Récupérer mes flux RSS. Thunderbird montre ses limites quand il s&#8217;agit d&#8217;être déconnecté un bout de temps.</li>
<li>Et pour toutes les fois où il est utile d&#8217;avoir une machine distante</li>
<li>Ainsi que ce que je n&#8217;ai pas encore pensé</li>
</ul>
<div>En réalité, la problématique de synchronisation est sans doute la plus importante pour moi. En effet, j&#8217;utilise au quotidien [au travail] <a href="http://gtg.fritalk.com/">GTG</a> (getting things gnome) et le wiki de bureau <a href="http://zim-wiki.org/">Zim</a> au travail et à la maison. Or il m&#8217;arrive trop souvent de savoir que j&#8217;ai l&#8217;information, mais elle ne m&#8217;est pas accessible, donc inutile. A vrai dire, je n&#8217;ai pour le moment pas encore mis la main sur une solution logicielle qui me satisfasse à 100%. Ce sera l&#8217;occasion d&#8217;un prochain article.</div>
<div>La problématique des RSS est aussi cruciale. Il peut m&#8217;arriver d&#8217;être absent une semaine et une disponibilité d&#8217;accès assez hasardeuse. Le soucis est que pour ne rien manquer, les flux doivent être récupérés régulièrement. Je connais entre autre <a href="http://rsslounge.aditu.de/">rsslounge</a>, mais je ne sais pas si un lecteur dans un navigateur est fait pour moi. A suivre aussi.</div>
<div>Dans ces deux cas, l&#8217;utilisation de services via des services externes est bannie car je considère que ces informations sont trop personnelles.</div>
<h1>Configuration</h1>
<div>
<ul>
<li>Carte mère Asus avec processeur Atom (Faible conso). J&#8217;ai pris le modèle ASUS AT5NM10T-I avec un atom D525.</li>
<li>Disques durs 2x 1 To. Un pour les sauvegardes. 32Mo de cache en 7200 tours/min, hitachi.</li>
<li>4 Go de ram, même si il n&#8217;y a qu&#8217;un peu plus de 3Go de reconnu. C n&#8217;est pas le plus coûteux.</li>
<li>Une alim 400W Fortron 80+, pour la qualité et la performance.</li>
<li>Un clavier à 5€.</li>
<li>Un boitier de 10 ans d&#8217;age, récupéré.</li>
</ul>
<div>Cette configuration est largement inspirée de celle de <a href="http://www.generation-linux.fr/index.php?post/2010/12/13/Deballage-et-installation-de-mon-home-serveur">Benjamin</a>. Le coût total est autour des 250€ et me semble pleinement suffisante pour prendre goût à l&#8217;auto-hébergement. Une debian est installée dessus.</div>
</div>
<div>Je ferai à l&#8217;occasion des retours d&#8217;expérience ainsi que des &#8220;How to&#8221; d&#8217;adminsys débutant.</div>
<div>Merci à XKomodor pour les discussions sur le matériel.</div>
<div>PS : Ceci devrait être mon premier billet sur le <a href="http://planet.auto-hebergement.fr/">planet auto-hébergement</a> dont le site ce trouve <a href="http://www.auto-hebergement.fr/">ici</a>.</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sciunto.wordpress.com/580/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sciunto.wordpress.com/580/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sciunto.wordpress.com/580/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sciunto.wordpress.com/580/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sciunto.wordpress.com/580/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sciunto.wordpress.com/580/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sciunto.wordpress.com/580/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sciunto.wordpress.com/580/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sciunto.wordpress.com/580/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sciunto.wordpress.com/580/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sciunto.wordpress.com/580/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sciunto.wordpress.com/580/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sciunto.wordpress.com/580/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sciunto.wordpress.com/580/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sciunto.wordpress.com&amp;blog=10984286&amp;post=580&amp;subd=sciunto&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sciunto.wordpress.com/2011/08/05/premiers-pas-vers-lauto-hebergement/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/42ec4e0630bebb954a69e156bb1d2717?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">François</media:title>
		</media:content>
	</item>
		<item>
		<title>Affiches du groupe sensibilisation de l&#8217;April</title>
		<link>http://sciunto.wordpress.com/2011/07/31/affiches-du-groupe-sensibilisation-de-lapril/</link>
		<comments>http://sciunto.wordpress.com/2011/07/31/affiches-du-groupe-sensibilisation-de-lapril/#comments</comments>
		<pubDate>Sun, 31 Jul 2011 13:31:07 +0000</pubDate>
		<dc:creator>François</dc:creator>
				<category><![CDATA[Misc.]]></category>
		<category><![CDATA[Planet-april]]></category>
		<category><![CDATA[Planet-libre]]></category>
		<category><![CDATA[Affiche]]></category>
		<category><![CDATA[april]]></category>
		<category><![CDATA[sensibilisation]]></category>

		<guid isPermaLink="false">http://sciunto.wordpress.com/?p=573</guid>
		<description><![CDATA[Au sein de l&#8217;April, un des groupes de travail se nomme le groupe sensibilisation. Celui-ci a pour objectif de créer un ensemble d&#8217;outils permettant d&#8217;effectuer la promotion du logiciel libre et d&#8217;avertir aussi de certains dangers. Outre la production de tracts, flyers, T-shirts ou formations, le groupe a produit ces derniers mois un bon nombre d&#8217;affiches [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sciunto.wordpress.com&amp;blog=10984286&amp;post=573&amp;subd=sciunto&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Au sein de l&#8217;<a href="http://www.april.org/">April</a>, un des groupes de travail se nomme le <a href="http://www.april.org/groupes/sensibilisation">groupe sensibilisation</a>. Celui-ci a pour objectif de créer un ensemble d&#8217;outils permettant d&#8217;effectuer la promotion du logiciel libre et d&#8217;avertir aussi de <a href="http://www.april.org/les-4-dangers">certains dangers</a>. Outre la production de tracts, flyers, T-shirts ou formations, le groupe a produit ces derniers mois un bon nombre d&#8217;affiches dont voici <a href="http://www.april.org/affiche-logiciels-libres-faites-passer">la dernière</a> :</p>
<p><img class="aligncenter" title="Affiche_april" src="http://media.april.org/docs/affiche_faites_passer/faites_passer_A3coul_600.jpg" alt="" width="430" height="600" /></p>
<p>Vous pouvez télécharger et diffuser (c&#8217;est sous licence libre !) aussi <a href="http://www.april.org/type-de-publication/affiche">les autres affiches</a> (éducation, appel à la libération des oeuvres) dans vos écoles, associations&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sciunto.wordpress.com/573/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sciunto.wordpress.com/573/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sciunto.wordpress.com/573/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sciunto.wordpress.com/573/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sciunto.wordpress.com/573/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sciunto.wordpress.com/573/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sciunto.wordpress.com/573/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sciunto.wordpress.com/573/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sciunto.wordpress.com/573/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sciunto.wordpress.com/573/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sciunto.wordpress.com/573/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sciunto.wordpress.com/573/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sciunto.wordpress.com/573/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sciunto.wordpress.com/573/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sciunto.wordpress.com&amp;blog=10984286&amp;post=573&amp;subd=sciunto&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sciunto.wordpress.com/2011/07/31/affiches-du-groupe-sensibilisation-de-lapril/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/42ec4e0630bebb954a69e156bb1d2717?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">François</media:title>
		</media:content>

		<media:content url="http://media.april.org/docs/affiche_faites_passer/faites_passer_A3coul_600.jpg" medium="image">
			<media:title type="html">Affiche_april</media:title>
		</media:content>
	</item>
		<item>
		<title>Une méthode pour générer ses figures : automatisation et traduction</title>
		<link>http://sciunto.wordpress.com/2011/07/09/une-methode-pour-generer-ses-figures-automatisation-et-traduction/</link>
		<comments>http://sciunto.wordpress.com/2011/07/09/une-methode-pour-generer-ses-figures-automatisation-et-traduction/#comments</comments>
		<pubDate>Sat, 09 Jul 2011 08:16:42 +0000</pubDate>
		<dc:creator>François</dc:creator>
				<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Planet-april]]></category>
		<category><![CDATA[Planet-libre]]></category>
		<category><![CDATA[eps]]></category>
		<category><![CDATA[figure]]></category>
		<category><![CDATA[i18n]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[po4a]]></category>
		<category><![CDATA[svg]]></category>
		<category><![CDATA[tikz]]></category>

		<guid isPermaLink="false">http://sciunto.wordpress.com/?p=553</guid>
		<description><![CDATA[L&#8217;avantage de faire une thèse est de réfléchir à ses méthodes de travail et d&#8217;organisation. Dans les productions scientifiques, les figures prennent une place très importante et requièrent donc d&#8217;y consacrer du temps. Mon objectif est d&#8217;optimiser au maximum la production de mes figures. J&#8217;ai choisi d&#8217;utiliser quasi-exclusivement LaTeX pour mes figures pour des raisons [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sciunto.wordpress.com&amp;blog=10984286&amp;post=553&amp;subd=sciunto&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>L&#8217;avantage de faire une thèse est de réfléchir à ses méthodes de travail et d&#8217;organisation. Dans les productions scientifiques, les figures prennent une place très importante et requièrent donc d&#8217;y consacrer du temps.</p>
<p>Mon objectif est d&#8217;optimiser au maximum la production de mes figures. J&#8217;ai choisi d&#8217;utiliser quasi-exclusivement LaTeX pour mes figures pour des raisons de qualité, du coté &#8220;codage&#8221; (les avantages de l&#8217;approche code vont être largement mis en exergue ici) et de manipulation de formats.</p>
<h2>Sources des figures</h2>
<p>Mes figures sont de trois types :</p>
<ol>
<li>Chemfig pour les formules chimiques (.chem)</li>
<li>Tikz pour les schémas (.pgf)</li>
<li>Gnuplot avec la sortie Lua/Tikz (.plt -&gt; .tikz)</li>
</ol>
<h2>Production des figures</h2>
<p>La production des figures est réalisée à l&#8217;aide d&#8217;un makefile et de deux scripts shells. Un premier script nommé tikzmaker encapsule le fichier tikz (.pgf) avec une entête Latex en utilisant le paquet <a href="http://www.ctan.org/tex-archive/macros/latex/contrib/standalone">standalone</a>, ce qui donne un .tex. De même, un script chemmaker transforme mes .chem en .tex.</p>
<p>Gnuplot se charge de produire un fichier .tikz à partir du fichier .plt. Ce fichier tikz passe aussi à travers tikzmaker pour avoir un .tex.</p>
<p>Ces fichier tex sont ensuite compilés en eps et pdf puis en svg avec <a href="http://www.cityinthesky.co.uk/opensource/pdf2svg">pdf2svg</a>.</p>
<p>Ce sont toutes ces étapes qui sont automatisées avec un makefile. Cela fait maintenant plusieurs mois que j&#8217;utilise cette mécanique que je trouve très satisfaisante. On voit ici que l&#8217;approche code permet de modifier des figures extrêmement rapidement grâce à l&#8217;automatisation totale. Par ailleurs, cette approche peut permettre de versionner ses figures ; chose que je n&#8217;ai pas encore fait mais qui se mettra facilement en place si la nécessité apparaît.</p>
<h2>Traduction</h2>
<p>Comme je l&#8217;ai dis, cette mécanique existe chez moi depuis un moment, j&#8217;en avais déjà parlé à l&#8217;occasion de précédents billets. La partie innovante de cet article est la traduction. En effet, je dois parfois intégrer mes figures dans des articles en anglais ou dans des documents pour des congrès internationaux. A d&#8217;autres moments, ce sont des figures en français dont j&#8217;ai besoin.</p>
<p>Dans l&#8217;action, il y a deux possibilités : soit on modifie le fichier source en changeant toutes les chaines d&#8217;une langue à une autre, soit on duplique le code et on traduit la copie. Chacune de ses méthodes a son inconvénient. Pour la première, je risque d&#8217;osciller entre version anglaise et française au gré de mes besoins. la perte de temps est considérable car je dois refaire ce que j&#8217;avais fait. Pour la seconde méthode, je ne traduis qu&#8217;une seule fois, mais si je modifie la figure, alors je dois reporter les modifications sur mes traductions, chose qu&#8217;on ne manquera pas d&#8217;oublier et on se perdra dans les sources après quelques mois.</p>
<p>L&#8217;idée est d&#8217;utiliser un outil dédié à la traduction. A l&#8217;occasion de l&#8217;écriture d&#8217;un code (inforevealer) que j&#8217;ai <del>un peu </del> complètementabandonné par manque de temps, j&#8217;ai découvert le projet <a href="http://po4a.alioth.debian.org/">po4a</a> qui s&#8217;appuie sur gettext pour traduire les fichiers qui ne sont pas du code (tex, ini, text&#8230;). Ce projet est codé en perl, il faudra adapter un peu le logiciel en ajoutant un module.<br />
Le but de po4a est d&#8217;aller chercher les chaines de caractères dans nos fichiers .pgf et .plt. Les .chem n&#8217;ont, chez moi, pas de contenu à traduire. Ces chaines sont stockées dans un fichier .pot que l&#8217;on copiera en fr.po. Ce fichier fr.po est le fichier dans lequel il faudra traduire les différentes chaines.</p>
<p>Je crée d&#8217;abord un fichier de configuration pour po4a (ex po4a.cfg) :<br />
[po_directory] po/<br />
[type: Gnuplot] plot/plot.plt fr:plot/plot.fr.plt<br />
[type: Tikz] fig/fig.pgf fr:fig/fig.fr.pgf</p>
<p>La première ligne nous dit que les traductions se trouveront dans le répertoire po/ (à créer). Il faudra y créer un fichier .pot (le nom n&#8217;importe pas) vide. Ensuite on lancera une première fois la commande :<br />
po4a po4a.cfg<br />
Puis on ajoute notre traduction fr :<br />
cp po/master.pot po/fr.po<br />
On traduit et on lance une nouvelle fois :<br />
po4a po4a.cfg</p>
<p>Ceci fait, le fichier plot/plot.plt sera traduit en plot/plot.fr.plt et il suffira de relancer le makefile pour compiler la figure francophone. Ceci décrit donc le déroulement du processus de traduction.</p>
<p>Comme vous l&#8217;avez remarqué, il faut indiquer un type (ici Gnuplot et Tikz). Ces types, je les ai créé en ajoutant des bibliothèques perl dans <a title="/usr/share/perl5/vendor_perl/Locale/Po4a" href="///usr/share/perl5/vendor_perl/Locale/Po4a">/usr/share/perl5/vendor_perl/Locale/Po4a</a> (chemin sur archlinux). C&#8217;est assez simple à réaliser (à condition de connaître un peu perl et les expressions rationnelles). Le fichier Ini.pm offre une bonne base pour la syntaxe. En passant, remarquez que le copyright de ce fichier (sous GPL) est attribué à BitDefender (j&#8217;aime ces petites découvertes dans les codes). Pour les fichiers gnuplot, j&#8217;ai pris le parti de mettre les chaines à traduire entre double quotes, les autres entre simple quotes. De ce fait, j&#8217;utilise pour le moment un copie du fichier Ini.pm pour Gnuplot.pm. Cependant, ce code ne permet de récupérer qu&#8217;une chaine par ligne. C&#8217;est assez peu gênant, mais j&#8217;améliorerai ça plus tard. Pour les fichiers Tikz, il suffit de récupérer le contenu des node{} au lieu des double quotes en prenant garde qu&#8217;il peut y avoir des options (node[above] {}).</p>
<p>Voilà pour la partie technique. Les avantages que je vois à cette méthode sont les suivantes :<br />
Un fichier unique pour toutes mes traductions.<br />
Pas de redondance de traduction : si &#8220;theory&#8221; apparaît 10 fois dans 10 fichiers différents, la traduction me sera demandée qu&#8217;une fois. Sachant que les figures voient apparaître des termes récurrents, c&#8217;est un gain non négligeable.<br />
Pas de duplication de code à proprement parler. En pratique, il l&#8217;est : plot.plt et plot.fr.plt, mais on ne modifiera que plot.plt car plot.fr.plt est généré à partir de plot.plt et fr.po par po4a.</p>
<p>Les codes (tikzmaker, makefile&#8230;) sont tous triviaux, néanmoins s&#8217;ils intéressent quelqu&#8217;un, je peux les mettre à disposition. Pour les bibliothèques perl, elles sont en cours de test&#8230; mais j&#8217;ai déjà une bonne dizaine de figures traduites avec succès.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sciunto.wordpress.com/553/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sciunto.wordpress.com/553/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sciunto.wordpress.com/553/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sciunto.wordpress.com/553/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sciunto.wordpress.com/553/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sciunto.wordpress.com/553/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sciunto.wordpress.com/553/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sciunto.wordpress.com/553/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sciunto.wordpress.com/553/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sciunto.wordpress.com/553/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sciunto.wordpress.com/553/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sciunto.wordpress.com/553/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sciunto.wordpress.com/553/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sciunto.wordpress.com/553/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sciunto.wordpress.com&amp;blog=10984286&amp;post=553&amp;subd=sciunto&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sciunto.wordpress.com/2011/07/09/une-methode-pour-generer-ses-figures-automatisation-et-traduction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/42ec4e0630bebb954a69e156bb1d2717?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">François</media:title>
		</media:content>
	</item>
		<item>
		<title>Faire ses présentations dans un navigateur web</title>
		<link>http://sciunto.wordpress.com/2011/07/03/faire-ses-presentations-dans-son-navigateur-web/</link>
		<comments>http://sciunto.wordpress.com/2011/07/03/faire-ses-presentations-dans-son-navigateur-web/#comments</comments>
		<pubDate>Sun, 03 Jul 2011 09:16:55 +0000</pubDate>
		<dc:creator>François</dc:creator>
				<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[Misc.]]></category>
		<category><![CDATA[Planet-april]]></category>
		<category><![CDATA[Planet-libre]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[beamer]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[dzslides]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[mathjax]]></category>
		<category><![CDATA[mathml]]></category>
		<category><![CDATA[svg]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://sciunto.wordpress.com/?p=538</guid>
		<description><![CDATA[Jusqu&#8217;ici, j&#8217;utilisais pour mes présentations LaTeX beamer. En effet, je trouve plusieurs avantages à celui-ci : Qualité Latex Langage déjà connu Format interopérable (pdf) Facilité de l&#8217;intégration de mathématiques (l&#8217;écriture est lisible, le résultat de qualité) : indispensable pour moi Customisation possible avec Tikz (même si je l&#8217;utilise assez peu au final pour mes slides) [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sciunto.wordpress.com&amp;blog=10984286&amp;post=538&amp;subd=sciunto&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Jusqu&#8217;ici, j&#8217;utilisais pour mes présentations LaTeX beamer. En effet, je trouve plusieurs avantages à celui-ci :</p>
<ul>
<li>Qualité Latex</li>
<li>Langage déjà connu</li>
<li>Format interopérable (pdf)</li>
<li>Facilité de l&#8217;intégration de mathématiques (l&#8217;écriture est lisible, le résultat de qualité) : indispensable pour moi</li>
<li>Customisation possible avec Tikz (même si je l&#8217;utilise assez peu au final pour mes slides)</li>
</ul>
<p>Cependant, latex beamer a un inconvénient, c&#8217;est celui de son format lorsqu&#8217;on veut avoir des  choses un peu plus exotiques (animation, video&#8230;). Bien sûr, intégrer une vidéo dans un pdf est possible mais ça reste de la bidouille, de l&#8217;arnaque. Qui plus est, une technique pourra très bien fonctionner avec un lecteur (au hasard adobe acroread) mais pas avec un autre (evince, okular&#8230;). Cette situation ne me satisfait donc que partiellement.</p>
<h1>Html/CSS</h1>
<p>L&#8217;idée est d&#8217;utiliser du html afin de produire notre présentation (je préviens de suite que je suis très loin d&#8217;ếtre éclairé à ce sujet). J&#8217;ai déjà assisté à des conférences où une telle technologie était utilisée (ubuntu party&#8230;) et c&#8217;est Loïc Dachary qui m&#8217;a poussé à me repencher au problème. Une solution toute faite existe : <a href="http://paulrouget.com/dzslides/">DZslide</a>s. La licence de ce modèle est très permissive : <a href="http://fr.wikipedia.org/wiki/WTF_Public_License">WTF Public License</a>. Autrement dit, on pourra mettre les présentations sous n&#8217;importe quelle licence. L&#8217;écriture des transparents ne déroutera pas le latex beamer-ophile. Dans un grand fichier, il suffit d&#8217;écrire les pages les unes à la suite des autres dans des balises</p>
<p style="padding-left:30px;">&lt;section&gt;<br />
blabla<br />
&lt;/section&gt;</p>
<p>Les règles classiques de l&#8217;html s&#8217;appliquent alors. Une fois la page ouverte dans le navigateur, on se déplace avec les flèches du clavier ou avec une télécommande&#8230; classique.</p>
<p>On pensera à changer ce bout de code (ligne commentée + ma nouvelle ligne)</p>
<p style="padding-left:30px;">&lt;!&#8211; &lt;link href=&#8217;http://fonts.googleapis.com/css?family=Oswald&#8217; rel=&#8217;stylesheet&#8217;&gt; &#8211;&gt;<br />
&lt;link href=&#8217;oswald-style.css&#8217; rel=&#8217;stylesheet&#8217;&gt;</p>
<p>dans le cas où on ne dispose pas de connexion internet lors de la présentation. Le fichier oswald-style.css contient la contenu de l&#8217;url, tout simplement.</p>
<h1>Intégration de vidéo</h1>
<p>L&#8217;intégration d&#8217;une vidéo se fait sans encombre grâce à l&#8217;html5 :</p>
<p style="padding-left:30px;">&lt;video width=&#8221;400&#8243; height=&#8221;222&#8243; controls=&#8221;controls&#8221; preload&gt;<br />
&lt;source src=&#8221;video.ogv&#8221; type=&#8221;video/ogg&#8221; /&gt;<br />
&lt;/video&gt;</p>
<p>Ceci devrait suffire.</p>
<h1>Intégration des graphiques et images générés par Latex</h1>
<p>Ceux qui me suivent un peu savent que j&#8217;utilise latex à la fois pour les figures (tikz ou chemfig) et pour les graphiques (gnuplot avec le sortie tikz). Des petits codes et des makefiles me permettent de sortir directement à partir des sources, les fichiers utilisables : pdf, eps (lorsque je dois échanger avec des gens utilisant latex et non pdflatex) et un tex avec la bibliothèque standalone.</p>
<p>Pour intégrer nos images, il va falloir un autre format. Je travaille avec latex tout du long de ma chaine de production de contenu afin d&#8217;ssurer une bonne qualité. Ainsi, je vais continuer en ce sens en produisant un fichier vectoriel svg. J&#8217;utilise pour cela l&#8217;utilitaire <a href="http://www.cityinthesky.co.uk/pdf2svg.html">pdf2svg</a> empaqueté chez debian et archlinux (et sans doute ailleurs).</p>
<p>Pour insérer dans la page, on utilise la balise embed.</p>
<p style="padding-left:30px;">
<p style="padding-left:30px;">
<h1></h1>
<h1>Et les maths dans tous ça ?</h1>
<p>Il faut maintenant réussir à écrire des mathématiques. Passer par un fichier contenant la formule est une technique fréquemment utilisée par les gens utilisant des logiciels comme Libreoffice. Ceci ne me satisfait par car il me faudrait ajouter une étape lors de ma production, la génération de l&#8217;image à partir du code Latex. On (François, tu te reconnaîtra) m&#8217;a parlé de <a href="http://fr.wikipedia.org/wiki/MathML">mathml</a> : c&#8217;est un langage xml permettant d&#8217;avoir un rendu d&#8217;équation. Très bien, mais ajouter à la main des portions de code mathml ne rend pas la solution meilleure à mes yeux et mathml est trop abscons pour que je le tape directement. Il existe des &#8220;convertisseurs&#8221; latex-mathml, mais on retombe sur le point pénalisant précédent. En poursuivant mes recherches sur cette piste, j&#8217;ai rouvé <a href="http://www.mathjax.org/">mathjax</a>, un code javascript publié sous licence Apache v2 (les sponsors et partenaires sont de qualité : AMS, Elsevier, APS&#8230;).</p>
<p>Après avoir récupéré les fichiers, il suffit de mettre par ex dans le header :</p>
<p>&lt;script type=&#8221;text/javascript&#8221; src=&#8221;mathjax/MathJax.js?config=TeX-AMS_HTML&#8221;&gt;&lt;/script&gt;</p>
<p>Divers configurations existent&#8230; Je vous renvoie à la doc qui est très très bien faite, il y a même des démos en vidéo. Le texte doit se trouver dans des balises &lt;p&gt; &lt;/p&gt; :</p>
<p>&lt;p&gt;<br />
\begin{align}<br />
\dot{x} &amp; = \sigma(y-x) \\<br />
\dot{y} &amp; = \rho x &#8211; y &#8211; xz \\<br />
\dot{z} &amp; = -\beta z + xy<br />
\end{align}<br />
&lt;/p&gt;</p>
<p>On peut utiliser les $ aussi. J&#8217;ai pour l&#8217;instant un problème avec les $ simples, mais aucun avec $$. Je remplace mes $ simples par \( et \).</p>
<p>Voilà, je pense qu&#8217;avec ces divers éléments, la production d&#8217;une présentation de qualité et alternative à Latex beamer est possible. Pas encore testé, mais pour remplacer dzslides, on pourra se tourner vers le projet <a href="http://slides.html5rocks.com/">html5rocks pour les slides</a>, le code peut être récupéré avec un wget ou directement sur le <a href="http://code.google.com/p/html5rocks/">dépôt mecurial du projet</a>. Il présente quelques fonctionnalités sympathiques comme l&#8217;intégration de notes, le zoom, le changement de thème&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sciunto.wordpress.com/538/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sciunto.wordpress.com/538/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sciunto.wordpress.com/538/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sciunto.wordpress.com/538/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sciunto.wordpress.com/538/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sciunto.wordpress.com/538/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sciunto.wordpress.com/538/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sciunto.wordpress.com/538/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sciunto.wordpress.com/538/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sciunto.wordpress.com/538/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sciunto.wordpress.com/538/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sciunto.wordpress.com/538/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sciunto.wordpress.com/538/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sciunto.wordpress.com/538/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sciunto.wordpress.com&amp;blog=10984286&amp;post=538&amp;subd=sciunto&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sciunto.wordpress.com/2011/07/03/faire-ses-presentations-dans-son-navigateur-web/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/42ec4e0630bebb954a69e156bb1d2717?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">François</media:title>
		</media:content>
	</item>
	</channel>
</rss>
