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

<channel>
	<title>Void And Any</title>
	<atom:link href="http://voidandany.free.fr/index.php/feed/" rel="self" type="application/rss+xml" />
	<link>http://voidandany.free.fr</link>
	<description>mon bazar...</description>
	<lastBuildDate>Sat, 09 Dec 2017 09:24:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Accèder à un gestionnaire de fichier léger sur un serveur headless depuis Mac OS</title>
		<link>http://voidandany.free.fr/index.php/acceder-a-un-gestionnaire-de-fichier-leger-sur-un-serveur-headless-depuis-mac-os/</link>
		<comments>http://voidandany.free.fr/index.php/acceder-a-un-gestionnaire-de-fichier-leger-sur-un-serveur-headless-depuis-mac-os/#comments</comments>
		<pubDate>Sat, 09 Dec 2017 09:24:06 +0000</pubDate>
		<dc:creator>voidAndAny</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[SSH]]></category>

		<guid isPermaLink="false">http://voidandany.free.fr/?p=4798</guid>
		<description><![CDATA[Article rapide car à chaque fois j’oublie comment faire&#8230;. Le problème : Accéder à un gestionnaire de fichier &#171;&#160;graphique&#160;&#187; sur un serveur headless Le tout depuis un Mac (déport d&#8217;affichage, X-forwarding) Le serveur étant headless, il faut installer un gestionnaire &#8230; <a href="http://voidandany.free.fr/index.php/acceder-a-un-gestionnaire-de-fichier-leger-sur-un-serveur-headless-depuis-mac-os/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Article rapide car à chaque fois j’oublie comment faire&#8230;.</p>
<p>Le problème :</p>
<ul>
<li>Accéder à un gestionnaire de fichier &laquo;&nbsp;graphique&nbsp;&raquo; sur un serveur headless</li>
<li>Le tout depuis un Mac (déport d&#8217;affichage, X-forwarding)</li>
</ul>
<p>Le serveur étant headless, il faut installer un gestionnaire de fichier ayant  le moins de dépendance possible (il ne doit pas installer tout Xorg/Gnome/KDE).<br />
En voici quelques un :</p>
<ul>
<li><a rel="nofollow" href="http://pcmanfm.sourceforge.net/">PCManFM</a> : 51 dépendances, 39 Mo</li>
<li><a href="http://roland65.free.fr/xfe/">XFE</a> : 75 dépendance, 67 Mo</li>
<li><a href="http://www.qtfm.org/">QtFM</a> : 1 seul paquet (pas de dépendance), &lt; 1 Mo, pas dans les dépôts</li>
<li><a rel="nofollow" href="http://emelfm2.net/">emelFM2</a> : 1 seul paquet (pas de dépendance), &lt; 2 Mo</li>
</ul>
<p>(Cet article étant commencé depuis au moins 3 ans, le nombre de paquet et la taille de ces programmes à peut être changé)</p>
<p>Personnellement j&#8217;ai installé emelfm2.</p>
<p>Sur le serveur Linux toujours, s&#8217;assurer d&#8217;avoir xauth install et l&#8217;option X11Forwarding à yes dans /etc/ssh/sshd_config.</p>
<p>Sur le Mac, il faut installer XQuartz : https://www.xquartz.org/</p>
<p>Lancer XQuartz et dans le terminal qui s&#8217;ouvre lancer la commande :</p>
<p>
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">ssh</span> <span style="color: #660033;">-X</span> <span style="color: #660033;">-Y</span> <span style="color: #660033;">-C</span> -f  <span style="color: #7a0874; font-weight: bold;">&#91;</span>utilisateur linux<span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #000000; font-weight: bold;">@</span><span style="color: #7a0874; font-weight: bold;">&#91;</span>serveur linux<span style="color: #7a0874; font-weight: bold;">&#93;</span> emelfm2</pre></div></div>

</p>
<p>Et voila&#8230;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://voidandany.free.fr/index.php/acceder-a-un-gestionnaire-de-fichier-leger-sur-un-serveur-headless-depuis-mac-os/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Monter (automatiquement) un périphérique USB (type /dev/ttyUSB0) dans LXC</title>
		<link>http://voidandany.free.fr/index.php/monter-automatiquement-un-peripherique-usb-type-devttyusb0-dans-lxc/</link>
		<comments>http://voidandany.free.fr/index.php/monter-automatiquement-un-peripherique-usb-type-devttyusb0-dans-lxc/#comments</comments>
		<pubDate>Mon, 14 Sep 2015 11:55:29 +0000</pubDate>
		<dc:creator>voidAndAny</dc:creator>
				<category><![CDATA[LXC]]></category>
		<category><![CDATA[conteneur]]></category>
		<category><![CDATA[lxc]]></category>

		<guid isPermaLink="false">http://voidandany.free.fr/?p=4786</guid>
		<description><![CDATA[Je me suis pas mal battu pour y arriver, alors si ça peut servir à quelqu&#8217;un d&#8217;autre&#8230; Le contexte : Le serveur hôte est sous Ubuntu 14.04 Le conteneur est aussi sous Ubuntu (template download, paramètres &#171;&#160;-d ubuntu  -r trusty &#8230; <a href="http://voidandany.free.fr/index.php/monter-automatiquement-un-peripherique-usb-type-devttyusb0-dans-lxc/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Je me suis pas mal battu pour y arriver, alors si ça peut servir à quelqu&#8217;un d&#8217;autre&#8230;</p>
<p>Le contexte :</p>
<ul>
<li>Le serveur hôte est sous Ubuntu 14.04</li>
<li>Le conteneur est aussi sous Ubuntu (template download, paramètres &laquo;&nbsp;-d ubuntu  -r trusty -a amd64&#8243;)</li>
<li>Un périphérique USB est connecté sur l&#8217;hôte (un <a href="http://www.digitalsmarties.net/products/jeelink">jeelink</a> pour être précis) il apparait en tant que /dev/ttyUSB0</li>
<li>Je veux monter ce périphérique dans le conteneur</li>
</ul>
<p>En premier lieu on doit trouver le numéro majeur et mineur du périphérique USB, pour cela un simple ls suffit sur l&#8217;hôte :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #660033;">-la</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>ttyUSB0
crw-rw---- <span style="color: #000000;">1</span> root dialout <span style="color: #000000;">188</span>, <span style="color: #000000;">0</span> sept.  <span style="color: #000000;">1</span> <span style="color: #000000;">16</span>:08 <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>ttyUSB0</pre></div></div>

<p>Le périphérique a ici le numéro 188,0</p>
<p>&nbsp;</p>
<p>Il faut ensuite autoriser ce périphérique dans le conteneur (cgroups), cela se fait dans le fichier de config de ce dernier (/var/lib/lxc/[conteneur]/config).</p>
<p>On ajoute simplement la ligne suivante :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">lxc.cgroup.devices.allow = c <span style="color: #000000;">188</span>:<span style="color: #000000;">0</span> rwm</pre></div></div>

<p>On peut dès lors démarrer le conteneur et monter le périphérique dans le conteneur avec la commande suivante :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> lxc-device <span style="color: #660033;">-n</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>conteneur<span style="color: #7a0874; font-weight: bold;">&#93;</span> add <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>ttyUSB0</pre></div></div>

<p>C&#8217;est déjà pas mal mais on peut faire mieux et monter automatiquement le périphérique au démarrage du conteneur, pour cela au fichier de config du dit conteneur on ajoutera :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">lxc.autodev = <span style="color: #000000;">1</span>
lxc.hook.autodev=<span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>lxc<span style="color: #000000; font-weight: bold;">/</span><span style="color: #7a0874; font-weight: bold;">&#91;</span>conteneur<span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #000000; font-weight: bold;">/</span>autodev</pre></div></div>

<p>On appelle un script (nommé autodev) en se branchant sur un hook de LXC, ce script contient les commandes nécessaire pour monter le périphérique :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
<span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #800000;">${LXC_ROOTFS_MOUNT}</span><span style="color: #000000; font-weight: bold;">/</span>dev
<span style="color: #c20cb9; font-weight: bold;">mknod</span> ttyUSB0 c <span style="color: #000000;">188</span> <span style="color: #000000;">0</span>
<span style="color: #c20cb9; font-weight: bold;">chmod</span> 0666 ttyUSB0</pre></div></div>

<p>Il faut rendre ce script exécutable :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">chmod</span> +x <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>lxc<span style="color: #000000; font-weight: bold;">/</span><span style="color: #7a0874; font-weight: bold;">&#91;</span>conteneur<span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #000000; font-weight: bold;">/</span>autodev</pre></div></div>

<p>&nbsp;</p>
<p>Et à chaque démarrage le script est joué (au bon moment) et le périphérique monté dans le conteneur.</p>
]]></content:encoded>
			<wfw:commentRss>http://voidandany.free.fr/index.php/monter-automatiquement-un-peripherique-usb-type-devttyusb0-dans-lxc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Créer un miroir ZFS avec un seul disque</title>
		<link>http://voidandany.free.fr/index.php/creer-un-miroir-zfs-avec-un-seul-disque/</link>
		<comments>http://voidandany.free.fr/index.php/creer-un-miroir-zfs-avec-un-seul-disque/#comments</comments>
		<pubDate>Tue, 01 Sep 2015 11:33:34 +0000</pubDate>
		<dc:creator>voidAndAny</dc:creator>
				<category><![CDATA[ZFS]]></category>

		<guid isPermaLink="false">http://voidandany.free.fr/?p=4782</guid>
		<description><![CDATA[Pour une raison de disponibilité de disque on peut vouloir créer un miroir ZFS avec un seul disque, voici comment procéder : Créer un fichier de type bloc simulant le disque manquant : sudo dd if=/dev/zero of=/zfs1 bs=1 count=1 seek=1024G &#8230; <a href="http://voidandany.free.fr/index.php/creer-un-miroir-zfs-avec-un-seul-disque/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Pour une raison de disponibilité de disque on peut vouloir créer un miroir ZFS avec un seul disque, voici comment procéder :</p>
<p>Créer un fichier de type bloc simulant le disque manquant :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">dd</span> <span style="color: #007800;">if</span>=<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>zero <span style="color: #007800;">of</span>=<span style="color: #000000; font-weight: bold;">/</span>zfs1 <span style="color: #007800;">bs</span>=<span style="color: #000000;">1</span> <span style="color: #007800;">count</span>=<span style="color: #000000;">1</span> <span style="color: #007800;">seek</span>=1024G</pre></div></div>

<p>(j&#8217;aurai tendance à dire que la taille du fichier, seek doit être égal à la taille du disque manquant, dans le pool ZFS, mais je n&#8217;ai pas testé plus que cela)</p>
<p>Création du pool ZFS miroir avec le disque que l&#8217;on a et le fichier bloc.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> zpool create <span style="color: #660033;">-f</span> tank mirror <span style="color: #000000; font-weight: bold;">/</span>zfs1 <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sdd</pre></div></div>

<p>(si le pool existe déjà on utilisera la commande zpool add -f pour ajouter un nouveau miroir)</p>
<p>On enlève le périphérique bloc et on le supprime.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> zpool offline tank <span style="color: #000000; font-weight: bold;">/</span>zfs1
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #000000; font-weight: bold;">/</span>zfs1</pre></div></div>

<p>Vérification :</p>
<p>&nbsp;</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> zpool status
&nbsp;
  pool: tank
 state: DEGRADED
status: One or <span style="color: #c20cb9; font-weight: bold;">more</span> devices has been taken offline by the administrator.
        Sufficient replicas exist <span style="color: #000000; font-weight: bold;">for</span> the pool to <span style="color: #7a0874; font-weight: bold;">continue</span> functioning <span style="color: #000000; font-weight: bold;">in</span> a
        degraded state.
action: Online the device using <span style="color: #ff0000;">'zpool online'</span> or replace the device with
        <span style="color: #ff0000;">'zpool replace'</span>.
  scan:
config:
&nbsp;
 NAME                                 STATE     READ WRITE CKSUM
 tank                                 DEGRADED     <span style="color: #000000;">0</span>     <span style="color: #000000;">0</span>     <span style="color: #000000;">0</span>
   mirror-<span style="color: #000000;">0</span>                           DEGRADED     <span style="color: #000000;">0</span>     <span style="color: #000000;">0</span>     <span style="color: #000000;">0</span>
     <span style="color: #000000; font-weight: bold;">/</span>zfs1                            OFFLINE      <span style="color: #000000;">0</span>     <span style="color: #000000;">0</span>     <span style="color: #000000;">0</span>
     sdd                              ONLINE       <span style="color: #000000;">0</span>     <span style="color: #000000;">0</span>     <span style="color: #000000;">0</span></pre></div></div>

<p>Le miroir est bien présent, le pool est dégradé car il manque un disque.</p>
]]></content:encoded>
			<wfw:commentRss>http://voidandany.free.fr/index.php/creer-un-miroir-zfs-avec-un-seul-disque/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fin des commentaires</title>
		<link>http://voidandany.free.fr/index.php/fin-des-commentaires/</link>
		<comments>http://voidandany.free.fr/index.php/fin-des-commentaires/#comments</comments>
		<pubDate>Thu, 13 Dec 2012 16:02:32 +0000</pubDate>
		<dc:creator>voidAndAny</dc:creator>
				<category><![CDATA[Non classé]]></category>

		<guid isPermaLink="false">http://voidandany.free.fr/?p=4757</guid>
		<description><![CDATA[Je me vois obligé de fermer les commentaires de ce blog, en effet Free m&#8217;a déjà suspendu 2 fois à la troisième ce sera définitif. J&#8217;ai bien tenté le plugin Askimet mais ce dernier ne fonctionne pas/plus chez Free (qui &#8230; <a href="http://voidandany.free.fr/index.php/fin-des-commentaires/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Je me vois obligé de fermer les commentaires de ce blog, en effet Free m&#8217;a déjà suspendu 2 fois à la troisième ce sera définitif.</p>
<p>J&#8217;ai bien tenté le plugin <a href="http://pascal.ledisque.free.fr/wordpress/?p=5380">Askimet mais ce dernier ne fonctionne pas/plus chez Free</a> (qui bloque toutes les connexions sortantes), j&#8217;ai ensuite réussi à bloquer les spam pendant pas mal de temps via l&#8217;<a href="http://www.lafermeduweb.net/billet/lutter-contre-le-spam-efficacement-conseil-1-182.html">ajout d&#8217;un champs caché</a> mais les spammeur s&#8217;adaptent (c&#8217;est à ce moment que je me suis fait suspendre la première fois).</p>
<p>Ma dernière tentative à donc été le <a href="http://pascal.ledisque.free.fr/wordpress/?p=5380#comment-10871">plugin Antispam Bee</a> qui a fonctionné environ 15-30 jours et là il ne bloque plus rien (contre plus de 400 spams/jour au début).</p>
<p>Bref j&#8217;en ai marre, dommage pour l&#8217;interaction mais je n&#8217;ai pas de temps à consacrer à ce problème.</p>
<p>Pour ceux qui voudraient me contacter il ne reste plus que mon email : voidandany arobase free point fr</p>
]]></content:encoded>
			<wfw:commentRss>http://voidandany.free.fr/index.php/fin-des-commentaires/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installer Ubuntu 12.04 (ou autre) minimal (pas d&#8217;interface graphique)</title>
		<link>http://voidandany.free.fr/index.php/installer-ubuntu-12-04-ou-autre-minimal-pas-dinterface-graphique/</link>
		<comments>http://voidandany.free.fr/index.php/installer-ubuntu-12-04-ou-autre-minimal-pas-dinterface-graphique/#comments</comments>
		<pubDate>Tue, 20 Nov 2012 22:39:20 +0000</pubDate>
		<dc:creator>voidAndAny</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[LVM]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://voidandany.free.fr/?p=4752</guid>
		<description><![CDATA[Le but étant d&#8217;installer un système ne content que le nécessaire on commence par installer une version ligne de commande d&#8217;Ubuntu, c&#8217;est à dire sans bureau (Gnome / KDE / Unity) et donc sans tous les logiciels qui l&#8217;accompagne (LibreOffice, &#8230; <a href="http://voidandany.free.fr/index.php/installer-ubuntu-12-04-ou-autre-minimal-pas-dinterface-graphique/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Le but étant d&#8217;installer un système ne content que le nécessaire on  commence par installer une version ligne de commande d&#8217;Ubuntu, c&#8217;est à  dire sans bureau (Gnome / KDE / Unity) et donc sans tous les logiciels  qui l&#8217;accompagne (LibreOffice, Firefox, etc), bref comme un serveur mais avec un kernel desktop (une veille habitude chez moi suite à des problèmes remontant à la 07.10 avec le kernel serveur..)</p>
<p>Rque : rien de bien révolutionnaire dans ce post, c&#8217;est plus un pense-bête pour moi (surtout la partie partitionnement)</p>
<p>&nbsp;</p>
<p>Depuis cette <a href="http://gb.releases.ubuntu.com/precise/">page</a> télécharger l&#8217;ISO du CD alternate (en 32 ou 64 bits au choix)</p>
<p>Créer une clé USB bootable d&#8217;installation depuis un autre poste  Ubuntu (logiciel &laquo;&nbsp;Créateur de disques de démarrage&nbsp;&raquo;) ou graver l&#8217;ISO sur  un CD</p>
<p>Booter le nouveau PC sur le CD ou la clé USB</p>
<p>Choisir la langue  : Français</p>
<p>Se placer sur la ligne &laquo;&nbsp;Installer Ubuntu&nbsp;&raquo;, appuyer sur F4 et sélectionner &laquo;&nbsp;Installer un système en ligne de commande&nbsp;&raquo;</p>
<p>Répondre aux questions :</p>
<ul>
<li>Pays : France</li>
<li>Détecter l&#8217;agencement du clavier : Non</li>
<li>Pays d&#8217;origine du clavier : Français</li>
<li>Disposition du clavier : Français &#8211; Français (variante)</li>
</ul>
<p>L&#8217;installeur démarre et configure le réseau&#8230;</p>
<ul>
<li>Nom de la machine : narya</li>
<li>Nom complet de l&#8217;utilisateur : &#8230;</li>
<li>Identifiant de l&#8217;utilisateur : &#8230;</li>
<li>Mot de passe : &#8230; (2 fois), si votre mot de passe est trop  court/simple, l&#8217;installeur vous avertira et vous demandera si vous  voulez l&#8217;utiliser tout de même.</li>
<li>Chiffrer votre dossier personnel : Non</li>
<li>Timezone : Europe / Paris &#8211; Is this timezone correct ? : Oui (cette écran à échappé à la traduction&#8230;)</li>
</ul>
<p>Vient la partie la plus compliquée, le partitionnement.</p>
<ul>
<li>Choisir &laquo;&nbsp;Assisté &#8211; utiliser tout un disque avec LVM&nbsp;&raquo;</li>
<li>&laquo;&nbsp;Disque à partitionner&nbsp;&raquo;, sélectionner le disque (par précaution j&#8217;en ai mis qu&#8217;un&#8230;)</li>
<li>&laquo;&nbsp;Les  tables de partitions de périphérique suivants seront modifiées (&#8230;)  Écrire les modifications sur les disques et configurer LVM&nbsp;&raquo; : Oui</li>
<li>&laquo;&nbsp;Quantité d&#8217;espace sur le groupe de volume pour le partionnement assisté : [taille totale du disque]&nbsp;&raquo; : Continuer</li>
</ul>
<p>Le programme de partition créé un volume avec l&#8217;espace total du  disque et propose de créer 2 volumes logiques swap_1 et root, de les  formater respectivement en swap et ext4.</p>
<p>On refuse cette répartition (sélectionner Non)</p>
<ul>
<li>Dans la fenêtre suivante, dans le menu sélectionner &laquo;&nbsp;Configurer le gestionnaire de volume logique (LVM)&nbsp;&raquo;</li>
<li>Les  tables de partitions de périphérique suivants seront modifiées (&#8230;)   Écrire les modifications sur les disques et configurer LVM : Oui (de  nouveau)</li>
<li>Supprimer un volume logique, sélectionner le root qui prend toute la place</li>
</ul>
<p>On peut alors créer chaque volume logique :</p>
<ul>
<li>Créer un volume logique</li>
<li>Groupe de volume, sélectionner le seul existant</li>
<li>Nom du volume logique : root</li>
<li>Taille du volume logique : 10 GB</li>
</ul>
<ul>
<li>Créer un volume logique</li>
<li>Groupe de volume, sélectionner le seul existant</li>
<li>Nom du volume logique : home</li>
<li>Taille du volume logique : 50 GB</li>
</ul>
<ul>
<li>Créer un volume logique</li>
<li>Groupe de volume, sélectionner le seul existant</li>
<li>Nom du volume logique : data</li>
<li>Taille du volume logique : tout le reste</li>
</ul>
<p>On sort alors du partitionnement LVM : Terminer</p>
<p>La liste des partitions LVM est alors affichée, on les sélectionne  les une après les autres pour sélectionner le système de fichier  (Utiliser comme) et le point de montage.</p>
<ul>
<li>10GB           Système de fichier journalisé ext4          / Système de fichier racine</li>
<li>50 GB         Système de fichier journalisé ext4           /home Répertoires personnels des utilisateurs</li>
<li>1.9 TB          Système de fichier journalisé ext4          Autre : /data</li>
</ul>
<p>Terminer le partitionnement et appliquer les changements</p>
<p>L&#8217;écran suivant récapitule les partitions, &laquo;&nbsp;Faut il appliquer les changements sur le disque&nbsp;&raquo; : Oui</p>
<p>Le formattage des partitions commence puis l&#8217;installation proprement dite.</p>
<p>Au bout d&#8217;un certain temps, lorsque l&#8217;installation est terminée, on une nouvelle série de questions :</p>
<ul>
<li>Installer le programme de démarrage GRUB sur le secteur d&#8217;amorçage : Oui</li>
<li>L&#8217;horloge système est elle à l&#8217;heure universelle UTC : Oui</li>
</ul>
<p>Retire le CD lorsque c&#8217;est indiqué et &laquo;&nbsp;Continuer&nbsp;&raquo;, le système reboot</p>
]]></content:encoded>
			<wfw:commentRss>http://voidandany.free.fr/index.php/installer-ubuntu-12-04-ou-autre-minimal-pas-dinterface-graphique/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installer virtualbox sur un serveur headless (sans interface graphique)</title>
		<link>http://voidandany.free.fr/index.php/installer-virtualbox-sur-un-serveur-headless-sans-interface-graphique/</link>
		<comments>http://voidandany.free.fr/index.php/installer-virtualbox-sur-un-serveur-headless-sans-interface-graphique/#comments</comments>
		<pubDate>Tue, 20 Nov 2012 22:06:47 +0000</pubDate>
		<dc:creator>voidAndAny</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[virtual machine]]></category>
		<category><![CDATA[VirtualBox]]></category>

		<guid isPermaLink="false">http://voidandany.free.fr/?p=4747</guid>
		<description><![CDATA[Et hop un petit article rapide et oui je penses encore à ce blog&#8230; Ajout du ppa virtualbox : sudo vim /etc/apt/source.list.d/virtualbox.list Y copier la ligne correspondant à votre version d&#8217;Ubuntu, dans mon cas la 12.04 : deb http://download.virtualbox.org/virtualbox/debian precise &#8230; <a href="http://voidandany.free.fr/index.php/installer-virtualbox-sur-un-serveur-headless-sans-interface-graphique/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Et hop un petit article rapide et oui je penses encore à ce blog&#8230;</p>
<p>Ajout du ppa virtualbox :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">vim</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apt<span style="color: #000000; font-weight: bold;">/</span>source.list.d<span style="color: #000000; font-weight: bold;">/</span>virtualbox.list</pre></div></div>

<p>Y copier la ligne correspondant à votre version d&#8217;Ubuntu, dans mon cas la 12.04 :</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">deb http://download.virtualbox.org/virtualbox/debian precise contrib</pre></div></div>

<p>Liste complète <a href="https://www.virtualbox.org/wiki/Linux_Downloads">ici</a></p>
<p>Ajout de la clé virtualbox et installation :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">wget</span> <span style="color: #660033;">-q</span> http:<span style="color: #000000; font-weight: bold;">//</span>download.virtualbox.org<span style="color: #000000; font-weight: bold;">/</span>virtualbox<span style="color: #000000; font-weight: bold;">/</span>debian<span style="color: #000000; font-weight: bold;">/</span>oracle_vbox.asc <span style="color: #660033;">-O-</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-key</span> add -
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">aptitude</span> update
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">aptitude</span> <span style="color: #c20cb9; font-weight: bold;">install</span> linux-headers-$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">uname</span> -r<span style="color: #7a0874; font-weight: bold;">&#41;</span> build-essential virtualbox-<span style="color: #000000;">4.2</span> dkms <span style="color: #660033;">--without-recommends</span></pre></div></div>

<p>Installation des additions clientes :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">wget</span> http:<span style="color: #000000; font-weight: bold;">//</span>download.virtualbox.org<span style="color: #000000; font-weight: bold;">/</span>virtualbox<span style="color: #000000; font-weight: bold;">/</span>4.2.4<span style="color: #000000; font-weight: bold;">/</span>Oracle_VM_VirtualBox_Extension_Pack-4.2.4-<span style="color: #000000;">81684</span>.vbox-extpack
<span style="color: #c20cb9; font-weight: bold;">sudo</span> VBoxManage extpack <span style="color: #c20cb9; font-weight: bold;">install</span> Oracle_VM_VirtualBox_Extension_Pack-4.2.4-<span style="color: #000000;">81684</span>.vbox-extpack</pre></div></div>

<p>Et voila virtualbox est installé, on pourrait s’arrêter ici et le commander en ligne de commande, mais pour plus de facilité on va installer phpvirtualbox qui comme son nom l&#8217;indique permet de piloter virtualbox via une interface web.</p>
<p>On partira du principe que vous avez déjà un serveur web (Nginx en l’occurrence, voir <a title="Installer un serveur web (nginx) sur le Seagate Dockstar" href="http://voidandany.free.fr/index.php/installer-un-serveur-web-nginx-sur-le-seagate-dockstar/">Installer Nginx</a>, <a title="Paramétrages NGINX" href="http://voidandany.free.fr/index.php/parametrages-nginx/">Paramétrer Nginx</a>).</p>
<p>On pourra s&#8217;assurer que les paquet suivant sont installés :</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">php5-suhosin php-pear unzip</pre></div></div>

<p>On va tout d&#8217;abord créer un utilisateur spécifique qui exécutera le service Vboxweb-service :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">useradd <span style="color: #660033;">-d</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>vbox <span style="color: #660033;">-m</span> <span style="color: #660033;">-g</span> vboxusers <span style="color: #660033;">-s</span> <span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">bash</span> vbox
<span style="color: #c20cb9; font-weight: bold;">passwd</span> vbox</pre></div></div>

<p>On configure virtualbox pour lui indiquer que l&#8217;on doit utiliser l&#8217;utilisateur que l&#8217;on vient de créer :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">vim</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>default<span style="color: #000000; font-weight: bold;">/</span>virtuabox</pre></div></div>

<p>On ajoute :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">VBOXWEB_USER</span>=vbox</pre></div></div>

<p>On installe le service vboxweb-service et on le démarre :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">update-rc.d vboxweb-service defaults 
<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>vboxweb-service start</pre></div></div>

<p>On récupère le code de phpvirtualbox et on l&#8217;installe :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>localhost
<span style="color: #c20cb9; font-weight: bold;">wget</span> http:<span style="color: #000000; font-weight: bold;">//</span>phpvirtualbox.googlecode.com<span style="color: #000000; font-weight: bold;">/</span>files<span style="color: #000000; font-weight: bold;">/</span>phpvirtualbox-<span style="color: #000000;">4.2</span>-<span style="color: #000000;">4</span>.zip
<span style="color: #c20cb9; font-weight: bold;">unzip</span> phpvirtualbox-<span style="color: #000000;">4.2</span>-<span style="color: #000000;">4</span>.zip
<span style="color: #c20cb9; font-weight: bold;">mv</span> phpvirtualbox-<span style="color: #000000;">4.2</span>-<span style="color: #000000;">4</span> phpvirtualbox</pre></div></div>

<p>Configuration de phpvirtualbox :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>localhost<span style="color: #000000; font-weight: bold;">/</span>phpvirtualbox<span style="color: #000000; font-weight: bold;">/</span>
<span style="color: #c20cb9; font-weight: bold;">cp</span> config.php-example config.php
<span style="color: #c20cb9; font-weight: bold;">vim</span> config.php</pre></div></div>

<p>Et on modifiera les 2 lignes suivantes :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">var <span style="color: #007800;">$username</span> = <span style="color: #ff0000;">'vbox'</span>;
var <span style="color: #007800;">$password</span> = <span style="color: #ff0000;">'[Mot de passe de l'</span>utilisateur vbox<span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #ff0000;">';</span></pre></div></div>

<p>Enfin en bonus voici ma config nginx :</p>
<p>&nbsp;</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">server <span style="color: #7a0874; font-weight: bold;">&#123;</span>
 listen       <span style="color: #000000;">80</span>;
 server_name  localhost, <span style="color: #7a0874; font-weight: bold;">&#91;</span>IP locale<span style="color: #7a0874; font-weight: bold;">&#93;</span>;
 root         <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>localhost<span style="color: #000000; font-weight: bold;">/</span>phpvirtualbox;
&nbsp;
 include         <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>nginx<span style="color: #000000; font-weight: bold;">/</span>common.conf ;
 index           index.html index.php;
 access_log      <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>nginx<span style="color: #000000; font-weight: bold;">/</span>localhost.access.log;
&nbsp;
 location ~ \.php$ <span style="color: #7a0874; font-weight: bold;">&#123;</span>
 include         <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>nginx<span style="color: #000000; font-weight: bold;">/</span>fastcgi_params;
 fastcgi_param   SCRIPT_FILENAME  <span style="color: #007800;">$document_root</span><span style="color: #007800;">$fastcgi_script_name</span>;
 fastcgi_pass    127.0.0.1:<span style="color: #000000;">9000</span>;
 <span style="color: #7a0874; font-weight: bold;">&#125;</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span></pre></div></div>

<p>&nbsp;</p>
<p>On peut dès lors se connecter sur son serveur (login et mot de passe par défaut de phpvirtualbox : admin/admin)</p>
<p>A l&#8217;usage phpvirtualbox est comme virtualbox, c&#8217;en est bluffant.</p>
<p>Seul chose à savoir, lorsque l&#8217;on démarre une machine virtuel, on peut y accéder via l&#8217;onglet &laquo;&nbsp;Console&nbsp;&raquo; mais il faut changer l&#8217;adresse de connexion de null:9001 (ou tout autre port) en [IP locale du serveur virtualbox]:9001.</p>
<p>Enfin plus pratique que l&#8217;onglet console, on pourra utiliser rdestop sous Ubuntu (là aussi l&#8217;accès se fait via : [IP locale du serveur virtualbox]:9001.)</p>
<p>&nbsp;</p>
<p><span style="text-decoration: underline;"><strong>Sources :</strong></span></p>
<p>http://www.howtoforge.com/vboxheadless-running-virtual-machines-with-virtualbox-4.1-on-a-headless-ubuntu-12.04-server</p>
<p>http://www.vionblog.com/virtualbox-4-2-and-phpvirtualbox-on-debian/</p>
<p>http://www.howtoforge.com/managing-a-headless-virtualbox-installation-with-phpvirtualbox-on-nginx-ubuntu-12.04</p>
]]></content:encoded>
			<wfw:commentRss>http://voidandany.free.fr/index.php/installer-virtualbox-sur-un-serveur-headless-sans-interface-graphique/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PC multimédia / HTPC &#8211; Le Hardware</title>
		<link>http://voidandany.free.fr/index.php/pc-multimedia-htpc-le-hardware/</link>
		<comments>http://voidandany.free.fr/index.php/pc-multimedia-htpc-le-hardware/#comments</comments>
		<pubDate>Wed, 05 Sep 2012 20:27:07 +0000</pubDate>
		<dc:creator>voidAndAny</dc:creator>
				<category><![CDATA[hardware]]></category>

		<guid isPermaLink="false">http://voidandany.free.fr/?p=4726</guid>
		<description><![CDATA[Mon PC multimédia datait de 2009 et était basé sur un CPU Atom, autant dire pas un foudre de guerre. Je viens donc de le remplacer pour un matériel un peu plus récent qui me permet de faire tourner aisément &#8230; <a href="http://voidandany.free.fr/index.php/pc-multimedia-htpc-le-hardware/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://voidandany.free.fr/index.php/le-nouveau-sweetbox/">Mon PC multimédia datait de 2009 et était basé sur un CPU Atom</a>, autant dire pas un foudre de guerre.</p>
<p>Je viens donc de le remplacer pour un matériel un peu plus récent qui me permet de faire tourner aisément XBMC (adieu <a href="http://voidandany.free.fr/index.php/tag/freevo/">Freevo</a> vieillissant) et décoder du HD</p>
<p>Donc dans cette article la liste et les caractéristiques (issues de  materiel.net) du matériel.</p>
<p>&nbsp;</p>
<h2>Boitier : A+ Case GL-3</h2>
<p><a rel="attachment wp-att-4727" href="http://voidandany.free.fr/index.php/pc-multimedia-htpc-le-hardware/attachment/69326/"><img class="aligncenter size-medium wp-image-4727" title="A+ Case GL-3" src="http://voidandany.free.fr/wp-content/uploads/69326-300x182.jpg" alt="" width="300" height="182" /></a>Pas de changement je garde le même boîtier</p>
<table id="ProdSectionDesc" style="width: 634px; height: 1199px;" border="0" cellspacing="1" cellpadding="3">
<tbody>
<tr>
<td colspan="2" height="25">
<p><strong>Design</strong></p>
</td>
</tr>
<tr>
<td width="3%">Châssis</td>
<td width="97%">Acier</td>
</tr>
<tr>
<td width="3%">Façade</td>
<td width="97%">Aluminium</td>
</tr>
<tr>
<td width="3%">Couleur dominante</td>
<td width="97%">Noir</td>
</tr>
<tr>
<td width="3%">Dimensions (L x P x H)</td>
<td width="97%">370 x 452 x 141 mm</td>
</tr>
<tr>
<td width="3%">Poids</td>
<td width="97%">5,26 Kg</td>
</tr>
<tr>
<td colspan="2" height="25">
<p><strong>Carte mère</strong></p>
</td>
</tr>
<tr>
<td width="3%">Format(s)</td>
<td width="97%">ATX / Micro ATX</td>
</tr>
<tr>
<td width="3%">Ports d&#8217;extension</td>
<td width="97%">6</td>
</tr>
<tr>
<td colspan="2" height="25">
<p><strong>Alimentation</strong></p>
</td>
</tr>
<tr>
<td width="3%">Alimentation fournie</td>
<td width="97%">Non</td>
</tr>
<tr>
<td width="3%">Format(s)</td>
<td width="97%">ATX</td>
</tr>
<tr>
<td colspan="2" height="25">
<p><strong>Baies</strong></p>
</td>
</tr>
<tr>
<td width="3%">5.25&#8243; max.</td>
<td width="97%">2</td>
</tr>
<tr>
<td width="3%">3.5&#8243; interne max.</td>
<td width="97%">1</td>
</tr>
<tr>
<td width="3%">3.5&#8243; externe max.</td>
<td width="97%">1</td>
</tr>
<tr>
<td colspan="2" height="25">
<p><strong>Ventilation</strong></p>
</td>
</tr>
<tr>
<td width="3%">Emplacements supplémentaires</td>
<td width="97%">2 x 120 mm latéraux<br />
 2 x 80 mm à l&#8217;arrière<br />
 1 x 80 mm dessous</td>
</tr>
<tr>
<td colspan="2" height="25">
<p><strong>Ergonomie</strong></p>
</td>
</tr>
<tr>
<td width="3%">Front panel</td>
<td width="97%">2 x USB<br />
 2 x Audio<br />
 1 x Firewire</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h2 id="ProdTitle"><a title="Carte mère socket 1155 Intel - Découvrez toute la gamme" href="http://www.materiel.net/marque/intel/carte-mere-socket-1155/"> </a>Carte mère :				Intel  DH67BL-B3 (Révision B3)</h2>
<p><a rel="attachment wp-att-4728" href="http://voidandany.free.fr/index.php/pc-multimedia-htpc-le-hardware/attachment/149165/"><img class="aligncenter size-medium wp-image-4728" title=" Carte mère socket 1155	Intel DH67BL-B3 (Révision B3)" src="http://voidandany.free.fr/wp-content/uploads/149165-300x300.jpg" alt="" width="300" height="300" /></a><a rel="attachment wp-att-4729" href="http://voidandany.free.fr/index.php/pc-multimedia-htpc-le-hardware/mb-045connx300/"><img class="aligncenter size-medium wp-image-4729" title=" Carte mère socket 1155	Intel DH67BL-B3 (Révision B3)" src="http://voidandany.free.fr/wp-content/uploads/MB-045connx300-300x136.jpg" alt="" width="300" height="136" /></a></p>
<p>Initialement j&#8217;avais acheté une carte Zotac (pas chère du tout, en promo) mais le PC ne démarrait pas (rien ne s&#8217;allumait à part le ventilateur du CPU).</p>
<p>Il semblerait que<a href="http://www.avsforum.com/t/1405696/asrock-h67m-itx-wont-post"> je n&#8217;étais pas le seul </a>et qu&#8217;il y avait une incompatibilité entre le CPU (G620) et la carte mère (tout du moins certaines versions du BIOS). J&#8217;ai donc renvoyé le proc et la carte mère dans le cadre du délai de rétractation des 7j.</p>
<p>Au passage je tiens à signaler le suivi Asrock excellent qui a proposé de m&#8217;envoyer une nouvelle puce BIOS et qui même après les avoir avertit que je m&#8217;étais fait rembourser à cherché à avoir des infos pour trouver la source du problème.</p>
<table id="ProdSectionDesc" style="width: 99%;" border="0" cellspacing="1" cellpadding="3">
<tbody>
<tr>
<td colspan="2" height="25">
<p><strong>Chipset</strong></p>
</td>
</tr>
<tr>
<td width="3%">Socket</td>
<td width="97%">Socket 1155</td>
</tr>
<tr>
<td width="3%">Contrôleur principal</td>
<td width="97%">Intel H67</td>
</tr>
<tr>
<td width="3%">Processeurs supportés</td>
<td width="97%">Intel Core i3, i5, i7, Pentium</td>
</tr>
<tr>
<td width="3%">Refroidissement silencieux</td>
<td width="97%">Oui</td>
</tr>
<tr>
<td colspan="2" height="25">
<p><strong>Mémoire</strong></p>
</td>
</tr>
<tr>
<td width="3%">Nombre de connecteurs DDR3</td>
<td width="97%">4</td>
</tr>
<tr>
<td width="3%">Fréquences DDR3 supportées</td>
<td width="97%">PC10600/8500</td>
</tr>
<tr>
<td width="3%">Capacité DDR3 maximum</td>
<td width="97%">32 Go</td>
</tr>
<tr>
<td width="3%">Double canal</td>
<td width="97%">Oui</td>
</tr>
<tr>
<td colspan="2" height="25">
<p><strong>Contrôleurs intégrés</strong></p>
</td>
</tr>
<tr>
<td width="3%">Contrôleur réseau</td>
<td width="97%">Intel 82579V</td>
</tr>
<tr>
<td width="3%">Vitesse du contrôleur réseau</td>
<td width="97%">1000/100/10 (Gigabit)</td>
</tr>
<tr>
<td width="3%">Contrôleur audio</td>
<td width="97%">Realtek ALC892</td>
</tr>
<tr>
<td width="3%">Canaux audio</td>
<td width="97%">7.1</td>
</tr>
<tr>
<td width="3%">Contrôleur graphique</td>
<td width="97%">Intel HD Graphics (intégré au processeur)</td>
</tr>
<tr>
<td width="3%">Version de DirectX supportée</td>
<td width="97%">10.1</td>
</tr>
<tr>
<td width="3%">Contrôleur Serial-ATA</td>
<td width="97%">Intel H67</td>
</tr>
<tr>
<td width="3%">Vitesse du contrôleur Serial-ATA</td>
<td width="97%">SATA Revision 3.0</td>
</tr>
<tr>
<td width="3%">Contrôleur Serial-ATA secondaire</td>
<td width="97%">Intel H67</td>
</tr>
<tr>
<td width="3%">Vitesse du contrôleur Serial-ATA secondaire</td>
<td width="97%">Serial-ATA/II</td>
</tr>
<tr>
<td width="3%">Modes RAID du contrôleur Serial-ATA secondaire</td>
<td width="97%">RAID 0, 1, 5, 10</td>
</tr>
<tr>
<td colspan="2" height="25">
<p><strong>Extensions</strong></p>
</td>
</tr>
<tr>
<td width="3%">Port(s) PCI-Express 16x</td>
<td width="97%">1</td>
</tr>
<tr>
<td width="3%">Version PCI-Express prise en charge</td>
<td width="97%">2.0</td>
</tr>
<tr>
<td width="3%">Compatible NVIDIA SLI</td>
<td width="97%">Non</td>
</tr>
<tr>
<td width="3%">Compatible AMD Crossfire</td>
<td width="97%">Non</td>
</tr>
<tr>
<td width="3%">Technologie Hydra</td>
<td width="97%">Non</td>
</tr>
<tr>
<td width="3%">Port(s) PCI-Express 1x</td>
<td width="97%">2</td>
</tr>
<tr>
<td width="3%">Port(s) PCI</td>
<td width="97%">1</td>
</tr>
<tr>
<td width="3%">Ports S-ATA/II</td>
<td width="97%">3</td>
</tr>
<tr>
<td width="3%">Périphériques S-ATA/II supportés</td>
<td width="97%">3</td>
</tr>
<tr>
<td width="3%">Ports S-ATA Revision 3.0</td>
<td width="97%"><strong>2</strong></td>
</tr>
<tr>
<td width="3%">Périphériques S-ATA Revision 3.0 supportés</td>
<td width="97%"><strong>2</strong></td>
</tr>
<tr>
<td colspan="2" height="25">
<p><strong>Connecteurs externes</strong></p>
</td>
</tr>
<tr>
<td width="3%">Ports USB 2.0</td>
<td width="97%">6</td>
</tr>
<tr>
<td width="3%">Ports USB 3.0</td>
<td width="97%">2</td>
</tr>
<tr>
<td width="3%">Port(s) RJ-45</td>
<td width="97%">1</td>
</tr>
<tr>
<td width="3%">Port DVI</td>
<td width="97%">1</td>
</tr>
<tr>
<td width="3%">Port HDMI</td>
<td width="97%">1</td>
</tr>
<tr>
<td width="3%">Port(s) e-SATA</td>
<td width="97%">1</td>
</tr>
<tr>
<td width="3%">Connecteurs audio</td>
<td width="97%">6</td>
</tr>
<tr>
<td width="3%">Sortie(s) numérique(s)</td>
<td width="97%">1</td>
</tr>
<tr>
<td width="3%">Type de sortie(s) numérique(s)</td>
<td width="97%">Optique</td>
</tr>
<tr>
<td colspan="2" height="25">
<p><strong>Connecteurs internes</strong></p>
</td>
</tr>
<tr>
<td width="3%">Connecteur(s) pour ports USB 2.0</td>
<td width="97%">4 (pour 8 ports supplementaires)</td>
</tr>
<tr>
<td width="3%">Connecteurs d&#8217;alimentation ATX</td>
<td width="97%">24 et 4 broches</td>
</tr>
<tr>
<td width="3%">Connecteurs Molex pour ventilateur</td>
<td width="97%">3</td>
</tr>
<tr>
<td colspan="2" height="25">
<p><strong>Dimensions</strong></p>
</td>
</tr>
<tr>
<td width="3%">Format</td>
<td width="97%">Micro-ATX</td>
</tr>
<tr>
<td width="3%">Taille</td>
<td width="97%">245 x 245 mm</td>
</tr>
</tbody>
</table>
<h2 id="ProdTitle"><a title="Processeur socket 1155 Intel - Découvrez toute la gamme" href="http://www.materiel.net/marque/intel/processeur-socket-1155/"> </a>Processeur : socket 1155				Intel  Pentium G620</h2>
<p><a rel="attachment wp-att-4731" href="http://voidandany.free.fr/index.php/pc-multimedia-htpc-le-hardware/ipg02/"><img class="aligncenter size-medium wp-image-4731" title=" Processeur socket 1155	Intel Pentium G620" src="http://voidandany.free.fr/wp-content/uploads/IPG02-300x191.jpg" alt="" width="300" height="191" /></a>Nettement suffisant, un i3 ne justifie pas la différence de prix pour faire un HTPC sous XBMC / Linux</p>
<table id="ProdSectionDesc" style="width: 99%;" border="0" cellspacing="1" cellpadding="3">
<tbody>
<tr>
<td colspan="2" height="25">
<p><strong>Architecture</strong></p>
</td>
</tr>
<tr>
<td width="3%">Gamme</td>
<td width="97%">Multimedia</td>
</tr>
<tr>
<td width="3%">Socket</td>
<td width="97%">Socket 1155</td>
</tr>
<tr>
<td width="3%">Micro-architecture</td>
<td width="97%">SandyBridge</td>
</tr>
<tr>
<td width="3%">Nombre de coeurs</td>
<td width="97%"><strong>2 coeurs</strong></td>
</tr>
<tr>
<td width="3%">Fréquence</td>
<td width="97%">2,60 GHz</td>
</tr>
<tr>
<td width="3%">Cache total</td>
<td width="97%"><strong>3 Mo</strong></td>
</tr>
<tr>
<td width="3%">Finesse de gravure</td>
<td width="97%">32 nanomètres</td>
</tr>
<tr>
<td width="3%">Coefficient débloqué</td>
<td width="97%">Non</td>
</tr>
<tr>
<td colspan="2" height="25">
<p><strong>Technologie Intel® Turbo Boost</strong></p>
</td>
</tr>
<tr>
<td width="3%">Intel® Turbo Boost</td>
<td width="97%">Non</td>
</tr>
<tr>
<td colspan="2" height="25">
<p><strong>Technologie d&#8217;HyperThreading</strong></p>
</td>
</tr>
<tr>
<td width="3%">HyperThreading</td>
<td width="97%">Non</td>
</tr>
<tr>
<td width="3%">Nombre total de threads</td>
<td width="97%">2 Threads</td>
</tr>
<tr>
<td colspan="2" height="25">
<p><strong>Contrôleur graphique</strong></p>
</td>
</tr>
<tr>
<td width="3%">Type de contrôleur graphique</td>
<td width="97%"><strong>Intel HD Graphics</strong></td>
</tr>
<tr>
<td width="3%">Fréquence de base</td>
<td width="97%">850 MHz</td>
</tr>
<tr>
<td width="3%">Fréquence max</td>
<td width="97%">1,1 GHz</td>
</tr>
<tr>
<td colspan="2" height="25">
<p><strong>Technologies de virtualisation</strong></p>
</td>
</tr>
<tr>
<td width="3%">Intel® VT-x (virtualisation processeur)</td>
<td width="97%">Oui</td>
</tr>
<tr>
<td colspan="2" height="25">
<p><strong>Autres technologies</strong></p>
</td>
</tr>
<tr>
<td width="3%">Intel® Wireless Display</td>
<td width="97%">Non</td>
</tr>
<tr>
<td width="3%">EM64T</td>
<td width="97%">Oui</td>
</tr>
<tr>
<td colspan="2" height="25">
<p><strong>Dissipation thermique</strong></p>
</td>
</tr>
<tr>
<td width="3%">Valeur de dissipation</td>
<td width="97%"><strong>65 Watts</strong></td>
</tr>
<tr>
<td colspan="2" height="25">
<p><strong>Présentation</strong></p>
</td>
</tr>
<tr>
<td width="3%">Version boîte</td>
<td width="97%">Oui</td>
</tr>
</tbody>
</table>
<h2>Mémoire : G.Skill  Kit Extreme3 2 x 2 Go PC10600 Ripjaws X CAS8</h2>
<p><a rel="attachment wp-att-4732" href="http://voidandany.free.fr/index.php/pc-multimedia-htpc-le-hardware/attachment/03913214/"><img class="aligncenter size-medium wp-image-4732" title="03913214" src="http://voidandany.free.fr/wp-content/uploads/03913214-300x300.jpg" alt="" width="300" height="300" /></a>Rien à signaler</p>
<table id="ProdSectionDesc" style="width: 99%;" border="0" cellspacing="1" cellpadding="3">
<tbody>
<tr>
<td colspan="2" height="25">
<p><strong>Mémoire</strong></p>
</td>
</tr>
<tr>
<td width="3%">Type</td>
<td width="97%">DDR3</td>
</tr>
<tr>
<td width="3%">Gamme</td>
<td width="97%">Performance</td>
</tr>
<tr>
<td width="3%">Capacité totale</td>
<td width="97%">4096 Mo</td>
</tr>
<tr>
<td width="3%">Fréquence</td>
<td width="97%">PC10600 (1333 MHz)</td>
</tr>
<tr>
<td width="3%">Nombre de barrettes</td>
<td width="97%">2</td>
</tr>
<tr>
<td width="3%">Capacité par barrette</td>
<td width="97%">2048 Mo</td>
</tr>
<tr>
<td width="3%">ECC</td>
<td width="97%">Non</td>
</tr>
<tr>
<td width="3%">Registered</td>
<td width="97%">Non</td>
</tr>
<tr>
<td colspan="2" height="25">
<p><strong>Performances</strong></p>
</td>
</tr>
<tr>
<td width="3%">Timings</td>
<td width="97%">8-8-8-24</td>
</tr>
<tr>
<td width="3%">Voltages de certification</td>
<td width="97%">1,50 V</td>
</tr>
<tr>
<td width="3%">Dissipateur(s)</td>
<td width="97%">Oui</td>
</tr>
<tr>
<td width="3%">Couleur du dissipateur</td>
<td width="97%">Bleu</td>
</tr>
<tr>
<td width="3%">Ventilateur(s)</td>
<td width="97%">Non</td>
</tr>
<tr>
<td colspan="2" height="25">
<p><strong>Autres informations</strong></p>
</td>
</tr>
<tr>
<td width="3%">Référence constructeur</td>
<td width="97%">F3-10666CL8D-4GBXM</td>
</tr>
<tr>
<td width="3%">Garantie</td>
<td width="97%"><strong>à vie</strong></td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h2>Disque dur : Seagate  Barracuda SATA III 6 Gb/s &#8211; 2 To</h2>
<p><a rel="attachment wp-att-4733" href="http://voidandany.free.fr/index.php/pc-multimedia-htpc-le-hardware/attachment/165432/"><img class="aligncenter size-medium wp-image-4733" title="Seagate Barracuda SATA III 6 Gb/s - 2 To" src="http://voidandany.free.fr/wp-content/uploads/165432-300x273.jpg" alt="" width="300" height="273" /></a>Pas de disque dur green <a href="http://arstechnica.com/gadgets/2011/01/ask-ars-are-green-drives-really-that-green/">qui n&#8217;économisent que très peu d&#8217;énergie</a> (c&#8217;est un argument marketing) mais par contre ont une performance moindre&#8230;</p>
<table id="ProdSectionDesc" style="width: 99%;" border="0" cellspacing="1" cellpadding="3">
<tbody>
<tr>
<td colspan="2" height="25">
<p><strong>Disque dur</strong></p>
</td>
</tr>
<tr>
<td width="3%">Format</td>
<td width="97%">3,5&#8243;</td>
</tr>
<tr>
<td width="3%">Capacité</td>
<td width="97%"><strong>2000 Go</strong></td>
</tr>
<tr>
<td width="3%">Interface</td>
<td width="97%"><strong>SATA III 6 Gb/s</strong></td>
</tr>
<tr>
<td width="3%">Vitesse de rotation</td>
<td width="97%"><strong>7200 trs/min</strong></td>
</tr>
<tr>
<td width="3%">Mémoire cache</td>
<td width="97%">64 Mo</td>
</tr>
<tr>
<td width="3%">Nombre de plateaux</td>
<td width="97%">3</td>
</tr>
<tr>
<td colspan="2" height="25">
<p><strong>Technologies</strong></p>
</td>
</tr>
<tr>
<td width="3%">Support <em>NCQ</em></td>
<td width="97%">Oui</td>
</tr>
<tr>
<td width="3%">Enregistrement perpendiculaire</td>
<td width="97%">Oui</td>
</tr>
<tr>
<td width="3%">Format avancé (secteurs de 4 Ko)</td>
<td width="97%">Oui</td>
</tr>
<tr>
<td colspan="2" height="25">
<p><strong>Présentation</strong></p>
</td>
</tr>
<tr>
<td width="3%">Prise d&#8217;alimentation Molex</td>
<td width="97%">Non</td>
</tr>
<tr>
<td width="3%">Version boîte</td>
<td width="97%">Non</td>
</tr>
<tr>
<td width="3%">Dimensions</td>
<td width="97%">147 x 101,6 x 26,1 mm</td>
</tr>
<tr>
<td width="3%">Poids</td>
<td width="97%">0,625 Kg</td>
</tr>
<tr>
<td width="3%">Consommation</td>
<td width="97%">Inactif : 5,4 Watts ; Lecture/écriture : 8 Watts</td>
</tr>
<tr>
<td width="3%">Référence constructeur</td>
<td width="97%">ST2000DM001</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h2>Disque dur :Western Digital  Caviar Green S-ATA &#8211; 1000 Go &#8211; 32 Mo</h2>
<p style="text-align: center;"><a href="http://voidandany.free.fr/wp-content/uploads/89893.jpg"><img class="aligncenter" title="Disque dur Western Digital Green" src="http://voidandany.free.fr/wp-content/uploads/89893-300x300.jpg" alt="" width="218" height="218" /></a></p>
<p>Disque dur, déjà présent dans mon médiacenter précédent</p>
<table id="ProdSectionDesc" style="width: 99%;" border="0" cellspacing="1" cellpadding="3">
<tbody>
<tr>
<td colspan="2" height="25">
<p><strong>Disque dur</strong></p>
</td>
</tr>
<tr>
<td width="3%">Format</td>
<td width="97%">3,5&#8243;</td>
</tr>
<tr>
<td width="3%">Capacité</td>
<td width="97%">1000 Go</td>
</tr>
<tr>
<td width="3%">Interface</td>
<td width="97%">S-ATA/II</td>
</tr>
<tr>
<td width="3%">Vitesse de rotation</td>
<td width="97%">5400 trs/min</td>
</tr>
<tr>
<td width="3%">Mémoire cache</td>
<td width="97%">32 Mo</td>
</tr>
<tr>
<td width="3%">Temps d&#8217;accès moyen</td>
<td width="97%">8,9 ms</td>
</tr>
<tr>
<td colspan="2" height="25">
<p><strong>Technologies</strong></p>
</td>
</tr>
<tr>
<td width="3%">Support <em>NCQ</em></td>
<td width="97%">Oui</td>
</tr>
<tr>
<td colspan="2" height="25">
<p><strong>Présentation</strong></p>
</td>
</tr>
<tr>
<td width="3%">Prise d&#8217;alimentation Molex</td>
<td width="97%">Non</td>
</tr>
<tr>
<td width="3%">Version boîte</td>
<td width="97%">Non</td>
</tr>
<tr>
<td width="3%">Dimensions</td>
<td width="97%">147 x 101,6 x 26,1 mm</td>
</tr>
<tr>
<td width="3%">Poids</td>
<td width="97%">0,630 Kg</td>
</tr>
<tr>
<td width="3%">Consommation</td>
<td width="97%">Inactif : 2,8 Watts ; Lecture/écriture : 5,40 Watts</td>
</tr>
<tr>
<td width="3%">Référence constructeur</td>
<td width="97%">WD10EADS</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h2>Alimentation : PicoPSU 150W + Bloc d&#8217;alimentation 80W</h2>
<p><a rel="attachment wp-att-4739" href="http://voidandany.free.fr/index.php/pc-multimedia-htpc-le-hardware/picopsu-150-xt-12v-big2/"><img class="aligncenter size-medium wp-image-4739" title="picoPSU-150-xt-12V-big2" src="http://voidandany.free.fr/wp-content/uploads/picoPSU-150-xt-12V-big2-300x300.jpg" alt="" width="300" height="300" /></a>Alimentation déjà en ma possession (cf.<a title="Lien permanent vers Consommation de la carte D945GCLF2 et mise en place d’une alimentation PicoPSU" rel="bookmark" href="http://voidandany.free.fr/index.php/consommation-de-la-carte-d945gclf2-et-mise-en-place-dune-alimentation-picopsu/"> Consommation de la carte D945GCLF2 et mise en place d’une alimentation PicoPSU</a>)</p>
<div>
<div></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://voidandany.free.fr/index.php/pc-multimedia-htpc-le-hardware/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Corriger le problème des vidéos Flash bleu</title>
		<link>http://voidandany.free.fr/index.php/corriger-le-probleme-des-videos-flash-bleu/</link>
		<comments>http://voidandany.free.fr/index.php/corriger-le-probleme-des-videos-flash-bleu/#comments</comments>
		<pubDate>Mon, 06 Aug 2012 19:32:00 +0000</pubDate>
		<dc:creator>voidAndAny</dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://voidandany.free.fr/?p=4721</guid>
		<description><![CDATA[Edit 04/09/2012 : J&#8217;ai supprimé le correctif décrit cet article car il faisait planter Compiz &#160; Depuis  la 12.04 lorsque je regardais une vidéo Youtube par exemple j&#8217;avais ça : Nixie Pixel à plutôt un vilain teint, le problème vient &#8230; <a href="http://voidandany.free.fr/index.php/corriger-le-probleme-des-videos-flash-bleu/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><span style="text-decoration: underline;"><strong>Edit 04/09/2012 :</strong></span> J&#8217;ai supprimé le correctif décrit cet article car il faisait planter Compiz</p>
<p>&nbsp;</p>
<p>Depuis  la 12.04 lorsque je regardais une vidéo Youtube par exemple j&#8217;avais ça :</p>
<p><a rel="attachment wp-att-4722" href="http://voidandany.free.fr/index.php/corriger-le-probleme-des-videos-flash-bleu/selection_075/"><img class="alignleft size-large wp-image-4722" title="Sélection_075" src="http://voidandany.free.fr/wp-content/uploads/Sélection_075-650x462.png" alt="" width="640" height="454" /></a></p>
<p>Nixie Pixel à plutôt un vilain teint, le problème vient d&#8217;un bug dans le plugin Flash sous Linux avec les carte graphique nVidia et l&#8217;accélération matériel d&#8217;activé.</p>
<p>Il existe divers contournements plus ou moins heureux et plus ou moins efficace.</p>
<p>Après avoir étudié le sujet j&#8217;ai choisi d&#8217;installer la librairie libvdpau1 patché :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;</span>code<span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #c20cb9; font-weight: bold;">sudo</span> add-apt-repository ppa:tikhonov<span style="color: #000000; font-weight: bold;">/</span>misc
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> update
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> libvdpau1<span style="color: #000000; font-weight: bold;">&lt;/</span>code<span style="color: #000000; font-weight: bold;">&gt;</span></pre></div></div>

<p>Et voila Nixie à meilleur teint :</p>
<p><a rel="attachment wp-att-4723" href="http://voidandany.free.fr/index.php/corriger-le-probleme-des-videos-flash-bleu/selection_076/"><img class="alignleft size-full wp-image-4723" title="Sélection_076" src="http://voidandany.free.fr/wp-content/uploads/Sélection_076.png" alt="" width="650" height="465" /></a></p>
<p><span style="text-decoration: underline;"><em><strong>Source :</strong></em></span><strong><em> </em></strong><a href="http://askubuntu.com/questions/117127/flash-video-appears-blue">Flash video appears blue</a></p>
]]></content:encoded>
			<wfw:commentRss>http://voidandany.free.fr/index.php/corriger-le-probleme-des-videos-flash-bleu/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>[Mac] Modifier l&#8217;emplacement de sauvegarde des copies d&#8217;écrans faites par Capture</title>
		<link>http://voidandany.free.fr/index.php/mac-modifier-lemplacement-de-sauvegarde-des-copies-decrans-faites-par-capture/</link>
		<comments>http://voidandany.free.fr/index.php/mac-modifier-lemplacement-de-sauvegarde-des-copies-decrans-faites-par-capture/#comments</comments>
		<pubDate>Wed, 25 Jul 2012 09:01:56 +0000</pubDate>
		<dc:creator>voidAndAny</dc:creator>
				<category><![CDATA[mac]]></category>

		<guid isPermaLink="false">http://voidandany.free.fr/?p=4707</guid>
		<description><![CDATA[Si vous utilisez Capture pour faire des copies d&#8217;écran (CMD + Shift + 4 par exemple), le fichier est automatiquement enregistré sur le bureau, si vous voulez changer l’emplacement, il suffit de lancer les commandes suivantes dans un terminal : &#8230; <a href="http://voidandany.free.fr/index.php/mac-modifier-lemplacement-de-sauvegarde-des-copies-decrans-faites-par-capture/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Si vous utilisez Capture pour faire des copies d&#8217;écran (CMD + Shift + 4 par exemple), le fichier est automatiquement enregistré sur le bureau, si vous voulez changer l’emplacement, il suffit de lancer les commandes suivantes dans un terminal :</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">defaults write com.apple.screencapture location [emplacement voulu]
killall SystemUIServer</pre></div></div>

<p>Et voila&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://voidandany.free.fr/index.php/mac-modifier-lemplacement-de-sauvegarde-des-copies-decrans-faites-par-capture/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Télécharger automatiquement les factures Free Mobile</title>
		<link>http://voidandany.free.fr/index.php/telecharger-automatiquement-les-factures-free-mobile/</link>
		<comments>http://voidandany.free.fr/index.php/telecharger-automatiquement-les-factures-free-mobile/#comments</comments>
		<pubDate>Mon, 04 Jun 2012 20:32:13 +0000</pubDate>
		<dc:creator>voidAndAny</dc:creator>
				<category><![CDATA[Non classé]]></category>

		<guid isPermaLink="false">http://voidandany.free.fr/?p=4690</guid>
		<description><![CDATA[Edit 25/07/2012 : Ce n&#8217;est plus nécessaire car Free offre désormais un service pour recevoir sa facture par email&#8230; Pour télécharger les factures Free Mobile et les envoyer par email, j&#8217;ai mis en œuvre un script bash conjointement avec l&#8217;utilisation &#8230; <a href="http://voidandany.free.fr/index.php/telecharger-automatiquement-les-factures-free-mobile/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong>Edit 25/07/2012 </strong>: Ce n&#8217;est plus nécessaire car Free offre désormais un service pour recevoir sa facture par email&#8230;</p>
<p><a rel="attachment wp-att-4693" href="http://voidandany.free.fr/index.php/telecharger-automatiquement-les-factures-free-mobile/images-2/"><img class="alignleft size-medium wp-image-4693" title="images" src="http://voidandany.free.fr/wp-content/uploads/images1-300x148.jpg" alt="" width="300" height="148" /></a></p>
<p>Pour télécharger les factures Free Mobile et les envoyer par email, j&#8217;ai mis en œuvre un script bash conjointement avec l&#8217;utilisation de boobill, plugin de weboob (Web Out Of Browser).</p>
<p>&nbsp;</p>
<h2>Installation de boobill</h2>
<p>Éditer le fichier /etc/apt/sources.list et y ajouter la ligne suivante :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">deb http:<span style="color: #000000; font-weight: bold;">//</span>debian.weboob.org unstable main</pre></div></div>

<p>Installation de Weboobs :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">aptitude</span> update
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">aptitude</span> <span style="color: #c20cb9; font-weight: bold;">install</span> debian-symlink-keyring
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">aptitude</span> update
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">aptitude</span> <span style="color: #c20cb9; font-weight: bold;">install</span> weboob python-imaging</pre></div></div>

<p>On peut ensuite lancer boobill et installer le backend Free Mobile :</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">boobill
 Warning: there is currently no configured backend for boobill
 Do you want to configure backends? (Y/n): Y
Available modules:
&nbsp;
 1) [ ] freemobile        Free Mobile website
 2) [ ] nettokom          Nettokom website
 a) --all--               install all backends
 q) --stop--
&nbsp;
Select a backend to create (q to stop): 1
&nbsp;
Configuration of backend freemobile
 -----------------------------------
 [login] Account ID: 14861232
 [password] Password (hidden input):
 -----------------------------------
 Backend &quot;freemobile&quot; successfully added.
&nbsp;
Available modules:
 1) [X] freemobile        Free Mobile website
 2) [ ] nettokom          Nettokom website
 a) --all--               install all backends
 q) --stop--
&nbsp;
Select a backend to create (q to stop): q
 Right right!
 Welcome to boobill v0.c
&nbsp;
Copyright(C) 2012 Florent Fourcot
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU Affero General Public License as published by
 the Free Software Foundation, either version 3 of the License, or
 (at your option) any later version.
&nbsp;
Type &quot;help&quot; to display available commands.</pre></div></div>

<p>&nbsp;</p>
<h2>Utilisation (succincte) de Boobill</h2>
<p>Dans le contexte boobill on peut lister les contrats :</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">boobill&gt; ls
 * (1) 06xxxxxx01 - Forfait Free illimité à 15,99 euros réservé aux abonnés Freebox (freemobile)</pre></div></div>

<p>Lister les factures du contrat n°1 (le seul) :</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">boobill&gt; bills 1
 +--------------------------------+------------+--------+------------+
 |               Id               |    Date    | Format |   Label    |
 +--------------------------------+------------+--------+------------+
 | 06xxxxxx01.20120502@freemobile | 2012-05-02 | html   | 02-05-2012 |
 | 06xxxxxx01.20120402@freemobile | 2012-04-02 | html   | 02-04-2012 |
 | 06xxxxxx01.20120302@freemobile | 2012-03-02 | html   | 02-03-2012 |
 +--------------------------------+------------+--------+------------+</pre></div></div>

<p>Télécharger une de ces factures :</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">boobill&gt; download 06xxxxxx01.20120502@freemobile</pre></div></div>

<p>On peut télécharger cette même facture en dehors du contexte boobill directement depuis le bash ainsi (pour quitter boobill, la commande est quit) :</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">boobill download 06xxxxxx01.20120502@freemobile</pre></div></div>

<p>&nbsp;</p>
<h2>Script bash</h2>
<p>Afin d&#8217;automatiser la récupération des factures tous les mois et l&#8217;envoi de ces facture par email voici le script que j&#8217;ai réalisé :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
&nbsp;
<span style="color: #007800;">PHONE_NUMBER</span>=<span style="color: #ff0000;">'06xxxxxx01'</span>
<span style="color: #007800;">DOWNLOAD_FOLDER</span>=<span style="color: #007800;">$HOME</span><span style="color: #ff0000;">'/Documents/Facture/FreeMobile/'</span>$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">date</span> +<span style="color: #ff0000;">&quot;%Y&quot;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #007800;">MAIL_DEST</span>=<span style="color: #ff0000;">'monemail@adresse.fr'</span>
&nbsp;
<span style="color: #007800;">BILL_DATE</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">date</span> +<span style="color: #ff0000;">&quot;%Y%m%d&quot;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #007800;">BILL_FILE</span>=<span style="color: #007800;">$PHONE_NUMBER</span>.<span style="color: #007800;">$BILL_DATE</span>.html
&nbsp;
<span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-d</span> <span style="color: #007800;">$DOWNLOAD_FOLDER</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">||</span> <span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #660033;">-p</span> <span style="color: #007800;">$DOWNLOAD_FOLDER</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #000000; font-weight: bold;">!</span> <span style="color: #660033;">-f</span> <span style="color: #007800;">$DOWNLOAD_FOLDER</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$BILL_FILE</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
        boobill download <span style="color: #007800;">$PHONE_NUMBER</span>.<span style="color: #007800;">$BILL_DATE</span><span style="color: #000000; font-weight: bold;">@</span>freemobile
        <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-f</span> <span style="color: #007800;">$BILL_FILE</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
                <span style="color: #c20cb9; font-weight: bold;">mv</span> <span style="color: #007800;">$BILL_FILE</span> <span style="color: #007800;">$DOWNLOAD_FOLDER</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$BILL_FILE</span>
                <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">'Ci-joint la facture Free Mobile du mois de '</span>$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">date</span> <span style="color: #ff0000;">'+%B'</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000; font-weight: bold;">|</span> mutt <span style="color: #007800;">$MAIL_DEST</span> <span style="color: #660033;">-s</span> <span style="color: #ff0000;">'Facture '</span><span style="color: #007800;">$BILL_DATE</span> <span style="color: #660033;">-a</span> <span style="color: #007800;">$DOWNLOAD_FOLDER</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$BILL_FILE</span>
        <span style="color: #000000; font-weight: bold;">fi</span>
<span style="color: #000000; font-weight: bold;">fi</span></pre></div></div>

<p>Ne reste plus qu&#8217;a planifier le script dans un cron&#8230;</p>
<p>&nbsp;</p>
<p><span style="text-decoration: underline;"><em><strong>Sources : </strong></em></span></p>
<p><a href="http://weboob.org/">Weboob &#8211; Web Out of Browsers</a></p>
<p><a href="http://linuxfr.org/journaux">Journal</a> <a href="http://linuxfr.org/users/hercule_savinien/journaux/weboob-la-capability-collection">Weboob &#8211; la capability collection</a></p>
<p><a href="http://weboob.org/applications/boobill">Boobill : </a>List your subscriptions, view and download the bill details.</p>
<p>&nbsp;</p>
<p><strong>PS :</strong> Pour tenter une conversion de la facture HTML en PDF, j&#8217;ai testé</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">htmldoc <span style="color: #660033;">--webpage</span> <span style="color: #660033;">-f</span> output.pdf ..<span style="color: #000000; font-weight: bold;">/</span>06xxxxxx01.20120502.html</pre></div></div>

<p>Mais la mise en forme de tableau n&#8217;est pas respecté</p>
<p>&nbsp;</p>
<p><strong>PS2 :</strong> Enfin un article après 3 mois d&#8217;absence, mais j&#8217;ai changé de travail et je fais toute la journée les choses que je faisais le soir et sur mon temps libre (et en plus je suis payé pour ça)</p>
]]></content:encoded>
			<wfw:commentRss>http://voidandany.free.fr/index.php/telecharger-automatiquement-les-factures-free-mobile/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Apprendre jQuery en vidéo (cours premiums gratuits)</title>
		<link>http://voidandany.free.fr/index.php/apprendre-jquery-en-video-cours-premiums-gratuits/</link>
		<comments>http://voidandany.free.fr/index.php/apprendre-jquery-en-video-cours-premiums-gratuits/#comments</comments>
		<pubDate>Mon, 06 Feb 2012 22:38:14 +0000</pubDate>
		<dc:creator>voidAndAny</dc:creator>
				<category><![CDATA[developpement]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://voidandany.free.fr/?p=4653</guid>
		<description><![CDATA[Comme je l&#8217;ai indiqué sur Twitter (et hop au passage mon Twitter), je suis actuellement les cours vidéo de Jeffrey Way sur Tuts+ à propos de jQuery. Ce cours est normalement un cours Premium accessible avec un abonnement de 19$/mois &#8230; <a href="http://voidandany.free.fr/index.php/apprendre-jquery-en-video-cours-premiums-gratuits/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Comme je l&#8217;ai <a href="https://twitter.com/#!/VoidAndAny/status/164697531136217089">indiqué sur Twitter</a> (et hop au passage mon Twitter), je suis actuellement les cours vidéo de Jeffrey Way sur <a href="http://tutsplus.com">Tuts+</a> à propos de jQuery.</p>
<p>Ce  cours est normalement un cours Premium accessible avec un abonnement de  19$/mois mais Jeffrey le dispense gratuitement pour faire connaître le  service.</p>
<p>J&#8217;en suis à la leçon 5 et je dois dire que le niveau et la pédagogie sont excellent.</p>
<p>Je  connais un peu jQuery, mais on repart des fondamentaux et on y apprend  des bonnes pratiques, bref c&#8217;est un must see (c&#8217;est évidemment en  anglais mais Jeffrey à un accent très compréhensible).</p>
<p>Il y a un cours de 10-20 minutes par jour, la vidéo et le code du cours sont téléchargeables, impeccable&#8230;</p>
<p>Pour ceux que ça intéresse c&#8217;est ici :<a href="http://learnjquery.tutsplus.com/"><em>Learn jQuery</em> in <em>30 Days</em></a></p>
<p>J&#8217;ajoute aussi une <a href="http://voidandany.free.fr/index.php/jquery/">page jQuery</a> reprenant les notes que j&#8217;ai prises durant les différentes leçons (lesson), j&#8217;espère que je vais m&#8217;y tenir et la mettre à jour&#8230;.<em><br />
</em></p>
]]></content:encoded>
			<wfw:commentRss>http://voidandany.free.fr/index.php/apprendre-jquery-en-video-cours-premiums-gratuits/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installation d’un dépôt de fichier : bilan</title>
		<link>http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-bilan/</link>
		<comments>http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-bilan/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 14:52:27 +0000</pubDate>
		<dc:creator>voidAndAny</dc:creator>
				<category><![CDATA[site web]]></category>

		<guid isPermaLink="false">http://voidandany.free.fr/?p=4545</guid>
		<description><![CDATA[Rappel du besoin : Avoir sur mon Dockstar un dépôt de fichier, un endroit ou je (ou des personnes de confiance) puisse facilement uploader des fichiers et avoir un lien vers ce fichier. Logiciel testés avec les liens vers les articles &#8230; <a href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-bilan/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Rappel du besoin :</p>
<p style="padding-left: 30px;">Avoir sur mon Dockstar un <strong>dépôt de fichier</strong>, un endroit ou je (ou des personnes de confiance) puisse facilement uploader des fichiers et avoir un lien vers ce fichier.</p>
<p>Logiciel testés avec les liens vers les articles :</p>
<ul>
<li><a title="Lien permanent vers Installation d’un dépôt de fichier : Jyraphe (recalé)" rel="bookmark" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-jyraphe-recale/">Jyraphe</a></li>
<li><a title="Lien permanent vers Installation d’un dépôt de fichier : FileZ (configuration sur NGINX)" rel="bookmark" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-filez-configuration-sur-nginx/">FileZ</a></li>
<li><a title="Lien permanent vers Installation d’un dépôt de fichier : KoLoad" rel="bookmark" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-koload/">KoLoad</a></li>
<li><a title="Lien permanent vers Installation d’un dépôt de fichier : OpenUpload" rel="bookmark" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-openupload/">OpenUpload</a></li>
<li><a title="Lien permanent vers Installation d’un dépôt de fichier : cFTP" rel="bookmark" href="http://voidandany.free.fr/index.php/installation-d%e2%80%99un-depot-de-fichier-cftp/">cFTP</a></li>
</ul>
<p>Autres logiciels disponibles (non testés et qui ne le seront probablement pas)</p>
<ul>
<li><a title="BigFileSharing" href="http://bigfilesharing.sourceforge.net/" target="_blank">BigFileSharing</a> : pas de mise à jour depuis 2008, est prvu pour fonctionner avec un serveur CAS et/ou LDAP (bien qu&#8217;une authentification par htaccess semble en théorie possible, modification cvs de 2010), testé mais je n&#8217;ai pas réussi a afficher autre chose que cette page : </li>
</ul>
<p><a rel="attachment wp-att-4547" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-bilan/2012-01-17_144050/"><img class="aligncenter size-medium wp-image-4547" title="2012-01-17_144050" src="http://voidandany.free.fr/wp-content/uploads/2012-01-17_144050-300x161.png" alt="" width="300" height="161" /></a></p>
<ul>
<li><a title="F*ex" href="http://fex.rus.uni-stuttgart.de/" target="_blank"></a><a title="F*ex" href="http://fex.rus.uni-stuttgart.de/" target="_blank">F*ex</a> : non testé car en PERL</li>
<li><a title="Droopy" href="http://stackp.online.fr/?p=28" target="_blank">Droopy</a> : déjà testé (mais non décrit) simple script Python, le plus simple et le plus léger à mettre en oeuvre (aucune installation)</li>
<li><a href="http://code.google.com/p/xtraupload/">xtraupload</a> : commencé à tester sans succès (peut être réessaierai-je ?)</li>
</ul>
<p>&nbsp;</p>
<p><span style="text-decoration: underline;"><strong>Récapitulatif :</strong></span></p>
<table style="width: 567px; height: 194px; border-width: 1px;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="100"><strong>Application</strong></td>
<td width="100"><strong><a title="Lien permanent vers Installation d’un dépôt de fichier : Jyraphe (recalé)" rel="bookmark" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-jyraphe-recale/">Jyraphe</a></strong></td>
<td width="100"><strong><a title="Lien permanent vers Installation d’un dépôt de fichier : FileZ (configuration sur NGINX)" rel="bookmark" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-filez-configuration-sur-nginx/">FileZ</a></strong></td>
<td width="100"><strong><a title="Lien permanent vers Installation d’un dépôt de fichier : KoLoad" rel="bookmark" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-koload/">KoLoad</a></strong></td>
</tr>
<tr>
<td>Dernière mise à jour</td>
<td>
<p>Juin 2009, il existe une <a href="https://gna.org/projects/jyraphe/">version 0.6 alpha de janvier 2010</a> et un <a href="https://github.com/tester22/Jyraphe">fork sur github de mars 2011</a></p>
</td>
<td>Oct 2011</td>
<td>Nov 2011</td>
</tr>
<tr>
<td>Installation</td>
<td>Traduction Fr pas simple, sinon facile</td>
<td>Assez difficile (création base et utilisateur manuel), beaucoup d&#8217;options</td>
<td>Facile</td>
</tr>
<tr>
<td>Traduit</td>
<td>Oui</td>
<td>Oui</td>
<td>Oui</td>
</tr>
<tr>
<td>Authentification</td>
<td>Non (contournement via .htaccess)</td>
<td>Oui obligatoire pour l&#8217;upload, pas pour le téléchargement</td>
<td>Optionnel pour l&#8217;upload, Non pour le téléchargement</td>
</tr>
<tr>
<td>Protection des fichiers par mot de passe</td>
<td>Oui</td>
<td>Oui</td>
<td>Non</td>
</tr>
<tr>
<td>Purge automatique des fichiers</td>
<td>Non</td>
<td>Oui</td>
<td>Non</td>
</tr>
<tr>
<td>Limitation du nombre de téléchargement</td>
<td>Oui (téléchargement unique)</td>
<td>Non</td>
<td>Non</td>
</tr>
<tr>
<td>Durée de validité du téléchargement</td>
<td>Oui (1 min / jour/ semaine / mois)</td>
<td>Oui (1 à 20j)</td>
<td>Non</td>
</tr>
<tr>
<td>Aspect</td>
<td>Correct</td>
<td>Beau</td>
<td>Beau</td>
</tr>
<tr>
<td>Divers</td>
<td>Pas de liste des fichiers existant</td>
<td>Lourd (24Mo) !!</td>
<td>
</td>
</tr>
</tbody>
</table>
<table style="width: 567px; height: 194px; border-width: 1px;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="100"><strong>Application</strong></td>
<td width="100"><strong><a title="Lien permanent vers Installation d’un dépôt de fichier : OpenUpload" rel="bookmark" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-openupload/">OpenUpload</a></strong></td>
<td width="100"><strong><a title="Lien permanent vers Installation d’un dépôt de fichier : cFTP" rel="bookmark" href="http://voidandany.free.fr/index.php/installation-d%e2%80%99un-depot-de-fichier-cftp/">cFTP</a></strong></td>
</tr>
<tr>
<td>Dernière mise à jour</td>
<td>Nov 2010</td>
<td>Oct 2011</td>
</tr>
<tr>
<td>Installation</td>
<td>Difficile (beaucoup d&#8217;options, de paramétrage)</td>
<td>Moyen</td>
</tr>
<tr>
<td>Traduit</td>
<td>Oui</td>
<td>Oui</td>
</tr>
<tr>
<td>Authentification</td>
<td>Oui ultra-paramétrable</td>
<td>Oui pour l&#8217;upload et le téléchargement</td>
</tr>
<tr>
<td>Protection des fichiers par mot de passe</td>
<td>Oui</td>
<td>Non</td>
</tr>
<tr>
<td>Purge automatique des fichiers</td>
<td>?</td>
<td>Non</td>
</tr>
<tr>
<td>Limitation du nombre de téléchargement</td>
<td>Non</td>
<td>Non</td>
</tr>
<tr>
<td>Durée de validité du téléchargement</td>
<td>Non</td>
<td>Non</td>
</tr>
<tr>
<td>Aspect</td>
<td>Moche</td>
<td>Beau</td>
</tr>
<tr>
<td>Divers</td>
<td>Très paramétrable, mais compliqué</td>
<td>Usage très spécifique, les fichiers sont rattachés à une notion de client</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-bilan/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installation d’un dépôt de fichier : cFTP</title>
		<link>http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-cftp/</link>
		<comments>http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-cftp/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 13:29:48 +0000</pubDate>
		<dc:creator>voidAndAny</dc:creator>
				<category><![CDATA[site web]]></category>
		<category><![CDATA[dockstar]]></category>
		<category><![CDATA[nginx]]></category>

		<guid isPermaLink="false">http://voidandany.free.fr/?p=4529</guid>
		<description><![CDATA[Promis c&#8217;est le dernier (enfin normalement) dépôt de fichier que je test, il s&#8217;agit cette fois ci de cFTP Ce dernier est un peu en marge des autre car clairement orienté professionnel, les fichiers uploadés le sont en effet à destination d&#8217;un client particulier. &#8230; <a href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-cftp/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Promis c&#8217;est le dernier (enfin normalement) dépôt de fichier que je test, il s&#8217;agit cette fois ci de <a href="http://code.google.com/p/clients-oriented-ftp/">cFTP</a></p>
<p>Ce dernier est un peu en marge des autre car clairement orienté professionnel, les fichiers uploadés le sont en effet à destination d&#8217;un client particulier.</p>
<p>&nbsp;</p>
<h2>Pré-requis installation</h2>
<p>On doit créer une base dédiée, pour cela on se connecte à MySQL :</p>
<div>
<div>
<pre>mysql -u root -p</pre>
</div>
</div>
<p lang="sql">Puis on lance l&#8217;ordre SQL (à adapter):</p>
<div>
<div>
<pre>CREATE DATABASE cftp;</pre>
</div>
</div>
<p>&nbsp;</p>
<h2>Installation</h2>
<p><a href="http://code.google.com/p/clients-oriented-ftp/downloads/list">Télécharger l’archive</a>, la décompresser dans l’arborescence de son serveur Web, fixer les droits utilisateur (www-data propriétaire des fichiers) et configurer son serveur Web</p>
<p>On pourra ensuite <a href="http://code.google.com/p/clients-oriented-ftp/downloads/list">télécharger la traduction française</a>, deziper le fichier et copier le fichier vars.php dans includes/</p>
<p>Editer le fichier includes/sys.vars.php et mettre à jour les informatons de connexion SQL</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">define<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #ff0000;">'DB_NAME'</span>, <span style="color: #ff0000;">'cftp'</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>; <span style="color: #000000; font-weight: bold;">//</span> database name
define<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #ff0000;">'DB_HOST'</span>, <span style="color: #ff0000;">'localhost'</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>; <span style="color: #000000; font-weight: bold;">//</span> database host <span style="color: #7a0874; font-weight: bold;">&#40;</span>most of the <span style="color: #7a0874; font-weight: bold;">times</span> its localhost<span style="color: #7a0874; font-weight: bold;">&#41;</span>
define<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #ff0000;">'DB_USER'</span>, <span style="color: #ff0000;">'root'</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>; <span style="color: #000000; font-weight: bold;">//</span> user related to cftp<span style="color: #ff0000;">'s database
define('</span>DB_PASSWORD<span style="color: #ff0000;">', '</span><span style="color: #ff0000;">'); // the password for that userfsf</span></pre></div></div>

<p>Puis on va à l&#8217;URL de cFTP dans le &laquo;&nbsp;sous-répertoire&nbsp;&raquo; install :</p>
<p>http://www.domaine.fr/cftp/install</p>
<p>Les données à renseigner se passent de commentaires (paramétrage fait avant d&#8217;avoir installé la traduction française) :</p>
<p><a rel="attachment wp-att-4531" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-cftp/2012-01-17_140545/"><img class="aligncenter size-full wp-image-4531" title="2012-01-17_140545" src="http://voidandany.free.fr/wp-content/uploads/2012-01-17_140545.png" alt="" width="505" height="667" /></a></p>
<p>Sur l&#8217;écran suivant on peut directement se logguer.</p>
<p><a rel="attachment wp-att-4532" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-cftp/2012-01-17_140605/"><img class="aligncenter size-medium wp-image-4532" title="2012-01-17_140605" src="http://voidandany.free.fr/wp-content/uploads/2012-01-17_140605-300x123.png" alt="" width="300" height="123" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2>Utilisation</h2>
<p>L&#8217;écran de login sépare l&#8217;accès administrateur de client :</p>
<p><a rel="attachment wp-att-4539" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-cftp/2012-01-17_142713/"><img class="aligncenter size-full wp-image-4539" title="2012-01-17_142713" src="http://voidandany.free.fr/wp-content/uploads/2012-01-17_142713.png" alt="" width="376" height="410" /></a></p>
<p>La page d&#8217;accueil (loggué en administrateur)</p>
<p><a rel="attachment wp-att-4530" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-cftp/2012-01-17_140821/"><img title="2012-01-17_140821" src="http://voidandany.free.fr/wp-content/uploads/2012-01-17_140821.png" alt="" /></a></p>
<p>&nbsp;</p>
<p>L&#8217;upload d&#8217;un fichier est obligatoirement rattaché à un client il faut donc en créer un :</p>
<p><a rel="attachment wp-att-4533" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-cftp/2012-01-17_140913/"><img class="aligncenter size-full wp-image-4533" title="2012-01-17_140913" src="http://voidandany.free.fr/wp-content/uploads/2012-01-17_140913.png" alt="" width="560" height="501" /></a></p>
<p>Puis on peut procéder à l&#8217;upload :</p>
<p><a rel="attachment wp-att-4535" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-cftp/2012-01-17_141006/"><img class="aligncenter size-full wp-image-4535" title="2012-01-17_141006" src="http://voidandany.free.fr/wp-content/uploads/2012-01-17_141006.png" alt="" width="559" height="285" /></a><a rel="attachment wp-att-4536" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-cftp/2012-01-17_141020/"><img class="aligncenter size-medium wp-image-4536" title="2012-01-17_141020" src="http://voidandany.free.fr/wp-content/uploads/2012-01-17_141020-300x172.png" alt="" width="300" height="172" /></a></p>
<p>&nbsp;</p>
<p>Le client quand il se logguera verra alors le fichier :</p>
<p><a rel="attachment wp-att-4538" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-cftp/2012-01-17_141141/"><img class="aligncenter size-full wp-image-4538" title="2012-01-17_141141" src="http://voidandany.free.fr/wp-content/uploads/2012-01-17_141141.png" alt="" /></a></p>
<p>On peut accéder à cette même interface du client en cliquant sur la loupe dans l’administration des clients :</p>
<p><a rel="attachment wp-att-4537" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-cftp/2012-01-17_141110/"><img class="aligncenter size-medium wp-image-4537" title="2012-01-17_141110" src="http://voidandany.free.fr/wp-content/uploads/2012-01-17_141110-300x37.png" alt="" width="300" height="37" /></a></p>
<p>&nbsp;</p>
<h2>Conclusion</h2>
<p>Usage spécifique (notion de client), propre, beau, léger (600 ko)</p>
]]></content:encoded>
			<wfw:commentRss>http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-cftp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installation d’un dépôt de fichier : OpenUpload</title>
		<link>http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-openupload/</link>
		<comments>http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-openupload/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 10:31:50 +0000</pubDate>
		<dc:creator>voidAndAny</dc:creator>
				<category><![CDATA[site web]]></category>
		<category><![CDATA[dockstar]]></category>
		<category><![CDATA[nginx]]></category>

		<guid isPermaLink="false">http://voidandany.free.fr/?p=4496</guid>
		<description><![CDATA[Encore un dépôt de fichier : OpenUpload &#160; Installation Après avoir téléchargé l’archive, l&#8217;avoir décompressé dans l’arborescence de son serveur Web, fixé les droits utilisateur (www-data propriétaire des fichiers) et configuré son serveur Web (pas de ruse) On va à l&#8217;adresse d&#8217;openupload et &#8230; <a href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-openupload/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Encore un dépôt de fichier : <a title="OpenUpload" href="http://openupload.sourceforge.net/" target="_blank">OpenUpload</a></p>
<p>&nbsp;</p>
<h2>Installation</h2>
<p>Après avoir <a href="http://sourceforge.net/projects/openupload/files/openupload/v0.4/openupload-0.4.2.tar.gz/download">téléchargé l’archive</a>, l&#8217;avoir décompressé dans l’arborescence de son serveur Web, fixé les droits utilisateur (www-data propriétaire des fichiers) et configuré son serveur Web (pas de ruse)</p>
<p>On va à l&#8217;adresse d&#8217;openupload et l&#8217;installeur se lance et va nous guider au travers de 9 étapes :</p>
<p><a title="OpenUpload" href="http://openupload.sourceforge.net/" target="_blank"></a></p>
<p><a rel="attachment wp-att-4497" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-openupload/2012-01-16_142738/"><img class="size-full wp-image-4497 aligncenter" title="2012-01-16_142738" src="http://voidandany.free.fr/wp-content/uploads/2012-01-16_142738.png" alt="" width="600" height="318" /></a></p>
<p><strong>Etape 1 </strong>: vérification des pré-requis</p>
<p><a rel="attachment wp-att-4498" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-openupload/2012-01-16_142749/"><img class="size-full wp-image-4498 aligncenter" title="2012-01-16_142749" src="http://voidandany.free.fr/wp-content/uploads/2012-01-16_142749.png" alt="" width="215" height="64" /></a></p>
<p><a rel="attachment wp-att-4499" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-openupload/2012-01-16_142807/"><img class="size-full wp-image-4499 aligncenter" title="2012-01-16_142807" src="http://voidandany.free.fr/wp-content/uploads/2012-01-16_142807.png" alt="" width="330" height="633" /></a></p>
<p>Les croix rouges ne posent pas de problème, il faut avoir au moins le support d&#8217;une base de données (MySQL dans mon cas) et il n&#8217;est pas nécessaire d&#8217;avoir un système de barre de progression.</p>
<p>&nbsp;</p>
<p><strong>Etape 2 </strong>: chemins</p>
<p><a rel="attachment wp-att-4500" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-openupload/2012-01-16_143138/"><img class="size-full wp-image-4500 aligncenter" title="2012-01-16_143138" src="http://voidandany.free.fr/wp-content/uploads/2012-01-16_143138.png" alt="" width="562" height="257" /></a></p>
<p>Le premier chemin est le chemin d&#8217;openupload sur le système de fichier, ce répertoire contient les librairies utilisé par openupload, il est envisageable (conseillé) de déplacer ce répertoire de l&#8217;arborescence web et de ne garder que le sous-répertoire www (qui contient l&#8217;application openupload proprement dite) dans cette dernière</p>
<p>WWW server URL est l&#8217;URL de base pour accéder à votre serveur</p>
<p>WWW root path est l&#8217;alias web de l&#8217;application openupload, celle que vous avez configuré dans votre serveur web.</p>
<p>Enfin le dernier chemin est le chemin dans lequel les fichiers uploadés seront stockés. Ce dernier doit contenir un sous-répertoire tmp et l&#8217;utilisateur exécutant le serveur web doit y avoir les droits d&#8217;écriture.</p>
<p>&nbsp;</p>
<p><strong>Etape 3-4 </strong>: base de données</p>
<p><a rel="attachment wp-att-4501" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-openupload/2012-01-16_143155/"><img class="size-full wp-image-4501 aligncenter" title="2012-01-16_143155" src="http://voidandany.free.fr/wp-content/uploads/2012-01-16_143155.png" alt="" width="248" height="63" /></a></p>
<p>&nbsp;</p>
<p><a rel="attachment wp-att-4510" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-openupload/2012-01-16_144749/"><img class="size-full wp-image-4510 aligncenter" title="2012-01-16_144749" src="http://voidandany.free.fr/wp-content/uploads/2012-01-16_144749.png" alt="" width="389" height="342" /></a>Le programme d’installation permet la création de la base et de son utilisateur dédié ce qui est pratique (dans mon cas de test je n&#8217;ai pas créé d&#8217;utilisateur dédié mais utilisé mon root)</p>
<p>La dernière option permet d&#8217;indiquer le niveau des données à insérer.</p>
<ul>
<li>No : Rien n&#8217;est fait niveau base de données</li>
<li>Structure only : seules les structures de table sont créées, aucune données n&#8217;est inséré, il vous faudra le faire à la main avant de pouvoir ne serait ce que vous connecter à openupload (sinon message pas clair indiquant que votre IP est blacklistée, banned)</li>
<li>Base system data : les groupes sont créés, l&#8217;utilisateur admin est créé et les droits de base (pour l’administrateur) sont créés</li>
</ul>
<p>Les autres options permettent d&#8217;insérer les données visant à faire faire fonctionner openupload selon 1 des 4 modes par défaut :</p>
<ul>
<li>Public mode : le site est complètement public. Les utilisateurs n&#8217;ont pas besoin d&#8217;être enregistrés pour téléchargé ni même uploader (fonctionnement de <a title="Installation d’un dépôt de fichier : Jyraphe (recalé)" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-jyraphe-recale/">Jyraphe</a>)</li>
<li>Service mode : idem public mais les utilisateurs enregistrés ont plus de fonctions (moins de limitation, protection de leur fichiers par mot de passe, envoi d&#8217;email&#8230;)</li>
<li>Restricted mode : Téléchargement public mais nécessité d&#8217;être connecté pour uploader</li>
<li>Private mode : nécessité d&#8217;être connecté pour télécharger et uploader (fonctionnement de <a title="Installation d’un dépôt de fichier : FileZ (configuration sur NGINX)" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-filez-configuration-sur-nginx/">FileZ</a>)</li>
</ul>
<p>A noter que ces différents modes d&#8217;insertion sont concrétisés par l&#8217;exécution d&#8217;un ou plusieurs fichier SQL présents dans /sql/mysql/</p>
<p>&nbsp;</p>
<p><strong>Etape 5 </strong>: options de l&#8217;application</p>
<p><a rel="attachment wp-att-4502" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-openupload/2012-01-16_143456/"><img class="size-full wp-image-4502 aligncenter" title="2012-01-16_143456" src="http://voidandany.free.fr/wp-content/uploads/2012-01-16_143456.png" alt="" width="600" height="578" /></a></p>
<p>Pas grand chose à dire, je n&#8217;ai rien modifié à part le renseignement des adresses email (obligatoires)</p>
<p>&nbsp;</p>
<p><strong>Etape 6 </strong>: utilisateur</p>
<p><a rel="attachment wp-att-4503" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-openupload/2012-01-16_143511/"><img class="size-full wp-image-4503 aligncenter" title="2012-01-16_143511" src="http://voidandany.free.fr/wp-content/uploads/2012-01-16_143511.png" alt="" width="329" height="187" /></a></p>
<p>On indique ici les nom et mot de passe de l&#8217;administrateur et des groupes pré-définis.</p>
<p>A noter que ces données ne seront insérés que si vous avez sélectionné au moins l&#8217;insertion des données de base (étapes 3-4)</p>
<p>&nbsp;</p>
<p><strong>Etape 7 </strong>: plugins</p>
<p><a rel="attachment wp-att-4504" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-openupload/2012-01-16_143544/"><img class="aligncenter size-full wp-image-4504" title="2012-01-16_143544" src="http://voidandany.free.fr/wp-content/uploads/2012-01-16_143544.png" alt="" width="426" height="251" /></a></p>
<p>Sélection des plugins a installer, je n&#8217;ai pas pris le temps d&#8217;étudier la portée et les fonctions de ces plugins.</p>
<p>&nbsp;</p>
<p><strong>Etape 8 </strong>: installation de la base</p>
<p>L&#8217;installation proprement dite débute par la base de données (passage des scripts présents sous /sql/mysql/</p>
<p><a rel="attachment wp-att-4505" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-openupload/2012-01-16_143556/"><img class="aligncenter size-full wp-image-4505" title="2012-01-16_143556" src="http://voidandany.free.fr/wp-content/uploads/2012-01-16_143556.png" alt="" width="287" height="96" /></a></p>
<p>&nbsp;</p>
<p><a rel="attachment wp-att-4505" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-openupload/2012-01-16_143556/"></a><a rel="attachment wp-att-4506" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-openupload/2012-01-16_143604/"><img class="aligncenter size-full wp-image-4506" title="2012-01-16_143604" src="http://voidandany.free.fr/wp-content/uploads/2012-01-16_143604.png" alt="" width="234" height="177" /></a></p>
<p>&nbsp;</p>
<p><a rel="attachment wp-att-4507" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-openupload/2012-01-16_143615/"><img class="aligncenter size-full wp-image-4507" title="2012-01-16_143615" src="http://voidandany.free.fr/wp-content/uploads/2012-01-16_143615.png" alt="" width="291" height="498" /></a></p>
<p><a rel="attachment wp-att-4511" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-openupload/2012-01-16_144817/"><img class="aligncenter size-full wp-image-4511" title="2012-01-16_144817" src="http://voidandany.free.fr/wp-content/uploads/2012-01-16_144817.png" alt="" width="239" height="277" /></a></p>
<p>&nbsp;</p>
<p><strong>Etape 9 </strong>: sauvegarde configuration</p>
<p>Puis les choix sont sauvegardés dans le fichier www/config.inc.php</p>
<p><a rel="attachment wp-att-4508" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-openupload/2012-01-16_143623/"><img class="aligncenter size-full wp-image-4508" title="2012-01-16_143623" src="http://voidandany.free.fr/wp-content/uploads/2012-01-16_143623.png" alt="" width="564" height="160" /></a></p>
<p><a rel="attachment wp-att-4509" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-openupload/2012-01-16_143629/"><img class="aligncenter size-full wp-image-4509" title="2012-01-16_143629" src="http://voidandany.free.fr/wp-content/uploads/2012-01-16_143629.png" alt="" width="564" height="221" /></a></p>
<p>&nbsp;</p>
<h2>Utilisation</h2>
<p>On peut alors se connecter sur openupload (pas forcement obligatoire si vous avez configuré openupload en mode publique)</p>
<p><a rel="attachment wp-att-4512" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-openupload/2012-01-16_144844/"><img class="aligncenter size-full wp-image-4512" title="2012-01-16_144844" src="http://voidandany.free.fr/wp-content/uploads/2012-01-16_144844.png" alt="" width="600" height="309" /></a></p>
<p>On arrive arrive sur la page d&#8217;upload :</p>
<p><a rel="attachment wp-att-4513" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-openupload/2012-01-16_144906/"><img class="aligncenter size-full wp-image-4513" title="2012-01-16_144906" src="http://voidandany.free.fr/wp-content/uploads/2012-01-16_144906.png" alt="" width="600" height="253" /></a></p>
<p>Les options d&#8217;upload (fonction des droits et des plugins activés)</p>
<p><a rel="attachment wp-att-4525" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-openupload/2012-01-17_111952/"><img class="aligncenter size-full wp-image-4525" title="2012-01-17_111952" src="http://voidandany.free.fr/wp-content/uploads/2012-01-17_111952.png" alt="" width="509" height="447" /></a>On peut aussi accéder à la liste de ses fichiers :</p>
<p><a rel="attachment wp-att-4514" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-openupload/2012-01-16_153604/"><img class="aligncenter size-full wp-image-4514" title="2012-01-16_153604" src="http://voidandany.free.fr/wp-content/uploads/2012-01-16_153604.png" alt="" width="600" height="141" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Enfin en tant qu’administrateur, on a accès à différentes pages de configuration :</p>
<p><a rel="attachment wp-att-4515" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-openupload/2012-01-16_153614/"><img class="aligncenter size-medium wp-image-4515" title="2012-01-16_153614" src="http://voidandany.free.fr/wp-content/uploads/2012-01-16_153614-300x180.png" alt="" width="300" height="180" /></a></p>
<p>Liste de la totalité des fichiers uploadés (tout utilisateur) avec possibilité de les supprimer et de bannir les IP des uploadeur</p>
<p><a rel="attachment wp-att-4516" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-openupload/2012-01-16_153639/"><img class="aligncenter size-medium wp-image-4516" title="2012-01-16_153639" src="http://voidandany.free.fr/wp-content/uploads/2012-01-16_153639-300x92.png" alt="" width="300" height="92" /></a></p>
<p>Liste des utilisateurs :</p>
<p><a rel="attachment wp-att-4517" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-openupload/2012-01-16_153648/"><img class="aligncenter size-medium wp-image-4517" title="2012-01-16_153648" src="http://voidandany.free.fr/wp-content/uploads/2012-01-16_153648-300x70.png" alt="" width="300" height="70" /></a></p>
<p>Des groupes :</p>
<p><a rel="attachment wp-att-4518" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-openupload/2012-01-16_153655/"><img class="aligncenter size-medium wp-image-4518" title="2012-01-16_153655" src="http://voidandany.free.fr/wp-content/uploads/2012-01-16_153655-300x94.png" alt="" width="300" height="94" /></a></p>
<p>Et des droits par groupe, sous la forme d&#8217;<a href="http://www.google.fr/url?sa=t&amp;rct=j&amp;q=acl&amp;source=web&amp;cd=1&amp;ved=0CDUQFjAA&amp;url=http%3A%2F%2Ffr.wikipedia.org%2Fwiki%2FAccess_Control_List&amp;ei=I0wVT6L3CIOmhAet8qSIAg&amp;usg=AFQjCNFSlw3FakF1uUDWyXUtgbKKVJKQTA">ACL</a> : très puissant/configurable mais complexe et pas documenté</p>
<p><a rel="attachment wp-att-4519" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-openupload/2012-01-16_153712/"><img class="aligncenter size-medium wp-image-4519" title="2012-01-16_153712" src="http://voidandany.free.fr/wp-content/uploads/2012-01-16_153712-300x170.png" alt="" width="300" height="170" /></a></p>
<p>Enfin information intéressante opeupload log les accès et les actions des différents utilisateurs (niveau de log paramétré en étape 5)</p>
<p><a rel="attachment wp-att-4520" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-openupload/2012-01-16_153741/"><img class="aligncenter size-medium wp-image-4520" title="2012-01-16_153741" src="http://voidandany.free.fr/wp-content/uploads/2012-01-16_153741-300x117.png" alt="" width="300" height="117" /></a></p>
<p>&nbsp;</p>
<h2>Conclusion</h2>
<p>Openupload semble la solution ultime, selon les droits appliqués on peut lui faire prendre différents comportement (publique ou protégé + des étapes intermédiaires) répondant ainsi à la majorité des besoins</p>
<p>L&#8217;application est relativement légère (3Mo)</p>
<p>Les fichiers ne sont pas accessibles depuis le disque (noms encodés)</p>
<p>MAIS par contre le thème par défaut (le seul fournis) est moche, très années 90&#8230;.</p>
<p>&nbsp;</p>
<p><span style="text-decoration: underline;"><em><strong>Sources :</strong></em></span></p>
<ul>
<li><a href="http://www.google.fr/url?sa=t&amp;rct=j&amp;q=openupload&amp;source=web&amp;cd=3&amp;ved=0CD8QFjAC&amp;url=http%3A%2F%2Fwww.opendoc.net%2Fsolutions%2Fcomparatif-partage-web-filez-fex-webshare-jyraphe-openupload&amp;ctbs=lr%3Alang_1fr&amp;ei=-1IUT43wKYuYhQefp_CbAg&amp;usg=AFQjCNH2t_eAMGoAQWN0yUWi8w86ldWM-Q&amp;cad=rja">Comparatif de solutions de partage via du web [OPENDOC.NET]</a></li>
<li><a rel="bookmark" href="http://www.planetedugeek.fr/index.php/2011/03/29/installer-openupload-howto-openupload/">Installer OpenUpload | How to OpenUpload</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-openupload/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Installation d’un dépôt de fichier : KoLoad</title>
		<link>http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-koload/</link>
		<comments>http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-koload/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 13:14:48 +0000</pubDate>
		<dc:creator>voidAndAny</dc:creator>
				<category><![CDATA[site web]]></category>
		<category><![CDATA[dockstar]]></category>
		<category><![CDATA[nginx]]></category>

		<guid isPermaLink="false">http://voidandany.free.fr/?p=4487</guid>
		<description><![CDATA[Je continue sur ma lancée du test des dépôts de fichiers. Le suivant listé dans Applications libres d’upload de fichiers volumineux et testé est KoLoad, cependant le lien indiqué pour la page du projet n&#8217;existe plus. Le code peut être récupéré à &#8230; <a href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-koload/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Je continue sur ma lancée du test des dépôts de fichiers.</p>
<p>Le suivant listé dans <a rel="bookmark" href="http://blog.admin-linux.org/logiciels-libres/applications-libres-dupload-de-fichiers-volumineux">Applications libres d’upload de fichiers volumineux</a> et testé est KoLoad, cependant le lien indiqué pour la page du projet n&#8217;existe plus.</p>
<p>Le code peut être récupéré à cette adresse : <a href="http://codingteam.net/project/koload"><em>KOLoad</em> &#8211; CodingTeam</a></p>
<p>L&#8217;installation est ultra-simple, <a href="http://codingteam.net/project/koload/download/file/koload-v1.5.zip">on télécharge l’archive</a>, on la décompresse dans l’arborescence de son serveur Web, on fixe les droits utilisateur (www-data propriétaire des fichiers) et on configure ensuite son serveur Web (pas de ruse).</p>
<p>On peut ensuite aller sur la page du projet :</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/2012-01-13_170520.png"><img class="aligncenter size-full wp-image-4488" title="2012-01-13_170520" src="http://voidandany.free.fr/wp-content/uploads/2012-01-13_170520.png" alt="" width="600" height="218" /></a></p>
<p>On arrive directement sur la liste des fichiers disponibles</p>
<p>Si on veut envoyer un fichier on clique sur le lien en bas à gauche et on choisi son fichier dans la popup qui s&#8217;ouvre :</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/2012-01-13_170555.png"><img class="aligncenter size-medium wp-image-4489" title="2012-01-13_170555" src="http://voidandany.free.fr/wp-content/uploads/2012-01-13_170555-300x88.png" alt="" width="300" height="88" /></a></p>
<p>On choisi son fichier et on l&#8217;envoi :</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/2012-01-13_170607.png"><img class="aligncenter size-medium wp-image-4490" title="2012-01-13_170607" src="http://voidandany.free.fr/wp-content/uploads/2012-01-13_170607-300x88.png" alt="" width="300" height="88" /></a></p>
<p>Il existe 2-3 configurations possibles, faisable dans le fichier conf.php à la racine.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'VERSION'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'1.5'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>               <span style="color: #666666; font-style: italic;">// version of KOLoad</span>
<span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'LANG'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'fr'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>                   <span style="color: #666666; font-style: italic;">// language, available : en, fr, de, es, it</span>
<span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'SITENAME'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'KOLoad'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>           <span style="color: #666666; font-style: italic;">// type your site name here</span>
<span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'UPLOAD'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'true'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>               <span style="color: #666666; font-style: italic;">// allow upload module, type 'false' to disable and 'true' to enable</span>
<span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'DELETE'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'true'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>               <span style="color: #666666; font-style: italic;">// allow delete module, type 'false' to disable and 'true' to enable</span>
<span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'RENAME'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'true'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>               <span style="color: #666666; font-style: italic;">// allow rename module, type 'false' to disable and 'true' to enable</span>
<span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'PASSWORD'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">''</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>                 <span style="color: #666666; font-style: italic;">// enable the login fonction if there's a password, else, koload is public</span>
<span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'COLOURS'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'blue'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>              <span style="color: #666666; font-style: italic;">// change the colours of KOLoad, available : blue, red, green, grey</span>
<span style="color: #990000;">ob_start</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'ob_gzhandler'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>               <span style="color: #666666; font-style: italic;">// force gzip compression (PHP), delete this line to disable</span></pre></div></div>

<p>Notamment la possibilité de mettre un mot de passe, ce qui se traduit par cette page dès lors que la fonctionnalité est activée :</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/2012-01-13_173437.png"><img class="aligncenter size-medium wp-image-4491" title="2012-01-13_173437" src="http://voidandany.free.fr/wp-content/uploads/2012-01-13_173437-300x202.png" alt="" width="300" height="202" /></a>Pour accéder à la liste des fichiers et à l&#8217;upload il faut alors saisir le mot de passe choisi.</p>
<p>Par contre ce mot de passe ne protégera pas le téléchargement des fichiers pour peu que vous connaissez l&#8217;URL.</p>
<p>Concernant l&#8217;URL des fichiers uploadés, il s&#8217;agit simplement du nom du fichier, il n&#8217;ya pas d&#8217;encodage, de caractère aléatoire, etc, ainsi l&#8217;URL de téléchargement du fichier exemple fournis par défaut à l&#8217;installation de Koload est :</p>
<p>http://www.mon_domaine.fr/koload/files/example.txt</p>
<p>&nbsp;</p>
<h2>Conclusion :</h2>
<p>Simple (pas de base, d&#8217;URL rewriting, etc), léger, plutôt beau</p>
<p>Pas de notion de date de validité du fichier (pas vraiment nécessaire), pas de mot de passe pour le téléchargement des fichiers, nom des fichiers non protégé, sécurité en règle générale (est ce vraiment sécurisé ?)</p>
<p>&nbsp;</p>
<p><em><strong>Sources :</strong></em></p>
<ul>
<li><a rel="bookmark" href="http://blog.admin-linux.org/logiciels-libres/applications-libres-dupload-de-fichiers-volumineux">Applications libres d’upload de fichiers volumineux</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-koload/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installation d&#8217;un dépôt de fichier : FileZ (configuration sur NGINX)</title>
		<link>http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-filez-configuration-sur-nginx/</link>
		<comments>http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-filez-configuration-sur-nginx/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 17:33:33 +0000</pubDate>
		<dc:creator>voidAndAny</dc:creator>
				<category><![CDATA[site web]]></category>
		<category><![CDATA[dockstar]]></category>
		<category><![CDATA[nginx]]></category>

		<guid isPermaLink="false">http://voidandany.free.fr/?p=4455</guid>
		<description><![CDATA[Après avoir testé Jyraphe, voici un autre script de dépôt de fichier FileZ Ce script est développé par l&#8217;Université d&#8217;Avignon et des Pays de Vaucluse et les sources sont sur GitHub En vu de tester le logiciel j&#8217;ai réalisé une installation minimal, ainsi &#8230; <a href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-filez-configuration-sur-nginx/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Après avoir testé <a title="Lien permanent vers Installation d’un dépôt de fichier : Jyraphe (recalé)" rel="bookmark" href="http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-jyraphe-recale/">Jyraphe</a>, voici un autre script de dépôt de fichier <a href="http://gpl.univ-avignon.fr/filez/">FileZ</a></p>
<p>Ce script est développé par <a href="http://gpl.univ-avignon.fr/" target="#_blank">l&#8217;Université d&#8217;Avignon et des Pays de Vaucluse</a> et les <a href="https://github.com/UAPV/FileZ">sources sont sur GitHub</a></p>
<p>En vu de tester le logiciel j&#8217;ai réalisé une installation minimal, ainsi par exemple je n&#8217;ai pas installé APC qui permet d&#8217;avoir une barre de progression lors de l&#8217;upload (voir section &laquo;&nbsp;Installing and configuring APC&nbsp;&raquo; de cette <a href="https://github.com/UAPV/FileZ/blob/master/doc/INSTALL.markdown">page</a>).</p>
<p>FileZ permet de se brancher sur divers base utilisateur existante (LDAP, DB, <a href="http://fr.wikipedia.org/wiki/Central_Authentication_Service">CAS</a>), j&#8217;ai pris le cas le plus simple créer une base utilisateur dédiée.</p>
<p>&nbsp;</p>
<h2>Pré-requis installation</h2>
<p>On crée une base dédiée, la table des utilisateurs et un utilisateur.</p>
<p>Pour cela on se connecte à MySQL :</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;">mysql <span style="color: #66cc66;">-</span>u root <span style="color: #66cc66;">-</span>p</pre></div></div>

<p lang="sql">Puis on lance les ordres SQL (à adapter):</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">DATABASE</span> filez;
<span style="color: #993333; font-weight: bold;">USE</span> filez;
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> <span style="color: #ff0000;">`filez`</span><span style="color: #66cc66;">.</span><span style="color: #ff0000;">`db_users`</span> <span style="color: #66cc66;">&#40;</span>
<span style="color: #ff0000;">`uid`</span> SERIAL <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span> <span style="color: #66cc66;">,</span>
<span style="color: #ff0000;">`login`</span> <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">20</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span> <span style="color: #66cc66;">,</span>
<span style="color: #ff0000;">`password`</span> <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">40</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span> <span style="color: #66cc66;">,</span>
<span style="color: #ff0000;">`givenname`</span> <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">255</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span> <span style="color: #66cc66;">,</span>
<span style="color: #ff0000;">`sn`</span> <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">255</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span> <span style="color: #66cc66;">,</span>
<span style="color: #ff0000;">`mail`</span> <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">255</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span>
<span style="color: #66cc66;">&#41;</span> ENGINE <span style="color: #66cc66;">=</span> MYISAM ;
<span style="color: #993333; font-weight: bold;">INSERT</span> <span style="color: #993333; font-weight: bold;">INTO</span> <span style="color: #ff0000;">`filez`</span><span style="color: #66cc66;">.</span><span style="color: #ff0000;">`db_users`</span> <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">`uid`</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">`login`</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">`password`</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">`givenname`</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">`sn`</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">`mail`</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">VALUES</span> <span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">NULL</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'admin'</span><span style="color: #66cc66;">,</span> MD5<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'password'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'Admin'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'Olympe'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'admin@olympe.local'</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>On crée ensuite les répertoires nécessaires à FileZ, le répertoire d&#8217;upload (exemple /var/Filez/uploads) et le répertoire de log (exemple /var/log/filez) et on s&#8217;assure que l&#8217;utilisateur exécutant le serveur web (www-data sans doute) à le droits d&#8217;y écrire.</p>
<h2>Installation</h2>
<p>Classiquement, <a href="https://github.com/UAPV/FileZ/downloads">on télécharge l&#8217;archive</a>, on la décompresse dans l&#8217;arborescence de son serveur Web, on fixe les droits utilisateur (www-data propriétaire des fichiers)</p>
<p><em><strong>Rque :</strong></em> Filez est assez volumineux, a ce point de l’installation (aucune données) le répertoire fait déjà 20Mo</p>
<p>On configure ensuite son serveur Web, dans le cas de NGINX, filez étant installé dans un sous-répertoire de la racine Web, voici ma configuration</p>
<pre>server {
        listen       80;
        server_name  www.domaine.fr;
        root         /var/www/domaine.fr;
 
        index           index.php;
 
	location /filez{
		access_log      /var/log/nginx/filez.access.log;
                location ~ \.php$ {
                        include         /etc/nginx/fastcgi_params;
                        fastcgi_param   SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                        fastcgi_pass    127.0.0.1:9000;
                }
                if (!-e $request_filename) {
                        rewrite ^/(.*)$ /filez/index.php last;
                }
	}
}</pre>
<p>A noter ma traduction très personnelle des règles de réécriture Apache contenu dans le .htaccess à la racine de filez</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;">  <span style="color: #00007f;">RewriteCond</span> %{REQUEST_URI} !favicon.ico
  <span style="color: #00007f;">RewriteCond</span> %{REQUEST_URI} !doc/<span style="color: #00007f;">user</span>/(.*)\.
  <span style="color: #00007f;">RewriteCond</span> %{REQUEST_URI} !resources/(.*)\.
  <span style="color: #00007f;">RewriteRule</span> ^(.*)$ index.php [QSA,L]</pre></div></div>

<p>On peut ensuite aller sur l&#8217;URL de FileZ</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/2012-01-11_1615231.png"><img class="aligncenter size-full wp-image-4473" title="2012-01-11_161523" src="http://voidandany.free.fr/wp-content/uploads/2012-01-11_1615231.png" alt="" /></a></p>
<p>Le script d&#8217;installation nous prévient que le mod_rewrite n&#8217;est pas activé, normal puisque l&#8217;on est pas sous Apache et préconise divers paramétrages de php pour optimiser l&#8217;upload.</p>
<p>Paramétrage que je n&#8217;ai pas fait dans le cadre de ce test, peut être plus tard&#8230;</p>
<p>On peut continuer, s&#8217;affiche ensuite un long formulaire de paramétrage :</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/2012-01-11_170428.png"><img class="aligncenter size-full wp-image-4475" title="2012-01-11_170428" src="http://voidandany.free.fr/wp-content/uploads/2012-01-11_170428.png" alt="" /></a></p>
<p>Quelques éléments :</p>
<ul>
<li>Upload directory (absolute dir) (required) : mettre ici le répertoire créé en pré-requis</li>
<li>Log directory (absolute dir) (required) : mettre ici le répertoire créé en pré-requis</li>
<li>Use https : pour ce test je ne tiens pas à configurer le site en https (création et configuration des certificats), on le désactive donc</li>
<li>Upload progress monitoring library [help] : voir en introduction, je n&#8217;ai pas installé ce qu&#8217;il faut pour cette fonctionnalité</li>
<li>Database username (required) : toujours pour des raisons de test rapide je ne crée pas d&#8217;utilisateur dédié à Filez, j&#8217;utilise donc mon root</li>
<li>Authentication method : c&#8217;est ici que l&#8217;on peut choisir d&#8217;interfacer Filez avec CAS</li>
<li>User profile source : je n&#8217;ai pas de LDAP j&#8217;utilise donc une base de donnée</li>
<li>Use the same configuration as Filez : même base et même méthode d&#8217;identification pour la base des utilisateurs que pour la base spécifique a filez</li>
<li>Table where username are stored (required), Database column name containing the username (required), Database column name containing the user,  password (required), Algorithm used to hash the password : à mettre en raccord avec la table des utilisateurs créé en pré-requis</li>
</ul>
<h2>Utilisation</h2>
<p><span style="color: #000000;">On se loggue : <a href="http://voidandany.free.fr/wp-content/uploads/2012-01-11_145953.png"><img class="aligncenter size-medium wp-image-4471" title="2012-01-11_145953" src="http://voidandany.free.fr/wp-content/uploads/2012-01-11_145953-292x300.png" alt="" width="292" height="300" /></a></span></p>
<p>On peut alors voir ses précédents upload et les modifier :</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/2012-01-11_145854.png"><img class="aligncenter size-medium wp-image-4477" title="2012-01-11_145854" src="http://voidandany.free.fr/wp-content/uploads/2012-01-11_145854-300x248.png" alt="" width="300" height="248" /></a>Et envoyer un autre fichier :</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/2012-01-11_145934.png"><img class="aligncenter size-medium wp-image-4478" title="2012-01-11_145934" src="http://voidandany.free.fr/wp-content/uploads/2012-01-11_145934-300x145.png" alt="" width="300" height="145" /></a></p>
<p>Lors de l&#8217;envoi on précise le fichier, la durée de disponibilité du fichier, un commentaire et éventuellement un mot de passe</p>
<p>Lorsque l&#8217;on accède à l&#8217;URL du fichier, on revoit tous les détails du fichier et le téléchargement commence :</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/2012-01-11_150024.png"><img class="aligncenter size-medium wp-image-4479" title="2012-01-11_150024" src="http://voidandany.free.fr/wp-content/uploads/2012-01-11_150024-300x196.png" alt="" width="300" height="196" /></a></p>
<h2>Conclusion</h2>
<p>J&#8217;aime beaucoup Filez, l&#8217;interface est clair, la plupart des fonctionnalités que j&#8217;attend sont présentes.</p>
<p>MAIS</p>
<ul>
<li>la création des utilisateurs doit être faite à la main</li>
<li>les fichiers ne sont pas récupérables depuis le filesystem</li>
<li>24Mo pour un dépôt de fichier !!</li>
</ul>
<p>&nbsp;</p>
<p><span style="text-decoration: underline;"><em><strong>Sources : </strong></em></span></p>
<ul>
<li><a title="Ubuntu 10.04: Installation de FileZ 2.0.2" href="http://pegasus45.free.fr/index.php?title=Ubuntu_10.04:_Installation_de_FileZ_2.0.2">Ubuntu 10.04: Installation de FileZ 2.0.2</a></li>
<li><a rel="bookmark" href="http://blog.admin-linux.org/logiciels-libres/applications-libres-dupload-de-fichiers-volumineux">Applications libres d’upload de fichiers volumineux</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://voidandany.free.fr/index.php/installation-dun-depot-de-fichier-filez-configuration-sur-nginx/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>RSSLounge : Se passer de Google Reader &#8211; Configuration avec NGINX</title>
		<link>http://voidandany.free.fr/index.php/rsslounge-se-passer-de-google-reader-configuration-avec-nginx/</link>
		<comments>http://voidandany.free.fr/index.php/rsslounge-se-passer-de-google-reader-configuration-avec-nginx/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 14:54:11 +0000</pubDate>
		<dc:creator>voidAndAny</dc:creator>
				<category><![CDATA[site web]]></category>
		<category><![CDATA[rss]]></category>

		<guid isPermaLink="false">http://voidandany.free.fr/?p=4456</guid>
		<description><![CDATA[Dans la liste des services web que je voulais tester en vue d&#8217;autohéberger un maximum mes données se trouvait un agrégateur de flux RSS web. 2 scripts coexistent pour remplir ce rôle, Tiny Tiny RSS et Rsslounge J&#8217;ai choisi de tester ce &#8230; <a href="http://voidandany.free.fr/index.php/rsslounge-se-passer-de-google-reader-configuration-avec-nginx/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Dans la liste des services web que je voulais tester en vue d&#8217;autohéberger un maximum mes données se trouvait un agrégateur de flux RSS web.</p>
<p>2 scripts coexistent pour remplir ce rôle, <a href="http://www.google.fr/url?sa=t&amp;rct=j&amp;q=tinytinyrss&amp;source=web&amp;cd=1&amp;ved=0CCgQFjAA&amp;url=http%3A%2F%2Ftt-rss.org%2F&amp;ei=f5cNT43vGtG7hAfbzPm0BA&amp;usg=AFQjCNElsb-IUp8kNcRtVGpaBo6nyQsRlw">Tiny Tiny RSS</a> et <a href="http://rsslounge.aditu.de/">Rsslounge</a></p>
<p>J&#8217;ai choisi de tester ce dernier car il semblerait qu&#8217;il soit <a href="http://www.generation-linux.fr/index.php?post/2011/07/02/rssLounge%2C-un-excellent-gestionnaire-de-flux-RSS-!">plus léger, véloce</a> (mais ce n&#8217;est pas suffisant, cf. Conclusion)</p>
<h2>Installation</h2>
<ul>
<li>
<p>On télécharge le script sur le <a href="http://rsslounge.aditu.de/">site de rsslounge</a> (<a href="http://rsslounge.googlecode.com/files/rsslounge-1.7.zip">lien direct vers la 1.7</a>)</p>
</li>
<li>
<p>On dézippe l&#8217;archive dans l&#8217;arborescence de votre site</p>
</li>
<li>
<p>On change les droits des répertoires et fichiers pour qu&#8217;il appartiennent à l&#8217;utilisateur exécutant le serveur web (www-data probablement)</p>
</li>
<li>
<p>On configure le serveur web.</p>
</li>
</ul>
<p>Pour les autres services web que je test je ne décris jamais cette dernière étape car elle dépend de votre serveur Web et des choix faits (virtual host, sous-domaine, etc), mais je vais faire une exception ici car j&#8217;ai pas mal cherché avant de réussir a faire fonctionner rsslounge.</p>
<p>Je l&#8217;ai installé avec le serveur web <a title="Installer un serveur web (nginx) sur le Seagate Dockstar" href="http://voidandany.free.fr/index.php/installer-un-serveur-web-nginx-sur-le-seagate-dockstar/">NGINX</a>, en plaçant RSSLounge dans un sous-répertoire de mon arborescence principal et sans déclarer de sous-domaine.</p>
<p>Soit mon site domaine.fr pour lequel la racine est localisé dans /var/www/domaine.fr, RSSLounge est quand à lui installé dans /var/www/domaine.fr/rsslounge et sera donc accédé via l&#8217;URL www.domaine.fr/rsslounge, voici ma configuration NGINX</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">server {
        listen       80;
        server_name  www.domaine.fr;
        root         /var/www/domaine.fr;
&nbsp;
        index           index.php;
&nbsp;
	rewrite ^/rsslounge/favicon.ico$ /rsslounge/public/favicon.ico;
	rewrite ^/rsslounge/plugins/([^/]+)/(.*)$ /rsslounge/plugins/$1/public/$2;
	rewrite ^/rsslounge/favicons/(.*)$ /rsslounge/data/favicons/$1;
	rewrite ^/rsslounge/thumbnails/(.*)$ /rsslounge/data/thumbnails/$1;
	rewrite ^/rsslounge/javascript/(.*)$ /rsslounge/public/javascript/$1;
	rewrite ^/rsslounge/stylesheets/(.*)$ /rsslounge/public/stylesheets/$1;
	location /rsslounge {
		access_log      /var/log/nginx/rsslounge.access.log;
		location ~ \.php$ {
			include         /etc/nginx/fastcgi_params;
			fastcgi_param   SCRIPT_FILENAME  $document_root$fastcgi_script_name;
			fastcgi_pass    127.0.0.1:9000;
			fastcgi_param QUERY_STRING mod_rewrite=1&amp;$query_string; 
			fastcgi_index index.php;
		}
		if (!-e $request_filename) {
			rewrite ^.*$ /rsslounge/index.php last;
		}
	}
}</pre></div></div>

<p>J&#8217;ai pas mal cherché pour réussir à mettre les bonne règles de réécritures, en effet les <a href="http://code.google.com/p/rsslounge/wiki/Installation_and_FAQ">règles décrites sur la FAQ</a> décrivent une installation de RSS à la racine du serveur web et je ne suis pas du tout un expert en réécriture d&#8217;URL</p>
<p>&nbsp;</p>
<h2>Configuration</h2>
<p>On va ensuite sur l&#8217;URL de RSSLounge et on répond aux questions</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/2012-01-11_152656.png"><img class="aligncenter size-full wp-image-4461" title="2012-01-11_152656" src="http://voidandany.free.fr/wp-content/uploads/2012-01-11_152656.png" alt="" width="446" height="700" /></a>Si vous spécifiez une base de données spécifique a rsslounge il faudra penser à la créer auparavant :</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;">mysql <span style="color: #66cc66;">-</span>u root <span style="color: #66cc66;">-</span>p
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">DATABASE</span> rsslounge ;</pre></div></div>

<p lang="sql">&nbsp;</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/2012-01-11_152708.png"><img class="aligncenter size-medium wp-image-4462" title="2012-01-11_152708" src="http://voidandany.free.fr/wp-content/uploads/2012-01-11_152708-300x111.png" alt="" width="300" height="111" /></a></p>
<h2>Utilisation</h2>
<p>On peut ensuite se connecter :</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/2012-01-11_150407.png"><img class="aligncenter size-medium wp-image-4457" title="2012-01-11_150407" src="http://voidandany.free.fr/wp-content/uploads/2012-01-11_150407-300x182.png" alt="" width="300" height="182" /></a>Et commencer à ajouter des flux,  ou importer ceux de google reader</p>
<p>Pour cela on exporte la liste de ses flux dans Google reader en cliquant sur l&#8217;engrenage en haut à droite et choisissant &laquo;&nbsp;Paramètre de Google Reader&nbsp;&raquo;<a href="http://voidandany.free.fr/wp-content/uploads/2012-01-11_153943.png"><img class="aligncenter size-full wp-image-4464" title="2012-01-11_153943" src="http://voidandany.free.fr/wp-content/uploads/2012-01-11_153943.png" alt="" width="282" height="196" /></a></p>
<p>&nbsp;</p>
<p>Puis on clique sur le lien &laquo;&nbsp;Télécharge&nbsp;&raquo; de la ligne &laquo;&nbsp;Vos abonnements&nbsp;&raquo; de l&#8217;onglet &laquo;&nbsp;Importer/exporter&nbsp;&raquo; :</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/2012-01-11_1540072.png"><img class="aligncenter size-medium wp-image-4467" title="2012-01-11_154007" src="http://voidandany.free.fr/wp-content/uploads/2012-01-11_1540072-297x300.png" alt="" width="297" height="300" /></a></p>
<p>Cela sauvegarde la liste de vos abonnements sous la forme d&#8217;un fichier XML</p>
<p>Puis sous RSSLounge on clique sur les engrenages, on sélectionne &laquo;&nbsp;OPML Import&nbsp;&raquo; et on ouvre le fichier XML précédemment sauvegardé :</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/2012-01-11_150451.png"><img class="aligncenter size-full wp-image-4458" title="2012-01-11_150451" src="http://voidandany.free.fr/wp-content/uploads/2012-01-11_150451.png" alt="" width="186" height="276" /></a></p>
<p>RSSLounge commence alors l&#8217;import et la mise à jour des flux (cela prend un certain temps).</p>
<p>In fine on peut lire ses news&#8230;.</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/2012-01-11_150915.png"><img class="aligncenter size-full wp-image-4459" title="2012-01-11_150915" src="http://voidandany.free.fr/wp-content/uploads/2012-01-11_150915.png" alt="" width="600" height="334" /></a></p>
<p>&nbsp;</p>
<h3>Conclusion</h3>
<p>RSSLounge change un peu de Google Reader, mais est globalement agréable à utiliser, <a href="http://code.google.com/p/rsslounge/wiki/Shortcuts">les raccourcis</a> sont pratiques, l&#8217;interface est claire et il rempli correctement son boulot</p>
<p>MAIS</p>
<p>sur un Dockstar ce n&#8217;est tout simplement pas possible, ça rame à mort, dommage&#8230;.</p>
<p>&nbsp;</p>
<p><strong><span style="text-decoration: underline;"><em>Sources : </em></span></strong></p>
<ul>
<li><a href="http://sebsauvage.net/rhaa/index.php?2011/09/30/12/59/26-adieu-googlereader-bonjour-rss-lounge">Adieu GoogleReader, bonjour RSS Lounge</a></li>
<li><a title="rssLounge, un excellent gestionnaire de flux RSS !" href="http://www.generation-linux.fr/index.php?post/2011/07/02/rssLounge%2C-un-excellent-gestionnaire-de-flux-RSS-%21">rssLounge, un excellent gestionnaire de flux RSS !</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://voidandany.free.fr/index.php/rsslounge-se-passer-de-google-reader-configuration-avec-nginx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mon éditeur de texte &#171;&#160;parfait&#160;&#187; : jEdit</title>
		<link>http://voidandany.free.fr/index.php/mon-editeur-de-texte-parfait-jedit/</link>
		<comments>http://voidandany.free.fr/index.php/mon-editeur-de-texte-parfait-jedit/#comments</comments>
		<pubDate>Fri, 06 Jan 2012 14:37:25 +0000</pubDate>
		<dc:creator>voidAndAny</dc:creator>
				<category><![CDATA[software]]></category>
		<category><![CDATA[edit]]></category>

		<guid isPermaLink="false">http://voidandany.free.fr/?p=2518</guid>
		<description><![CDATA[Pour un fois voici un article à la fois pour Windows et pour Linux et pour cause le logiciel que je présente est multi-plateforme puisqu&#8217;en Java. Je m&#8217;attarderais ici essentiellement a son installation et configuration sous Windows (une fois n&#8217;est &#8230; <a href="http://voidandany.free.fr/index.php/mon-editeur-de-texte-parfait-jedit/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Pour un fois voici un article à la fois pour Windows et pour Linux et pour cause le logiciel que je présente est multi-plateforme puisqu&#8217;en Java.</p>
<p>Je m&#8217;attarderais ici essentiellement a son installation et configuration sous Windows (une fois n&#8217;est pas coutume) puisque pour l&#8217;instant je n&#8217;en ai pas trouvé l&#8217;utilité sous Linux</p>
<p>Sous Windows l&#8217;éditeur texte par défaut est le Notepad autant dire le strict minimum or si on développe un temps soit peu ou si on veut éditer des fichiers volumineux,ou si on édite des fichiers provenant de différents OS (Windows / Linux, les fameux caractères de fin de lignes), le Notepad Windows ne convient pas du tout.</p>
<p>Après en avoir essayé de nombreux (notepad++, pspad, ultraEdit, etc), mon choix s&#8217;est porté sur jEdit, essentiellement pour sa gestion des expressions régulière qui est pour moi la plus complète (sous Windows et aux derniers tests effectués datant de plus de 3 ans).</p>
<p>Le site du logiciel :  <a href="http://www.jedit.org/index.php">http://www.jedit.org</a></p>
<h2>Installation</h2>
<p>L&#8217;installation sous Windows est assez classique (on clique, on clique), hormis les les configuration suivantes :</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/2012-01-06_110018.png"><img class="aligncenter size-full wp-image-4430" title="2012-01-06_110018" src="http://voidandany.free.fr/wp-content/uploads/2012-01-06_110018.png" alt="" width="503" height="392" /></a>Je n&#8217;installe pas la documentation de l&#8217;API, n&#8217;ayant pas pour l&#8217;instant franchi le pas du développement de macros ou de plugins pour jEdit.</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/2012-01-06_110030.png"><img class="aligncenter size-full wp-image-4431" title="2012-01-06_110030" src="http://voidandany.free.fr/wp-content/uploads/2012-01-06_110030.png" alt="" width="503" height="392" /></a>Aucun raccourcis et je ne démarre pas le serveur jEdit (voir à quoi cela sert <a href="http://community.jedit.org/?q=node/view/3059">ici</a>) au démarrage de Windows, ce dernier est déjà suffisamment long à démarrer</p>
<p>On peut lancer jEdit, voici ce a quoi il ressemble avant toute configuration :</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/2012-01-06_1101261.png"><img class="aligncenter size-full wp-image-4429" title="2012-01-06_110126" src="http://voidandany.free.fr/wp-content/uploads/2012-01-06_1101261.png" alt="" width="600" height="462" /></a></p>
<h2>Traduction</h2>
<p>Par défaut jEdit n&#8217;est pas en Français et il n&#8217;existe pas de traduction officiel, mais <a href="http://jojaba.free.fr/?/Traductions-diverses/Traduction-jEdit2">une officieuse</a> qui n&#8217;est pas à jour (Traduction 4.3.1 alors qu&#8217;on est en version 4.4.2) mais cela fonctionne tout de même très bien.</p>
<p>Pour ma part je n&#8217;utilise que la traduction de l&#8217;interface (pas des macros / docs)</p>
<p>On télécharge le <a href="http://jojaba-code.googlecode.com/files/jedit_gui-LatestVersion-QuickNotepad-for-jedit-4.3.1-FR.zip">fichier zip contenant les properties</a> et on le décompresse dans C:\Program Files\jEdit\properties et on peut re-démarrer jEduit</p>
<h2>Configuration</h2>
<p>En première configuration je décoche l&#8217;affichage de l&#8217;astuce du jour&#8230;</p>
<p>Puis on va dans &laquo;&nbsp;Utilitaire&nbsp;&raquo; &gt; &laquo;&nbsp;Options générales&#8230;&nbsp;&raquo;</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/2012-01-06_115810.png"><img class="aligncenter size-full wp-image-4433" title="2012-01-06_115810" src="http://voidandany.free.fr/wp-content/uploads/2012-01-06_115810.png" alt="" width="600" height="216" /></a>Voici les configurations que j&#8217;effectue systématiquement :</p>
<p>jEdit &gt; Générales</p>
<ul>
<li>Décocher &nbsp;&raquo;Rétablir au démarrage les fichiers précédemment ouverts&nbsp;&raquo;</li>
</ul>
<p>jEdit &gt; Apparences</p>
<ul>
<li>Décocher &laquo;&nbsp;Afficher les astuces au démarrage&nbsp;&raquo;</li>
</ul>
<p>jEdit &gt; Encodage</p>
<ul>
<li>Sélectionner les encodages avec lesquels vous travaillez (je laisse juste UTF8 et UTF8Y) pour éviter ce genre de liste à rallonge lors d&#8217;un changement d&#8217;encodage : </li>
</ul>
<p><a href="http://voidandany.free.fr/wp-content/uploads/2012-01-06_140118.png"><img class="aligncenter size-medium wp-image-4436" title="2012-01-06_140118" src="http://voidandany.free.fr/wp-content/uploads/2012-01-06_140118-300x228.png" alt="" width="300" height="228" /></a></p>
<ul>
<li>Sur cette même page il est possible de choisir l&#8217;encodage par défaut</li>
</ul>
<p>jEdit &gt; Marge</p>
<ul>
<li>Côcher &laquo;&nbsp;Numérotation des lignes&nbsp;&raquo; </li>
</ul>
<p>jEdit &gt; Serveurs Proxies</p>
<ul>
<li>Si vous êtes en entreprise, il y a de forte chance qu&#8217;il y ait un proxy il convient donc de l&#8217;activer et de l paramétrer ici.</li>
</ul>
<p>jEdit &gt; Gestionnaire de plugin</p>
<ul>
<li>Cliquer sur &laquo;&nbsp;Mettre à jour la liste des miroirs&nbsp;&raquo;</li>
<li>Sélectionner un miroir Français (free par exemple)</li>
</ul>
<p>jEdit &gt; Enregistrement &amp; Sauvegarde</p>
<ul>
<li>Mettre 5 dans la zone Nombre maximum de sauvegarde</li>
<li>Mettre un dossier de sauvegarde (évite de polluer ses dossiers avec des fichiers ~)</li>
</ul>
<p>Voila pour mes configurations de bases mais jEdit est ultra-paramétrable beaucoup d&#8217;autres configuration sont possible (je n&#8217;ai jamais pris le temps de m&#8217;y pencher sérieusement)</p>
<h2>Installation de plugins</h2>
<p>Une des forces de jEdit, l&#8217;installation de plugins, ajoutant des fonctionnalités ou modifiant son comportement, en voici quelques uns que j&#8217;utilise.</p>
<p>L&#8217;installation se fait en allant dans &laquo;&nbsp;Plugins&nbsp;&raquo; &gt; &laquo;&nbsp;Gestionnaire de plugins&#8230;&nbsp;&raquo; puis dans l&#8217;onglet &laquo;&nbsp;Installation&nbsp;&raquo; il suffit de cocher la case face au(x) plugin(s) voulu(s) et de cliquer sur &laquo;&nbsp;Installer&nbsp;&raquo;</p>
<h3>Ajout d&#8217;onglets : BufferTabs</h3>
<p>Par défaut la sélection des différents fichiers ouverts (tampons dans le jargon jEdit) se fait via une liste déroulante, le plugin BufferTabs ajoute des onglets.</p>
<p>Après l&#8217;installation il suffit d&#8217;activer le plugin en allant dans &laquo;&nbsp;Plugins&nbsp;&raquo; et en cliquant sur &laquo;&nbsp;BufferTabs&nbsp;&raquo;</p>
<p>On configure ensuite le plugin en allant dans &laquo;&nbsp;Plugins&nbsp;&raquo; &gt; &laquo;&nbsp;Option des plugins&nbsp;&raquo; et sélectionnant &laquo;&nbsp;BufferTabs&nbsp;&raquo;</p>
<ul>
<li>Cocher &laquo;&nbsp;Enable Buffertabs by default&nbsp;&raquo;</li>
<li>Sélectionner &laquo;&nbsp;Top&nbsp;&raquo; pour &laquo;&nbsp;location of BufferTabs&nbsp;&raquo;</li>
</ul>
<p>La liste déroulant faisant doublon avec les onglets on la désactive :</p>
<ul>
<li>Menu &laquo;&nbsp;Affichage&nbsp;&raquo; dé-selectionner &laquo;&nbsp;afficher le sélecteur de tampons&nbsp;&raquo;</li>
</ul>
<p><a href="http://voidandany.free.fr/wp-content/uploads/2012-01-06_135223.png"><img class="aligncenter size-full wp-image-4435" title="2012-01-06_135223" src="http://voidandany.free.fr/wp-content/uploads/2012-01-06_135223.png" alt="" width="584" height="445" /></a></p>
<p>&nbsp;</p>
<h3>Travailler avec des fichiers XML</h3>
<p>Le plugin XML (installe 4-5 plugins par dépendance) permet de travailler aisément avec des fichiers XML, ne serait ce que le reformatage :</p>
<p>Avant :</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/2012-01-06_143645.png"><img class="aligncenter size-medium wp-image-4437" title="2012-01-06_143645" src="http://voidandany.free.fr/wp-content/uploads/2012-01-06_143645-300x259.png" alt="" width="300" height="259" /></a></p>
<p>Après :</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/2012-01-06_143733.png"><img class="aligncenter size-medium wp-image-4438" title="2012-01-06_143733" src="http://voidandany.free.fr/wp-content/uploads/2012-01-06_143733-300x291.png" alt="" width="300" height="291" /></a>Visualisation de la structure du document dans le Sidekick (plugin dépendant) :</p>
<h3><a href="http://voidandany.free.fr/wp-content/uploads/2012-01-06_145220.png"><img class="aligncenter size-full wp-image-4439" title="2012-01-06_145220" src="http://voidandany.free.fr/wp-content/uploads/2012-01-06_145220.png" alt="" width="192" height="294" /></a>Programmation PHP : PhpParser</h3>
<p>Comme son nom l&#8217;indique permet de faciliter le travail avec les fichiers php</p>
<h3>Gestion des fichiers en projet : ProjectViewer</h3>
<h3><a href="http://voidandany.free.fr/wp-content/uploads/2012-01-06_145707.png"><img class="aligncenter size-full wp-image-4440" title="2012-01-06_145707" src="http://voidandany.free.fr/wp-content/uploads/2012-01-06_145707.png" alt="" width="332" height="232" /></a>Travail sur les fichiers textes : TextTool</h3>
<p>Permet notamment de trier un fichier, supprimer les doublons, etc</p>
<h3>Voir les caractères spéciaux : Whitespace</h3>
<p><a href="http://voidandany.free.fr/wp-content/uploads/2012-01-06_151342.png"><img class="aligncenter size-full wp-image-4441" title="2012-01-06_151342" src="http://voidandany.free.fr/wp-content/uploads/2012-01-06_151342.png" alt="" width="198" height="111" /></a></p>
<h3></h3>
<h3>Edition de fichier distant via FTP ou SFTP : FTP</h3>
<p>FTP c&#8217;est le nom du plugin, une fois installé le plus simple pour l&#8217;utiliser et d&#8217;ancrer l&#8217;explorateur de fichier, pour cela dans &laquo;&nbsp;Utilitaires&nbsp;&raquo; &gt; &laquo;&nbsp;Option Générales&#8230;&nbsp;&raquo; dérouler &laquo;&nbsp;jEdit&nbsp;&raquo; &gt; &laquo;&nbsp;Ancrage&nbsp;&raquo; et sélectionner l&#8217;ancrage voulu (left / right &#8230;) pour le panneau &laquo;&nbsp;Explorateur&nbsp;&raquo;</p>
<p>Dans le panneau &laquo;&nbsp;Explorateur&nbsp;&raquo;, cliquer sur &laquo;&nbsp;Plugins&nbsp;&raquo; &gt; &laquo;&nbsp;FTP&nbsp;&raquo; et choisir &laquo;&nbsp;Connect to FTP Server&nbsp;&raquo; pour une connexion FTP classique et &nbsp;&raquo;Connect to Secure FTP Server&nbsp;&raquo; pour une connexion SFTP (ou SSH), remplir les données de connexion.</p>
<p>Le panneau de l&#8217;explorateur liste alors les fichiers distants :</p>
<p><a rel="attachment wp-att-4638" href="http://voidandany.free.fr/index.php/mon-editeur-de-texte-parfait-jedit/2012-01-26_142234/"><img class="aligncenter size-medium wp-image-4638" title="2012-01-26_142234" src="http://voidandany.free.fr/wp-content/uploads/2012-01-26_142234-300x282.png" alt="" width="300" height="282" /></a></p>
<p>En cas de connexion via SSH, il n&#8217;est pas nécessaire de renseigner de clé privé&#8230;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Voila pour le principal, jEdit est ultra-puissant mais il faut y passer un peu de temps pour le paramétrer à son gout.</p>
<p>Pour plus de détails (en anglais) voir <a href="http://taat.pl/en/jedit/">cet article</a></p>
<p>&nbsp;</p>
<p><span style="text-decoration: underline;"><em><strong>PS :</strong></em></span></p>
<p>je disais en début d&#8217;article que jEdit était le seul éditeur texte gérant correctement les expressions régulières, voici un exemple, l&#8217;utilisation des références arrières.</p>
<p>Soit les dates suivantes :</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">20011015
20010812
20011205
20010622
20010504
20010318
20010616
20010101</pre></div></div>

<p>Que l&#8217;on veut transformer ainsi :</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">15/10/2001
12/08/2001
05/12/2001
22/06/2001
04/05/2001
18/03/2001
16/06/2001
01/01/2001</pre></div></div>

<p>On utilise l&#8217;expression régulière suivantes (pas optimisé, c&#8217;est juste un exemple) :</p>
<p>Rechercher : ([0-9]{4})([0-9]{2})([0-9]{2})</p>
<p>Remplacer : $3/$2/$1</p>
<p>Et voila&#8230;</p>
<p>Notepad++ ne le permet pas.</p>
]]></content:encoded>
			<wfw:commentRss>http://voidandany.free.fr/index.php/mon-editeur-de-texte-parfait-jedit/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Faire apparaître les icônes du menu système d’Ubuntu (Gnome 2.x)</title>
		<link>http://voidandany.free.fr/index.php/faire-apparaitre-les-icones-du-menu-systeme-d%e2%80%99ubuntu-gnome-2-x/</link>
		<comments>http://voidandany.free.fr/index.php/faire-apparaitre-les-icones-du-menu-systeme-d%e2%80%99ubuntu-gnome-2-x/#comments</comments>
		<pubDate>Fri, 06 Jan 2012 09:54:10 +0000</pubDate>
		<dc:creator>voidAndAny</dc:creator>
				<category><![CDATA[software]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[gnome]]></category>

		<guid isPermaLink="false">http://voidandany.free.fr/?p=2888</guid>
		<description><![CDATA[A l&#8217;heure des nouvelles interfaces de bureau (Unity, Gnome-shell) cet astuce est sans doute inutile. Mais je n&#8217;utilise pas ces nouvelle interfaces, je suis resté sur Ubuntu 11.04 avec Gnome 2.x et j&#8217;ai ce tips dans mes brouillons d&#8217;article depuis pas mal &#8230; <a href="http://voidandany.free.fr/index.php/faire-apparaitre-les-icones-du-menu-systeme-d%e2%80%99ubuntu-gnome-2-x/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A l&#8217;heure des nouvelles interfaces de bureau (Unity, Gnome-shell) cet astuce est sans doute inutile.</p>
<p>Mais je n&#8217;utilise pas ces nouvelle interfaces, je suis resté sur Ubuntu 11.04 avec Gnome 2.x et j&#8217;ai ce tips dans mes brouillons d&#8217;article depuis pas mal de temps. ne voulant pas le perdre je le publie.</p>
<p>Par défaut depuis Gnome 2.3 le menu système n&#8217;a plus d&#8217;icônes :</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/Sélection_072.png"><img class="aligncenter size-full wp-image-4417" title="Sélection_072" src="http://voidandany.free.fr/wp-content/uploads/Sélection_072.png" alt="" width="197" height="277" /></a></p>
<p>Pour les faire réapparaître, il suffit de lancer la commande :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">gconftool-<span style="color: #000000;">2</span> <span style="color: #660033;">--type</span> Boolean <span style="color: #660033;">--set</span> <span style="color: #000000; font-weight: bold;">/</span>desktop<span style="color: #000000; font-weight: bold;">/</span>gnome<span style="color: #000000; font-weight: bold;">/</span>interface<span style="color: #000000; font-weight: bold;">/</span>menus_have_icons True</pre></div></div>

<p>Et voila le boulot :</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/Sélection_073.png"><img class="aligncenter size-full wp-image-4416" title="Sélection_073" src="http://voidandany.free.fr/wp-content/uploads/Sélection_073.png" alt="" width="224" height="286" /></a></p>
<p>&nbsp;</p>
<p><span style="text-decoration: underline;"><em><strong>Sources :</strong></em></span></p>
<ul>
<li><a title="Lien permanent vers Faire apparaître les icônes du menu système d’Ubuntu" rel="bookmark" href="http://www.clapico.com/2010/07/05/icones/">Faire apparaître les icônes du menu système d’Ubuntu</a></li>
<li><a title="Permanent Link: How to Enable Icons on the Ubuntu System Menu (Minor Annoyances)" rel="bookmark" href="http://www.howtogeek.com/howto/21149/how-to-enable-icons-on-the-ubuntu-system-menu-minor-annoyances/">How to Enable Icons on the Ubuntu System Menu (Minor Annoyances)</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://voidandany.free.fr/index.php/faire-apparaitre-les-icones-du-menu-systeme-d%e2%80%99ubuntu-gnome-2-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Changer le groupe principal d&#8217;un utilisateur</title>
		<link>http://voidandany.free.fr/index.php/changer-le-groupe-principal-dun-utilisateur/</link>
		<comments>http://voidandany.free.fr/index.php/changer-le-groupe-principal-dun-utilisateur/#comments</comments>
		<pubDate>Thu, 05 Jan 2012 15:20:57 +0000</pubDate>
		<dc:creator>voidAndAny</dc:creator>
				<category><![CDATA[Brèves]]></category>
		<category><![CDATA[user]]></category>

		<guid isPermaLink="false">http://voidandany.free.fr/?p=4371</guid>
		<description><![CDATA[Article pense-bête. Il y a quelques temps de cela j&#8217;ai ajouté un groupe secondaire à mon utilisateur avec la commande : sudo usermod -g groupe_secondaire mon_utilisateur Mais cela à eu pour conséquence que ce nouveau groupe est devenu le groupe &#8230; <a href="http://voidandany.free.fr/index.php/changer-le-groupe-principal-dun-utilisateur/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Article pense-bête.</p>
<p>Il y a quelques temps de cela j&#8217;ai ajouté un groupe secondaire à mon utilisateur avec la commande :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> usermod <span style="color: #660033;">-g</span> groupe_secondaire mon_utilisateur</pre></div></div>

<p>Mais cela à eu pour conséquence que ce nouveau groupe est devenu le groupe principal de mon utilisateur (visible qu&#8217;après déconnexion / reconnexion)</p>
<p>Voici donc la commande pour rétablir le groupe d&#8217;origine :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> usermod <span style="color: #660033;">-g</span> mon_groupe_principal mon_utilisateur</pre></div></div>

<p lang="bash">mon_groupe_principal = mon_utilisateur</p>
<p lang="bash">Cela rétabli le groupe de l&#8217;utilisateur, mais le groupe secondaire ajouté précédemment est supprimé du compte de l&#8217;utilisateur on le rajoute donc avec la bonne commande (celle qu&#8217;il aurait fallu faire dès le début) :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> adduser mon_utilisateur groupe_secondaire</pre></div></div>

<p>Pour voir le nouveau groupe ajouté avec la commande groups, il faut se déconnecter/reconnecter</p>
<p><em><strong>Rque : </strong></em></p>
<p>J&#8217;avais initialement publié cet article le 15/12 mais il était faut car j&#8217;utilisais  la commande :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">newgrp mon_groupe_principal</pre></div></div>

<p lang="bash">Or cette dernière est temporaire, dès que vous vous déconnecté vous retrouvez le précédent groupe principal</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://voidandany.free.fr/index.php/changer-le-groupe-principal-dun-utilisateur/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Générer des flux RSS complets à partir des flux tronqués (service auto-hébergé)</title>
		<link>http://voidandany.free.fr/index.php/generer-des-flux-rss-complets-a-partir-des-flux-tronques-service-auto-heberge/</link>
		<comments>http://voidandany.free.fr/index.php/generer-des-flux-rss-complets-a-partir-des-flux-tronques-service-auto-heberge/#comments</comments>
		<pubDate>Thu, 05 Jan 2012 14:32:46 +0000</pubDate>
		<dc:creator>voidAndAny</dc:creator>
				<category><![CDATA[Non classé]]></category>
		<category><![CDATA[site web]]></category>
		<category><![CDATA[webapp]]></category>

		<guid isPermaLink="false">http://voidandany.free.fr/?p=4388</guid>
		<description><![CDATA[Pour ma veille je suis 281 flux RSS (après avoir fait du ménage ce matin), or il existe quelques sites qui ne proposent qu&#8217;une version tronquée des articles, par exemple Numérama : &#160; Je comprends leurs motivations mais ça m&#8217;enquiquine (pour être &#8230; <a href="http://voidandany.free.fr/index.php/generer-des-flux-rss-complets-a-partir-des-flux-tronques-service-auto-heberge/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Pour ma veille je suis 281 flux RSS (après avoir fait du ménage ce matin), or il existe quelques sites qui ne proposent qu&#8217;une <strong>version tronquée des articles</strong>, par exemple Numérama :</p>
<p style="text-align: center;"><a href="http://voidandany.free.fr/wp-content/uploads/2012-01-04_105549.png"><img class="aligncenter" title="2012-01-04_105549" src="http://voidandany.free.fr/wp-content/uploads/2012-01-04_105549.png" alt="" width="508" height="246" /></a></p>
<p>&nbsp;</p>
<p>Je comprends leurs motivations mais ça m&#8217;enquiquine (pour être poli).</p>
<p>Je me suis donc mis en quête d&#8217;un service permettant d&#8217;<strong>avoir le flux complet </strong>à partir d&#8217;un flux tronqué.</p>
<p>J&#8217;ai tout d&#8217;abord trouvé le service <a href="http://fulltextrssfeed.com/">Full Text RSS Feed Builder</a>, le premier test n&#8217;a pas été concluant le jour même mais semble avoir fonctionné les jours suivants (une histoire de cache dans Google Reader ?)</p>
<p>Mais qu&#8217;importe puisqu&#8217;entre temps je me suis souvenu que j&#8217;avais bookmarké un article décrivant un script remplissant le même rôle et pouvant être <strong>auto-hébergé</strong> : <a href="http://blog.tomamplius.net/index.php?post/2010/04/29/fivefilters-%3A-RSS-avec-les-articles-complets">fivefilters : RSS avec les articles complets</a></p>
<p>Le service s&#8217;appelle<strong> <a href="http://fivefilters.org/content-only/">Create Full-Text Feeds</a></strong> de <a href="http://fivefilters.org/content-only/">fivefilters.org</a></p>
<p>Par contre depuis que <a href="http://blog.tomamplius.net/index.php?post/2010/04/29/fivefilters-%3A-RSS-avec-les-articles-complets">Tom@mplius à publié son article</a> (Mai 2010) les conditions de distributions semblent avoir changées, le site <a href="http://fivefilters.org/content-only/">fivefilters.org</a> ne propose plus que son service en ligne gratuit mais limité (3 articles max par flux) et il faut payer (20 €) pour avoir les sources et l’auto-héberger.</p>
<p>En cherchant un peu j&#8217;ai trouvé le site sur lequel les <strong>sources</strong> de l&#8217;ancienne version sont distribués : <a href="http://code.fivefilters.org/p/full-text-rss/">http://code.fivefilters.org/p/full-text-rss/</a></p>
<p>Il s&#8217;agit de la version 2.7 et en payant on a la version 2.9, à vous de voir si <a href="http://fivefilters.org/content-only/changelog.txt">les changements</a> entre ces 2 versions vous sont nécessaires, en ce qui me me concerne la 2.7 me convient.</p>
<p>Pour <strong>l&#8217;installation</strong>, c&#8217;est un peu comme tous les services web :</p>
<ul>
<li><a href="http://code.fivefilters.org/p/full-text-rss/source/download/master/">Téléchargement des sources</a> </li>
<li>Décompression dans un répertoire de votre serveur web</li>
<li>Fixer les droits sur les fichiers pour s&#8217;assurer que c&#8217;est l&#8217;utilisateur faisant  tourner votre serveur web (www-data) qui est propriétaire des fichiers</li>
<li>Paramétrage de votre serveur web pour prendre en compte ce nouveau site</li>
</ul>
<p>Et on peut tester en allant sur l&#8217;URL de votre serveur web :</p>
<p style="text-align: center;"><a href="http://voidandany.free.fr/wp-content/uploads/2012-01-04_110342.png"><img class="aligncenter" title="2012-01-04_110342" src="http://voidandany.free.fr/wp-content/uploads/2012-01-04_110342.png" alt="" width="420" height="329" /></a></p>
<p>Un peu comme service gratuit <a href="http://fivefilters.org/content-only/">fivefilters.org</a> on entre l&#8217;URL du flux compléter et on valide.</p>
<p>Par contre à la différence du service gratuit hébergé, on a accès aux options notamment le nombre d&#8217;article par flux.</p>
<p>Un petit test avec le flux de Numérama, résultat de la page :</p>
<p style="text-align: center;"><a href="http://voidandany.free.fr/wp-content/uploads/2012-01-04_110249.png"><img class="aligncenter size-full wp-image-4398" title="2012-01-04_110249" src="http://voidandany.free.fr/wp-content/uploads/2012-01-04_110249.png" alt="" width="420" height="316" /></a><a href="http://voidandany.free.fr/wp-content/uploads/2012-01-04_135433.png"></a></p>
<p>&nbsp;</p>
<p style="text-align: left;">On copie l&#8217;URL résultante et hop on ajoute le flux dans Google Reader, ça marche parfaitement&#8230;.<a href="http://voidandany.free.fr/wp-content/uploads/2012-01-04_135433.png"><br />
 </a><a href="http://voidandany.free.fr/wp-content/uploads/2012-01-04_110342.png"><br />
 </a><a href="http://voidandany.free.fr/wp-content/uploads/2012-01-04_105549.png"></a><a href="http://voidandany.free.fr/wp-content/uploads/2012-01-04_135433.png"><img class="aligncenter" title="2012-01-04_135433" src="http://voidandany.free.fr/wp-content/uploads/2012-01-04_135433.png" alt="" width="420" height="412" /></a></p>
<p>&nbsp;</p>
<p>J&#8217;ai ensuite effectué quelques configurations supplémentaires.</p>
<p>En premier lieu il faut copier le fichier config.php en custom_config.php et éditer ce dernier.</p>
<p><span style="text-decoration: underline;"><strong>Activation du cache :</strong></span></p>
<p>Cela se fait simplement en positionnant la variable suivante :</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$options</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">caching</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span></pre></div></div>

<p>Il faut ensuite créer le répertoire paramétré dans $options-&gt;cache_dir et 2 sous répertoires rss et rss-with-key en effet les sources 2.7 ne contiennent pas ces répertoires et s&#8217;assurer que ces répertoires appartiennent à l&#8217;utilisateur faisant  tourner votre serveur web (www-data).</p>
<p><span style="text-decoration: underline;"><strong>Protection du service : </strong></span></p>
<p>Le service fonctionne parfaitement mais je veux en protéger l&#8217;accès, en effet je ne souhaite pas que tout le monde puisse l&#8217;utiliser.</p>
<p>Full Text Feed contient un mécanisme de clé permettant de différencier les utilisateur avec clé de ceux sans clé (en terme de fonctionnalité), mais malgré ce qui est indiqué dans <a href="http://help.fivefilters.org/customer/portal/articles/223410-configure">cette page</a>, l&#8217;ajout de la variable $options-&gt;key_required à true n’oblige pas l&#8217;utilisation d&#8217;une clé</p>
<p>J&#8217;ai donc modifié les sources pour le permettre. Dans le fichier makefulltextfeed.php j&#8217;ai ajouté le test  suivant :</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$options</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">key_required</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$valid_key</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'A valid key is mandatory'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Après le test suivant :</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$valid_key</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'key'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'hash'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$options</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">api_keys</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'key'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$valid_key</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'hash'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #990000;">sha1</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$options</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">api_keys</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'key'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #000088;">$url</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Dans le fichier custom_config.php on indique ensuite la/les clés valides et l&#8217;option indiquant qu&#8217;une clé est obligatoire :</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$options</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">api_keys</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$options</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">api_keys</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'xxxx'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$options</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">key_required</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://voidandany.free.fr/index.php/generer-des-flux-rss-complets-a-partir-des-flux-tronques-service-auto-heberge/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Echaper un apostrophe dans une chaine délimitée par des apostrophes</title>
		<link>http://voidandany.free.fr/index.php/echaper-une-apostrophe-dans-une-chaine-delimitee-par-des-apostrophes/</link>
		<comments>http://voidandany.free.fr/index.php/echaper-une-apostrophe-dans-une-chaine-delimitee-par-des-apostrophes/#comments</comments>
		<pubDate>Thu, 15 Dec 2011 20:14:10 +0000</pubDate>
		<dc:creator>voidAndAny</dc:creator>
				<category><![CDATA[Brèves]]></category>
		<category><![CDATA[bash]]></category>

		<guid isPermaLink="false">http://voidandany.free.fr/?p=4374</guid>
		<description><![CDATA[Le problème, j&#8217;ai la commande suivante : &#160; awk -F&#34;:&#34; '{ print &#34;username: &#34; $1 &#34;\t\tuid:&#34; $3 }' /etc/passwd &#160; Que je veux définir dans un alias, comme ceci : &#160; alias userlist= 'commande' &#160; Le problème ma commande contient &#8230; <a href="http://voidandany.free.fr/index.php/echaper-une-apostrophe-dans-une-chaine-delimitee-par-des-apostrophes/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Le problème, j&#8217;ai la commande suivante :</p>
<p>&nbsp;</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #660033;">-F</span><span style="color: #ff0000;">&quot;:&quot;</span> <span style="color: #ff0000;">'{ print &quot;username: &quot; $1 &quot;\t\tuid:&quot; $3 }'</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">passwd</span></pre></div></div>

<p>&nbsp;</p>
<p>Que je veux définir dans un alias, comme ceci :</p>
<p>&nbsp;</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">alias</span> <span style="color: #007800;">userlist</span>= <span style="color: #ff0000;">'commande'</span></pre></div></div>

<p>&nbsp;</p>
<p>Le problème ma commande contient aussi bien des apostrophes (single quote) que des guillemets (quote).</p>
<p>Vu que j&#8217;ai pris le partie de mettre cette commande entre apostrophe, il faut que j&#8217;échappe (escape ne anglais ça sonne mieux) les apostrophes de la commande.</p>
<p>J&#8217;ai tenté le slash \&#8217; et le doublement d&#8217;apostrophe &nbsp;&raquo; sans succès et j&#8217;ai trouvé la (une) solution ici, il faut utiliser &#8216;\&nbsp;&raquo;</p>
<p>Mon alias est donc :</p>
<p>&nbsp;</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">alias</span> <span style="color: #007800;">userlist</span>=<span style="color: #ff0000;">'awk -F&quot;:&quot; '</span><span style="color: #000000; font-weight: bold;">\'</span><span style="color: #ff0000;">'{ print &quot;username: &quot; $1 &quot;\t\tuid:&quot; $3 }'</span><span style="color: #000000; font-weight: bold;">\'</span><span style="color: #ff0000;">' /etc/passwd'</span></pre></div></div>

<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Pour info cet alias donne la liste des utilisateurs présent sur le système et leur uid :</p>
<p>&nbsp;</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">username: root          uid:0
username: daemon        uid:1
username: bin           uid:2
username: sys           uid:3
username: sync          uid:4
username: games         uid:5</pre></div></div>

<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://voidandany.free.fr/index.php/echaper-une-apostrophe-dans-une-chaine-delimitee-par-des-apostrophes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Partager un lien dans Shaarli directement depuis Google Reader</title>
		<link>http://voidandany.free.fr/index.php/partager-un-lien-dans-shaarli-directement-depuis-google-reader/</link>
		<comments>http://voidandany.free.fr/index.php/partager-un-lien-dans-shaarli-directement-depuis-google-reader/#comments</comments>
		<pubDate>Wed, 16 Nov 2011 17:38:12 +0000</pubDate>
		<dc:creator>voidAndAny</dc:creator>
				<category><![CDATA[Non classé]]></category>
		<category><![CDATA[site web]]></category>
		<category><![CDATA[shaarli]]></category>

		<guid isPermaLink="false">http://voidandany.free.fr/?p=4358</guid>
		<description><![CDATA[Comme indiqué ici j&#8217;utilise le script de sebsauvage Shaarli pour stocker mes bookmarks (et peut être un jour les partager) En attendant d&#8217;installer et d&#8217;utiliser RSSLounge (un jour je vais le tester) j&#8217;utilise Google Reader et je veux pouvoir ajouter &#8230; <a href="http://voidandany.free.fr/index.php/partager-un-lien-dans-shaarli-directement-depuis-google-reader/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Comme indiqué <a title="Outil de bookmarks en ligne : Shaarli" href="http://voidandany.free.fr/index.php/outil-de-bookmarks-en-ligne-shaarli/">ici</a> j&#8217;utilise le script de <a href="http://sebsauvage.net/">sebsauvage</a> <a href="http://sebsauvage.net/wiki/doku.php?id=php:shaarli">Shaarli</a> pour stocker mes bookmarks (et peut être un jour les partager)</p>
<p>En attendant d&#8217;installer et d&#8217;utiliser <a href="http://rsslounge.aditu.de/">RSSLounge</a> (un jour je vais le tester) j&#8217;utilise Google Reader et je veux pouvoir ajouter un marque-page dans mon Shaarli directement depuis Google Reader.</p>
<p>Et c&#8217;est super simple.</p>
<p>On va dnas les paramètres de Google Reader en cliquant sur le petit engrenage en haut à droite de l&#8217;interface de Google Reader</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/2011-11-16_175125.png"><img class="aligncenter size-full wp-image-4360" title="2011-11-16_175125" src="http://voidandany.free.fr/wp-content/uploads/2011-11-16_175125.png" alt="" width="239" height="95" /></a></p>
<p>&nbsp;</p>
<p>Ensuite on se place sur l&#8217;onglet &laquo;&nbsp;Envoyer à&nbsp;&raquo;</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/2011-11-16_163018.png"><img class="aligncenter size-full wp-image-4362" title="2011-11-16_163018" src="http://voidandany.free.fr/wp-content/uploads/2011-11-16_163018.png" alt="" width="610" height="99" /></a></p>
<p>&nbsp;</p>
<p>Puis on clique sur &laquo;&nbsp;créer un lien personnalisé&nbsp;&raquo; (tout en bas)</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/2011-11-16_163052.png"><img class="aligncenter size-full wp-image-4361" title="2011-11-16_163052" src="http://voidandany.free.fr/wp-content/uploads/2011-11-16_163052.png" alt="" width="516" height="285" /></a></p>
<p>Pour le nom on met ce que l&#8217;on veut et pour l&#8217;URL on met l&#8217;adresse de son Shaarli avec les paramètres title, url et source ainsi (à adapter) :</p>
<p>
<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">http://www.[votre domaine]/shaarli/index.php?post=${url}&amp;title=${title}&amp;source=greader</pre></div></div>

</p>
<p>Et voila on peut revenir à l&#8217;interface de Google Reader et tout en bas des articles dans l&#8217;option &laquo;&nbsp;Envoyer à&nbsp;&raquo;, votre lien Shaarli apparaît :</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/2011-11-16_183212.png"><img class="aligncenter size-full wp-image-4364" title="2011-11-16_183212" src="http://voidandany.free.fr/wp-content/uploads/2011-11-16_183212.png" alt="" width="609" height="255" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://voidandany.free.fr/index.php/partager-un-lien-dans-shaarli-directement-depuis-google-reader/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Télécharger la série Bref (Canal+) automatiquement (sous Linux)</title>
		<link>http://voidandany.free.fr/index.php/telecharger-la-serie-bref-canal-automatiquement-sous-linux/</link>
		<comments>http://voidandany.free.fr/index.php/telecharger-la-serie-bref-canal-automatiquement-sous-linux/#comments</comments>
		<pubDate>Wed, 02 Nov 2011 20:02:22 +0000</pubDate>
		<dc:creator>voidAndAny</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://voidandany.free.fr/?p=4352</guid>
		<description><![CDATA[Edit 23/04/2012 : Modification du script pour télécharger via http au lieu de rtmp &#160; Mieux vaut tard que jamais, j&#8217;ai découvert la série Bref ce week-end. Cette série diffusé durant le grand-journal fait le buzz et est surtout très &#8230; <a href="http://voidandany.free.fr/index.php/telecharger-la-serie-bref-canal-automatiquement-sous-linux/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><span style="text-decoration: underline;"><em><strong>Edit 23/04/2012</strong></em></span> : Modification du script pour télécharger via http au lieu de rtmp</p>
<p>&nbsp;</p>
<p>Mieux vaut tard que jamais, j&#8217;ai découvert la <strong>série <a href="http://www.canalplus.fr/c-divertissement/pid3848-c-bref.html?tab=1">Bref</a> </strong>ce week-end.</p>
<p>Cette série diffusé durant le grand-journal fait le buzz et est surtout très drôle, rythmé, bref superbe.</p>
<p>Par contre la regarder en direct pendant le grand journal, ce n&#8217;est pas possible pour moi, la regarder en différé sur le site de Canal+ non plus, il me fallait donc trouver un moyen pour la <strong>télécharger automatiquement </strong>et pouvoir la regarder tranquillement sur mon HTPC.</p>
<p>Il existe divers scripts et programmes pour télécharger les émissions de Canal+, je devais en trouver un qui fonctionne, qui puisse être planifié (exécuté tous les jours et qui garde en mémoire les épisode déjà téléchargés) et surtout headless (en ligne de commande).</p>
<p>Mon point de départ, ce <a href="http://forum.ubuntu-fr.org/viewtopic.php?id=346586&amp;p=1">thread d&#8217;Ubuntu-fr.org</a> et j&#8217;ai trouvé mon bonheur en <a href="http://forum.ubuntu-fr.org/viewtopic.php?id=346586&amp;p=16">page 16</a> avec le <strong>script de <a href="http://forum.ubuntu-fr.org/profile.php?id=73682">vincentp010</a> </strong>(recopié en fin d&#8217;article)</p>
<p>Ce script en Python se base sur un tableau des ids des émissions à télécharger :</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;">emissions=<span style="color: black;">&#91;</span>
<span style="color: #ff4500;">48</span>,    <span style="color: #808080; font-style: italic;"># GUIGNOLS</span>
<span style="color: #ff4500;">252</span>,   <span style="color: #808080; font-style: italic;"># SAV</span>
<span style="color: #ff4500;">254</span>,   <span style="color: #808080; font-style: italic;"># GROLAND</span>
<span style="color: #ff4500;">201</span>,   <span style="color: #808080; font-style: italic;"># ZAPPING</span>
<span style="color: #ff4500;">104</span>,  <span style="color: #808080; font-style: italic;"># GRAND JOURNAL</span>
<span style="color: #ff4500;">249</span>,  <span style="color: #808080; font-style: italic;"># PETIT JOURNAL</span>
<span style="color: #ff4500;">37</span>,   <span style="color: #808080; font-style: italic;"># ACTION DISCRETE</span>
<span style="color: #ff4500;">39</span>,   <span style="color: #808080; font-style: italic;"># LA MATINALE</span>
<span style="color: #ff4500;">47</span>,   <span style="color: #808080; font-style: italic;"># PEPITES DU NET</span>
<span style="color: #ff4500;">62</span>,   <span style="color: #808080; font-style: italic;"># LE BOUCAN DU JOUR</span>
<span style="color: #ff4500;">215</span>,  <span style="color: #808080; font-style: italic;"># LE MEILLEUR DU HIER</span>
<span style="color: black;">&#93;</span></pre></div></div>

<p>Restait à trouver l&#8217;<strong>id de l&#8217;émission Bref</strong>.</p>
<p>Après quelques recherches infructueuses je suis tombé sur <a href="http://www.canalplus.fr/rest/bootstrap.php?/bigplayer/initPlayer">cette URL </a>qui liste toutes les émissions de Canal+.</p>
<p>Bref à l&#8217;id <strong>627</strong>, j&#8217;ai donc modifié le tableau émission ainsi :</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;">emissions=<span style="color: black;">&#91;</span>
<span style="color: #ff4500;">627</span>,    <span style="color: #808080; font-style: italic;"># BREF</span>
<span style="color: black;">&#93;</span></pre></div></div>

<p>Paramétré les chemins (penser à créer les répertoires) et nom de fichier :</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;">homedir = <span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">expanduser</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'~/bin'</span><span style="color: black;">&#41;</span>
HISTORIQUE = homedir + <span style="color: #483d8b;">&quot;/.cplus_hist&quot;</span>
output_dir = <span style="color: #483d8b;">&quot;/data/downloads/videos/canalplus&quot;</span></pre></div></div>

<p>Installé flvstreamer :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">aptitude</span> <span style="color: #c20cb9; font-weight: bold;">install</span> flvstreamer</pre></div></div>

<p>Pour finir le script est planifié en crontab et le boulot est fait&#8230;.</p>
<p>&nbsp;</p>
<p>Script de téléchargement des séries Canal+ de <a href="http://forum.ubuntu-fr.org/profile.php?id=73682">vincentp010</a> :</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">#!/usr/bin/python</span>
<span style="color: #808080; font-style: italic;"># -*- coding:Utf-8 -*-</span>
&nbsp;
<span style="color: #808080; font-style: italic;">###########################################################################</span>
<span style="color: #808080; font-style: italic;"># Copyright (C) 2010  La_Poigne                                           #</span>
<span style="color: #808080; font-style: italic;"># This program is free software: you can redistribute it and/or modify    #</span>
<span style="color: #808080; font-style: italic;">#  it under the terms of the GNU General Public License as published by   #</span>
<span style="color: #808080; font-style: italic;">#  the Free Software Foundation, either version 2 of the License, or      #</span>
<span style="color: #808080; font-style: italic;">#  any later version.                                                     #</span>
<span style="color: #808080; font-style: italic;"># This program is distributed in the hope that it will be useful,         #</span>
<span style="color: #808080; font-style: italic;">#  but WITHOUT ANY WARRANTY without even the implied warranty of          #</span>
<span style="color: #808080; font-style: italic;">#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the          #</span>
<span style="color: #808080; font-style: italic;">#  GNU General Public License for more details.                           #</span>
<span style="color: #808080; font-style: italic;"># You should have received a copy of the GNU General Public License       #</span>
<span style="color: #808080; font-style: italic;">#  along with this program.  If not, see &lt;http://www.gnu.org/licenses/&gt;.  #</span>
<span style="color: #808080; font-style: italic;">###########################################################################</span>
<span style="color: #808080; font-style: italic;">#</span>
<span style="color: #808080; font-style: italic;">#Script pour telecharger les emission du site canalplus.fr</span>
<span style="color: #808080; font-style: italic;">#Fonctionne en theorie sur tous les OS</span>
<span style="color: #808080; font-style: italic;">#</span>
<span style="color: #808080; font-style: italic;">#Changelog:</span>
<span style="color: #808080; font-style: italic;">#V 0.1</span>
<span style="color: #808080; font-style: italic;">#21-12-2010 : Creation</span>
<span style="color: #808080; font-style: italic;">#V 0.2</span>
<span style="color: #808080; font-style: italic;">#22-12-2010 : Reglage probleme encodage dans fichier log</span>
<span style="color: #808080; font-style: italic;">#V 0.3</span>
<span style="color: #808080; font-style: italic;">#23-12-2010 : Ajout d'une option &quot;--log&quot; et prise en compte de l'absence du tag sous-titre</span>
&nbsp;
&nbsp;
&nbsp;
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">os</span>, <span style="color: #dc143c;">urllib</span>, <span style="color: #dc143c;">subprocess</span>, <span style="color: #dc143c;">time</span>, <span style="color: #dc143c;">sys</span> 
<span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">xml</span>.<span style="color: black;">dom</span> <span style="color: #ff7700;font-weight:bold;">import</span> minidom
&nbsp;
&nbsp;
<span style="color: #808080; font-style: italic;"># Numeros des emissions a telecharger, commentez celles que vous ne voulez pas</span>
emissions=<span style="color: black;">&#91;</span>
<span style="color: #ff4500;">627</span>,	<span style="color: #808080; font-style: italic;"># BREF</span>
<span style="color: #808080; font-style: italic;">#48,    # GUIGNOLS</span>
<span style="color: #808080; font-style: italic;">#252,   # SAV</span>
<span style="color: #808080; font-style: italic;">#254,   # GROLAND</span>
<span style="color: #808080; font-style: italic;">#201,   # ZAPPING</span>
<span style="color: #808080; font-style: italic;">#104,  # GRAND JOURNAL</span>
<span style="color: #808080; font-style: italic;">#249,  # PETIT JOURNAL</span>
<span style="color: #808080; font-style: italic;">#37,   # ACTION DISCRETE</span>
<span style="color: #808080; font-style: italic;">#39,   # LA MATINALE</span>
<span style="color: #808080; font-style: italic;">#47,   # PEPITES DU NET</span>
<span style="color: #808080; font-style: italic;">#62,   # LE BOUCAN DU JOUR</span>
<span style="color: #808080; font-style: italic;">#215,  # LE MEILLEUR DU HIER</span>
<span style="color: black;">&#93;</span>
&nbsp;
<span style="color: #808080; font-style: italic;"># Qualite de la video</span>
<span style="color: #808080; font-style: italic;">#qualite = &quot;BAS_DEBIT&quot;</span>
<span style="color: #808080; font-style: italic;">#qualite = &quot;HAUT_DEBIT&quot;</span>
qualite = <span style="color: #483d8b;">&quot;HD&quot;</span>
&nbsp;
<span style="color: #808080; font-style: italic;"># Repertoires (pensez a les creer avant)</span>
homedir = <span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">expanduser</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'~/bin'</span><span style="color: black;">&#41;</span>
HISTORIQUE = homedir + <span style="color: #483d8b;">&quot;/.cplus_hist&quot;</span>
output_dir = <span style="color: #483d8b;">&quot;/data/downloads/videos/canalplus&quot;</span>
&nbsp;
&nbsp;
&nbsp;
<span style="color: #808080; font-style: italic;"># Ne rien modifier sous cette ligne</span>
<span style="color: #808080; font-style: italic;"># Sauf pour ameliorer le fonctionnement ;)</span>
&nbsp;
logfile = <span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">join</span><span style="color: black;">&#40;</span>homedir, <span style="color: #483d8b;">&quot;canal.log&quot;</span><span style="color: black;">&#41;</span>
urlXMLEmissions = <span style="color: #483d8b;">&quot;http://www.canalplus.fr/rest/bootstrap.php?/bigplayer/getMEAs/&quot;</span>
urlXMLVid = <span style="color: #483d8b;">&quot;http://www.canalplus.fr/rest/bootstrap.php?/bigplayer/getVideos/&quot;</span>
&nbsp;
<span style="color: #808080; font-style: italic;"># Parse Mea file to get videos id</span>
<span style="color: #ff7700;font-weight:bold;">def</span> ParseMeas<span style="color: black;">&#40;</span>xmldoc<span style="color: black;">&#41;</span>:
   ids = <span style="color: black;">&#91;</span><span style="color: black;">&#93;</span>
   meas = xmldoc.<span style="color: black;">getElementsByTagName</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'MEA'</span><span style="color: black;">&#41;</span>
   <span style="color: #ff7700;font-weight:bold;">for</span> i <span style="color: #ff7700;font-weight:bold;">in</span> meas:
      <span style="color: #ff7700;font-weight:bold;">if</span> i.<span style="color: black;">getElementsByTagName</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'ID'</span><span style="color: black;">&#41;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>.<span style="color: black;">childNodes</span> <span style="color: #66cc66;">!</span>= <span style="color: black;">&#91;</span><span style="color: black;">&#93;</span>:
         <span style="color: #008000;">id</span> = i.<span style="color: black;">getElementsByTagName</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'ID'</span><span style="color: black;">&#41;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>.<span style="color: black;">childNodes</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>.<span style="color: black;">nodeValue</span>
         ids.<span style="color: black;">append</span><span style="color: black;">&#40;</span><span style="color: #008000;">id</span><span style="color: black;">&#41;</span>
   <span style="color: #ff7700;font-weight:bold;">return</span> ids
&nbsp;
<span style="color: #808080; font-style: italic;"># Parse video file to get name and url</span>
<span style="color: #ff7700;font-weight:bold;">def</span> ParseVid<span style="color: black;">&#40;</span>xmldoc<span style="color: black;">&#41;</span>:
   names = <span style="color: black;">&#91;</span><span style="color: black;">&#93;</span>
   urlVids = <span style="color: black;">&#91;</span><span style="color: black;">&#93;</span>
   videos = xmldoc.<span style="color: black;">getElementsByTagName</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'VIDEO'</span><span style="color: black;">&#41;</span>
   <span style="color: #ff7700;font-weight:bold;">for</span> i <span style="color: #ff7700;font-weight:bold;">in</span> videos:
      titrage = i.<span style="color: black;">getElementsByTagName</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'INFOS'</span><span style="color: black;">&#41;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>.<span style="color: black;">getElementsByTagName</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'TITRAGE'</span><span style="color: black;">&#41;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>
      <span style="color: #ff7700;font-weight:bold;">if</span> titrage.<span style="color: black;">getElementsByTagName</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'TITRE'</span><span style="color: black;">&#41;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>.<span style="color: black;">childNodes</span> <span style="color: #66cc66;">!</span>= <span style="color: black;">&#91;</span><span style="color: black;">&#93;</span>:
         titre = titrage.<span style="color: black;">getElementsByTagName</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'TITRE'</span><span style="color: black;">&#41;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>.<span style="color: black;">childNodes</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>.<span style="color: black;">nodeValue</span>
         <span style="color: #ff7700;font-weight:bold;">if</span> titrage.<span style="color: black;">getElementsByTagName</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'SOUS_TITRE'</span><span style="color: black;">&#41;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>.<span style="color: black;">childNodes</span> <span style="color: #66cc66;">!</span>= <span style="color: black;">&#91;</span><span style="color: black;">&#93;</span>:
            stitre = titrage.<span style="color: black;">getElementsByTagName</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'SOUS_TITRE'</span><span style="color: black;">&#41;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>.<span style="color: black;">childNodes</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>.<span style="color: black;">nodeValue</span>
            date = <span style="color: #483d8b;">&quot;_&quot;</span> + stitre
         <span style="color: #ff7700;font-weight:bold;">else</span>:
            date = <span style="color: #483d8b;">&quot;&quot;</span>
         name = titre + date
         name = name.<span style="color: black;">replace</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">' '</span>, <span style="color: #483d8b;">'.'</span><span style="color: black;">&#41;</span>.<span style="color: black;">replace</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'/'</span>, <span style="color: #483d8b;">'-'</span><span style="color: black;">&#41;</span>
         videos = i.<span style="color: black;">getElementsByTagName</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'MEDIA'</span><span style="color: black;">&#41;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>.<span style="color: black;">getElementsByTagName</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'VIDEOS'</span><span style="color: black;">&#41;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>
         rtmp= videos.<span style="color: black;">getElementsByTagName</span><span style="color: black;">&#40;</span>qualite<span style="color: black;">&#41;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>.<span style="color: black;">childNodes</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>.<span style="color: black;">nodeValue</span>
         names.<span style="color: black;">append</span><span style="color: black;">&#40;</span>name<span style="color: black;">&#41;</span>
         urlVids.<span style="color: black;">append</span><span style="color: black;">&#40;</span>rtmp<span style="color: black;">&#41;</span>
   <span style="color: #ff7700;font-weight:bold;">return</span> names, urlVids
&nbsp;
<span style="color: #808080; font-style: italic;"># Execute command and write stdout in file var</span>
<span style="color: #ff7700;font-weight:bold;">def</span> execute<span style="color: black;">&#40;</span>params, <span style="color: #008000;">file</span><span style="color: black;">&#41;</span>:
   p = <span style="color: #dc143c;">subprocess</span>.<span style="color: black;">Popen</span><span style="color: black;">&#40;</span>params,stdout=<span style="color: #008000;">file</span><span style="color: black;">&#41;</span>
   p.<span style="color: black;">wait</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
   <span style="color: #ff7700;font-weight:bold;">return</span> p.<span style="color: black;">returncode</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> addHistory<span style="color: black;">&#40;</span>name<span style="color: black;">&#41;</span>:
   <span style="color: #008000;">file</span> = <span style="color: #008000;">open</span><span style="color: black;">&#40;</span>HISTORIQUE, <span style="color: #483d8b;">'a'</span><span style="color: black;">&#41;</span>
   <span style="color: #008000;">file</span>.<span style="color: black;">write</span><span style="color: black;">&#40;</span>name.<span style="color: black;">encode</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'utf-8'</span><span style="color: black;">&#41;</span> + <span style="color: #483d8b;">'<span style="color: #000099; font-weight: bold;">\n</span>'</span><span style="color: black;">&#41;</span>
   <span style="color: #008000;">file</span>.<span style="color: black;">close</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> checkHistory<span style="color: black;">&#40;</span>name<span style="color: black;">&#41;</span>:
   findvalue = <span style="color: #ff4500;">0</span>
   <span style="color: #008000;">file</span> = <span style="color: #008000;">open</span><span style="color: black;">&#40;</span>HISTORIQUE, <span style="color: #483d8b;">'r'</span><span style="color: black;">&#41;</span>
   <span style="color: #ff7700;font-weight:bold;">for</span> line <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">file</span>:
      <span style="color: #ff7700;font-weight:bold;">if</span> line.<span style="color: black;">decode</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'utf-8'</span><span style="color: black;">&#41;</span> == name + <span style="color: #483d8b;">'<span style="color: #000099; font-weight: bold;">\n</span>'</span>:
         findvalue = <span style="color: #ff4500;">1</span>
   <span style="color: #008000;">file</span>.<span style="color: black;">close</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
   <span style="color: #ff7700;font-weight:bold;">return</span> findvalue
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> downXml<span style="color: black;">&#40;</span>url<span style="color: black;">&#41;</span>:
   <span style="color: #ff7700;font-weight:bold;">try</span>:
      xmlFileSock=<span style="color: #dc143c;">urllib</span>.<span style="color: black;">urlopen</span><span style="color: black;">&#40;</span>url<span style="color: black;">&#41;</span>
      xmlFile = xmlFileSock.<span style="color: black;">read</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
   <span style="color: #ff7700;font-weight:bold;">except</span> <span style="color: #008000;">Exception</span>, e:
      <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #ff4500;">1</span>
   <span style="color: #ff7700;font-weight:bold;">try</span>:
      xmldoc = minidom.<span style="color: black;">parseString</span><span style="color: black;">&#40;</span>xmlFile<span style="color: black;">&#41;</span>
   <span style="color: #ff7700;font-weight:bold;">except</span> <span style="color: #008000;">Exception</span>, e:
      xmldoc = <span style="color: #ff4500;">1</span>
   <span style="color: #ff7700;font-weight:bold;">return</span> xmldoc
&nbsp;
&nbsp;
<span style="color: #ff7700;font-weight:bold;">if</span> __name__ == <span style="color: #483d8b;">&quot;__main__&quot;</span>:
&nbsp;
   debug = <span style="color: #008000;">False</span>
   <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #008000;">len</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">sys</span>.<span style="color: black;">argv</span><span style="color: black;">&#41;</span> == <span style="color: #ff4500;">2</span>:     
     <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #dc143c;">sys</span>.<span style="color: black;">argv</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span> == <span style="color: #483d8b;">&quot;--log&quot;</span>:
        debug = <span style="color: #008000;">True</span>
        <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;Debug ON&quot;</span>
        logf = <span style="color: #008000;">open</span><span style="color: black;">&#40;</span>logfile, <span style="color: #483d8b;">&quot;w&quot;</span><span style="color: black;">&#41;</span>
&nbsp;
   <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">exists</span><span style="color: black;">&#40;</span>HISTORIQUE<span style="color: black;">&#41;</span> == <span style="color: #008000;">False</span>:
     <span style="color: #008000;">file</span> = <span style="color: #008000;">open</span><span style="color: black;">&#40;</span>HISTORIQUE, <span style="color: #483d8b;">'w'</span><span style="color: black;">&#41;</span>
     <span style="color: #008000;">file</span>.<span style="color: black;">close</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
&nbsp;
   <span style="color: #ff7700;font-weight:bold;">for</span> num <span style="color: #ff7700;font-weight:bold;">in</span> emissions:
      url = urlXMLEmissions + <span style="color: #008000;">str</span><span style="color: black;">&#40;</span>num<span style="color: black;">&#41;</span>
      <span style="color: #ff7700;font-weight:bold;">if</span> debug:
         logf.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">time</span>.<span style="color: black;">strftime</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;%Y-%m-%d %H:%M:%S&quot;</span><span style="color: black;">&#41;</span> + <span style="color: #483d8b;">'<span style="color: #000099; font-weight: bold;">\n</span>'</span><span style="color: black;">&#41;</span>
         logf.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Downloading &quot;</span> + url + <span style="color: #483d8b;">'<span style="color: #000099; font-weight: bold;">\n</span>'</span><span style="color: black;">&#41;</span>
      xmldoc = downXml<span style="color: black;">&#40;</span>url<span style="color: black;">&#41;</span>
      <span style="color: #ff7700;font-weight:bold;">if</span> xmldoc == <span style="color: #ff4500;">1</span>:
         <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;Erreur durant la recuperation de la liste &quot;</span> + <span style="color: #008000;">str</span><span style="color: black;">&#40;</span>num<span style="color: black;">&#41;</span>
         <span style="color: #ff7700;font-weight:bold;">if</span> debug:
            logf.<span style="color: black;">write</span><span style="color: black;">&#40;</span>url + <span style="color: #483d8b;">&quot; download error&quot;</span> + <span style="color: #483d8b;">'<span style="color: #000099; font-weight: bold;">\n</span>'</span><span style="color: black;">&#41;</span>
      <span style="color: #ff7700;font-weight:bold;">else</span>:
         <span style="color: #008000;">id</span> = ParseMeas<span style="color: black;">&#40;</span>xmldoc<span style="color: black;">&#41;</span>
         <span style="color: #ff7700;font-weight:bold;">if</span> debug:
            logf.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;-&gt; Ids &quot;</span> + <span style="color: #008000;">str</span><span style="color: black;">&#40;</span><span style="color: #008000;">id</span><span style="color: black;">&#41;</span> + <span style="color: #483d8b;">'<span style="color: #000099; font-weight: bold;">\n</span>'</span><span style="color: black;">&#41;</span>
&nbsp;
         <span style="color: #ff7700;font-weight:bold;">for</span> vid <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">id</span>:
            url2 = urlXMLVid + vid
            <span style="color: #ff7700;font-weight:bold;">if</span> debug:
              logf.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Downloading &quot;</span> + url2 + <span style="color: #483d8b;">'<span style="color: #000099; font-weight: bold;">\n</span>'</span><span style="color: black;">&#41;</span>
            xmldoc2 = downXml<span style="color: black;">&#40;</span>url2<span style="color: black;">&#41;</span>
            <span style="color: #ff7700;font-weight:bold;">if</span> xmldoc2 == <span style="color: #ff4500;">1</span>:
               <span style="color: #ff7700;font-weight:bold;">if</span> debug:
                  logf.<span style="color: black;">write</span><span style="color: black;">&#40;</span>url2 + <span style="color: #483d8b;">&quot; download error&quot;</span> + <span style="color: #483d8b;">'<span style="color: #000099; font-weight: bold;">\n</span>'</span><span style="color: black;">&#41;</span>
            <span style="color: #ff7700;font-weight:bold;">else</span>:
               names, urlVids = ParseVid<span style="color: black;">&#40;</span>xmldoc2<span style="color: black;">&#41;</span>
               <span style="color: #ff7700;font-weight:bold;">if</span> debug:
                  logf.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;--&gt; names &quot;</span> + <span style="color: #008000;">str</span><span style="color: black;">&#40;</span>names<span style="color: black;">&#41;</span> + <span style="color: #483d8b;">'<span style="color: #000099; font-weight: bold;">\n</span>'</span><span style="color: black;">&#41;</span>
                  logf.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;---&gt; urlvid &quot;</span> + <span style="color: #008000;">str</span><span style="color: black;">&#40;</span>urlVids<span style="color: black;">&#41;</span> + <span style="color: #483d8b;">'<span style="color: #000099; font-weight: bold;">\n</span>'</span><span style="color: black;">&#41;</span>
&nbsp;
               i = <span style="color: #ff4500;">0</span>
               loop = <span style="color: #ff4500;">0</span>
               <span style="color: #ff7700;font-weight:bold;">while</span> i <span style="color: #66cc66;">&lt;</span> <span style="color: #008000;">len</span><span style="color: black;">&#40;</span>names<span style="color: black;">&#41;</span>:
&nbsp;
                  check = checkHistory<span style="color: black;">&#40;</span>names<span style="color: black;">&#91;</span>i<span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
                  <span style="color: #ff7700;font-weight:bold;">if</span> check == <span style="color: #ff4500;">0</span>:
                     <span style="color: #ff7700;font-weight:bold;">if</span> debug:
                       logf.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Try to download file &quot;</span><span style="color: black;">&#41;</span>
&nbsp;
                     basename, extension = <span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">splitext</span><span style="color: black;">&#40;</span>urlVids<span style="color: black;">&#91;</span>i<span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
                     flvFile = <span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">join</span><span style="color: black;">&#40;</span>output_dir , names<span style="color: black;">&#91;</span>i<span style="color: black;">&#93;</span> + extension<span style="color: black;">&#41;</span>
                     <span style="color: #ff7700;font-weight:bold;">if</span> urlVids<span style="color: black;">&#91;</span>i<span style="color: black;">&#93;</span>.<span style="color: black;">find</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;rtmp&quot;</span><span style="color: black;">&#41;</span><span style="color: #66cc66;">!</span>=-<span style="color: #ff4500;">1</span>:
                        <span style="color: #ff7700;font-weight:bold;">if</span> debug:
                           logf.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;with flvstreamer&quot;</span> + <span style="color: #483d8b;">'<span style="color: #000099; font-weight: bold;">\n</span>'</span><span style="color: black;">&#41;</span>
                        params=<span style="color: black;">&#91;</span><span style="color: #483d8b;">'flvstreamer'</span>, <span style="color: #483d8b;">'-r'</span>, urlVids<span style="color: black;">&#91;</span>i<span style="color: black;">&#93;</span><span style="color: black;">&#93;</span>
                        <span style="color: #008000;">file</span> = <span style="color: #008000;">open</span><span style="color: black;">&#40;</span>flvFile, <span style="color: #483d8b;">'w'</span><span style="color: black;">&#41;</span>
                        r = execute<span style="color: black;">&#40;</span>params, <span style="color: #008000;">file</span><span style="color: black;">&#41;</span>
                        <span style="color: #008000;">file</span>.<span style="color: black;">close</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
                     <span style="color: #ff7700;font-weight:bold;">else</span>:
                        <span style="color: #ff7700;font-weight:bold;">if</span> debug:
                           logf.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;direct download&quot;</span> + <span style="color: #483d8b;">'<span style="color: #000099; font-weight: bold;">\n</span>'</span><span style="color: black;">&#41;</span>
                        <span style="color: #ff7700;font-weight:bold;">try</span>:
                           <span style="color: #dc143c;">urllib</span>.<span style="color: black;">urlretrieve</span><span style="color: black;">&#40;</span>urlVids<span style="color: black;">&#91;</span>i<span style="color: black;">&#93;</span>, flvFile<span style="color: black;">&#41;</span>
                           r=<span style="color: #ff4500;">0</span>
                        <span style="color: #ff7700;font-weight:bold;">except</span> <span style="color: #008000;">Exception</span>:
                           r=<span style="color: #ff4500;">1</span>
                     <span style="color: #808080; font-style: italic;"># If returncode OK, next file</span>
                     <span style="color: #ff7700;font-weight:bold;">if</span> r == <span style="color: #ff4500;">0</span>:
                        <span style="color: #ff7700;font-weight:bold;">if</span> debug:
                          logf.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Download finished, add file to history &quot;</span> + <span style="color: #483d8b;">'<span style="color: #000099; font-weight: bold;">\n</span>'</span><span style="color: black;">&#41;</span>
                        addHistory<span style="color: black;">&#40;</span>names<span style="color: black;">&#91;</span>i<span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
                        loop = <span style="color: #ff4500;">0</span>
                        i += <span style="color: #ff4500;">1</span>
                     <span style="color: #ff7700;font-weight:bold;">else</span>:
                        <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">exists</span><span style="color: black;">&#40;</span>flvFile<span style="color: black;">&#41;</span>:
                           <span style="color: #dc143c;">os</span>.<span style="color: black;">remove</span><span style="color: black;">&#40;</span>flvFile<span style="color: black;">&#41;</span>
                        loop += <span style="color: #ff4500;">1</span>
                        <span style="color: #808080; font-style: italic;"># After 5 retry abord file</span>
                        <span style="color: #ff7700;font-weight:bold;">if</span> loop == <span style="color: #ff4500;">5</span>:
                           <span style="color: #ff7700;font-weight:bold;">if</span> debug:
                              logf.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Download aborded&quot;</span> + <span style="color: #483d8b;">'<span style="color: #000099; font-weight: bold;">\n</span>'</span><span style="color: black;">&#41;</span>
                           i += <span style="color: #ff4500;">1</span>
                           loop = <span style="color: #ff4500;">0</span>
                        <span style="color: #ff7700;font-weight:bold;">else</span>:
                           <span style="color: #ff7700;font-weight:bold;">if</span> debug:
                              logf.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Download error&quot;</span> + <span style="color: #483d8b;">'<span style="color: #000099; font-weight: bold;">\n</span>'</span><span style="color: black;">&#41;</span>
                           <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;Download error, retry in 30 seconds&quot;</span>
                           <span style="color: #dc143c;">time</span>.<span style="color: black;">sleep</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">30</span><span style="color: black;">&#41;</span>
                  <span style="color: #ff7700;font-weight:bold;">else</span>:
                     <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;File already downloaded&quot;</span>
                     <span style="color: #ff7700;font-weight:bold;">if</span> debug:
                       logf.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;File already downloaded&quot;</span> + <span style="color: #483d8b;">'<span style="color: #000099; font-weight: bold;">\n</span>'</span><span style="color: black;">&#41;</span>
&nbsp;
                     i += <span style="color: #ff4500;">1</span>
&nbsp;
   <span style="color: #ff7700;font-weight:bold;">if</span> debug:
      logf.<span style="color: black;">close</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></pre></div></div>

<p><span style="text-decoration: underline;"><em><strong>PS : </strong></em></span>si vous cherchez un programme avec une interface graphique qui fait la même chose et bien plus encore, il existe <a href="http://code.google.com/p/tvdownloader/">tvdownloader</a> qui est parfait</p>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 4902px; width: 1px; height: 1px; overflow: hidden;">flvFile = os.path.join(output_dir , names[i] + extension)<br />
 if urlVids[i].find(&laquo;&nbsp;rtmp&nbsp;&raquo;)!=-1:<br />
 if debug:<br />
 logf.write(&laquo;&nbsp;with flvstreamer&nbsp;&raquo; + &#8216;\n&#8217;)<br />
 params=['flvstreamer', '-r', urlVids[i]]<br />
 file = open(flvFile, &#8216;w&#8217;)<br />
 r = execute(params, file)<br />
 file.close()<br />
 else:<br />
 if debug:<br />
 logf.write(&laquo;&nbsp;direct download&nbsp;&raquo; + &#8216;\n&#8217;)<br />
 try:<br />
 urllib.urlretrieve(urlVids[i], flvFile)<br />
 r=0<br />
 except Exception:<br />
 r=1</div>
]]></content:encoded>
			<wfw:commentRss>http://voidandany.free.fr/index.php/telecharger-la-serie-bref-canal-automatiquement-sous-linux/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>Administrer sa base de données MySQL sans phpMyAdmin</title>
		<link>http://voidandany.free.fr/index.php/administrer-sa-base-de-donnees-mysql-sans-phpmyadmin/</link>
		<comments>http://voidandany.free.fr/index.php/administrer-sa-base-de-donnees-mysql-sans-phpmyadmin/#comments</comments>
		<pubDate>Tue, 27 Sep 2011 19:09:43 +0000</pubDate>
		<dc:creator>voidAndAny</dc:creator>
				<category><![CDATA[software]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://voidandany.free.fr/?p=4247</guid>
		<description><![CDATA[Lorsque l&#8217;on a une base de donnée MySQL et que l&#8217;on veut l&#8217;administrer le plus souvent on installe phpMyAdmin. Or si on ne souhaite administrer cette base qu&#8217;en local (ou via le LAN) je trouve qu&#8217;installer une application web n&#8217;est &#8230; <a href="http://voidandany.free.fr/index.php/administrer-sa-base-de-donnees-mysql-sans-phpmyadmin/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Lorsque l&#8217;on a une base de donnée MySQL et que l&#8217;on veut l&#8217;administrer le plus souvent on installe <a href="http://www.phpmyadmin.net/">phpMyAdmin</a>. Or si on ne souhaite administrer cette base qu&#8217;en local (ou via le LAN) je trouve qu&#8217;installer une application web n&#8217;est pas forcément adapté et j&#8217;ai clairement une préférence pour l&#8217;installation d&#8217;un client dit &laquo;&nbsp;lourd&nbsp;&raquo;</p>
<p>C&#8217;est pour cela que j&#8217;installe MySQL Query Browser :</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/MySQL-Query-Browser-yoann@192.168.1.1113306_039.resized.png"><img class="aligncenter size-full wp-image-4344" title="MySQL Query Browser - yoann@192.168.1.111:3306_039.resized" src="http://voidandany.free.fr/wp-content/uploads/MySQL-Query-Browser-yoann@192.168.1.1113306_039.resized.png" alt="" width="640" height="420" /></a></p>
<p>Cet outil est fourni par l&#8217;éditeur MySQL lui même.</p>
<p>&nbsp;</p>
<p>Pour l&#8217;installation sur le PC client (desktop) :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">aptitude</span> mysql-query-browser</pre></div></div>

<p>Et sur le serveur il faut faire quelques paramétrages pour autoriser MySQL Query Browser à se connecter.</p>
<p>Éditer votre fichier my.cnf :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">vim</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>mysql<span style="color: #000000; font-weight: bold;">/</span>my.cnf</pre></div></div>

<p>Et commenter la ligne bind-address :</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;"># Instead of skip-networking the default is now to listen only on
 # localhost which is more compatible and is not less secure.
 #bind-address           = 127.0.0.1
 </pre></div></div>

<p>Il faut ensuite donner les droits à votre utilisateur distant à se connecter, ouvrir une invite de commande mysql :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">mysql <span style="color: #660033;">-u</span> root <span style="color: #660033;">-p</span>
 Enter password: <span style="color: #7a0874; font-weight: bold;">&#91;</span>votre mot de passe root<span style="color: #7a0874; font-weight: bold;">&#93;</span></pre></div></div>

<p>Et lancer les commandes SQL suivante :</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">mysql&gt; grant all privileges on *.* to [utilisateur souhaité]@[adresse IP de votre machine distante] identified by &quot;[mot de passe souhaité]&quot;;
 Query OK, 0 rows affected (0.00 sec)
&nbsp;
mysql&gt; flush privileges;
 Query OK, 0 rows affected (0.00 sec)
&nbsp;
mysql&gt; quit
 Bye</pre></div></div>

<p>Sur le client il ne vous reste plus qu&#8217;a vous connecter à MySQL Query Browser avec l&#8217;utilisateur et le mot de passe que vous venez de définir :</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/MySQL-Query-Browser_038.png"><img class="aligncenter size-full wp-image-4343" title="MySQL Query Browser_038" src="http://voidandany.free.fr/wp-content/uploads/MySQL-Query-Browser_038.png" alt="" width="432" height="396" /></a></p>
<p><span style="text-decoration: underline;"><em><strong>Rque :</strong></em></span> Pour des taches plus administratives, dans la même série il existe MySQL Administrator :</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/MySQL-Administrator-yoann@192.168.1.1113306_040.resized.png"><img class="aligncenter size-full wp-image-4342" title="MySQL Administrator yoann@192.168.1.111:3306_040.resized" src="http://voidandany.free.fr/wp-content/uploads/MySQL-Administrator-yoann@192.168.1.1113306_040.resized.png" alt="" width="640" height="475" /></a></p>
<p>Qui s&#8217;installe avec :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">aptitude</span> <span style="color: #c20cb9; font-weight: bold;">install</span> mysql-admin</pre></div></div>

<p><span style="text-decoration: underline;"><em><strong>Rque 2</strong></em></span> : il semblerait que ces 2 outils aient fusionnée dans un bundle <a href="http://dev.mysql.com/downloads/workbench/5.2.html">MySQL Workbench (GUI Tool)</a> mais le paquet n&#8217;est pas encore dans les dépôts</p>
]]></content:encoded>
			<wfw:commentRss>http://voidandany.free.fr/index.php/administrer-sa-base-de-donnees-mysql-sans-phpmyadmin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Script de mise à jour de Shaarli</title>
		<link>http://voidandany.free.fr/index.php/script-de-mise-a-jour-de-shaarli/</link>
		<comments>http://voidandany.free.fr/index.php/script-de-mise-a-jour-de-shaarli/#comments</comments>
		<pubDate>Mon, 26 Sep 2011 19:50:58 +0000</pubDate>
		<dc:creator>voidAndAny</dc:creator>
				<category><![CDATA[software]]></category>
		<category><![CDATA[dockstar]]></category>
		<category><![CDATA[shaarli]]></category>
		<category><![CDATA[webapp]]></category>

		<guid isPermaLink="false">http://voidandany.free.fr/?p=4337</guid>
		<description><![CDATA[Dans mon dernier article je présentais Shaarli développé par Sebsauvage, ce dernier en plus d&#8217;avoir fait un formidable travail, le met à jour très très régulièrement et la liste des améliorations à venir est encore bien fournie. Bref bien que &#8230; <a href="http://voidandany.free.fr/index.php/script-de-mise-a-jour-de-shaarli/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Dans <a title="Outil de bookmarks en ligne : Shaarli" href="http://voidandany.free.fr/index.php/outil-de-bookmarks-en-ligne-shaarli/">mon dernier article</a> je présentais <a href="http://sebsauvage.net/wiki/doku.php?id=php:shaarli">Shaarli</a> développé par Sebsauvage, ce dernier en plus d&#8217;avoir fait un formidable travail, <a href="http://sebsauvage.net/wiki/doku.php?id=php:shaarli#history">le met à jour très très régulièrement</a> et la <a href="http://sebsauvage.net/wiki/doku.php?id=php:shaarli#ideas_fixme">liste des améliorations à venir</a> est encore bien fournie.</p>
<p>Bref bien que le déploiement soit simplissime, je suis feignant et j&#8217;ai écrit un petit script maison qui le fait pour moi :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
&nbsp;
<span style="color: #007800;">REP_INTALLATION</span>=<span style="color: #ff0000;">&quot;/var/www/shaarli&quot;</span>
&nbsp;
<span style="color: #c20cb9; font-weight: bold;">wget</span> http:<span style="color: #000000; font-weight: bold;">//</span>sebsauvage.net<span style="color: #000000; font-weight: bold;">/</span>files<span style="color: #000000; font-weight: bold;">/</span>shaarli.zip
<span style="color: #c20cb9; font-weight: bold;">unzip</span> <span style="color: #660033;">-d</span> shaarli_tmp shaarli.zip
&nbsp;
<span style="color: #007800;">version_en_ligne</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">cat</span> shaarli_tmp<span style="color: #000000; font-weight: bold;">/</span>index.php <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #660033;">-Ei</span> <span style="color: #ff0000;">&quot;'shaarli_version'&quot;</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-rn</span> <span style="color: #ff0000;">&quot;s/.*,'(.*)'.*/\1/p&quot;</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #007800;">version_installee</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #007800;">$REP_INTALLATION</span><span style="color: #000000; font-weight: bold;">/</span>index.php <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #660033;">-Ei</span> <span style="color: #ff0000;">&quot;'shaarli_version'&quot;</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-rn</span> <span style="color: #ff0000;">&quot;s/.*,'(.*)'.*/\1/p&quot;</span><span style="color: #000000; font-weight: bold;">`</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$version_en_ligne</span>&quot;</span> <span style="color: #000000; font-weight: bold;">!</span>= <span style="color: #ff0000;">&quot;<span style="color: #007800;">$version_installee</span>&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>;
<span style="color: #000000; font-weight: bold;">then</span>  
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Version installée (<span style="color: #007800;">$version_installee</span>) différente de la dernière version disponible (<span style="color: #007800;">$version_en_ligne</span>)&quot;</span>
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Installation en cours...&quot;</span>
 <span style="color: #c20cb9; font-weight: bold;">mv</span> shaarli_tmp<span style="color: #000000; font-weight: bold;">/*</span> <span style="color: #007800;">$REP_INTALLATION</span>
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">-rf</span> shaarli_tmp
<span style="color: #c20cb9; font-weight: bold;">rm</span> shaarli.zip</pre></div></div>

<p>Il faudra évidemment que l&#8217;utilisateur qui lance le script ait les droits d&#8217;écriture dans le répertoire d’installation de Shaarli (ce que j&#8217;ai résolu en ajoutant mon utilisateur au groupe www-data propriétaire du répertoire).</p>
<p>Une petite tache cron tous les 2 jours et voila mon shaarli toujours à jour&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://voidandany.free.fr/index.php/script-de-mise-a-jour-de-shaarli/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Outil de bookmarks en ligne : Shaarli</title>
		<link>http://voidandany.free.fr/index.php/outil-de-bookmarks-en-ligne-shaarli/</link>
		<comments>http://voidandany.free.fr/index.php/outil-de-bookmarks-en-ligne-shaarli/#comments</comments>
		<pubDate>Tue, 20 Sep 2011 20:01:15 +0000</pubDate>
		<dc:creator>voidAndAny</dc:creator>
				<category><![CDATA[site web]]></category>
		<category><![CDATA[dockstar]]></category>
		<category><![CDATA[webapp]]></category>

		<guid isPermaLink="false">http://voidandany.free.fr/?p=4317</guid>
		<description><![CDATA[Une nouvelle fonctionnalité pour mon Dockstar un service de marque-pages en ligne. Cela me permettra ainsi d’accéder à mes bookmark de n&#8217;importe où, d&#8217;en partager certains, de purger un peu le dossier &#171;&#160;Marque-pages non classés&#160;&#187; de Firefox et de résoudre &#8230; <a href="http://voidandany.free.fr/index.php/outil-de-bookmarks-en-ligne-shaarli/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Une nouvelle fonctionnalité pour mon <a href="http://voidandany.free.fr/index.php/tag/dockstar/">Dockstar</a> un <strong>service de marque-pages en ligne</strong>.</p>
<p>Cela me permettra ainsi d’accéder à mes bookmark de n&#8217;importe où, d&#8217;en partager certains, de purger un peu le dossier &laquo;&nbsp;Marque-pages non classés&nbsp;&raquo; de Firefox et de résoudre les problèmes de synchronisation entre PC / navigateur.</p>
<p>Petit aparte concernant ce dernier point : j&#8217;ai bien mis en œuvre un <a title="Installer un serveur Firefox Sync minimal avec NGINX (ex Weave)" href="http://voidandany.free.fr/index.php/installer-un-serveur-firefox-sync-minimal-avec-nginx-ex-weave/">serveur sync</a> mais il ne répond que partiellement à mes besoins : pas d&#8217;addon pour chrome/IE, pas de consultation en ligne et pas de synchronisation partiel des marques pages (Xmark répond à tous ces besoins mais dans ma quête d&#8217;indépendance j&#8217;ai décidé de m&#8217;en passer&#8230;)</p>
<p>Revenons au sujet de cet article, je voulais mettre en œuvre un <strong>Delicious ou Diigo auto-hébergé</strong>&#8230;</p>
<p>Lors de mes premières recherches (lorsque je référençait ce que je voudrais voir tourner sur mon Dockstar) j&#8217;avais trouvé <a hreflang="en" href="http://sourceforge.net/projects/scuttle/">Scuttle</a> puis son &laquo;&nbsp;remplaçant&nbsp;&raquo; <a hreflang="fr" href="https://sourceforge.net/projects/semanticscuttle/">SemanticScuttle</a> et puis ayant des chantiers prioritaires j&#8217;en étais resté là.</p>
<p>Il y a quelques jours un blogueur que je respect pour son éthique (en plus d&#8217;avoir des articles très intéressants) aka <a href="http://sebsauvage.net/">sebsauvage</a> à publié ceci :<a href="http://sebsauvage.net/rhaa/index.php?2011/09/16/09/29/58-adieu-delicious-diigo-et-stumbleupon-salut-shaarli-"> Adieu Delicious, Diigo et StumbleUpon. Salut Shaarli !</a></p>
<p>Il ne m&#8217;en a pas fallu plus pour que le sujet revienne sur le devant de la scène. Qui plus est l&#8217;installation de son outil de bookmarks en ligne <a href="http://sebsauvage.net/wiki/doku.php?id=php:shaarli">Shaarli</a> est simplissime donc il ne m&#8217;a pas fallu beaucoup de temps.</p>
<p>Pas de dépendances exotique, pas de base de données juste un serveur web et php&#8230;</p>
<p>On télécharge l&#8217;archive, on la décompresse dans son arborescence web, on s&#8217;assure que les droits sont bons</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">mkdir</span> shaarli
<span style="color: #7a0874; font-weight: bold;">cd</span> shaarli
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">wget</span> http:<span style="color: #000000; font-weight: bold;">//</span>sebsauvage.net<span style="color: #000000; font-weight: bold;">/</span>files<span style="color: #000000; font-weight: bold;">/</span>shaarli_0.0.14beta.zip
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">unzip</span> shaarli_0.0.14beta.zip
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">chown</span> www-data:www-data ..<span style="color: #000000; font-weight: bold;">/</span>shaarli <span style="color: #660033;">-R</span></pre></div></div>

<p>(Lignes de commande à adapter à sa configuration, lien de téléchargement à mettre à jour, Sebsauvage met à jour son script tous les jours&#8230;)</p>
<p>&nbsp;</p>
<p>Ensuite on paramètre son serveur web pour autoriser l&#8217;accès au répertoire créé, on se connecte sur le site, on choisi un login et mot de passe et on drag/drop le snippet dans sa barre des marques page de son navigateur et voila tout est prèt.</p>
<p>Plus de détails <a href="http://sebsauvage.net/wiki/doku.php?id=php:shaarli">sur le wiki de Sebsauvage</a>.</p>
<p>Page principal du service :</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/Sélection_039.resized1.png"><img class="aligncenter size-full wp-image-4327" title="Sélection_039.resized" src="http://voidandany.free.fr/wp-content/uploads/Sélection_039.resized1.png" alt="" width="455" height="480" /></a></p>
<p>&nbsp;</p>
<p>Page, pop-up d&#8217;ajout de marque-page</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/Sélection_039.resized1.png"></a><a href="http://voidandany.free.fr/wp-content/uploads/Sélection_0381.png"><img class="aligncenter size-full wp-image-4325" title="Sélection_038" src="http://voidandany.free.fr/wp-content/uploads/Sélection_0381.png" alt="" width="607" height="339" /></a></p>
<p>Après quelques jours de tests <strong>je suis comblé</strong>, c&#8217;est simple, ça fonctionne, parfaitement dans l&#8217;esprit <a href="http://fr.wikipedia.org/wiki/Keep_it_Simple,_Stupid">KISS</a>, le design  pourrait être amélioré mais cela va, présence de bookmarks publiques et privés, une description du bookmark, des tags (une discipline à prendre)&#8230;.</p>
<p>&nbsp;</p>
<p><span style="text-decoration: underline;"><em><strong>Sources : </strong></em></span></p>
<p>Autres outils :<a title="Scuttle : bookmark manager" href="http://blog.tomamplius.net/index.php?post/2010/05/23/Scuttle-%3A-bookmark-manager"></a></p>
<ul>
<li><a title="Scuttle : bookmark manager" href="http://blog.tomamplius.net/index.php?post/2010/05/23/Scuttle-%3A-bookmark-manager">Scuttle : bookmark manager</a></li>
<li><a href="http://blog.tomamplius.net/index.php?post/2010/10/08/Migration-de-Scuttle-vers-SemanticScuttle">Scuttle vers SemanticScuttle</a></li>
<li><a href="http://sourceforge.net/projects/semanticscuttle/">SemanticScuttle</a> </li>
<li><a href="http://sarahhaim.wordpress.com/2008/05/15/6-outils-de-bookmarking-delicious-lik/">Revue : 6 outils de bookmarking opensource (del.icio.us like) « Opensource et médias sociaux</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://voidandany.free.fr/index.php/outil-de-bookmarks-en-ligne-shaarli/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ecouter sa musique partout sans Google Music : Ampache, Subsonic et co</title>
		<link>http://voidandany.free.fr/index.php/ecouter-sa-musique-partout-sans-google-music-ampache-subsonic-et-co/</link>
		<comments>http://voidandany.free.fr/index.php/ecouter-sa-musique-partout-sans-google-music-ampache-subsonic-et-co/#comments</comments>
		<pubDate>Mon, 19 Sep 2011 20:16:28 +0000</pubDate>
		<dc:creator>voidAndAny</dc:creator>
				<category><![CDATA[site web]]></category>
		<category><![CDATA[dockstar]]></category>
		<category><![CDATA[musique]]></category>
		<category><![CDATA[webapp]]></category>

		<guid isPermaLink="false">http://voidandany.free.fr/?p=4150</guid>
		<description><![CDATA[Le dernier service Google à la mode est Google Music. Vous confiez/uploadez toute votre musique à Google et vous pouvez y accéder via une interface Web ou une application Android. C&#8217;est bien mais ce n&#8217;est pas révolutionnaire (à part peut &#8230; <a href="http://voidandany.free.fr/index.php/ecouter-sa-musique-partout-sans-google-music-ampache-subsonic-et-co/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Le dernier service Google à la mode est Google Music. Vous confiez/uploadez toute votre musique à Google et vous pouvez y accéder via une interface Web ou une application Android.</p>
<p>C&#8217;est bien mais ce n&#8217;est pas révolutionnaire (à part peut être le fait que Google &laquo;&nbsp;offre&nbsp;&raquo; 100Go de stockage dans le cloud) et cela fait une chose de plus (un bout de votre vie) que vous confiez à un géant du Web.</p>
<p>Cette idée de <strong>bibliothèque musicale sur le web</strong>, accessible de partout, je l&#8217;ai depuis pas mal de temps (voir <a title="Lien permanent vers Marques pages : Choisir un lecteur audio pour Ubuntu" rel="bookmark" href="../index.php/marques-pages-choisir-un-lecteur-audio-pour-ubuntu/">Marques pages : Choisir un lecteur audio pour Ubuntu</a> et plus particulièrement la fin Lecteurs audio « client-serveur ») et après pas mal de tests, d&#8217;exploration de solutions non pérennes (daap, icecast, etc), j&#8217;ai enfin trouvé <a href="http://ampache.org/"><em><em>Ampache.</em></em></a></p>
<p>Dans cet article je vais décrire l&#8217;<strong>installation d&#8217;Ampache</strong> mais aussi d&#8217;autres logiciels ayant la même vocation :</p>
<ul>
<li><a href="http://www.subsonic.org/pages/index.jsp">Subsonic</a></li>
<li><a href="http://web.psung.name/zeya/">Zeya</a></li>
<li><a href="http://www.pancake.org/zina">Zina</a></li>
<li><a href="http://github.com/daveisadork/Blofeld">Blofeld</a></li>
<li><a href="https://github.com/chaffneue/streeme">Streeme</a></li>
</ul>
<p>Mes critère de choix, outre la possibilité d&#8217;écouter ma musique via internet était que le service doit pouvoir fonctionner sur mon <a title="Marques-pages : Un mini serveur le Seagate Dockstar" href="http://voidandany.free.fr/index.php/marques-pages-un-mini-serveur-le-seagate-dockstar/">Dockstar</a> avec son petit processeur ARM et ses 128 Mo de RAM !!</p>
<p>&nbsp;</p>
<h2>Ampache</h2>
<p>Commençons par le gagnant.</p>
<p>Ampache n&#8217;est pas le logiciel le plus beau ni celui offrant le plus fonctionnalité mais il offre l&#8217;immense avantage de s&#8217;installer sur un pile serveur web + MySQL et de ne pas consommer trop de ressources</p>
<p>Ampache est dans les dépôts Debian (avec une petite particularité nous le verrons plus tard) on l&#8217;installe donc avec son gestionnaire de paquet préféré (aptitude pour moi) :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">aptitude</span> <span style="color: #c20cb9; font-weight: bold;">install</span> ampache</pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">Les NOUVEAUX paquets suivants vont être installés :
 ampache libjs-prototype{a} libmysqlclient16{a} libnusoap-php{a} libphp-snoopy{a} mysql-common{a} php5{a} php5-auth-pam{a}
 php5-mysql{a} php5-xmlrpc{a} ttf-freefont{a}
 Les paquets suivants sont RECOMMANDÉS mais ne seront pas installés :
 ampache-themes apache2-mpm-prefork eyed3 javascript-common lighttpd x-ttcidfont-conf
 0 paquets mis à jour, 11 nouvellement installés, 0 à enlever et 0 non mis à jour.
 Il est nécessaire de télécharger 4 177 ko/6 087 ko d'archives. Après dépaquetage, 17,9 Mo seront utilisés.</pre></div></div>

<p>On remarquera que le paquet conseil d&#8217;installer apache ou lighttpd, mais j&#8217;ai déjà <a title="Installer un serveur web (nginx) sur le Seagate Dockstar" href="http://voidandany.free.fr/index.php/installer-un-serveur-web-nginx-sur-le-seagate-dockstar/">NGINX</a> d&#8217;installé&#8230;</p>
<p>On <a title="Lien permanent vers Installer et configurer Mysql sur le Dockstar" rel="bookmark" href="../index.php/installer-et-configurer-mysql-sur-le-dockstar/">Installera aussi le serveur MySQL</a>, bien qu&#8217;il ne soit pas dans les paquets nécessaires ni recommandés (pour la bonne raison que l&#8217;on peut utiliser une base distante)</p>
<p>Le paquet Ampache installe les pages HTML/php constituant le logiciel dans /usr/share/ampache  et il faut donc les rendre accessible de son serveur web, j&#8217;ai pour ma part choisi de créer un lien symbolique entre la racine de mon serveur web et le répertoire d&#8217;Ampache :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www
<span style="color: #c20cb9; font-weight: bold;">ln</span> <span style="color: #660033;">-s</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>share<span style="color: #000000; font-weight: bold;">/</span>ampache<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span> ampache
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">chown</span> www-data:www-data ampache<span style="color: #000000; font-weight: bold;">/</span> <span style="color: #660033;">-R</span></pre></div></div>

<p>On se connecte ensuite à son serveur Web :</p>
<p>http://IP-du-serveur/ampache</p>
<p>Et on passe les différents écran de configuration :</p>
<p>Tout d&#8217;abord on vérifie que tous les pré-requis système sont présents :</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/Sélection_025.resized1.png"><img class="aligncenter size-full wp-image-4294" title="Sélection_025.resized" src="http://voidandany.free.fr/wp-content/uploads/Sélection_025.resized1.png" alt="" width="640" height="452" /></a>Dans mon cas j&#8217;ai eu un problème avec le pré-requis &laquo;&nbsp;MySQL for php&nbsp;&raquo; et ce malgré l&#8217;installation du paquet php5-mysql, je l&#8217;ai corrigé en <a href="http://voidandany.free.fr/index.php/ajouter-le-support-mysql-a-php/">ajoutant une ligne dans mon php.ini</a></p>
<p>Sélectionner ensuite la langue d&#8217;installation.</p>
<p>&nbsp;</p>
<p>Renseigner ensuite les données MySQL : l&#8217;utilisateur root, son mot de passe, la machine hébergeant MySQL (localhost le plus souvant) et le nom de la base à créer (ampache pour faire simple)</p>
<p>On indique aussi que l&#8217;on veut créer un nouvel utilisateur MySQL nommé ampache (ou comme vous le souhaitez)</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/Sélection_026.resized1.png"><img class="aligncenter size-full wp-image-4295" title="Sélection_026.resized" src="http://voidandany.free.fr/wp-content/uploads/Sélection_026.resized1.png" alt="" width="546" height="480" /></a></p>
<p>Ayant faire divers essai j&#8217;ai remarqué que si on coche la case &laquo;&nbsp;Ecraser la configuration existante&nbsp;&raquo; on a l&#8217;erreur :</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">Error: Unable to make Database Connection Access denied for user 'root'@'localhost' (using password: NO)</pre></div></div>

<p>Si on a déjà une base ampache que l&#8217;on souhaite écraser, il n&#8217;y a pas d&#8217;autre moyen que de supprimer les tables et la base précédente via un requeteur</p>
<p>&nbsp;</p>
<p>Normalement à l&#8217;étape suivante la base, l&#8217;utilisateur dédié et les table doivent être créés, on indique alors les informations choisies précédemment (nom de la base, utilisateur et mot de passe de ce dernier)</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/Sélection_027.resized.png"><img class="aligncenter size-full wp-image-4296" title="Sélection_027.resized" src="http://voidandany.free.fr/wp-content/uploads/Sélection_027.resized.png" alt="" width="616" height="480" /></a></p>
<p>Le bouton &laquo;&nbsp;écrire la configuration&nbsp;&raquo; télécharge un fichier ampache.cfg.php   qu&#8217;il faut copier sous /var/www/ampache/config (penser au droit accès)</p>
<p>Un fois copié, cliquer sur le lien &laquo;&nbsp;teste de la configuration&nbsp;&raquo; et tout devrait être OK :<a href="../wp-content/uploads/S%C3%A9lection_029.resized.png"><br />
 </a><a href="http://voidandany.free.fr/wp-content/uploads/Sélection_029.png"><img class="aligncenter size-full wp-image-4305" title="Sélection_029" src="http://voidandany.free.fr/wp-content/uploads/Sélection_029.png" alt="" width="213" height="49" /></a></p>
<p>Créer ensuite un compte administrateur :</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/Sélection_029.png"></a><a href="http://voidandany.free.fr/wp-content/uploads/Sélection_030.resized.png"><img class="aligncenter size-full wp-image-4299" title="Sélection_030.resized" src="http://voidandany.free.fr/wp-content/uploads/Sélection_030.resized.png" alt="" width="640" height="355" /></a></p>
<p>Et la configuration est terminée, reste plus qu&#8217;a aller sur la page d&#8217;accueil et se logguer avec le compte administrateur défini précedemment :</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/Sélection_030.resized.png"></a><a href="http://voidandany.free.fr/wp-content/uploads/Sélection_031.resized.png"><img class="aligncenter size-full wp-image-4300" title="Sélection_031.resized" src="http://voidandany.free.fr/wp-content/uploads/Sélection_031.resized.png" alt="" width="574" height="480" /></a></p>
<p>Voici l&#8217;interface par défaut d&#8217;Ampache (vous verrez par la suite il y a d&#8217;autres logiciel plus beaux mais aussi des plus moches&#8230;)</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/Sélection_032.resized.png"><img class="aligncenter size-full wp-image-4301" title="Sélection_032.resized" src="http://voidandany.free.fr/wp-content/uploads/Sélection_032.resized.png" alt="" width="640" height="338" /></a></p>
<p>L&#8217;étape suivante à aller dans les pages de paramétrage et d&#8217;ajouter un répertoire contenant de la musique :</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/Sélection_033.resized.png"><img class="aligncenter size-full wp-image-4302" title="Sélection_033.resized" src="http://voidandany.free.fr/wp-content/uploads/Sélection_033.resized.png" alt="" width="640" height="441" /></a>Attention Ampache (via l&#8217;utilisateur www-data de votre serveur web) doit avoir accès en lecture aux fichiers&#8230;</p>
<p>&nbsp;</p>
<p>Pour la lecture de la musique Ampache propose de télécharger une playlist avec les adresses des morceaux sélectionnés (en http) ou de piloter un serveur MPD ou dans le cas qui nous intéresse de jouer la musique directement dans l&#8217;interface via un lecteur en Flash.</p>
<p>Or ce lecteur Flash n&#8217;est packagé dans l&#8217;archive Debian/Ubuntu (pour des raison de droits ?), il faut donc l&#8217;installer manuellement.</p>
<p>Pour cela télécharger l&#8217;archive des sources sur le site d&#8217;Ampache, la décompresser et copier les fichiers xspf_jukebox.fla et swf présents dans le répertoire module/flash dans le répertoire correspondant de votre installation.</p>
<p>&nbsp;</p>
<p>Enfin si on veut rendre Ampache plus (les goûts et les couleurs&#8230;) on pourra installer le paquet ampache-themes qui propose des thème supplémentaire par rapport a ceux embarqués par défaut.</p>
<p>Pour ma part j&#8217;ai installé un thème trouvé sur le forum d&#8217;Ampache :</p>
<h3><a href="http://ampache.org/forums/viewtopic.php?f=5&amp;t=3392#p16587">Fresh theme (r5 &#8211; now playing update)</a></h3>
<p><a href="http://voidandany.free.fr/wp-content/uploads/Sélection_038.resized.png"><img class="aligncenter size-full wp-image-4306" title="Sélection_038.resized" src="http://voidandany.free.fr/wp-content/uploads/Sélection_038.resized.png" alt="" width="640" height="311" /></a></p>
<p>&nbsp;</p>
<h2>Subsonic</h2>
<p>Subsonic a été le plus sérieux concurrent à Ampache.</p>
<p>Il est beau, bourré de fonctionnalité, ergonomique :</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/Sélection_013.resized.png"><img class="aligncenter size-full wp-image-4276" title="Sélection_013.resized" src="http://voidandany.free.fr/wp-content/uploads/Sélection_013.resized.png" alt="" width="640" height="410" /></a></p>
<p>MAIS il est en Java.</p>
<p>Il occupe donc beaucoup de place disque (90Mo rien que pour le JRE), mémoire et CPU.</p>
<p>Ces 2 derniers points sont bloquant pour mon Dockstar :</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/cpu-day3.png"><img class="aligncenter size-full wp-image-4265" title="memory-day3" src="http://voidandany.free.fr/wp-content/uploads/memory-day3.png" alt="" width="497" height="424" /><img class="aligncenter size-full wp-image-4264" title="cpu-day3" src="http://voidandany.free.fr/wp-content/uploads/cpu-day3.png" alt="" width="497" height="364" /></a></p>
<p>En pré-requis Subsonic à le JRE, sur un serveur comme le Dockstar il est impératif de prendre la version headless, sinon on se retrouve à télécharger xorg et 50 Mo supplémentaires de librairies graphiques&#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">aptitude</span> <span style="color: #c20cb9; font-weight: bold;">install</span> openjdk-jre-headless</pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">Les NOUVEAUX paquets suivants vont être installés :
 ca-certificates-java{a} java-common{a} libavahi-client3{a}   libavahi-common-data{a} libavahi-common3{a} libcups2{a} libdbus-1-3{a}   libfreetype6{a} liblcms1{a} libnspr4-0d{a}
 libnss3-1d{a} openjdk-6-jre-headless openjdk-6-jre-lib{a} tzdata-java{a}
 Les paquets suivants sont RECOMMANDÉS mais ne seront pas installés :
 dbus icedtea-6-jre-cacao
 0 paquets mis à jour, 14 nouvellement installés, 0 à enlever et 0 non mis à jour.
 Il est nécessaire de télécharger 32,0 Mo/32,4 Mo d'archives. Après dépaquetage, 87,3 Mo seront utilisés.</pre></div></div>

<p>On téléchargera ensuite le paquet correspondant à Debian/Ubuntu sur la page du projet :</p>
<h3><a href="http://subsonic.org/"><em>Subsonic</em> » Free Music Streamer</a></h3>
<p>Et on l&#8217;installera :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">dpkg</span> <span style="color: #660033;">-i</span> subsonic<span style="color: #000000; font-weight: bold;">*</span>.deb</pre></div></div>

<p>Pour finir l&#8217;installation / la configuration il suffit d&#8217;aller sur le serveur sur lequel vous avez installé Subsonic sur le port 4040 :</p>
<p>http://IP-du-serveur:4040</p>
<p>On se connecte avec l&#8217;utilisateur et mot de passe &laquo;&nbsp;admin&nbsp;&raquo;</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/Sélection_0099.png"><img class="aligncenter size-full wp-image-4268" title="Sélection_009" src="http://voidandany.free.fr/wp-content/uploads/Sélection_0099.png" alt="" width="516" height="208" /></a></p>
<p>Et la page d&#8217;accueil s&#8217;affiche :</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/Sélection_010.resized.png"><img class="aligncenter size-full wp-image-4275" title="Sélection_010.resized" src="http://voidandany.free.fr/wp-content/uploads/Sélection_010.resized.png" alt="" width="640" height="389" /></a></p>
<p>Et indique les étapes à réaliser (les étapes sont cliquables) :</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/Sélection_0152.png"><img class="aligncenter size-full wp-image-4272" title="Sélection_015" src="http://voidandany.free.fr/wp-content/uploads/Sélection_0152.png" alt="" width="523" height="430" /></a></p>
<p>Premièrement pour des raisons de sécurité, changer le mot de passe administrateur :</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/Sélection_0162.png"><img class="aligncenter size-full wp-image-4273" title="Sélection_016" src="http://voidandany.free.fr/wp-content/uploads/Sélection_0162.png" alt="" width="498" height="403" /></a></p>
<p>Puis configurer les lieux de stockage de la musique :</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/Sélection_0173.png"><img class="aligncenter size-full wp-image-4274" title="Sélection_017" src="http://voidandany.free.fr/wp-content/uploads/Sélection_0173.png" alt="" width="626" height="320" /></a></p>
<p>Lorsque l&#8217;indexation est terminée on peut profiter de Subsonic</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/Sélection_0173.png"></a><a href="http://voidandany.free.fr/wp-content/uploads/Sélection_014.resized.png"><img class="aligncenter size-full wp-image-4277" title="Sélection_014.resized" src="http://voidandany.free.fr/wp-content/uploads/Sélection_014.resized.png" alt="" width="640" height="407" /></a></p>
<p>&#8230; pour peu que sa machine le supporte, c&#8217;est à dire pas un Dockstar, vraiment dommage &#8230;</p>
<p>&nbsp;</p>
<h2>Zeya</h2>
<p>Zeya est un petit serveur musical ne proposant que très peu de fonctionnalités : une liste de morceau, on en choisi un et il est joué dans le navigateur&#8230;</p>
<p><a href="../wp-content/uploads/S%C3%A9lection_007-600x370.png"><img title="Zeya " src="../wp-content/uploads/S%C3%A9lection_007-600x370.png" alt="" width="600" height="370" /></a></p>
<p>Zeya est disponible dans les dépôts Debian/Ubuntu (v0.4) il suffit donc de faire :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">aptitude</span> <span style="color: #c20cb9; font-weight: bold;">install</span> zeya</pre></div></div>

<p>Sur ma Debian cela prend 8 675 ko et installe les paquets suivants :</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">libao-common{a} libao4{a} libboost-python1.42.0{a} libflac8{a} libogg0{a} libspeex1{a} libtag1-vanilla{a} libtag1c2a{a}
 libvorbis0a{a} libvorbisenc2{a} libvorbisfile3{a} python-simplejson{a} python-tagpy{a} vorbis-tools{a} zeya</pre></div></div>

<p>Et recommande les paquets suivants :</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">flac libjs-jquery mpg123 mpg321</pre></div></div>

<p>Le lancement de Zeya se fait ensuite avec un simple :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">zeya <span style="color: #660033;">--path</span>=<span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/</span>multimedia<span style="color: #000000; font-weight: bold;">/</span>Musiques</pre></div></div>

<p>Le premier démarrage est long car Zeya scanne le répertoire passé en paramètre en vue d&#8217;indexer les morceaux de musique qu&#8217;il contient :</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">Using 'dir' backend.
 Scanning for music in '/data/multimedia/Musiques/Musique'...
 TagLib: MPEG::Header::parse() -- Invalid sample rate.
&nbsp;
TagLib: MPEG::Properties::read() -- Could not find a valid last MPEG frame in the stream
&nbsp;
TagLib: Ogg::File::packet() -- Could not find the requested packet.
 TagLib: Vorbis::File::read() - Could not find the Vorbis comment header.
&nbsp;
TagLib: ID3v2.4 no longer supports the frame type RVAD.  It will be discarded from the tag.</pre></div></div>

<p>Les erreurs que j&#8217;ai eu (ci-dessus) seraient sûrement corrigées avec l&#8217;installation des paquets recommandés.</p>
<p>Ensuite Zeya démarre un serveur web sur le port  8080, sert l&#8217;interface et stream la musique :</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">Loading library...
 Listening on port 8080
 ::ffff:192.168.1.100 - - [16/Jun/2011 21:37:18] &quot;GET / HTTP/1.1&quot; 200 -
 ::ffff:192.168.1.100 - - [16/Jun/2011 21:37:18] &quot;GET /zeya.css HTTP/1.1&quot; 200 -
 ::ffff:192.168.1.100 - - [16/Jun/2011 21:37:18] &quot;GET /zeya.js HTTP/1.1&quot; 200 -
 ::ffff:192.168.1.100 - - [16/Jun/2011 21:37:18] &quot;GET /previous.png HTTP/1.1&quot; 200 -
 ::ffff:192.168.1.100 - - [16/Jun/2011 21:37:18] &quot;GET /play.png HTTP/1.1&quot; 200 -
 ::ffff:192.168.1.100 - - [16/Jun/2011 21:37:18] &quot;GET /next.png HTTP/1.1&quot; 200 -
 ::ffff:192.168.1.100 - - [16/Jun/2011 21:37:18] &quot;GET /pause.png HTTP/1.1&quot; 200 -
 ::ffff:192.168.1.100 - - [16/Jun/2011 21:37:18] &quot;GET /spinner.gif HTTP/1.1&quot; 200 -
 ::ffff:192.168.1.100 - - [16/Jun/2011 21:37:18] &quot;GET /repeat.png HTTP/1.1&quot; 200 -
 ::ffff:192.168.1.100 - - [16/Jun/2011 21:37:18] &quot;GET /shuffle.png HTTP/1.1&quot; 200 -
 ::ffff:192.168.1.100 - - [16/Jun/2011 21:37:18] &quot;GET /search.png HTTP/1.1&quot; 200 -
 ::ffff:192.168.1.100 - - [16/Jun/2011 21:37:18] &quot;GET /favicon.png HTTP/1.1&quot; 200 -
 ::ffff:192.168.1.100 - - [16/Jun/2011 21:37:18] &quot;GET /favicon.png HTTP/1.1&quot; 200 -
 ::ffff:192.168.1.100 - - [16/Jun/2011 21:37:18] &quot;GET /getlibrary HTTP/1.1&quot; 200 -
 ::ffff:192.168.1.100 - - [16/Jun/2011 21:38:03] &quot;GET /getcontent?key=3797 HTTP/1.1&quot; 200 -
 Handling request for /data/multimedia/Musiques/Musique/Renan Luce/Repenti/Renan Luce - 13 - LIris Et La Rose.ogg
 ::ffff:192.168.1.100 - - [16/Jun/2011 21:40:25] &quot;GET /getcontent?key=3785 HTTP/1.1&quot; 200 -
 Handling request for /data/multimedia/Musiques/Musique/Renan Luce/Repenti/Renan Luce - 01 - Les Voisines.ogg</pre></div></div>

<p>Comme indiqué précédemment Zeya est simplissime et il manque tout de même quelques fonctionnalités, notamment la possibilité de gérer sa liste de lecture, en effet Zeya joue les morceau les un derrière les autres sans possibilité de les ordonner (par contre on peut les sélectionner avec la zone de recherche), de plus il n&#8217;est pas possible d&#8217;avancer dans un morceau et enfin dernier critère de non choix, sur mon Dockstar la CPU monte à 100% et les morceaux coupent toutes les 5s</p>
<p>&nbsp;</p>
<p><strong>Rque : </strong>pour installer le dernière version (v0.5), télécharger le paquet sur le site du projet : <br />
 <a href="http://web.psung.name/zeya/">http://web.psung.name/zeya/</a></p>
<p>Installer les dépendances (et éventuellement les paquets recommandés voir ci-dessus)</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">vorbis-tools python-simplejson python-tagpy</pre></div></div>

<p>Et installer Zeya :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">dpkg</span> <span style="color: #660033;">-i</span> zeya_0.5-<span style="color: #000000;">1</span>_all.deb</pre></div></div>

<p>&nbsp;</p>
<h2>Zina</h2>
<p><a href="http://www.pancake.org/zina">Zina</a> ressemble un peu à Ampache, mais en moins beau et avec le MySQL optionnel.</p>
<p>De plus il n&#8217;est plus maintenu (ou tout du moins en pause) depuis Août 2010&#8230;</p>
<p>Pour l&#8217;installer on télécharge l&#8217;archive sur le site, on la décompresse dans un répertoire accessible du serveur web et voila :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">wget</span> https:<span style="color: #000000; font-weight: bold;">//</span>downloads.sourceforge.net<span style="color: #000000; font-weight: bold;">/</span>project<span style="color: #000000; font-weight: bold;">/</span>zina<span style="color: #000000; font-weight: bold;">/</span>Zina<span style="color: #000000; font-weight: bold;">/</span>2.0beta22<span style="color: #000000; font-weight: bold;">/</span>zina-2.0b22.tar.gz?<span style="color: #007800;">r</span>=<span style="color: #000000; font-weight: bold;">&amp;</span><span style="color: #007800;">ts</span>=<span style="color: #000000;">1315944029</span><span style="color: #000000; font-weight: bold;">&amp;</span><span style="color: #007800;">use_mirror</span>=freefr
<span style="color: #c20cb9; font-weight: bold;">mv</span> zina-2.0b22.tar.gz<span style="color: #000000; font-weight: bold;">*</span> zina-2.0b22.tar.gz
<span style="color: #c20cb9; font-weight: bold;">tar</span> <span style="color: #660033;">-xvf</span> zina-2.0b22.tar.gz
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">mv</span> zina<span style="color: #000000; font-weight: bold;">/</span> <span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/</span>www
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">chown</span> www-data.www-data <span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>zina <span style="color: #660033;">-R</span></pre></div></div>

<p>Il suffit ensuite d&#8217;accéder à Zina en http (adresse en fonction de votre serveur web) : http://IP_erveur/zina/index.php</p>
<p>Zina permet de jouer la musique en téléchargeant une playlist contenant les lien http vers les morceaux sélectionnés</p>
<p><a href="../wp-content/uploads/S%C3%A9lection_0221.png"><img title="Sélection_022" src="../wp-content/uploads/S%C3%A9lection_0221.png" alt="" width="640" height="371" /></a></p>
<p>&nbsp;</p>
<p>Ou via un lecteur flash embarqué (d’ailleurs mieux intégré que celui d&#8217;Ampache)</p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/Sélection_0242.png"><img class="aligncenter size-full wp-image-4293" title="Sélection_024" src="http://voidandany.free.fr/wp-content/uploads/Sélection_0242.png" alt="" width="640" height="410" /></a><a href="http://voidandany.free.fr/wp-content/uploads/Sélection_0221.png"><img class="aligncenter size-full wp-image-4292" title="Sélection_023" src="http://voidandany.free.fr/wp-content/uploads/Sélection_0231.png" alt="" width="640" height="266" /><br />
 </a><a href="http://voidandany.free.fr/wp-content/uploads/Sélection_0211.png"><img class="aligncenter size-full wp-image-4290" title="Sélection_021" src="http://voidandany.free.fr/wp-content/uploads/Sélection_0211.png" alt="" width="629" height="480" /></a></p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/Sélection_0202.png"><img class="aligncenter size-full wp-image-4289" title="Sélection_020" src="http://voidandany.free.fr/wp-content/uploads/Sélection_0202.png" alt="" width="640" height="372" /></a></p>
<h2>Blofeld</h2>
<p>L&#8217;annonce de Blofeld est alléchante : <a rel="next" href="http://www.davehayes.org/2010/07/22/introducing-blofeld">Introducing Blofeld</a></p>
<p>Mais la phrase &laquo;&nbsp;Difficult to install and configure&nbsp;&raquo; en parlant des autres serveurs musicaux me fait doucement rire car je n&#8217;ai pas réussi à installer Blofeld, pire j&#8217;ai planté mon Dockstar ce qui m&#8217;a valu une belle frayeur (<a title="Mon Dockstar ne boot plus sous Debian" href="http://voidandany.free.fr/index.php/mon-dockstar-ne-boot-plus-sous-debian/">voir cet article</a>).</p>
<p>Peut être est ce dû au fait que j&#8217;ai essayé de l&#8217;installer sur une Debian ARM alors que l&#8217;auteur semble privilégier Ubuntu&#8230;</p>
<p>De plus depuis l&#8217;annonce le <a href="https://github.com/daveisadork/Blofeld">github du projet</a> ne semble pas beaucoup bouger&#8230;</p>
<p>&nbsp;</p>
<p>Voici les étapes que j&#8217;ai suivi :</p>
<p>Installation des dépendances (attention ça fait mal, pire que le JRE) :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">aptitude</span> <span style="color: #c20cb9; font-weight: bold;">install</span> python-cheetah python-imaging python-mutagen python-couchdbkit couchdb python-gst0.10 gstreamer0.10-ffmpeg python-cherrypy3</pre></div></div>

<p>Ce qui installe :</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">couchdb erlang-base{a} erlang-crypto{a} erlang-inets{a} erlang-mnesia{a} erlang-public-key{a} erlang-runtime-tools{a}
 erlang-ssl{a} erlang-tools{a} erlang-webtool{a} erlang-xmerl{a} gstreamer0.10-ffmpeg iso-codes{a} libavcodec52{a}
 libavformat52{a} libavutil49{a} libdirac-encoder0{a} libfaad2{a} libffi5{a} libgsm1{a} libgstreamer-plugins-base0.10-0{a}
 libgstreamer0.10-0{a} libicu44{a} libjs-jquery{a} liblcms1{a} libmozjs2d{a} libnspr4-0d{a} libogg0{a} liboil0.3{a}
 libopenjpeg2{a} liborc-0.4-0{a} libpostproc51{a} libpython2.6{a} libschroedinger-1.0-0{a} libspeex1{a} libswscale0{a}
 libtheora0{a} libvorbis0a{a} libvorbisenc2{a} python-anyjson{a} python-cheetah python-cjson{a} python-couchdbkit
 python-gobject{a} python-gst0.10 python-imaging python-libxml2{a} python-mutagen python-restkit{a}</pre></div></div>

<p>Soit plus de 110 Mo !!</p>
<p>Récupération et installation de Blofeld :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">wget</span> https:<span style="color: #000000; font-weight: bold;">//</span>github.com<span style="color: #000000; font-weight: bold;">/</span>daveisadork<span style="color: #000000; font-weight: bold;">/</span>Blofeld<span style="color: #000000; font-weight: bold;">/</span>zipball<span style="color: #000000; font-weight: bold;">/</span>0.2.5
<span style="color: #c20cb9; font-weight: bold;">mv</span> 0.2.5 blofeld.zip
<span style="color: #c20cb9; font-weight: bold;">unzip</span> blofeld.zip
<span style="color: #c20cb9; font-weight: bold;">mv</span> daveisadork-Blofeld-96c363e<span style="color: #000000; font-weight: bold;">/</span> blofeld</pre></div></div>

<p>Lancement :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">blofeld</pre></div></div>

<p>Et là se fut le drame, la CPU est montée, le terminal ne répondait plus, la connexion SSH a été interrompue et j&#8217;ai du rebooter sauvagement le Dockstar avec pour conséquence de la planter&#8230;</p>
<p>Donc pas de copie d&#8217;écran&#8230;.</p>
<p>&nbsp;</p>
<h2>Streeme</h2>
<p>[Ajout du 17/06/2013]</p>
<p>Nouveau (enfin pas si nouveau que ça) venu, un serveur musical simple mais complet en HTML5 / PHP (Symfony 1)</p>
<h3><a rel="attachment wp-att-4765" href="http://voidandany.free.fr/index.php/ecouter-sa-musique-partout-sans-google-music-ampache-subsonic-et-co/selection_001-22/"><img class="aligncenter size-full wp-image-4765" title="Sélection_001" src="http://voidandany.free.fr/wp-content/uploads/Sélection_00121.png" alt="" width="639" height="398" /></a></h3>
<p>Installation des pré-requis :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">aptitude</span> <span style="color: #c20cb9; font-weight: bold;">install</span> php-pear curl php5-curl php5-gd <span style="color: #c20cb9; font-weight: bold;">ffmpeg</span>
<span style="color: #c20cb9; font-weight: bold;">sudo</span> pear <span style="color: #c20cb9; font-weight: bold;">install</span> HTTP_Download</pre></div></div>

<p>Clone du repo :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">git</span> clone https:<span style="color: #000000; font-weight: bold;">//</span>github.com<span style="color: #000000; font-weight: bold;">/</span>chaffneue<span style="color: #000000; font-weight: bold;">/</span>streeme.git streeme
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">mv</span> streeme<span style="color: #000000; font-weight: bold;">/</span> <span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/</span>www
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">chown</span> www-data.www-data <span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>streeme <span style="color: #660033;">-R</span></pre></div></div>

<p>Création d&#8217;une base MySQL</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">mysql <span style="color: #660033;">-uroot</span> <span style="color: #660033;">-p</span>
CREATE DATABASE streeme  DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
grant usage on <span style="color: #000000; font-weight: bold;">*</span>.<span style="color: #000000; font-weight: bold;">*</span> to streeme<span style="color: #000000; font-weight: bold;">@</span>localhost identified by <span style="color: #ff0000;">'password'</span>;
grant all privileges on streeme.<span style="color: #000000; font-weight: bold;">*</span> to streeme<span style="color: #000000; font-weight: bold;">@</span>localhost ;</pre></div></div>

<p>Configuration :</p>
<p>&nbsp;</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>streeme
<span style="color: #c20cb9; font-weight: bold;">cp</span> config<span style="color: #000000; font-weight: bold;">/</span>databases.template.yml config<span style="color: #000000; font-weight: bold;">/</span>databases.yml
<span style="color: #c20cb9; font-weight: bold;">cp</span> apps<span style="color: #000000; font-weight: bold;">/</span>client<span style="color: #000000; font-weight: bold;">/</span>config<span style="color: #000000; font-weight: bold;">/</span>app.template.yml apps<span style="color: #000000; font-weight: bold;">/</span>client<span style="color: #000000; font-weight: bold;">/</span>config<span style="color: #000000; font-weight: bold;">/</span>app.yml
<span style="color: #c20cb9; font-weight: bold;">mkdir</span> cache
<span style="color: #c20cb9; font-weight: bold;">chmod</span> <span style="color: #000000;">777</span> log cache</pre></div></div>

<p>&nbsp;</p>
<p>Édition de config/databases.yml et configuration de la section all (username, password)</p>
<p>Édition de apps/client/config/app.yml et configuration des attributs watched_folders,  allowed_file_types, ffmpeg_executable</p>
<p>Vidage des caches :</p>
<p>&nbsp;</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">.<span style="color: #000000; font-weight: bold;">/</span>symfony <span style="color: #c20cb9; font-weight: bold;">cc</span></pre></div></div>

<p>&nbsp;</p>
<p>Vérification pré-requis Symfony</p>
<p>&nbsp;</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">php check_configuration.php</pre></div></div>

<p>&nbsp;</p>
<p>Construction des tables :</p>
<p>&nbsp;</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">.<span style="color: #000000; font-weight: bold;">/</span>symfony doctrine:build <span style="color: #660033;">--all</span> <span style="color: #660033;">--and-load</span></pre></div></div>

<p>&nbsp;</p>
<p>Scan de la librairie :</p>
<p>&nbsp;</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">.<span style="color: #000000; font-weight: bold;">/</span>symfony scan-media <span style="color: #660033;">--type</span>=filesystem</pre></div></div>

<p>&nbsp;</p>
<p>Scan des album art (n&#8217;a pas marché chez moi)</p>
<p>&nbsp;</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">.<span style="color: #000000; font-weight: bold;">/</span>symfony scan-art <span style="color: #660033;">--source</span>=folders
.<span style="color: #000000; font-weight: bold;">/</span>symfony scan-art <span style="color: #660033;">--source</span>=meta</pre></div></div>

<p>&nbsp;</p>
<p>Création d&#8217;un utilisateur :</p>
<p>&nbsp;</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">symfony guard:create-user your_username your_password</pre></div></div>

<p>&nbsp;</p>
<p>Ma conf NGINX :</p>
<p>&nbsp;</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">server {
 listen       8095;
 server_name  music.xxx.fr;
 root         /var/www/xxx.fr/streeme/web;
&nbsp;
 access_log      /var/log/nginx/streeme.access.log ;
 include         /etc/nginx/common.conf ;
&nbsp;
 location ~ (/\.|^/(config|test)) {
 deny all;
 }
&nbsp;
 index           index.php;
&nbsp;
 rewrite ^/art/([a-zA-Z0-9]+|all)/([a-zA-Z0-9]+|all)$ /proxy_art.php?hash=$1&amp;size=$2 last;
 rewrite ^/client_dev.php/art/([a-zA-Z0-9]+|all)/([a-zA-Z0-9]+|all)$ /proxy_art.php?hash=$1&amp;size=$2 last;
&nbsp;
 location ~ ^/(index|proxy_art)\.php$ {
 include         /etc/nginx/fastcgi_params;
 fastcgi_param   SCRIPT_FILENAME  $document_root$fastcgi_script_name;
 fastcgi_pass    127.0.0.1:9000;
 }
&nbsp;
 location / {
 index index.php;
 try_files $uri /index.php?$args;
 }
&nbsp;
 location /sf/ {
 root /var/www/xxx.fr/streeme/lib/vendor/symfony/data/web/sf/;
 }
&nbsp;
}
#Music-proxy
server {
 listen 8096;
&nbsp;
 root /var/www/xxx.fr/streeme/web;
&nbsp;
 location ~ (/\.|^/(config|test)) {
 deny all;
 }
&nbsp;
 rewrite ^/play/([a-zA-Z0-9.]+|all)$ /proxy_play.php?unique_song_id=$1 last;
 rewrite ^/client_dev.php/play/([a-zA-Z0-9]+|all)$ /proxy_play.php?unique_song_id=$1 last;
&nbsp;
 location ~ ^/(proxy_play)\.php$ {
 include         /etc/nginx/fastcgi_params;
 fastcgi_param   SCRIPT_FILENAME  $document_root$fastcgi_script_name;
 fastcgi_pass    127.0.0.1:9000;
 }
&nbsp;
 location / {
 index index.php;
 try_files $uri /index.php?$args;
 }
}</pre></div></div>

<p>&nbsp;</p>
<p>Ne reste plus qu&#8217;a rediriger les ports et se connecter sur l&#8217;URL choisie port 8095 (par défaut)</p>
<p>A l&#8217;usage :</p>
<ul>
<li>Plutôt propre</li>
<li>Rapide</li>
<li>Léger</li>
</ul>
<p>Mais</p>
<ul>
<li>Pas très maintenu</li>
<li>Pas ultra sexy</li>
<li>Pb d&#8217;encodage (peut sûrement se résoudre)</li>
<li>Pas d&#8217;album art  (peut sûrement se résoudre)</li>
<li>Listes de lecture capriceuses</li>
</ul>
<p>&nbsp;</p>
<h2>Autres serveurs musicaux (non testés)</h2>
<h3>Ampjuke</h3>
<p><a href="http://www.ampjuke.org/">Ampjuke</a></p>
<p><a href="http://voidandany.free.fr/wp-content/uploads/AmpJuke_0.8.4_welcome.png1.jpeg"><img class="aligncenter size-full wp-image-4310" title="AmpJuke_0.8.4_welcome.png" src="http://voidandany.free.fr/wp-content/uploads/AmpJuke_0.8.4_welcome.png1.jpeg" alt="" width="600" height="468" /></a>Pré-requis matériel au dela des capacités du Dockstar :</p>
<p>&laquo;&nbsp;Access to a Computer w. min. 500MB memory, and a CPU running not less than 800MHz.&nbsp;&raquo;</p>
<ul>
</ul>
<h3>Music Browser</h3>
<p><a href="http://musicbrowser.sourceforge.net/index.php">Music Browser </a></p>
<p>Plus maintenu depuis 2009 et pas dans mes goûts&#8230;</p>
<p><a href="../wp-content/uploads/screenshot.resized.jpg"><img title="screenshot.resized" src="../wp-content/uploads/screenshot.resized.jpg" alt="" width="640" height="335" /></a></p>
<ul>
</ul>
<h3>Jinzora</h3>
<p><a href="http://en.jinzora.com/">Jinzora &#8211; Jinzora :: Free Your Media!</a></p>
<p><a href="../wp-content/uploads/slick_artists_screenshotlarge.resized.jpg"><img title="slick_artists_screenshotlarge.resized" src="../wp-content/uploads/slick_artists_screenshotlarge.resized.jpg" alt="" width="598" height="480" /></a></p>
<ul>
</ul>
<h3>GNUMP3d</h3>
<p><a href="http://www.gnu.org/software/gnump3d/">GNUMP3d [GNU MP3/Media Streamer]</a></p>
<p>Plus maintenu depuis 2007&#8230;</p>
<h3>Tunez</h3>
<p><a href="http://tunez.sourceforge.net/">Tunez</a></p>
<p>Plus maintenu depuis 2004 (qui dit mieux)</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="text-decoration: underline;"><em><strong>Sources :</strong></em></span></p>
<p><a rel="bookmark" href="http://blog.sleeplessbeastie.eu/156">Web based media manager</a></p>
<p><a href="http://forums.fedora-fr.org/viewtopic.php?id=24229">ampache &#8211; jinzora &#8211; subsonic &#8211; mp3act &#8211; netjuke etc&#8230;.</a></p>
<p><a href="http://forum.ubuntu-fr.org/viewtopic.php?pid=3961864">Retour d&#8217;experience sur streaming souhaité (Ampache, Jinzora,&#8230;)</a></p>
<p><a href="http://1000umbrellas.com/2011/01/08/my-favorite-ubuntu-linux-music-server">My Favorite Ubuntu Linux Music Server &#8211; 1000umbrellas.com</a></p>
<p>Zeya :</p>
<ul>
<li><a href="http://web.psung.name/zeya/">Zeya: bring your music anywhere</a></li>
<li><a href="http://psung.blogspot.com/2009/07/zeya-bring-your-music-anywhere.html">Zeya: bring your music anywhere &#8212; I Still Know What You Learned Last Summer</a></li>
<li> <a href="http://ubuntuguide.net/zeya-bring-your-music-anywhere-with-a-web-browser">Zeya-bring your music anywhere with a web browser</a></li>
</ul>
<p>Subsonic :</p>
<ul>
<li><a href="http://www.subsonic.org/pages/index.jsp">Subsonic » Free Music Streamer</a></li>
<li><a href="http://www.gizeek.com/2010/06/24/subsonic-votre-musique-partout/">[Tuto]Subsonic: Votre musique, partout. | Gizeek</a></li>
<li><a title="Permanent Link to Install Subsonic on Ubuntu Server" rel="bookmark" href="http://blog.lundscape.com/2009/05/install-subsonic-on-ubuntu-server/">Install Subsonic on Ubuntu Server</a> : installation du WAR sur Tomcat</li>
</ul>
<p>Ampache :</p>
<ul>
<li><a href="http://ampache.org/">Ampache</a></li>
<li><a rel="bookmark" href="http://blog.sleeplessbeastie.eu/165">Web based media manager that suits me best – Ampache</a></li>
<li><a rel="bookmark" href="http://blog.sleeplessbeastie.eu/181">Viridian – python based front-end for an Ampache</a></li>
<li><a href="http://mementolinux.wordpress.com/2010/02/04/ecouter-sa-musique-depuis-un-serveur-distant-grace-a-mpd-et-ampache/">Ecouter sa musique depuis un serveur distant grâce à MPD et AMPACHE</a></li>
<li><a href="http://www.think-underground.com/post/2008/07/08/Ampache-et-votre-collection-de-musique-vous-suit-partout">Ampache&#8230; et votre collection de musique vous suit partout</a></li>
</ul>
<ul>
</ul>
<p>Zina :</p>
<ul>
<li><a href="http://www.linux.com/archive/feed/153895">Managing your MP3s with Zina</a></li>
<li><a href="http://www.pancake.org/zina">Zina</a></li>
</ul>
<p>Blofeld</p>
<ul>
<li><a href="http://github.com/daveisadork/Blofeld">Blofeld</a></li>
<li><a title="Permanent Link to Introducing Blofeld" rel="bookmark" href="http://www.davehayes.org/2010/07/22/introducing-blofeld">Introducing Blofeld</a></li>
</ul>
<p>Streeme :</p>
<ul>
<li><a title="Permanent Link to Streeme on debian with nginx / php-fpm" rel="bookmark" href="http://www.cybermilitia.net/2013/03/21/streeme-on-debian-with-nginx-php-fpm/">Streeme on debian with nginx / php-fpm</a></li>
</ul>
<p>Solutions à base de MPD + IceCast</p>
<ul>
<li><a href="http://www.finiderire.com/post/2010/04/27/MPD-%3A-le-stream-%C3%A9tait-presque-parfait">MPD : le stream était presque parfait</a></li>
<li><a href="http://forum.ubuntu-fr.org/viewtopic.php?id=382213">MPD &amp; Icecast2 (Page 1) / Serveurs / Forum Ubuntu-fr.org</a></li>
<li><a href="http://news.softpedia.com/news/Streaming-Audio-Using-MPD-and-Icecast-52181.shtml">Streaming Audio Using MPD and Icecast &#8211; Softpedia</a></li>
<li><a href="http://fluoblog.wordpress.com/2008/11/10/mpd-icecast/">Faites de la radio avec MPD et IceCast2 « ((fluoblog))</a></li>
<li><a rel="bookmark" href="http://peterebbelink.wordpress.com/2009/02/18/icecast-streaming-server-operational/">IceCast streaming server operational</a></li>
<li><a title="Webradio : MPD + Icecast2 + Pitchfork" href="http://pasfaciletouslesjours.org/2008/01/webradio-mpd-icecast2-pitchfork/">Webradio : MPD + Icecast2 + Pitchfork</a></li>
<li><a title="Music 2.0: Pitchfork" rel="bookmark" href="http://blog.snyke.net/2007/05/10/music-20-pitchfork/">Music 2.0: Pitchfork</a></li>
</ul>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 21753px; width: 1px; height: 1px; overflow: hidden;"><a href="http://sebsauvage.net/wiki/doku.php?id=php:shaarli">sur mon wiki</a>.</div>
]]></content:encoded>
			<wfw:commentRss>http://voidandany.free.fr/index.php/ecouter-sa-musique-partout-sans-google-music-ampache-subsonic-et-co/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Affichage d&#8217;un répertoire réseau contenant des pdf très (très) lent sous Ubuntu 11.04</title>
		<link>http://voidandany.free.fr/index.php/affichage-dun-repertoire-reseau-contenant-des-pdf-tres-tres-lent-sous-ubuntu-11-04/</link>
		<comments>http://voidandany.free.fr/index.php/affichage-dun-repertoire-reseau-contenant-des-pdf-tres-tres-lent-sous-ubuntu-11-04/#comments</comments>
		<pubDate>Tue, 13 Sep 2011 20:24:09 +0000</pubDate>
		<dc:creator>voidAndAny</dc:creator>
				<category><![CDATA[software]]></category>
		<category><![CDATA[natty]]></category>
		<category><![CDATA[pdf]]></category>

		<guid isPermaLink="false">http://voidandany.free.fr/?p=4278</guid>
		<description><![CDATA[Si vous êtes sous Ubuntu 11.04 et que vous naviguez dans un répertoire réseau (Répertoire distant accédé par NFS dons mon cas) contenant des fichiers PDF il va falloir prendre votre mal en patience. En effet Nautilus essai de faire &#8230; <a href="http://voidandany.free.fr/index.php/affichage-dun-repertoire-reseau-contenant-des-pdf-tres-tres-lent-sous-ubuntu-11-04/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Si vous êtes sous <strong>Ubuntu 11.04</strong> et que vous naviguez dans un <strong>répertoire réseau</strong> (Répertoire distant accédé par NFS dons mon cas) contenant des <strong>fichiers PDF</strong> il va falloir prendre votre mal en patience.</p>
<p>En effet Nautilus essai de faire un aperçu des fichiers PDF et c&#8217;est <strong>très long</strong>, voir cela le plante&#8230;.</p>
<p>Pour y remédier 2 solutions :</p>
<h2>Solution 1 : désactiver l&#8217;aperçu des fichiers pdf</h2>
<p>Lancer l&#8217;éditeur de configuration via la commande gconf-editor, dérouler l&#8217;arborescence desktop &gt; gnome &gt; thumbnailers &gt; application@pdf et décocher &laquo;&nbsp;enabled&nbsp;&raquo;<a href="http://voidandany.free.fr/wp-content/uploads/Sources-de-logiciels_037.png"><br />
 </a></p>
<h2>Solution 2 : Appliquer le correctif depuis les dépôts natty-proposed</h2>
<p>Ce problème est un bug connu <a href="https://bugs.launchpad.net/ubuntu/+source/evince/+bug/778638">#778638</a>, un correctif existe donc mais pas dans les dépôts &laquo;&nbsp;de base&nbsp;&raquo;</p>
<p>Activer si e n&#8217;est déjà fait les dépôts natty-proposed.</p>
<p>Pour cela lancer la logithèque Ubuntu puis dans le menu Edition sélectionner &laquo;&nbsp;Source des logiciels&nbsp;&raquo;.</p>
<p>Aller donc l&#8217;onglet &laquo;&nbsp;Mise à jour&nbsp;&raquo; et côcher &laquo;&nbsp;Mises à jour suggérés (natty-proposed)&nbsp;&raquo;</p>
<p><a href="../wp-content/uploads/Sources-de-logiciels_037.png"><img title="Sources de logiciels_037" src="../wp-content/uploads/Sources-de-logiciels_037.png" alt="" width="604" height="507" /></a></p>
<p>Fermer la fenêtre, ouvrir un terminal et saisir :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">aptitude</span> update 
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">aptitude</span> <span style="color: #c20cb9; font-weight: bold;">install</span> evince<span style="color: #000000; font-weight: bold;">/</span>natty-proposed evince-common<span style="color: #000000; font-weight: bold;">/</span>natty-proposed</pre></div></div>

<p lang="bash">Vous pouvez ensuite si vous le voulez désactiver le dépôt natty-proposed et refaire un update&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://voidandany.free.fr/index.php/affichage-dun-repertoire-reseau-contenant-des-pdf-tres-tres-lent-sous-ubuntu-11-04/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ajouter le support MySQL à php</title>
		<link>http://voidandany.free.fr/index.php/ajouter-le-support-mysql-a-php/</link>
		<comments>http://voidandany.free.fr/index.php/ajouter-le-support-mysql-a-php/#comments</comments>
		<pubDate>Mon, 12 Sep 2011 19:47:37 +0000</pubDate>
		<dc:creator>voidAndAny</dc:creator>
				<category><![CDATA[Brèves]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[dockstar]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://voidandany.free.fr/?p=4245</guid>
		<description><![CDATA[Lors de l&#8217;installation d&#8217;un script php qui utilise MySQL, le setup du script m&#8217;indiquait que je n&#8217;avais pas MySQL d&#8217;installé alors qu&#8217;il était bien présent sur ma machine. A l&#8217;image de ce que j&#8217;ai fait pour ajouter le support de &#8230; <a href="http://voidandany.free.fr/index.php/ajouter-le-support-mysql-a-php/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Lors de l&#8217;installation d&#8217;un script php qui utilise MySQL, le setup du script m&#8217;indiquait que je n&#8217;avais pas MySQL d&#8217;installé alors qu&#8217;il était bien présent sur ma machine.</p>
<p>A l&#8217;image de ce que j&#8217;ai fait pour <a href="http://voidandany.free.fr/index.php/ajouter-le-support-sqlite-a-php/">ajouter le support de SQLite à php</a> j&#8217;ai fait la même chose pour MySQL et le problème à été résolu.</p>
<p>Voici donc la manipulation.</p>
<p>Editer /etc/php5/cgi/php.ini (le chemin peut changer selon votre distribution, ici il s&#8217;agit de Debian) et y ajouter la ligne suivante dans la section &laquo;&nbsp;Dynamic Extensions&nbsp;&raquo;</p>
<p>
<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">extension=mysql.so</pre></div></div>

</p>
<p>Redémarrez php (si vous l’exécutez en fcgi) et voila le tour est joué</p>
<p><strong>Rque </strong>: afin de faire un copie d&#8217;écran du setup de mon script php pour illustrer cet article j&#8217;ai supprimé la dite ligne de mon php.ini et là bizarrerie de l&#8217;informatique, MySQL était tout de même détecté&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://voidandany.free.fr/index.php/ajouter-le-support-mysql-a-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
