<?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>®om&#039;s blog &#187; firefox</title>
	<atom:link href="http://blog.rom1v.com/tag/firefox/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.rom1v.com</link>
	<description>Un blog libre</description>
	<lastBuildDate>Thu, 02 Feb 2012 20:03:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>1101 astuces pour Ubuntu 10.10</title>
		<link>http://blog.rom1v.com/2010/11/1101-astuces-pour-ubuntu-10-10/</link>
		<comments>http://blog.rom1v.com/2010/11/1101-astuces-pour-ubuntu-10-10/#comments</comments>
		<pubDate>Fri, 05 Nov 2010 14:11:57 +0000</pubDate>
		<dc:creator>®om</dc:creator>
				<category><![CDATA[Astuces]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[puf]]></category>
		<category><![CDATA[compiz]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[gnu/linux]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.rom1v.com/?p=1958</guid>
		<description><![CDATA[Dans ce billet, je vais partager avec vous quelques astuces pour des opérations courantes sous Ubuntu (Gnome, Compiz et Firefox plus précisément). Je me suis aperçu que finalement beaucoup ne connaissaient pas certains de ces petits détails bien pratiques. 1101 est à lire en binaire, ça fait légèrement moins qu&#8217;en décimal Gnome Positionnement d&#8217;un ascenseur [...]]]></description>
			<content:encoded><![CDATA[<p>Dans ce billet, je vais partager avec vous quelques astuces pour des opérations courantes sous <em>Ubuntu</em> (<em>Gnome</em>, <em>Compiz</em> et <em>Firefox</em> plus précisément). Je me suis aperçu que finalement beaucoup ne connaissaient pas certains de ces petits détails bien pratiques.</p>
<p><em>1101 est à lire en binaire, ça fait légèrement moins qu&#8217;en décimal <img src='http://blog.rom1v.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </em></p>
<h3>Gnome</h3>
<h4>Positionnement d&#8217;un ascenseur</h4>
<p><a href="http://blog.rom1v.com/wp-content/uploads/2010/11/position-scrollbar.png"><img src="http://blog.rom1v.com/wp-content/uploads/2010/11/position-scrollbar.png" alt="" title="position-scrollbar" width="48" height="115" class="alignright size-full wp-image-1962" /></a><br />
Il y a plusieurs interactions possibles avec un &laquo;&nbsp;ascenseur&nbsp;&raquo; (horizontal ou vertical)&nbsp;:</p>
<ul>
<li>un clic sur les petites flèches permettent de déplacer le curseur ligne par ligne&nbsp;;</li>
<li>un clic dans la partie grisée permet de déplacer le curseur page par page&nbsp;;</li>
<li>un glisser-déposer (clic gauche maintenu sur le curseur pendant un déplacement) permet de placer le curseur à volonté.
</li>
</ul>
<p>Il y existe une 4e méthode, moins connue, mais bien plus pratique, qui permet de positionner le curseur directement à une position (comme le glisser-déposer, mais sans avoir besoin d&#8217;aller chercher le curseur)&nbsp;: il suffit de <strong>cliquer avec le bouton du milieu à la position désirée dans la barre</strong>, le curseur va s&#8217;y positionner aussitôt. En maintenant enfoncé le clic milieu, il est également possible de déplacer le curseur.</p>
<p>Ceci fonctionne également pour les <em>sliders</em>, par exemple pour le contrôle du volume dans l&#8217;applet de son de <em>Gnome</em>, ou pour la barre d&#8217;avancement d&#8217;un lecteur vidéo (même si maintenant ils ont adopté ce comportement par défaut sur le clic gauche).</p>
<h4>Contrôle du volume</h4>
<p><a href="http://blog.rom1v.com/wp-content/uploads/2010/11/sound-applet.png"><img src="http://blog.rom1v.com/wp-content/uploads/2010/11/sound-applet.png" alt="" title="sound-applet" width="38" height="39" class="alignright size-full wp-image-1969" /></a><br />
Lorsque l&#8217;on clique sur l&#8217;applet de son de <em>Gnome</em>, un <em>slider</em> permettant de changer le volume apparaît. Mais il est également possible de <strong>survoler l&#8217;icône de son et d&#8217;augmenter ou de diminuer le volume grâce à la molette de la souris</strong>, sans cliquer.</p>
<h4>Déplacement d&#8217;un applet</h4>
<p>Sous <em>Gnome</em>, les barres du haut et du bas accueillent des <em>applets</em>. Avec un clic-droit sur l&#8217;un d&#8217;entre eux, un menu contextuel permet, entre autres, de le déverrouiller pour pouvoir le déplacer.<br />
<a href="http://blog.rom1v.com/wp-content/uploads/2010/11/gnome-panel.png"><img src="http://blog.rom1v.com/wp-content/uploads/2010/11/gnome-panel-300x117.png" alt="" title="gnome-panel" width="300" height="117" class="aligncenter size-medium wp-image-1983" /></a><br />
Si l&#8217;applet est déverrouillé, ce même menu permet de le déplacer. Mais pour cela il y a plus simple&nbsp;: <strong>glisser-déposer l&#8217;applet en utilisant le clic milieu</strong> (cliquer et maintenir enfoncé le clic milieu et déplacer l&#8217;applet).</p>
<p>Les icônes de raccourcis étant des applets particuliers, ils sont déplaçables de cette manière.</p>
<h4>Double-panneau Nautilus</h4>
<p>Nautilus permet d&#8217;<strong>afficher deux panneaux côte à côte en pressant la touche <em>F3</em></strong>.<br />
<a href="http://blog.rom1v.com/wp-content/uploads/2010/11/nautilus-f3.png"><img src="http://blog.rom1v.com/wp-content/uploads/2010/11/nautilus-f3-300x178.png" alt="" title="nautilus-f3" width="300" height="178" class="aligncenter size-medium wp-image-1980" /></a><br />
Une seconde pression sur <em>F3</em> repasse en mode &laquo;&nbsp;un seul panneau&nbsp;&raquo; (le panneau inactif est alors supprimé). Cette fonctionnalité est très pratique pour faire des déplacements ou des copies de fichiers, de manière beaucoup plus directe que par l&#8217;utilisation de plusieurs fenêtres ou même d&#8217;onglets.</p>
<h4>Renommage avec ou sans extension</h4>
<p>Pour renommer un fichier dans <em>Nautilus</em>, vous connaissez sûrement la touche <em>F2</em>, qui renomme en présélectionnant le nom du fichier <em>sans</em> l&#8217;extension&nbsp;:<br />
<a href="http://blog.rom1v.com/wp-content/uploads/2010/11/rename.png"><img src="http://blog.rom1v.com/wp-content/uploads/2010/11/rename.png" alt="" title="rename" width="139" height="87" class="aligncenter size-full wp-image-1985" /></a><br />
Mais il est également possible de <strong>renommer en présélectionnant le nom du fichier <em>avec</em> l&#8217;extension, grâce à <em>Shift+F2</em></strong>.<br />
<em><strong>EDIT&nbsp;:</strong> Ou alors, <a href="http://blog.rom1v.com/2010/11/1101-astuces-pour-ubuntu-10-10/#comment-57658">deux fois F2</a>.</em></p>
<h3>Compiz</h3>
<h4>Déplacement d&#8217;une fenêtre</h4>
<p>Cette fonctionnalité est assez connue et utilisée je pense, puisqu&#8217;elle fonctionne avec quasiment tous les gestionnaires de fenêtres&nbsp;: <strong>le déplacement d&#8217;une fenêtre grâce à <em>Alt+clic gauche</em></strong>. Elle est très pratique, car elle évite d&#8217;aller chercher la barre de titre pour déplacer une fenêtre.</p>
<h4>Redimensionnement d&#8217;une fenêtre</h4>
<p>De la même manière, il est possible de <strong>redimensionner une fenêtre grâce à <em>Alt+clic milieu</em></strong>. Celle-ci est quasiment indispensable, tellement le fait d&#8217;aller chercher un bord de fenêtre est &laquo;&nbsp;coûteux&nbsp;&raquo;.<br />
La fenêtre est virtuellement découpée en 9 parties égales (3 horizontales et 3 verticales). Lorsque vous laissez enfoncée la touche <em>Alt</em> et que vous appuyez sur le <em>clic milieu</em> au-dessus d&#8217;une fenêtre, le redimensionnement commence à partir du bord le plus proche (dépendant de la &laquo;&nbsp;partie&nbsp;&raquo; de la fenêtre que vous survolez).<br />
<a href="http://blog.rom1v.com/wp-content/uploads/2010/11/resize.png"><img src="http://blog.rom1v.com/wp-content/uploads/2010/11/resize-300x187.png" alt="" title="resize" width="300" height="187" class="aligncenter size-medium wp-image-1990" /></a></p>
<h4>Capture d&#8217;écran rapide par zone</h4>
<p>Grâce à <em>Compiz</em>, il est possible de <strong>capturer très simplement une zone de l&#8217;écran, grâce à <em>Super+clic gauche</em></strong> (la touche <em>Super</em> est la touche <em>Windows</em> sur la majorité des claviers)&nbsp;:<br />
<a href="http://blog.rom1v.com/wp-content/uploads/2010/11/quick-screenshot.png"><img src="http://blog.rom1v.com/wp-content/uploads/2010/11/quick-screenshot-300x165.png" alt="" title="quick-screenshot" width="300" height="165" class="aligncenter size-medium wp-image-1993" /></a><br />
Pour cela, il faut activer le plug-in &laquo;&nbsp;Capture d&#8217;écran&nbsp;&raquo; dans <code>ccsm</code> (<a href="apt://compizconfig-settings-manager">compizconfig-settings-manager</a> doit être installé), et choisir un répertoire de destination (le bureau par exemple, j&#8217;en avais <a href="http://blog.rom1v.com/2008/08/screenshots-sous-ubuntu-plusieurs-methodes-a-connaitre/">déjà parlé ici</a>).</p>
<h4>Changement de bureau</h4>
<p>Par défaut, le changement de bureau est désactivé lors du déplacement d&#8217;une fenêtre sur un bord et lors d&#8217;un scroll avec la molette de la souris sur le bureau. Personnellement, je préfère l&#8217;activer.<br />
Cela se configure dans <code>ccsm</code> (là encore, <a href="apt://compizconfig-settings-manager">compizconfig-settings-manager</a> doit être installé).</p>
<p>Pour changer de bureau lors d&#8217;un déplacement de fenêtre au bord de l&#8217;écran&nbsp;: <strong><em>Bureaux sur un plan (version améliorée) → Changement de bureau aux bords (dernier onglet)→ Changement en déplaçant une fenêtre au bord (2e case à cocher)</em></strong>.<br />
Pour changer de bureau lors d&#8217;un scroll&nbsp;: <strong><em>Changeur de bureau → Desktop-based viewport switching → Bureau suivant&nbsp;= Button5&nbsp;; Bureau précédent&nbsp;= Button4</em></strong>.</p>
<h3>Firefox</h3>
<h4>Ajout d&#8217;un lien dans gnome-panel</h4>
<p><a href="http://blog.rom1v.com/wp-content/uploads/2010/11/firefox-gnome-panel.png"><img src="http://blog.rom1v.com/wp-content/uploads/2010/11/firefox-gnome-panel.png" alt="" title="firefox-gnome-panel" width="107" height="113" class="alignright size-full wp-image-2002" /></a><br />
Pour garder en mémoire une URL, la méthode la plus simple et la plus appropriée est bien sûr l&#8217;utilisation de marque-pages. Mais je trouve pratique de mettre un raccourci dans la barre de <em>Gnome</em>, pour une page que je veux lire plus tard.<br />
Pour cela, il suffit de <strong>glisser-déposer le petit icône</strong> (le <em>favicon</em>) <strong>à gauche de la barre d&#8217;adresse vers la barre de <em>Gnome</em></strong>. Il est par contre regrettable que l&#8217;icône du raccourci ainsi créé ne soit pas le <em>favicon</em>.</p>
<h4>Suppression d&#8217;un historique de liste déroulante</h4>
<p>Lorsqu&#8217;une liste déroulante propose des résultats déjà entrés auparavant (à partir de l&#8217;historique par exemple), il est possible de supprimer spécifiquement une entrée rapidement, en <strong>survolant avec la souris l&#8217;entrée correspondante et en appuyant sur <em>Shift+Suppr</em></strong>.<br />
<a href="http://blog.rom1v.com/wp-content/uploads/2010/11/firefox-history.png"><img src="http://blog.rom1v.com/wp-content/uploads/2010/11/firefox-history.png" alt="" title="firefox-history" width="268" height="68" class="aligncenter size-full wp-image-2011" /></a></p>
<p>Cela fonctionne dans la barre d&#8217;adresse, dans la barre de recherche et dans toute entrée de formulaire d&#8217;une page web.</p>
<h4>Chargement d&#8217;une URL par un clic milieu</h4>
<p>Lorsqu&#8217;une URL est présente dans le presse-papier, il est possible de la charger dans <em>Firefox</em> avec un simple clic milieu. Pour activer cette fonctionnalité, il faut taper <code>about:config</code> dans la barre d&#8217;adresse et passer la valeur de <code>middlemouse.contentLoadURL</code> à <code>true</code>.</p>
<p>Il suffit alors de <strong>surligner une URL</strong> (dans un fichier texte par exemple) <strong>puis de cliquer milieu dans le contenu d&#8217;une page dans <em>Firefox</em></strong> (sur un espace &laquo;&nbsp;vide&nbsp;&raquo;, pas sur un lien ou dans un champ de formulaire).</p>
<p><em><strong>EDIT&nbsp;:</strong> Ou sans modifier la configuration par défaut, voir commentaire <a href="http://blog.rom1v.com/2010/11/1101-astuces-pour-ubuntu-10-10/#comment-57632">#1</a>.</em></p>
<h4>Notifications intégrées</h4>
<p>Les notifications de <em>Firefox</em> ne sont pas intégrées au système&nbsp;: par défaut c&#8217;est un rectangle qui s&#8217;ouvre en bas à droite.<br />
Pour utiliser le système de notification d&#8217;<em>Ubuntu</em>, il suffit d&#8217;installer le paquet <a href="apt://xul-ext-notify">xul-ext-notify</a> (anciennement <code>firefox-notify</code>) et de redémarrer <em>Firefox</em>. C&#8217;est dommage qu&#8217;il ne soit pas installé par défaut.<br />
<a href="http://blog.rom1v.com/wp-content/uploads/2010/11/firefox-notify.png"><img src="http://blog.rom1v.com/wp-content/uploads/2010/11/firefox-notify-300x77.png" alt="" title="firefox-notify" width="300" height="77" class="aligncenter size-medium wp-image-2014" /></a></p>
<h3>Conclusion</h3>
<p>Voilà les quelques astuces que je pouvais partager avec vous. Si vous en avez d&#8217;autres, n&#8217;hésitez pas à les détailler. <img src='http://blog.rom1v.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rom1v.com/2010/11/1101-astuces-pour-ubuntu-10-10/feed/</wfw:commentRss>
		<slash:comments>34</slash:comments>
		</item>
		<item>
		<title>Agréger différentes sources de VOD en OGG/Theora</title>
		<link>http://blog.rom1v.com/2010/04/aggreger-differentes-sources-de-vod-en-oggtheora/</link>
		<comments>http://blog.rom1v.com/2010/04/aggreger-differentes-sources-de-vod-en-oggtheora/#comments</comments>
		<pubDate>Sat, 24 Apr 2010 18:58:08 +0000</pubDate>
		<dc:creator>®om</dc:creator>
				<category><![CDATA[Outils]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[auto-hébergement]]></category>
		<category><![CDATA[développement]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[gnu/linux]]></category>
		<category><![CDATA[ogg]]></category>
		<category><![CDATA[réseau]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://blog.rom1v.com/?p=1341</guid>
		<description><![CDATA[Pour mes flux RSS, j&#8217;utilise l&#8217;outil tt-rss installé sur mon serveur, qui récupère régulièrement tous les flux auxquels je suis abonné. Le but de ce billet est de mettre en place un mécanisme similaire qui s&#8217;applique aux sources de vidéo à la demande (pas forcément prévues pour être agrégées), et qui les convertit dans le [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.rom1v.com/wp-content/uploads/2010/03/oggtheora.png"><img src="http://blog.rom1v.com/wp-content/uploads/2010/03/oggtheora.png" alt="" title="oggtheora" width="150" height="100" class="alignright size-full wp-image-1317" /></a></p>
<p>Pour mes flux RSS, j&#8217;utilise l&#8217;outil <a href="http://tt-rss.org">tt-rss</a> installé sur mon serveur, qui récupère régulièrement tous les flux auxquels je suis abonné.</p>
<p>Le but de ce billet est de mettre en place un mécanisme similaire qui s&#8217;applique aux sources de vidéo à la demande (pas forcément prévues pour être agrégées), et qui les convertit dans le format ouvert OGG/Theora (dans un répertoire rendu accessible par un serveur web tel qu&#8217;<em>Apache</em>), tout en parallélisant au maximum les différentes actions afin que le temps total de récupération soit minimal.</p>
<p>En particulier, il faut éviter de télécharger la première vidéo, puis de l&#8217;encoder, d&#8217;attendre que l&#8217;encodage soit terminé pour télécharger la seconde vidéo… Et si plusieurs CPU sont disponibles sur la machine, il faut donner un encodage à chaque processeur (l&#8217;encodeur <em>theora</em> ne sachant pas paralléliser l&#8217;encodage d&#8217;une seule vidéo).</p>
<h3>Architecture</h3>
<p>Pour cela, il y a donc 2 parties bien distinctes&nbsp;:</p>
<ul>
<li>un <strong>serveur d&#8217;encodage</strong>, qui s&#8217;occupe du démarrage et de la parallélisation des encodages&nbsp;;</li>
<li>des <strong>programmes de récupération</strong> <em>brute</em> pour chaque source de flux, qui demandent au serveur d&#8217;encodage de s&#8217;occuper de la conversion des fichiers récupérés.</li>
</ul>
<h3>Serveur d&#8217;encodage</h3>
<h4>Principe</h4>
<p>Le serveur d&#8217;encodage gère plusieurs processus <em>ouvriers</em> (dans l&#8217;idéal, il faut configurer pour avoir autant de processus que de CPU sur la machine). Il attend de nouvelles tâches, et les transmet aux ouvriers disponibles, qui s&#8217;occupent de l&#8217;encodage. Si aucun ouvrier n&#8217;est disponible, il attend qu&#8217;un se libère.</p>
<h4>Implémentation</h4>
<p>Les demandes d&#8217;encodage se font grâce à un <em>named pipe</em> (aussi appelé FIFO), un fichier un peu spécial créé avec <code>mkfifo</code>. Chaque ligne représente une tâche. Concrètement, une tâche est décrite par les paramètres à passer à <code>ffmpeg2theora</code> (l&#8217;encodeur <em>theora</em>), séparés par un séparateur (j&#8217;ai choisi «&nbsp;<code>|</code>&nbsp;», qui a peu de chance d&#8217;être utilisé dans un nom de fichier). <em>Pour les puristes, je vous mets au défi d&#8217;utiliser comme séparateur <code>\0</code>, tout en conservant le mécanisme de file d&#8217;attente dans un fichier.</em></p>
<p>Un démon récupère les nouvelles lignes ajoutées au fichier, et les transmet une à une aux ouvriers. Chaque ouvrier recrée le tableau des arguments en redécoupant la ligne suivant le séparateur choisi, et le passe en paramètre de <code>ffmpeg2theora</code> (en y ajoutant toujours <code>--nice 19</code> pour n&#8217;utiliser que le CPU disponible, sans ralentir d&#8217;autres programmes en cours d&#8217;exécution).</p>
<h5>Démon</h5>
<p>Voici le programme démon (adapter le nombre de CPU)&nbsp;:<br />
<code>/usr/sbin/ffmpeg2theora-laterd</code></p>
<pre>#!/bin/bash
CPU=2
TASKS=/tmp/ffmpeg2theora-tasks
[ -p "$TASKS" ] || mkfifo "$TASKS" -m 666
tail -f "$TASKS" | xargs -I{} -P "$CPU" ffmpeg2theora-later-job {}</pre>
<p>Ce script fait donc exécuter par les ouvriers le programme <code>ffmpeg2theora-later-job</code> pour chacune des tâches, dont voici le code&nbsp;:<br />
<code>/usr/sbin/ffmpeg2theora-later-job</code></p>
<pre>#!/bin/bash
IFS='|' read -a args &lt;&lt;&lt; "$1"
echo "executing: ffmpeg2theora ${args[@]} --nice 19"
ffmpeg2theora "${args[@]}" --nice 19</pre>
<p><em>Je vous conseille de prendre la dernière version de <a href="http://v2v.cc/~j/ffmpeg2theora/">ffmpeg2theora</a>, actuellement celle des dépôts est assez ancienne.</em></p>
<p>Le démon est à lancer une fois (et une seule&nbsp;!), au démarrage du système par exemple (une solution est de l&#8217;ajouter dans <code>/etc/rc.local</code>).</p>
<h5>Client</h5>
<p>Les clients (les programmes qui veulent demander un encodage) doivent appeler <code>ffmpeg2theora-later</code>, qui s&#8217;occupe d&#8217;écrire les paramètres séparés par «&nbsp;<code>|</code>&nbsp;» dans le FIFO&nbsp;:<br />
<code>/usr/bin/ffmpeg2theora-later</code></p>
<pre>#!/bin/bash
printf '|%s' "$@" | cut -c2- > /tmp/ffmpeg2theora-tasks</pre>
<p>Son utilisation est extrêmement proche de <code>ffmpeg2theora</code> (évidemment, puisqu&#8217;il se contente de lui transmettre ses paramètres), à ceci près que les chemins doivent être absolus (puisque le démon ne sait pas à partir de quel répertoire la demande d&#8217;encodage a été effectuée).</p>
<p>Ainsi, là où on aurait utilisé, à partir de <code>/tmp</code>&nbsp;:</p>
<pre>ffmpeg2theora file.avi -o file.ogv -x 400 -y 300 -v 8 -a 3</pre>
<p>on peut appeler&nbsp;:</p>
<pre>ffmpeg2theora-later /tmp/file.avi -o /tmp/file.ogv -x 400 -y 300 -v 8 -a 3</pre>
<h3>Programmes de récupération</h3>
<h4>Principe</h4>
<p>Les programmes de récupération font ce qui est nécessaire pour récupérer les vidéo à télécharger. Plusieurs outils sont bien utiles pour cela&nbsp;:</p>
<ul>
<li><code>wget</code> si le fichier est disponible en <em>HTTP</em> (mais c&#8217;est rare)&nbsp;;</li>
<li><code>flvstreamer</code> pour récupérer les vidéos diffusées en <em>Flash</em> avec des liens en <code>rtmp://</code> (anciennement <code>rtmpdump</code>, je vous recommande <a href="http://lkcl.net/rtmp/">le message</a> adressé à <em>Adobe</em> de la part du développeur originel)&nbsp;;</li>
<li><code>mimms</code> pour récupérer les vidéos diffusées en <em>WMV</em> avec des liens en <code>mms://</code>.</li>
</ul>
<p>Pensez bien à ouvrir les ports nécessaires pour récupérer les vidéos (1935 par défaut pour les liens RTMP, 1755 pour MMS…).</p>
<h4>Implémentation</h4>
<p>Afin de rendre un peu indépendants les répertoires manipulés, j&#8217;ai décidé de créer un script <code>vodget</code> qui appelle les programmes de récupération avec 2 paramètres&nbsp;:</p>
<ol>
<li>le répertoire de téléchargement&nbsp;;</li>
<li>le répertoire destination.</li>
</ol>
<p><code>/usr/bin/vodget</code></p>
<pre>#!/bin/bash
scripts_dir=/var/lib/vodget
script="$scripts_dir/$1"
download_dir=/tmp/vodget
target_dir=/var/www/vod
$script "$download_dir" "$target_dir"</pre>
<p>Les programmes de récupération sont stockés dans <code>/var/lib/vodget</code>.</p>
<h5>Exemple</h5>
<p>Voici un exemple qui récupère les guignols de l&#8217;info (Canal+)&nbsp;:<br />
<code>/var/lib/vodget/guignols</code></p>
<pre>#!/bin/bash
category=guignols
download_dir="$1/$category"
target_dir="$2/$category"
mkdir -p "$download_dir"
mkdir -p "$target_dir"
wget -O- http://www.canalplus.fr/rest/bootstrap.php?/bigplayer/search/guignols | grep -o 'rtmp://[^&lt;]\+.mp4' | while read url
do
    filename="$(echo "$url" | sed 's/.*\([0-9]\{2\}\)\([0-9]\{2\}\)\([0-9]\{2\}\).*/20\1-\2-\3/')"
    if [ ! -f "$target_dir/$filename.ogv" ]
    then
        flvstreamer -r "$url" -o "$download_dir/$filename.mp4"
        touch "$target_dir/$filename.ogv"
        ffmpeg2theora-later "$download_dir/$filename.mp4" -o "$target_dir/$filename.ogv" -v8 -a3
    fi
done</pre>
<p>Cet exemple est une implémentation qui a l&#8217;avantage d&#8217;être très courte, vous pouvez aussi adapter <a href="http://forum.ubuntu-fr.org/viewtopic.php?id=346586">des versions plus évoluées</a> pour qu&#8217;elles utilisent <code>ffmpeg2theora-later</code>.</p>
<p>Un simple appel à&nbsp;:</p>
<pre>vodget guignols</pre>
<p>récupèrera les nouveaux épisodes et les encodera en OGG/Theora.</p>
<p>Il ne restera plus qu&#8217;à se rendre sur la page HTTP pointant sur le répertoire des vidéos avec <a href="http://mozilla-europe.org/fr/firefox/">un navigateur</a> qui supporte le HTML5 et le codec OGG/Theora, pour pouvoir regarder les vidéos ainsi récupérées&nbsp;:</p>
<p><a href="http://blog.rom1v.com/wp-content/uploads/2010/04/vod-guignols.png"><img src="http://blog.rom1v.com/wp-content/uploads/2010/04/vod-guignols-300x193.png" alt="" title="vod-guignols" width="300" height="193" class="aligncenter size-medium wp-image-1375" /></a></p>
<p><em>Bien sûr, les vidéos récupérées qui ne sont pas sous licence libre sont à usage personnel. Cela permet de regarder en VOD les épisodes dans un format ouvert, qui ne nécessite pas de programme propriétaire, ces vidéos ne doivent pas être placées sur un serveur public.</em></p>
<h4>Démarrage programmé</h4>
<p>Pour automatiser tout cela, il est possible de programmer périodiquement la récupération des nouvelles vidéos grâce à <a href="http://doc.ubuntu-fr.org/cron">cron</a>. Pour cela&nbsp;:</p>
<pre>crontab -e</pre>
<p>et ajouter la ligne <em>qui-va-bien</em>. Par exemple, pour récupérer les nouveaux épisodes des guignols tous les jours à 23 heures&nbsp;:</p>
<pre>00 23 * * * vodget guignols</pre>
<h3>Améliorations</h3>
<p>Techniquement, il faudrait gérer le démon par un script <em>init.d</em>, mais ça n&#8217;est pas si simple (si on arrête le service alors qu&#8217;une vidéo est en cours d&#8217;encodage et qu&#8217;on le redémarre, le nombre de CPU à utiliser ne sera plus respecté…).</p>
<p>Si vous êtes motivés, il est également possible de faire un beau site qui permette de regarder les vidéos en VOD, plutôt qu&#8217;une page qui liste simplement les fichiers récupérés.</p>
<h3>Conclusion</h3>
<p>Les différentes vidéos que je suis susceptible de regarder en VOD (que je ne regardais pas avant) sont maintenant disponibles sur mon serveur, lisible directement par mon navigateur.</p>
<p>On peut imaginer de nombreuses sources à agréger&nbsp;:</p>
<ul>
<li>les sites de VOD des chaînes de télévision (Canal+, France5, M6…)&nbsp;;</li>
<li>des bandes-annonces cinéma&nbsp;;</li>
<li>des chaînes enregistrées en direct avec la TV sur ADSL&nbsp;;</li>
<li>le flux de l&#8217;Assemblée Nationale ou du Sénat&nbsp;;</li>
<li>…</li>
</ul>
<p>Bien sûr, on aimerait mieux que les différentes sources fournissent des flux RSS pointant vers leurs vidéos, qu&#8217;ils diffuseraient eux-même en OGG/Theora. Mais on peut toujours attendre…</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rom1v.com/2010/04/aggreger-differentes-sources-de-vod-en-oggtheora/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Vidéo OGG Theora sur HTTPS (dans Firefox) : configurer Apache</title>
		<link>http://blog.rom1v.com/2010/03/video-ogg-theora-sur-https-dans-firefox-configurer-apache/</link>
		<comments>http://blog.rom1v.com/2010/03/video-ogg-theora-sur-https-dans-firefox-configurer-apache/#comments</comments>
		<pubDate>Sat, 27 Mar 2010 22:43:52 +0000</pubDate>
		<dc:creator>®om</dc:creator>
				<category><![CDATA[Astuces]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[puf]]></category>
		<category><![CDATA[compression]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[gnu/linux]]></category>
		<category><![CDATA[ogg]]></category>
		<category><![CDATA[serveur]]></category>
		<category><![CDATA[theora]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://blog.rom1v.com/?p=1307</guid>
		<description><![CDATA[Tout le monde a entendu parler de la balise &#60;video/&#62;, la nouveauté la plus médiatisée d&#8217;HTML5. Le format vidéo à utiliser sur le web fait polémique (Theora ou H264) à cause de brevets logiciels, toujours bien présents dès il s&#8217;agit de freiner l&#8217;innovation. Une situation qu&#8217;à mon avis seul Google peut résoudre. Mais ce n&#8217;est [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.rom1v.com/wp-content/uploads/2010/03/oggtheora.png"><img src="http://blog.rom1v.com/wp-content/uploads/2010/03/oggtheora.png" alt="" title="oggtheora" width="150" height="100" class="alignright size-full wp-image-1317" /></a><br />
Tout le monde a entendu parler de la balise <code>&lt;video/&gt;</code>, la nouveauté la plus médiatisée d&#8217;HTML5. Le format vidéo à utiliser sur le web fait polémique (<a href="http://standblog.org/blog/post/2010/01/26/Video-Theora-ou-H264">Theora ou H264</a>) à cause de brevets logiciels, toujours bien présents dès il s&#8217;agit de freiner l&#8217;innovation. Une situation qu&#8217;à mon avis <a href="http://www.fsf.org/blogs/community/google-free-on2-vp8-for-youtube">seul Google peut résoudre</a>. Mais ce n&#8217;est pas l&#8217;objet de ce billet, pour l&#8217;instant, le format, c&#8217;est <em>OGG Theora</em>. Il suffit de placer un fichier <code>ogv</code> quelque part sur un serveur, et <em>Firefox</em> sait la lire.</p>
<p>Un problème survient cependant dès qu&#8217;on veut y accéder sur HTTPS plutôt qu&#8217;HTTP&nbsp;: on ne peut pas <em>seeker</em> dans la vidéo (c&#8217;est-à-dire qu&#8217;on ne peut pas déplacer le curseur pour se positionner à n&#8217;importe quel endroit), et on ne connaît pas sa durée totale.</p>
<p>Quelle différence entre l&#8217;accès en HTTP et HTTPS?</p>
<p>En HTTP, on reçoit la taille du fichier vidéo&nbsp;:</p>
<pre>$ curl --compressed -I http://.../video.ogv
HTTP/1.1 200 OK
Server: Apache
…
Content-Length: 26959501
Content-Type: video/ogg</pre>
<p>En HTTPS, on ne la reçoit pas, car le flux est compressé en <em>gzip</em>.</p>
<pre>$ curl --compressed -k -I https://.../video.ogv
HTTP/1.1 200 OK
Server: Apache
…
Content-Encoding: gzip
Content-Type: video/ogg</pre>
<p><em>(<code>-k</code> permet d&#8217;autoriser l&#8217;utilisation d&#8217;un certificat SSL non reconnu)</em></p>
<p>C&#8217;est la source du problème. Pourquoi ce comportement différent par défaut entre HTTP et HTTPS, je n&#8217;en sais rien (si quelqu&#8217;un peut m&#8217;éclairer…).</p>
<p>Par contre, il est très facile de désactiver la compression pour certains types de fichiers, comme les images ou les vidéos (compression qui n&#8217;a de toute façon aucun intérêt ces fichiers sont déjà compressés).</p>
<p>Pour cela, il suffit de rajouter une ligne dans <code>/etc/apache2/mods-available/deflate.conf</code>&nbsp;:</p>
<pre>SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|ogg|oga|ogv)$ no-gzip dont-vary</pre>
<p>et de recharger <em>Apache</em>&nbsp;:</p>
<pre>sudo service apache reload</pre>
<p>Et maintenant, ça fonctionne correctement sur HTTPS&nbsp;:</p>
<pre>$ curl --compressed -k -I https://.../video.ogv
HTTP/1.1 200 OK
Server: Apache
…
Content-Length: 26959501
Content-Type: video/ogg</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.rom1v.com/2010/03/video-ogg-theora-sur-https-dans-firefox-configurer-apache/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>NewsFox : plug-in Firefox agrégateur de flux RSS</title>
		<link>http://blog.rom1v.com/2008/12/newsfox-plug-in-firefox-agregateur-de-flux-rss/</link>
		<comments>http://blog.rom1v.com/2008/12/newsfox-plug-in-firefox-agregateur-de-flux-rss/#comments</comments>
		<pubDate>Sat, 13 Dec 2008 08:41:00 +0000</pubDate>
		<dc:creator>®om</dc:creator>
				<category><![CDATA[Outils]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[puf]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.rom1v.com/2008/12/newsfox%c2%a0-plug-in-firefox-agregateur-de-flux-rss/</guid>
		<description><![CDATA[J&#8217;imagine que, comme moi, beaucoup ne peuvent plus se passer des flux RSS. Vous êtes d&#8217;ailleurs certainement en train de lire ce billet dans votre agrégateur de flux, qui permet de facilement parcourir les flux de différentes sources. J&#8217;utilisais liferea, qui était très sympa. Cependant, des petits problèmes m&#8217;agaçaient, en particulier un bug aléatoire qui [...]]]></description>
			<content:encoded><![CDATA[<p>J&#8217;imagine que, comme moi, beaucoup ne peuvent plus se passer des flux RSS. Vous êtes d&#8217;ailleurs certainement en train de lire ce billet dans votre agrégateur de flux, qui permet de facilement parcourir les flux de différentes sources.</p>
<p>J&#8217;utilisais <strong>liferea</strong>, qui était très sympa. Cependant, des petits problèmes m&#8217;agaçaient, en particulier un bug aléatoire qui utilise le CPU à 100%. De plus, avoir l&#8217;agrégateur séparé du navigateur est un peu gênant. J&#8217;ai donc décidé d&#8217;en changer pour un agrégateur intégré au navigateur (en plug-in Firefox).</p>
<p>Après en avoir testé plusieurs (ce n&#8217;est pas le choix qui manque), je voudrais vous présenter celui que j&#8217;ai découvert cette semaine, qui me donne entière satisfaction : <strong>NewsFox</strong>.</p>
<p>Une fois installé, il rajoute une icône dans la barre principale, qui permet d&#8217;ouvrir un onglet contenant <strong>NewsFox</strong> :</p>
<p><a href="http://blog.rom1v.com/wp-content/uploads/2008/12/newsfox.png"><img src="http://blog.rom1v.com/wp-content/uploads/2008/12/newsfox-300x199.png" alt="newsfox" title="newsfox" width="300" height="199" class="aligncenter size-medium wp-image-247" /></a></p>
<p>Pour l&#8217;installer, il suffit de se rendre sur <a href="https://addons.mozilla.org/fr/firefox/addon/629">cette page</a>.</p>
<p>J&#8217;ai pu importer ma liste de flux exportée de liferea (au format OPML, le &laquo;&nbsp;standard&nbsp;&raquo; des listes de flux RSS), ce qui facilite beaucoup la migration.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rom1v.com/2008/12/newsfox-plug-in-firefox-agregateur-de-flux-rss/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Ubuntu et hotmail : abandonnez hotmail !</title>
		<link>http://blog.rom1v.com/2008/11/ubuntu-et-hotmail-abandonnez-hotmail/</link>
		<comments>http://blog.rom1v.com/2008/11/ubuntu-et-hotmail-abandonnez-hotmail/#comments</comments>
		<pubDate>Sat, 15 Nov 2008 09:51:00 +0000</pubDate>
		<dc:creator>®om</dc:creator>
				<category><![CDATA[Annonces]]></category>
		<category><![CDATA[Humeur]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[puf]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.rom1v.com/2008/11/ubuntu-et-hotmail%c2%a0-abandonnez-hotmail%c2%a0/</guid>
		<description><![CDATA[De nombreuses personnes ont rapporté des problèmes avec l&#8217;utilisation du webmail hotmail ces derniers jours. En effet, la zone de texte réservée à l&#8217;écriture du message ne fonctionne pas. Avant de vous présenter la solution pour contourner le problème, je voudrais vous proposer d&#8217;utiliser un compte de messagerie autre qu&#8217;hotmail pour vos mails. Pourquoi? Parce [...]]]></description>
			<content:encoded><![CDATA[<p>De nombreuses personnes ont rapporté des problèmes avec l&#8217;utilisation du webmail <strong>hotmail</strong> ces derniers jours. En effet, la zone de texte réservée à l&#8217;écriture du message ne fonctionne pas.</p>
<p>Avant de vous présenter la solution pour contourner le problème, je voudrais vous proposer d&#8217;utiliser un compte de messagerie autre qu&#8217;<em>hotmail</em> pour vos mails.</p>
<p>Pourquoi? Parce que ce service ne vous propose même pas le minimum : pas d&#8217;accès <strong>POP3</strong>, et encore moins <strong>IMAP</strong>. Concrètement, cela signifie que vous n&#8217;êtes pas libres de consulter vos mails dans un logiciel de messagerie quelconque, ceci afin de mettre en avant <em>Windows Live Mail</em> et <em>Outlook</em> (à moins d&#8217;utiliser des plugins plus ou moins performants qui font croire à hotmail que vous y accédez par un navigateur web).</p>
<p>Abandonner votre mail <em>hotmail</em> ne vous empêche pas de conserver votre adresse pour utiliser <em>MSN Messenger</em>.</p>
<p>Évidemment, changer de compte e-mail ne se fait pas du jour au lendemain, mais le temps que vos contacts prennent connaissance de votre nouvelle adresse, il est possible de mettre en place une redirection : sur <em>hotmail</em>, cliquez sur Options → Autres options → Transfert du courrier vers un autre compte de messagerie, et indiquez votre nouvelle adresse. Ainsi, tous les mails qui vous seront envoyés sur votre adresse <em>hotmail</em> seront redirigés vers votre nouvelle adresse.</p>
<p><em>Rectification : <strong>hotmail</strong> ne souhaitant pas que ses utilisateurs quittent l&#8217;écosystème <strong>Microsoft</strong>, il n&#8217;est possible de rediriger que sur une adresse se terminant par <code>@hotmail.com</code>, <code>@hotmail.fr</code>, <code>@msn.com</code> ou <code>@live.com</code>. Heureusement que tous les fournisseurs de services n&#8217;ont pas la même politique, il est grand temps d&#8217;utiliser un service qui respecte un peu plus vos libertés d&#8217;action !</em></p>
<p>Personnellement, j&#8217;utilise <a href="http://mail.google.com">gmail</a>, car il propose un accès <strong>IMAP</strong> et une grande capacité de stockage. Cette adresse <strong>gmail</strong> peut également être utilisée comme adresse de messagerie instantanée <a href="http://fr.wikipedia.org/wiki/Jabber">jabber</a>.</p>
<p>Bon, revenons au problème d&#8217;édition de mails sous <strong>Ubuntu</strong>, au cas où vous voudriez à tout prix conserver votre adresse e-mail <em>hotmail</em>. Pour contourner le problème, il suffit de ne pas indiquer qu&#8217;on utilise <strong>Ubuntu</strong>.<br />
Pour cela, dans <strong>Firefox</strong>, tapez <code>about:config</code> dans la barre d&#8217;adresse, cherchez la ligne <code>general.useragent.vendor</code>, double-cliquez dessus, et supprimez le texte &laquo;&nbsp;Ubuntu&nbsp;&raquo;.</p>
<p>Et là magie, <em>hotmail</em> refonctionne correctement, comme sous Windows.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rom1v.com/2008/11/ubuntu-et-hotmail-abandonnez-hotmail/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
	</channel>
</rss>

