<?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>Le blog de NicoLargo &#187; Système</title>
	<atom:link href="http://blog.nicolargo.com/category/system/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.nicolargo.com</link>
	<description>"Tribulations d'un blogger dans le monde des logiciels libres et du Web..."</description>
	<lastBuildDate>Sat, 04 Jul 2009 16:08:30 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Installation pas à pas de Xen sous Debian</title>
		<link>http://blog.nicolargo.com/2009/06/installation-pas-a-pas-de-xen-sous-debian.html</link>
		<comments>http://blog.nicolargo.com/2009/06/installation-pas-a-pas-de-xen-sous-debian.html#comments</comments>
		<pubDate>Mon, 29 Jun 2009 10:58:05 +0000</pubDate>
		<dc:creator>NicoLargo</dc:creator>
				<category><![CDATA[Open-source]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[tutoriel]]></category>
		<category><![CDATA[xen]]></category>

		<guid isPermaLink="false">http://blog.nicolargo.com/2009/06/installation-pas-a-pas-de-xen-sous-debian.html</guid>
		<description><![CDATA[Le but de ce billet est d'installer un serveur de de virtualisation Xen (Wiki) sur un système GNU/Linux Debian. Ce dernier pourra héberger de manière virtuelle (c'est à dire sur la même machine physique) un nombre important de serveurs, mutualisant ainsi votre hardware.
Installation du serveur Xen
J'ai choisi d'héberger mon serveur de virtualisation Xen (on appelle [...]]]></description>
			<content:encoded><![CDATA[<p><font face="sans-serif"><img style="max-width: 800px; float: right; margin-top: 10px; margin-bottom: 10px; margin-left: 10px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/xen_logo.gif" />Le but de ce billet est d'installer un serveur de de virtualisation Xen (<a href="http://fr.wikipedia.org/wiki/Xen"><small>Wiki</small></a>) sur un système GNU/Linux Debian. Ce dernier pourra héberger de manière virtuelle (c'est à dire sur la même machine physique) </font>un nombre important de serveurs, mutualisant ainsi votre hardware.<br />
<h1>Installation du serveur Xen<br /></h1>
<p>J'ai choisi d'héberger mon serveur de virtualisation Xen (on appelle cette machine le dom0 pour "domaine 0" dans le jargon Xen) sur la machine suivante:</p>
<p><b><i><small>HP Proliant DL145<br />AMD Optron 64<br />2 Go RAM<br />2 disques durs de 80 Go en RAID 1 (LVM)<br />Système d'exploitation: GNU/Linux Debian Lenny 5</small></i></b></p>
<p>J'ai effectué une installation standard à partir du CD d'installation de la Debian 5.0 en appelant ma machine virt1 et en installant comme seul et unique service le daemon OpenSSH (pour un accès à distance).</p>
<p>Ensuite, il faut procéder à l'installation de Xen et de ses utilitaires:<br />
<blockquote>aptitude install xen-hypervisor-i386 xen-linux-system-2.6.26-2-xen-686 xen-utils xen-tools xen-shell xenwatch xenstore-utils</p></blockquote>
<p>On configure ensuite le réseau de la manière à transformer notre machine dom0 en bridge. Pour cela, on édite le fichier /etc/xen/xend-config.sxp et on remplace la ligne:<br />
<blockquote><font color="#666666">(network-script network-dummy)</font><br />par <br />(network-script network-bridge)</p></blockquote>
<p>On reboot notre système pour prendre en compte le noyau supportant Xen:<br />
<blockquote>reboot</p></blockquote>
<h1>Configuration du serveur Xen</h1>
<p>Nous allons utiliser xen-tools pour administrer nos serveurs virtuels. Pour cela il faut éditer le fichier de configuration (/etc/xen-tools/xen-tools.conf) de la manière suivante (en gras les options à adapter selon votre configuration):<br />
<blockquote><b>dir = /xen</b><br />install-method = debootstrap<br />size&nbsp;&nbsp; = 4Gb&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Disk image size.<br />memory = 128Mb&nbsp;&nbsp;&nbsp; # Memory size<br />swap&nbsp;&nbsp; = 128Mb&nbsp;&nbsp;&nbsp; # Swap size<br />fs&nbsp;&nbsp;&nbsp;&nbsp; = ext3&nbsp;&nbsp;&nbsp;&nbsp; # use the EXT3 filesystem for the disk image.<br />dist&nbsp;&nbsp; = etch&nbsp;&nbsp;&nbsp;&nbsp; # Default distribution to install.<br />image&nbsp; = sparse&nbsp;&nbsp; # Specify sparse vs. full disk images.<br /><b>gateway&nbsp;&nbsp; = 192.168.29.1<br />netmask&nbsp;&nbsp; = 255.255.255.0</b><br />passwd = 1<br />kernel&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = /boot/vmlinuz-`uname -r`<br />initrd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = /boot/initrd.img-`uname -r`<br />mirror = http://ftp.lip6.fr/pub/linux/distributions/debian/<br />ext3_options&nbsp;&nbsp; = noatime,nodiratime,errors=remount-ro<br />ext2_options&nbsp;&nbsp; = noatime,nodiratime,errors=remount-ro<br />xfs_options&nbsp;&nbsp;&nbsp; = defaults<br />reiser_options = defaults<br /><b>serial_device = hvc0<br />disk_device = xvda</b></p></blockquote>
<p>On pense également à créer le répertoire qui contiendra les domaines hôtes (/xen dans ma configuration):<br />
<blockquote>mkdir /xen</p></blockquote>
<h1>Installation d'un serveur virtuel<br /></h1>
<p>Nous allons commencer par ajouter un nouveau serveur virtuel (que l'on appelle domU pour "domaine Users" dans le jargon Xen) à notre configuration. Cette action se fait de manière très simple grâce à la commande suivante (attendre quelques minutes):<br />
<blockquote># xen-create-image --hostname=servvirt1.mondomaine.com --size=10Gb --swap=512Mb --ip=192.168.29.171 --memory=256Mb --arch=i386 --role=udev<br /><font color="#666666"><small>General Information<br />--------------------<br />Hostname&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :&nbsp; servvirt1.mondomaine.com<br />Distribution&nbsp;&nbsp; :&nbsp; etch<br />Partitions&nbsp;&nbsp;&nbsp;&nbsp; :&nbsp; swap&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 512Mb (swap)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10Gb&nbsp; (ext3)<br />Image type&nbsp;&nbsp;&nbsp;&nbsp; :&nbsp; sparse<br />Memory size&nbsp;&nbsp;&nbsp; :&nbsp; 256Mb<br />Kernel path&nbsp;&nbsp;&nbsp; :&nbsp; /boot/vmlinuz-2.6.26-2-xen-686<br />Initrd path&nbsp;&nbsp;&nbsp; :&nbsp; /boot/initrd.img-2.6.26-2-xen-686</p>
<p>Networking Information<br />----------------------<br />IP Address 1&nbsp;&nbsp; : 192.168.29.171 [MAC: 00:16:3E:8B:F0:9E]<br />Netmask&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 255.255.255.0<br />Gateway&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 192.168.29.1</small></font></p></blockquote>
<p>Xen va alors créer un serveur virtuel disposant d'un disque de 10 Go, d'un taille de swap de 512 Mo et d'une mémoire de 256 Mb. L'adresse IP de ce nouveau serveur virtuel sera 192.168.29.171. Le mot de passe root du système vous sera demandé en fin d'installation.</p>
<p>Un fichier de configuration dédié a ce nouveau serveur a été généré: <b>/etc/xen/servvirt1.mondomaine.com.cfg</b><br />
<h1>Gestion du serveur virtuel</h1>
<h2>Démarrage du serveur virtuel</h2>
<p>Pour lancer le serveur virtuel préalablement créé, il faut saisir la commande:<br />
<blockquote>xm create <b>/etc/xen/servvirt1.mondomaine.com.cfg</b></p></blockquote>
<p>Vous pouvez alors vous connecte dessus en SSH:<br />
<blockquote>ssh root@<b>servvirt1.mondomaine.com</b></p></blockquote>
<p>Pour automatiser le démarrage de ce serveur virtuel (domU) au lancement de votre serveur hôte (dom0), il faut créer le lien suivant:<br />
<blockquote>ln -s /etc/xen/<b>servvirt1.mondomaine.com</b>.cfg /etc/xen/auto/host1.cfg</p></blockquote>
<p>Cette commande permet de séquencer le lancement des serveurs domU dans un certain ordre. Cela peut être utile si le service hébérgé sur un serveur virtuel dépend d'un autre...<br />
<h2>Autres commandes utiles à l'administration de vos serveurs virtuels</h2>
<p>Pour arrêter un serveur virtuel:<br />
<blockquote>xm shutdown <b>servvirt1.mondomaine.com</b></p></blockquote>
<p>Pour voir la liste des serveurs virtuelles lancées:<br />
<blockquote># xm list<br /><font color="#666666"><small>Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ID&nbsp;&nbsp; Mem VCPUs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; State&nbsp;&nbsp; Time(s)</small></font><br /><font color="#666666"><small>Domain-0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp; 1765&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp; r-----&nbsp;&nbsp;&nbsp; 106.7</small></font><br /><font color="#666666"><small><b>servvirt1.mondomaine.com</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp; 256&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp; -b----&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2.6</small></font></p></blockquote>
<p>Liste des serveurs virtuels créés:<br />
<blockquote># xen-list-images<br /><font color="#666666"><small>Name: <b>servvirt1.mondomaine.com</b></small></font><br /><font color="#666666"><small>Memory: 256</small></font><br /><font color="#666666"><small>IP: 192.168.29.171</small></font></p></blockquote>
<p>Occupation des ressources en temps réel:<br />
<blockquote>xentop</p></blockquote>
<p>Pour rendre prioritaire un serveur virtuel par rapport à un autre, nous allons utiliser les options du gestionnaire d'allocation des ressources ("Credit scheduler", par défaut dans la version Xen 3.0). <br />Par exemple, si nous avons deux serveurs virtuels <b>servvirt1 </b>et <b>servvirt2 </b>(domU) hébérgés sur notre serveur hôte (dom0) et que nous souhaitons donner deux fois plus de temps CPU à <b>servvirt2</b>, il suffit de saisir la commande suivante:</p>
<p>xm sched-credit -d <b>servvirt2.mondomaine.com</b> -w 512</p>
<p>PS: par défaut, un serveur virtuel à un poids de 256.</p>
<p>La liste des poids des serveurs virtuels peut être obtenue grâce à la commande:<br />
<blockquote># xm sched-credit<br /><small>Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ID Weight&nbsp; Cap</small><br /><small>Domain-0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp; 256&nbsp;&nbsp;&nbsp; 0</small><br /><small><b>servvirt1.mondomaine.com</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp; 256&nbsp;&nbsp;&nbsp; 0</small><br /><small><b>servvirt2.mondomaine.com</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp; 512 &nbsp;&nbsp; 0</small></p></blockquote>
<p>Les commandes xm sched-credit sont à lancer (par exemple dans un script shell) au démarrage du serveur hôte.<br />
<h1>Conclusion</h1>
<p>Xen et la virtualisation en général est un très bon moyen, dans cette période de crise, d'optimiser au mieux les ressources hardware disponibles. Il est bien sûr possible de créer autant de serveurs virtuels que possible sur notre serveur hôte (dans les limites de performances souhaités au niveau des domU).<br /><i><br /><small>Quelques sources utiles à la rédaction de ce billet:<br /></small></i>
<ul>
<li><i><small><a href="http://www.cl.cam.ac.uk/research/srg/netos/xen/readmes/user/user.html">http://www.cl.cam.ac.uk/</a></small></i></li>
<li><i><small><a href="http://www.howtoforge.com/virtualization-with-xen-on-debian-lenny-amd64">http://www.howtoforge.com/</a></small></i></li>
<li><i><small><a href="http://www.eecs.iu-bremen.de/wiki/index.php/Xen">http://www.eecs.iu-bremen.de/</a></small></i></li>
<li><i><small><a href="http://www.d7031.de/text/xen_with_lvm_under_etch.shtml">http://www.d7031.de/</a></small></i></li>
<li><i><small><a href="http://www.unixgarden.com/index.php/administration-systeme/problematique-de-consolidation-et-atteinte-des-objectifs-de-niveau-de-service-slo-avec-xen">http://www.unixgarden.com/</a><br /></small></i></li>
</ul>
<p></p>

                            <div id="aspdf">
                                <a href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=2046">
                                    <span> </span>
                                </a>
                            </div>
                        ]]></content:encoded>
			<wfw:commentRss>http://blog.nicolargo.com/2009/06/installation-pas-a-pas-de-xen-sous-debian.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>NConf, une interface Web pour Nagios</title>
		<link>http://blog.nicolargo.com/2009/06/nconf-une-interface-web-pour-nagios.html</link>
		<comments>http://blog.nicolargo.com/2009/06/nconf-une-interface-web-pour-nagios.html#comments</comments>
		<pubDate>Tue, 16 Jun 2009 09:17:04 +0000</pubDate>
		<dc:creator>NicoLargo</dc:creator>
				<category><![CDATA[Open-source]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[nagios]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[nconf]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.nicolargo.com/2009/06/nconf-une-interface-web-pour-nagios.html</guid>
		<description><![CDATA[Utilisateurs de Nagios, votre rêve va bientôt se réaliser ! Une équipe Suisse travaille sur le saint Graal de la supervision système et réseau. En effet leur projet NConf vient répondre à un besoin récurrent des utilisateurs de Nagios: l'impossibilité d'administrer son serveur via une interface Web.
Nous allons dans ce billet tester la version 1.2.5 [...]]]></description>
			<content:encoded><![CDATA[<p><img style="max-width: 800px; float: right; margin-top: 10px; margin-bottom: 10px; margin-left: 10px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/350px-Nc-logo-large.png" width="154" height="77" />Utilisateurs de Nagios, votre rêve va bientôt se réaliser ! Une équipe Suisse travaille sur le saint Graal de la supervision système et réseau. En effet leur projet NConf vient répondre à un besoin récurrent des utilisateurs de Nagios: l'impossibilité d'administrer son serveur via une interface Web.</p>
<p>Nous allons dans ce billet tester la version 1.2.5 de NConf sur un serveur Nagios 3.1. Je pars sur l'hypothèse ou le serveur Nagios a été installé en suivant mes deux premiers tutos (<a href="http://blog.nicolargo.com/2009/01/le-serveur-de-supervision-libre-part-1.html">1</a> et <a href="http://blog.nicolargo.com/2009/01/le-serveur-de-supervision-libre-part-2.html">2</a>).</p>
<p><span id="more-2031"></span><br />
<h1>Installation de NConf</h1>
<p>On commence par récupérer la dernière version disponible de NConf (la 1.2.5 au moment de l'écriture de ce billet).<br />
<blockquote>wget http://puzzle.dl.sourceforge.net/sourceforge/nconf/nconf-1.2.5-0.tgz</p></blockquote>
<p>On décompresse l'archive:<br />
<blockquote>tar zxvf nconf-1.2.5-0.tgz</p></blockquote>
<p>Puis on copie le répertoire nconf à la racine de son serveur Web et on change les droits:<br />
<blockquote>sudo mv nconf /usr/local<br />sudo chown -R www-data:www-data /usr/local/nconf</p></blockquote>
<p>Notes: les sous-répertoires suivants doivent avoir les droits en écriture pour l'utilisateur www-data:<br /> ./config <br />&nbsp;./output <br />&nbsp;./static_cfg <br />&nbsp;./temp</p>
<h1>Création de la base de donnée</h1>
<p>La prochaine étape consiste à créer une base de données dédiée ) NConf. Pour créer un base de donnée nommée nconf avec les droits pour l'utilisateur nconfuser (mot de passe: nconfpassword), il faut saisir les commandes suivantes sur son serveur MySQL:<br />
<blockquote># mysqladmin --user=root -p create nconf</p>
<p># mysql --user=root -p mysql</p>
<p>mysql&gt; GRANT ALL ON nconf.* TO nconfuser@localhost IDENTIFIED BY 'nconfpassword';</p>
<p>mysql&gt; flush privileges;</p></blockquote>
<h1>Configuration du serveur Web</h1>
<p>Pour rendre accessible le répertoire /usr/local/nconf à partir de votre serveur Web, il faut ajouter le fichier de configuration /etc/apache2/conf.d/nconf.conf dans votre configuration Apache:<br />
<blockquote>Alias /nconf /usr/local/nconf/<br />&lt;Directory "/usr/local/nconf"&gt;<br />&nbsp;&nbsp;&nbsp; Options Indexes<br />&nbsp;&nbsp;&nbsp; AllowOverride AuthConfig Options<br />&nbsp;&nbsp;&nbsp; Order allow,deny<br />&nbsp;&nbsp;&nbsp; Allow from all<br />&lt;/Directory&gt;</p></blockquote>
<p>Puis relancer Apache:<br />
<blockquote>apache2ctl restart</p></blockquote>
<p>
<h1>Configuration de NConf</h1>
<p>La fin de l'installation se fait via une interface Web. Il faut donc saisir l'URL suivante dans un navigateur:</p>
<div align="center"><b>http://adressedevotreserveur/nconf/INSTALL.php</b></div>
<p>Ce qui devrait afficher:</p>
<div align="center"><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/screenshot_001.png" /></div>
<p>On clique sur le bouton <b>Next</b>.</p>
<p>On doit saisir les paramètres de la base de donnée préalablement créées:</p>
<div align="center"><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/screenshot_002.png" width="576" height="274" /></div>
<p>On clique sur le bouton <b>Next</b>.</p>
<p>Le test de la BD doit être OK:</p>
<div align="center"><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/screenshot_003.png" /></div>
<p>On clique sur le bouton <b>Next</b>.</p>
<p>On fixe les répertoires de Nconf et de Nagios (/usr/local/nagios/bin). <b>Attention</b> dans le champs NAGIOS BIN, il faut saisir le chemin complet vers le binaire de Nagios (/usr/local/nagios/bin/nagios) et pas seulement le répertoire comme je l'ai fait dans un premier temps dans cette capture d'écran...</p>
<div align="center"><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/screenshot_004.png" width="572" height="260" /></div>
<p>On clique sur le bouton <b>Next</b>.</p>
<p>On fixe un mot de passe (adminpassword) pour l'accès à NConf:</p>
<div align="center"><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/screenshot_005.png" width="577" height="247" /></div>
<p>On clique sur le bouton <b>Next</b>.</p>
<p>Le programme d'installation va vérifier la configuration (tout doit être OK):</p>
<div align="center"><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/screenshot_006.png" width="578" height="532" /></div>
<p>On clique sur le bouton <b>Finish</b>.</p>
<p>On efface les fichier suivant:<br />
<blockquote>sudo rm -r /usr/local/nconf/INSTALL /usr/local/nconf/INSTALL.php /usr/local/nconf/UPDATE /usr/local/nconf/UPDATE.php</p></blockquote>
<h1>Mise en place de la synchronisation avec Nagios</h1>
<p>Comme NConf peut être hébergé sur une machine différente du serveur Nagios, l'importation de la configuration NCOnf vers Nagios doit se faire à la main ou par un script shell. Je préfére bien entendu cette deuxième méthode. </p>
<p>Avant tout, il faut vérifier que le répertoire Nagios à les bon droits en lecture et écriture pour être modifié par l'utilisateur www-data (utilisateur avec lequel le serveur Apache est lancé). Le plus simple est d'ajouter www-data au groupe nagiosgrp:<br />
<blockquote># vigr<br />nagiosgrp:x:1002:nagios,www-data</p></blockquote>
<p>puis de mettre les bons droits au répertoire etc:<br />
<blockquote>chown -R nagios:<b>nagiosgrp</b> /usr/local/nagios/etc<br />chmod 770 /usr/local/nagios/etc</p></blockquote>
<p>J'ai ensuite modifié le script ADD-ONS/deploy-local.sh de la manière suivante:<br />
<blockquote><small>#!/bin/bash</small><br /><small>OUTPUT_DIR="/usr/local/nconf/output/"</small><br /><small>NAGIOS_DIR="/usr/local/nagios/etc/"</small><br /><small>TEMP_DIR=${NAGIOS_DIR}"import/"</small><br /><small>CONF_ARCHIVE="NagiosConfig.tgz"</small><br /><small>if [ ! -e ${TEMP_DIR} ] ; then</small><br /><small>mkdir -p ${TEMP_DIR}</small><br /><small>fi</small><br /><small>if [ ${OUTPUT_DIR}${CONF_ARCHIVE} -nt ${TEMP_DIR}${CONF_ARCHIVE} ] ; then</small><br /><small>cp -p ${OUTPUT_DIR}${CONF_ARCHIVE} ${TEMP_DIR}${CONF_ARCHIVE}</small><br /><small>tar -xf ${TEMP_DIR}${CONF_ARCHIVE} -C ${NAGIOS_DIR}</small><br /><small>/etc/init.d/nagios reload</small><br /><small>fi</small><br /><small>exit</small></p></blockquote>
<p>Il ne reste plus qu'a l'éxecuter de manière automatique (par exemple toutes les 5 minutes) via un crontab root:<br />
<blockquote># crontab -e<br />*/5 * * * * /bin/bash /usr/local/nconf/ADD-ONS/deploy_local.sh 2&gt;&amp;1 &gt; /dev/null</p></blockquote>
<p>
<h1>Utilisation de NConf</h1>
<p>La première chose à faire est de se connecter à l'interface Web et de s'authentifier (admin/adminpassword). La page suivante devrait s'afficher:</p>
<div align="center"><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/NConf_1245079025114.png" width="574" height="413" /></div>
<p>On va tester notre nouvelle interface en ajoutant un nouvel host dans Nagios. Pour cela on clique sur le menu "Hosts Add" de NConf:</p>
<div align="center"><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/screenshot_009.png" width="572" height="578" /></div>
<p>On clique ensuite sur <b>Submit</b>.</p>
<p>On peut alors choisir les services à superviser (il est bien sûr possible d'ajouter des services via NConf):</p>
<div align="center"><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/screenshot_007.png" width="563" height="233" /></div>
<p>On clique ensuite sur <b>Submit</b>.</p>
<p>Une dernière page s'affiche avec le résumé:</p>
<div align="center"><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/screenshot_008.png" /></div>
<p>On clique sur <b>Finish</b>.</p>
<p>NConf vient ainsi d'ajouter ce nouvel host dans sa base de donnée. En cliquant maintenant sur le lien "<b>Generate Nagios config</b>", on va générer les fichiers de configuration de Nagios dans un NagiosConfig.tgz se trouvant dans le répertoire&nbsp; /usr/local/nconf/output. </p>
<div align="center"><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/screenshot_010.png" /></div>
<p>Il ne reste plus qu'a attendre le prochain lancement du script deploy-local.sh (dans les 5 minutes via crontab) pour que le host apparaisse dans Nagios:</p>
<div align="center"><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/screenshot_011.png" width="553" height="96" /></div>
<p>
<h1>Conclusion</h1>
<p>Bien qu'en développement, NConf est très prometteur et comble le vide laissé par Nagios pour l'administration via une interface Web. L'idéal serait maintenant d'intégrer cette interface dans celle de Nagios (le hack ne doit pas être très difficile à faire) afin de ne pas avoir deux interfaces (NConf et Nagios).</p>
<p>A vous de tester maintenant...</p>
<p></p>

                            <div id="aspdf">
                                <a href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=2031">
                                    <span> </span>
                                </a>
                            </div>
                        ]]></content:encoded>
			<wfw:commentRss>http://blog.nicolargo.com/2009/06/nconf-une-interface-web-pour-nagios.html/feed</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>GStreamer et le codec X.264</title>
		<link>http://blog.nicolargo.com/2009/06/gstreamer-et-le-codec-x264.html</link>
		<comments>http://blog.nicolargo.com/2009/06/gstreamer-et-le-codec-x264.html#comments</comments>
		<pubDate>Wed, 10 Jun 2009 08:32:03 +0000</pubDate>
		<dc:creator>NicoLargo</dc:creator>
				<category><![CDATA[Open-source]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[gstreamer]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[codec]]></category>
		<category><![CDATA[H.264]]></category>
		<category><![CDATA[MPEG.4]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[X.264]]></category>

		<guid isPermaLink="false">http://blog.nicolargo.com/2009/06/gstreamer-et-le-codec-x264.html</guid>
		<description><![CDATA[Souhaitant effectuer un streaming RTP à partir d'une Webcam, voici un billet sur l'optimisation des paramètres du codec libre X.264 (implémentation libre du codec H.264 ou MPEG-4 AVC - WIKI) dont l'équipe de VideoLAN est à l'origine. Pour tester ce codec et ensuite mettre en place le streaming, j'utiliserai le framework GStreamer.

A la recherche des [...]]]></description>
			<content:encoded><![CDATA[<p><img style="max-width: 800px; float: right; margin-top: 10px; margin-bottom: 10px; margin-left: 10px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/x264.png" />Souhaitant effectuer un streaming RTP à partir d'une Webcam, voici un billet sur l'optimisation des paramètres du codec libre X.264 (implémentation libre du codec H.264 ou MPEG-4 AVC - <small><a href="http://fr.wikipedia.org/wiki/X264">WIKI</a></small>) dont l'équipe de VideoLAN est à l'<a href="http://www.videolan.org/developers/x264.html">origine</a>. Pour tester ce codec et ensuite mettre en place le streaming, j'utiliserai le framework <a href="http://blog.nicolargo.com/tag/gstreamer">GStreamer</a>.</p>
<p><span id="more-2001"></span><br />
<h1>A la recherche des "bons" paramètres</h1>
<p>On commence par&nbsp; créer un fichier vidéo de référence. Ce dernier est à adapter à votre besoin. Pour mes tests, j'ai enregistré une séquence d'une dizaine de secondes devant ma Webcam:<br />
<blockquote>gst-launch v4l2src device="/dev/video1" ! queue ! videoscale method=1 ! video/x-raw-yuv,width=320,height=240 ! avimux ! filesink location=webcam.avi</p></blockquote>
<p>Ensuite on génère un fichier encodé en H.264 (c'est à dire sans paramètre, avec un encodage à 2 Mbps). Il servira de référence pour la comparaison qualitative:<br />
<blockquote>gst-launch filesrc location=webcam.avi ! decodebin ! queue ! ffmpegcolorspace ! x264enc ! avimux ! filesink location=webcam-x264-10.avi</p></blockquote>
<p>On peut comparer les deux:</p>
<div align="center"><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/webcamavi-2.png" width="250" height="187" /> <img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/webcam-x264-10avi-21.png" width="250" height="187" /><br /><i><small>Original <b>vs</b> X.264 (defaut)</small></i></div>
<p>On va maintenant jouer avec les paramètres disponibles pour le codec X.264. La liste de ces paramètres est longue et le paramétrage très pointu. Je vous conseille la lecture de ce <a href="http://www.scribd.com/doc/16217934/x264-Options-Analysis-08">document</a> et de ce <a href="http://forum.doom9.org/forumdisplay.php?f=77">forum</a>.</p>
<p>Nous allons dans un premier temps fixer le débit de compression à 200 Kbps (paramètre <i>bitrate</i>) puis mettre des valeurs moyennes au niveau des paramètres <i>ref</i> et <i>subme</i>. Cela devrait assurer un bon compromis entre vitesse de compression et qualité d'image.<br />
<blockquote>gst-launch filesrc location=webcam.avi ! decodebin ! queue ! x264enc byte-stream=true bitrate=200 ! gst-launch filesrc location=webcam.avi ! decodebin ! queue ! ffmpegcolorspace ! x264enc byte-stream=true bitrate=200 bframes=4 ref=4 me=hex subme=4 weightb=true threads=0 ! avimux ! filesink location=webcam-x264-11.avi</p></blockquote>
<p>On compare le résultat:</p>
<div align="center"><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/webcam-x264-10avi-21.png" width="250" height="187" /> <img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/webcam-x264-11avi-2.png" width="250" height="187" /><br /><i><small>X.264 (defaut) <b>vs</b> X.264 test 11<br /></small><small>(</small></i><small>byte-stream=true bitrate=200 bframes=4 ref=4 me=hex subme=4 weightb=true threads=0<i><small>)</small></i></small></div>
<p>Comme on peut le voir la qualité est moins bonne (surtout quand il y a des mouvements) mais l'on passe d'un débit de 2089 Kbps à 203 Kbps (soit un facteur 10). </p>
<p>En choisissant des options qui permettent une compression plus rapide (ce qui peut être utile pour une utilisation interactive de type videoconference), on perd encore en qualité:<br />
<blockquote>gst-launch filesrc location=webcam.avi ! decodebin ! queue ! ffmpegcolorspace ! x264enc byte-stream=true bitrate=200 bframes=4 ref=1 me=dia subme=1 weightb=true threads=0 ! avimux ! filesink location=webcam-x264-12.avi</p></blockquote>
<p>On compare le résultat par rapport aux paramètres précédant:</p>
<div align="center"><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/webcam-x264-11avi-2.png" width="250" height="187" /> <img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/webcam-x264-12avi-2.png" width="250" height="187" /></div>
<div align="center"><i><small>X.264 test 11 <b>vs</b> X.264 test 12<br />(</small></i><small>byte-stream=true bitrate=200 bframes=4 ref=1 me=dia subme=1 weightb=true threads=0</small><i><small>)<br /></small></i></div>
<p>La consommation de bande passante entre les deux tests est la même (203 Kbps). Seul le temps d'encodage diffère (gain de 25%). </p>
<p>Enfin on paramètre X.264 pour améliorer la qualité (donc au détriment du temps d'encodage):<br />
<blockquote>gst-launch filesrc location=webcam.avi ! decodebin ! queue ! ffmpegcolorspace ! x264enc byte-stream=true bitrate=200 bframes=4 ref=8 me=umh subme=6 weightb=true threads=0 ! avimux ! filesink location=webcam-x264-13.avi</p></blockquote>
<p>On compare le résultat par rapport aux paramètres du test 11:</p>
<div align="center"><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/webcam-x264-11avi-2.png" width="250" height="187" /> <img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/webcam-x264-13avi-2.png" width="250" height="187" /></div>
<div align="center"><i><small>X.264 test 11 <b>vs</b> X.264 test 13</small></i><br /><i><small>(</small></i><small>byte-stream=true bitrate=200 bframes=4 ref=8 me=umh subme=6 weightb=true threads=0</small><i><small>)</small></i></div>
<p>La qualité est légèrement meilleure (difficile à voir sur cette image), le débit identique, par contre le délais d'encodage bondit de plus de 100%.</p>
<p>Pour résumé, les paramètres suivant sont ceux qui offre le meilleur résultat pour mon besoin:<br />
<blockquote><small>byte-stream=true bitrate=200 bframes=4 ref=4 me=hex subme=4 weightb=true threads=0</small></p></blockquote>
<h1>Ratio qualité/bande passante</h1>
<p>Maintenant que nous avons identifié les "bons" paramètres pour notre besoin. Il faut jouer sur les paramètres externes pour trouver le bon ratio entre la qualité de l'image et la bande passante consommé lors du streaming de notre Webcam.</p>
<p>Les paramètres sur lesquels on a des leviers sont les suivants:
<ul>
<li>taille de l'image (résolution)</li>
<li>nombre d'images par seconde (fps)</li>
<li>débit cible au niveau du codec X.264 (bitrate)</li>
</ul>
<p>Comme je n'aime pas faire des choses répétitives (non non, ce n'est pas de la fainéantise...),&nbsp; j'ai développé un petit script shell qui prend en entrée un fichier vidéo de référence, une liste de résolution (au format GStreamer), une liste de fps et une liste de débit. Le script va générer automatiquement les vidéos encodés avec ces différents paramètres.</p>
<p>Voici le script en question:<br />
<blockquote><small>#!/bin/sh</p>
<p># Je génére le fichier de référence avec la commande:<br /># sudo gst-launch v4l2src device="/dev/video1" ! queue ! videoscale method=1 ! video/x-raw-yuv,width=704,height=576 ! avimux ! filesink location=videotest.avi</p>
<p>videosrc="./videotest.avi"<br />reslist="width=704,height=576 width=352,height=288 width=176,height=144 width=128,height=96"<br />fpslist="24 12 6 3"<br />bitratelist="400 300 200 100 50"</p>
<p>for res in `echo $reslist`<br />do <br />&nbsp;resname=`echo $res | sed "s/width=//" | sed "s/height=//" | sed "s/,/x/"`<br />&nbsp;for fps in `echo $fpslist`<br />&nbsp;do<br />&nbsp; for bitrate in `echo $bitratelist`<br />&nbsp; do<br />&nbsp;&nbsp; echo videotest-${resname}-${fps}fps-${bitrate}kbps.avi<br />&nbsp;&nbsp; gst-launch filesrc location=$videosrc ! decodebin ! ffmpegcolorspace ! queue ! cairotextoverlay text="${resname} ${fps}fps ${bitrate}kbps" shaded-background=true ! queue ! videorate ! video/x-raw-yuv,framerate=$fps/1 ! queue ! videoscale method=1 !&nbsp; video/x-raw-yuv,$res ! queue ! ffmpegcolorspace ! x264enc byte-stream=true bitrate=$bitrate bframes=4 ref=4 me=hex subme=4 weightb=true threads=0 ! avimux ! filesink location=videotest-${resname}-${bitrate}kbps-${fps}fps.avi<br />&nbsp; done<br />&nbsp;done<br />done<br /></small></p></blockquote>
<p>J'obtient les résultats suivants:<br />
<blockquote><small>videotest-704x576-50kbps-6fps.avi donne un débit moyen de 41 kb/s<br />videotest-352x288-50kbps-3fps.avi donne un débit moyen de 42 kb/s<br />videotest-352x288-50kbps-6fps.avi donne un débit moyen de 42 kb/s<br />videotest-704x576-50kbps-3fps.avi donne un débit moyen de 43 kb/s<br />videotest-176x144-50kbps-3fps.avi donne un débit moyen de 44 kb/s<br />videotest-128x96-50kbps-3fps.avi donne un débit moyen de 45 kb/s<br />videotest-176x144-50kbps-6fps.avi donne un débit moyen de 46 kb/s<br />videotest-128x96-50kbps-6fps.avi donne un débit moyen de 47 kb/s<br />videotest-352x288-50kbps-12fps.avi donne un débit moyen de 47 kb/s<br />videotest-704x576-50kbps-12fps.avi donne un débit moyen de 47 kb/s<br />videotest-176x144-50kbps-12fps.avi donne un débit moyen de 51 kb/s<br />videotest-128x96-50kbps-12fps.avi donne un débit moyen de 52 kb/s<br />videotest-352x288-50kbps-24fps.avi donne un débit moyen de 53 kb/s<br />videotest-704x576-50kbps-24fps.avi donne un débit moyen de 53 kb/s<br />videotest-176x144-50kbps-24fps.avi donne un débit moyen de 54 kb/s<br />videotest-128x96-50kbps-24fps.avi donne un débit moyen de 56 kb/s<br />videotest-128x96-100kbps-3fps.avi donne un débit moyen de 73 kb/s<br />videotest-704x576-100kbps-6fps.avi donne un débit moyen de 76 kb/s<br />videotest-352x288-100kbps-3fps.avi donne un débit moyen de 81 kb/s<br />videotest-352x288-100kbps-6fps.avi donne un débit moyen de 81 kb/s<br />videotest-704x576-100kbps-3fps.avi donne un débit moyen de 84 kb/s<br />videotest-176x144-100kbps-3fps.avi donne un débit moyen de 86 kb/s<br />videotest-128x96-200kbps-3fps.avi donne un débit moyen de 87 kb/s<br />videotest-128x96-300kbps-3fps.avi donne un débit moyen de 87 kb/s<br />videotest-128x96-400kbps-3fps.avi donne un débit moyen de 87 kb/s<br />videotest-128x96-100kbps-6fps.avi donne un débit moyen de 88 kb/s<br />videotest-704x576-100kbps-12fps.avi donne un débit moyen de 89 kb/s<br />videotest-352x288-100kbps-12fps.avi donne un débit moyen de 91 kb/s<br />videotest-704x576-100kbps-24fps.avi donne un débit moyen de 93 kb/s<br />videotest-176x144-100kbps-6fps.avi donne un débit moyen de 94 kb/s<br />videotest-176x144-100kbps-12fps.avi donne un débit moyen de 99 kb/s<br />videotest-352x288-100kbps-24fps.avi donne un débit moyen de 99 kb/s<br />videotest-128x96-100kbps-12fps.avi donne un débit moyen de 101 kb/s<br />videotest-176x144-100kbps-24fps.avi donne un débit moyen de 103 kb/s<br />videotest-128x96-100kbps-24fps.avi donne un débit moyen de 104 kb/s<br />videotest-128x96-200kbps-6fps.avi donne un débit moyen de 125 kb/s<br />videotest-128x96-300kbps-6fps.avi donne un débit moyen de 130 kb/s<br />videotest-128x96-400kbps-6fps.avi donne un débit moyen de 131 kb/s<br />videotest-176x144-200kbps-3fps.avi donne un débit moyen de 136 kb/s<br />videotest-704x576-200kbps-6fps.avi donne un débit moyen de 150 kb/s<br />videotest-176x144-300kbps-3fps.avi donne un débit moyen de 151 kb/s<br />videotest-176x144-400kbps-3fps.avi donne un débit moyen de 152 kb/s<br />videotest-352x288-200kbps-6fps.avi donne un débit moyen de 161 kb/s<br />videotest-352x288-200kbps-3fps.avi donne un débit moyen de 162 kb/s<br />videotest-704x576-200kbps-3fps.avi donne un débit moyen de 165 kb/s<br />videotest-176x144-200kbps-6fps.avi donne un débit moyen de 170 kb/s<br />videotest-128x96-200kbps-12fps.avi donne un débit moyen de 174 kb/s<br />videotest-352x288-200kbps-12fps.avi donne un débit moyen de 174 kb/s<br />videotest-704x576-200kbps-12fps.avi donne un débit moyen de 174 kb/s<br />videotest-704x576-200kbps-24fps.avi donne un débit moyen de 187 kb/s<br />videotest-128x96-300kbps-12fps.avi donne un débit moyen de 188 kb/s<br />videotest-128x96-400kbps-12fps.avi donne un débit moyen de 188 kb/s<br />videotest-128x96-200kbps-24fps.avi donne un débit moyen de 191 kb/s<br />videotest-352x288-200kbps-24fps.avi donne un débit moyen de 192 kb/s<br />videotest-176x144-200kbps-12fps.avi donne un débit moyen de 193 kb/s<br />videotest-176x144-200kbps-24fps.avi donne un débit moyen de 199 kb/s<br />videotest-176x144-300kbps-6fps.avi donne un débit moyen de 202 kb/s<br />videotest-128x96-300kbps-24fps.avi donne un débit moyen de 211 kb/s<br />videotest-128x96-400kbps-24fps.avi donne un débit moyen de 215 kb/s<br />videotest-176x144-400kbps-6fps.avi donne un débit moyen de 216 kb/s<br />videotest-704x576-300kbps-6fps.avi donne un débit moyen de 220 kb/s<br />videotest-352x288-300kbps-3fps.avi donne un débit moyen de 235 kb/s<br />videotest-704x576-300kbps-3fps.avi donne un débit moyen de 245 kb/s<br />videotest-352x288-300kbps-6fps.avi donne un débit moyen de 249 kb/s<br />videotest-704x576-300kbps-12fps.avi donne un débit moyen de 262 kb/s<br />videotest-352x288-300kbps-12fps.avi donne un débit moyen de 265 kb/s<br />videotest-176x144-300kbps-12fps.avi donne un débit moyen de 272 kb/s<br />videotest-704x576-300kbps-24fps.avi donne un débit moyen de 278 kb/s<br />videotest-176x144-300kbps-24fps.avi donne un débit moyen de 289 kb/s<br />videotest-352x288-300kbps-24fps.avi donne un débit moyen de 293 kb/s<br />videotest-704x576-400kbps-6fps.avi donne un débit moyen de 297 kb/s<br />videotest-352x288-400kbps-3fps.avi donne un débit moyen de 298 kb/s<br />videotest-176x144-400kbps-12fps.avi donne un débit moyen de 301 kb/s<br />videotest-704x576-400kbps-3fps.avi donne un débit moyen de 318 kb/s<br />videotest-352x288-400kbps-6fps.avi donne un débit moyen de 336 kb/s<br />videotest-176x144-400kbps-24fps.avi donne un débit moyen de 339 kb/s<br />videotest-704x576-400kbps-12fps.avi donne un débit moyen de 346 kb/s<br />videotest-352x288-400kbps-12fps.avi donne un débit moyen de 355 kb/s<br />videotest-704x576-400kbps-24fps.avi donne un débit moyen de 373 kb/s<br />videotest-352x288-400kbps-24fps.avi donne un débit moyen de 385 kb/s</small></p></blockquote>
<p>Si on se focalise sur un nombre d'images par seconde de 12 et une résolution CIF (ce qui est suffisant pour une besoin de type vidéoconférence), on obtient les qualités suivantes:</p>
<div align="center"><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/videotest-352x288-50kbps-12fpsavi-2.png" width="250" height="205" /><br /><small>Dévit cible: 50 Kbps / Débit mesuré: <b>47</b> Kbps</small></p>
<p> <img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/videotest-352x288-100kbps-12fpsavi-2.png" width="250" height="204" /><br /><small>Dévit cible: 100 Kbps / Débit mesuré: <b>91</b> Kbps</small></p>
<p><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/videotest-352x288-200kbps-12fpsavi-2.png" width="250" height="205" /><br /><small>Dévit cible: 200 Kbps / Débit mesuré: <b>174</b> Kbps</p>
<p></small><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/videotest-352x288-300kbps-12fpsavi-2.png" width="250" height="204" /><br /><small>Dévit cible: 300 Kbps / Débit mesuré: <b>265</b> Kbps</p>
<p></small><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/videotest-352x288-400kbps-12fpsavi-2.png" width="250" height="204" /> <br /><small>Dévit cible: 400 Kbps / Débit mesuré: <b>355</b> Kbps</small></div>
<p>On peut voir que la qualité augmente moins à partir d'un débit cible de 200 Kbps. <br />
<h1>On teste enfin le streaming</h1>
<p>Pas la peine de réinventer la roue, j'avais déjà écrit <a href="http://blog.nicolargo.com/2009/02/jai-streame-avec-gstreamer.html">un billet sur le sujet</a>. Si l'on souhaite faire un streaming RTP entre deux machines en prenant en compte l'optimisation X.264 décrite dans les chapitres précédant, il faut saisir les commandes suivantes:</p>
<p>Sur le serveur (192.168.1.1):<br />
<blockquote>gst-launch -v&nbsp; gstrtpbin name=rtpbin \<br />
v4l2src \<br />
! queue ! videoscale method=1 ! video/x-raw-yuv,width=352,height=288 \<br />! queue ! videorate ! video/x-raw-yuv,framerate=\(fraction\)12/1 \<br />
! queue ! x264enc byte-stream=true bitrate=200 bframes=4 ref=4 me=hex subme=4 weightb=true threads=0 ! rtph264pay \<br />
! rtpbin.send_rtp_sink_0 \<br />
rtpbin.send_rtp_src_0 ! udpsink port=5000 host=192.168.1.2 \<br />
rtpbin.send_rtcp_src_0 ! udpsink port=5001 host=192.168.1.2 sync=false async=false \<br />
udpsrc port=5002 ! rtpbin.recv_rtcp_sink_0</p></blockquote>
<p>Puis sur le client (192.168.1.2):<br />
<blockquote>gst-launch -v gstrtpbin name=rtpbin latency=200 \<br />
udpsrc caps="application/x-rtp, media=(string)video,<br />
clock-rate=(int)90000, encoding-name=(string)H264, payload=(int)96" port=5000 \<br />
! rtpbin.recv_rtp_sink_0 \<br />
rtpbin. ! rtph264depay ! ffdec_h264 ! xvimagesink \<br />
udpsrc port=5001 ! rtpbin.recv_rtcp_sink_0 \<br />
rtpbin.send_rtcp_src_0 ! udpsink port=5002 host=192.168.0.1 sync=false async=false</p></blockquote>
<h1>Conclusion</h1>
<p>Comme toujours dans ce genre d'exercice, le paramétrage des codecs vidéos dépend de votre source (on n'encode pas de la même manière le flux CIF venant d'une Webcam ou un fichier vidéo HD...). On a ici trouvé un bon compromis entre qualité d'affichage et bande passante consommée sur le réseau. Etant loin d'être un spécialiste sur le sujet, il y a surement des optimisations à faire. Les commentaires sont fait pour ça !</p>

                            <div id="aspdf">
                                <a href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=2001">
                                    <span> </span>
                                </a>
                            </div>
                        ]]></content:encoded>
			<wfw:commentRss>http://blog.nicolargo.com/2009/06/gstreamer-et-le-codec-x264.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Compiler GStreamer depuis les sources sous GNU/Linux</title>
		<link>http://blog.nicolargo.com/2009/06/compiler-gstreamer-depuis-les-sources-sous-gnulinux.html</link>
		<comments>http://blog.nicolargo.com/2009/06/compiler-gstreamer-depuis-les-sources-sous-gnulinux.html#comments</comments>
		<pubDate>Mon, 08 Jun 2009 09:20:06 +0000</pubDate>
		<dc:creator>NicoLargo</dc:creator>
				<category><![CDATA[Open-source]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[gstreamer]]></category>
		<category><![CDATA[compilation]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.nicolargo.com/2009/06/compiler-gstreamer-depuis-les-sources-sous-gnulinux.html</guid>
		<description><![CDATA[Voici une petite procédure pour compiler la dernière version du framework multimédia GStreamer tout en préservant la version installée depuis les dépôts officiels. La procédure a été validé sur une GNU/Linux Ubuntu 9.04 mais doit facilement être adaptable à d'autres distribution (pour une procèdure équivalente sous Mac OS X, vous pouvez lire ce billet).
GStreamer étant [...]]]></description>
			<content:encoded><![CDATA[<p><img style="max-width: 800px; float: right; margin-top: 10px; margin-bottom: 10px; margin-left: 10px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/06/gstreamer-logo.png" />Voici une petite procédure pour compiler la dernière version <a href="http://blog.nicolargo.com/tag/gstreamer">du framework multimédia GStreamer</a> tout en préservant la version installée depuis les dépôts officiels. La procédure a été validé sur une GNU/Linux Ubuntu 9.04 mais doit facilement être adaptable à d'autres distribution (pour une procèdure équivalente sous Mac OS X, vous pouvez <a href="http://blog.nicolargo.com/2009/02/installation-de-gstreamer-sur-mac-os-x.html">lire ce billet</a>).</p>
<p>GStreamer étant un framework, il se base sur de nombreuses librairies externes. Pour nous simplifier la tache, nous allons utiliser les dépôts pour l'installation de ces librairies:<br />
<blockquote>sudo aptitude build-dep gstreamer0.10-ffmpeg gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad-multiverse gstreamer0.10-plugins-base gstreamer0.10-plugins-good gstreamer0.10-plugins-ugly gstreamer0.10-plugins-ugly-multiverse bison flex</p></blockquote>
<p>Ensuite on récupère <a href="http://gstreamer.freedesktop.org/src/">les dernières versions disponibles</a> de GStreamer et de ses plugins:<br />
<blockquote>mkdir ~/src<br />cd ~/src<br />wget http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-0.10.23.tar.gz<br />wget http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-0.10.12.tar.gz<br />wget http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-0.10.23.tar.gz<br />wget http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-0.10.15.tar.gz<br />wget http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-0.10.11.tar.gz</p></blockquote>
<p>On commence par la compilation de GStreamer (core). L'installation se fera dans le répertoire /opt/gstreamer/gstreamer-0.10.23:<br />
<blockquote>tar zxvf gstreamer-0.10.23.tar.gz<br />cd gstreamer-0.10.23<br />./configure --prefix=/opt/gstreamer/gstreamer-0.10.23<br />make<br />sudo make install<br />cd ..</p></blockquote>
<p>... puis les plugins "base":<br />
<blockquote>tar zxvf gst-plugins-base-0.10.23.tar.gz<br />cd gst-plugins-base-0.10.23<br />PKG_CONFIG_PATH=/opt/gstreamer/gstreamer-0.10.23/lib/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig ./configure --prefix=/opt/gstreamer/gstreamer-0.10.23<br />make <br />sudo make install<br />cd ..</p></blockquote>
<p>... puis les plugins "good":<br />
<blockquote>tar zxvf gst-plugins-good-0.10.15.tar.gz<br />cd gst-plugins-good-0.10.15<br />PKG_CONFIG_PATH=/opt/gstreamer/gstreamer-0.10.23/lib/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig ./configure --prefix=/opt/gstreamer/gstreamer-0.10.23<br />make <br />sudo make install<br />cd ..</p></blockquote>
<p>... puis les plugins "bad":<br />
<blockquote>tar zxvf gst-plugins-bad-0.10.12.tar.gz<br />cd gst-plugins-bad-0.10.12<br />PKG_CONFIG_PATH=/opt/gstreamer/gstreamer-0.10.23/lib/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig ./configure --prefix=/opt/gstreamer/gstreamer-0.10.23<br />make <br />sudo make install<br />cd ..</p></blockquote>
<p>... et enfin les plugins "ugly":<br />
<blockquote>tar zxvf gst-plugins-ugly-0.10.11.tar.gz<br />cd gst-plugins-ugly-0.10.11<br />PKG_CONFIG_PATH=/opt/gstreamer/gstreamer-0.10.23/lib/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig ./configure --prefix=/opt/gstreamer/gstreamer-0.10.23<br />make <br />sudo make install<br />cd ..</p></blockquote>
<p>Puis on créé un lien symbolique entre le répertoire /opt/gstreamer/current et /opt/gstreamer/gstreamer-0.10.23. Ce lien nous permet d'avoir plusieur version de GStreamer sur notre système.<br />
<blockquote>sudo ln -s /opt/gstreamer/gstreamer-0.10.23 /opt/gstreamer/current</p></blockquote>
<p></p>

                            <div id="aspdf">
                                <a href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=1987">
                                    <span> </span>
                                </a>
                            </div>
                        ]]></content:encoded>
			<wfw:commentRss>http://blog.nicolargo.com/2009/06/compiler-gstreamer-depuis-les-sources-sous-gnulinux.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Compilation de VLC 1.0 depuis les sources</title>
		<link>http://blog.nicolargo.com/2009/06/compilation-de-vlc-10-depuis-les-sources.html</link>
		<comments>http://blog.nicolargo.com/2009/06/compilation-de-vlc-10-depuis-les-sources.html#comments</comments>
		<pubDate>Wed, 03 Jun 2009 08:51:42 +0000</pubDate>
		<dc:creator>NicoLargo</dc:creator>
				<category><![CDATA[Open-source]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[vlc]]></category>

		<guid isPermaLink="false">http://blog.nicolargo.com/2009/06/compilation-de-vlc-10-depuis-les-sources.html</guid>
		<description><![CDATA[La sortie de la version 1.0 de VLC Media Player approche à grands pas. Si vous pouvez pas attendre et que vous souhaitez tester cette nouvelle version (en cours de développement) avant tout le monde, je vous propose une méthode d'installation par compilation à partir des sources. J'ai effectué cette procédure depuis une GNU/Linux Ubuntu [...]]]></description>
			<content:encoded><![CDATA[<p><img style="max-width: 800px; float: right; margin-top: 10px; margin-bottom: 10px; margin-left: 10px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/05/vlc1.png" width="180" height="123" />La sortie de la version 1.0 de VLC Media Player approche à grands pas. Si vous pouvez pas attendre et que vous souhaitez tester cette nouvelle version (en cours de développement) avant tout le monde, je vous propose une méthode d'installation <a href="http://wiki.videolan.org/UnixCompile">par compilation à partir des sources</a>. J'ai effectué cette procédure depuis une GNU/Linux Ubuntu 9.04 <a href="http://blog.nicolargo.com/2009/04/tu-fais-quoi-apres-linstallation-dubuntu.html">fraichement installée</a>.</p>
<h1>Récupération des dernières sources</h1>
<p>Nous allons utiliser l'outil <a href="http://wiki.videolan.org/Git">Git</a> pour récupérer les dernières versions des sources en utilisant la commande suivante:<br />
<blockquote>git clone git://git.videolan.org/vlc.git --depth 1</p></blockquote>
<p>On va se retrouver avec un répertoire <i>vlc</i>.<br />
<blockquote>cd vlc</p></blockquote>
<h1>Installation des pré-requis</h1>
<p>VLC se base sur un nombre important de logiciels open-source tiers (liste disponible <a href="http://wiki.videolan.org/Contrib_Status">ici</a>). Il faut donc installer ces dépendances. Il existe heureusement un script permettant d'automatiser cette lourde tache:<br />
<blockquote>cd extras/contrib<br />./bootstrap<br />make</p></blockquote>
<p>Le script va automatiquement: télécharger, compiler et installer les dépendances manquantes. Autant dire que l'exécution de la commande make peut prendre un certain temps selon votre configuration...<br />
<h1>Compilation</h1>
<p>On lance la commande suivante pour préparer les fichiers Makefile:<br />
<blockquote>./configure --enable-snapshot --enable-debug \<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --enable-dbus-control --enable-musicbrainz \<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --enable-shared-libvlc --enable-mozilla \<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --enable-lirc \<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --enable-shout --enable-taglib \<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --enable-v4l --enable-cddax \<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --enable-dvb --enable-vcdx \<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --enable-realrtsp --enable-xvmc \<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --enable-svg&nbsp;&nbsp; --enable-dvdread \<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --enable-dc1394 --enable-dv \<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --enable-theora --enable-faad \<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --enable-twolame --enable-real \<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --enable-flac --enable-tremor \<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --with-ffmpeg-mp3lame --with-ffmpeg-faac \<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --enable-quicktime --enable-dirac \<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --enable-skins2 --enable-qt4 \<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --enable-ncurses \<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --enable-aa --enable-caca \<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --enable-esd --enable-portaudio \<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --enable-jack --enable-xosd \<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --enable-galaktos --enable-goom \<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --enable-ggi \<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --disable-cddax --disable-vcdx</p></blockquote>
<p>Puis la compilation:<br />
<blockquote>make</p></blockquote>
<p>et enfin l'installation avec un petit coup de ballet:<br />
<blockquote>sudo make install</p></blockquote>

                            <div id="aspdf">
                                <a href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=1973">
                                    <span> </span>
                                </a>
                            </div>
                        ]]></content:encoded>
			<wfw:commentRss>http://blog.nicolargo.com/2009/06/compilation-de-vlc-10-depuis-les-sources.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Firefox 3.5 sous Ubuntu (dépôts)</title>
		<link>http://blog.nicolargo.com/2009/05/firefox-35-sous-ubuntu-depots.html</link>
		<comments>http://blog.nicolargo.com/2009/05/firefox-35-sous-ubuntu-depots.html#comments</comments>
		<pubDate>Thu, 28 May 2009 10:02:42 +0000</pubDate>
		<dc:creator>NicoLargo</dc:creator>
				<category><![CDATA[Open-source]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[firefox 3.5]]></category>
		<category><![CDATA[repos]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.nicolargo.com/2009/05/firefox-35-sous-ubuntu-depots.html</guid>
		<description><![CDATA[Je ne sais pas vous mais à force de tester des navigateurs alternatifs (par exemple Chromium), je trouve Firefox 3.0 de plus en plus lourd à supporter. J'ai donc décidé de tester la dernière version disponible, c'est à dire Firefox 3.5 (daily update).
Le but de ce billet est de faire une installation propre de cette [...]]]></description>
			<content:encoded><![CDATA[<p><img style="max-width: 800px; float: right; margin-top: 10px; margin-bottom: 10px; margin-left: 10px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/05/firefox35.jpg" alt="" />Je ne sais pas vous mais à force de tester des navigateurs alternatifs (<a href="http://blog.nicolargo.com/2009/05/installation-de-chromium-la-source-de-google-chrome.html">par exemple Chromium</a>), je trouve Firefox 3.0 de plus en plus lourd à supporter. J'ai donc décidé de tester la dernière version disponible, c'est à dire Firefox 3.5 (daily update).</p>
<p>Le but de ce billet est de faire une installation propre de cette version du navigateur de Mozilla en passant par les dépôts Launchpad.</p>
<h1>Configuration des dépôts Launchpad</h1>
<p>On commence par éditer le fichier /etc/apt/sources.list en y ajoutant les lignes suivantes (exemple pour version Ubuntu 9.04 jaunty):</p>
<blockquote><p><code>deb http://ppa.launchpad.net/ubuntu-mozilla-daily/ppa/ubuntu jaunty main</code><br />
<code>deb-src http://ppa.launchpad.net/ubuntu-mozilla-daily/ppa/ubuntu jaunty main</code></p></blockquote>
<p>Ensuite il faut lancer la mise à jour de la liste des dépôts:</p>
<blockquote><p>sudo apt-get update</p></blockquote>
<p>Si vous rencontrez l'erreur suivante:</p>
<blockquote><p><span style="color: #333333;"><small>W: GPG error: http://ppa.launchpad.net jaunty Release: Les signatures suivantes n'ont pas pu être vérifiées car la clé publique n'est pas disponible : NO_PUBKEY EF4186FE247510BE<br />
W: Vous pouvez lancer « apt-get update » pour corriger ces problèmes.</small></span></p></blockquote>
<p>il faut alors <a href="http://www.ubuntu-inside.me/2009/02/howto-fix-signaturekeyserver-problems.html">télécharger les clès</a> puis relancer la mise à jour de la liste des dépôts.</p>
<h1>Installation de Firefox 3.5</h1>
<p>On peut maintent passer à l'installation de la dernière version disponible (version stable au moment de l'écriture de ce billet):</p>
<blockquote><p>sudo aptitude install firefox-3.5 firefox-3.5-gnome-support</p></blockquote>
<p>Si tout se passe comme prévu lors de l'installation, vous devriez avoir cette dernière version disponible dans le menu Applications / Internet.</p>

                            <div id="aspdf">
                                <a href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=1964">
                                    <span> </span>
                                </a>
                            </div>
                        ]]></content:encoded>
			<wfw:commentRss>http://blog.nicolargo.com/2009/05/firefox-35-sous-ubuntu-depots.html/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Convertir JPG vers PDF en ligne de commande</title>
		<link>http://blog.nicolargo.com/2009/05/convertir-jpg-vers-pdf-en-ligne-de-commande.html</link>
		<comments>http://blog.nicolargo.com/2009/05/convertir-jpg-vers-pdf-en-ligne-de-commande.html#comments</comments>
		<pubDate>Wed, 27 May 2009 09:43:30 +0000</pubDate>
		<dc:creator>NicoLargo</dc:creator>
				<category><![CDATA[Open-source]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[sam2p]]></category>

		<guid isPermaLink="false">http://blog.nicolargo.com/2009/05/convertir-jpg-vers-pdf-en-ligne-de-commande.html</guid>
		<description><![CDATA[Sam2p (distribué par son auteur sous licence GPLv2) est un petit utilitaire très simple et pratique si vous avez à convertir des images d'un format vers un autre. Il est disponible sous GNU/Linux et Windows.
Liste des formats d'entré supportés:PNM, PBM, PGM, PPM, XPM, GIF, LBM, TGA, PCX, JPEG, TIFF, PNG, PS, EPS, PDFListe des formats [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.inf.bme.hu/%7Epts/sam2p/">Sam2p</a> (distribué par son auteur sous licence GPLv2) est un petit utilitaire très simple et pratique si vous avez à convertir des images d'un format vers un autre. Il est disponible sous GNU/Linux et Windows.</p>
<p>Liste des formats d'entré supportés:<br /><small><font color="#333333">PNM, PBM, PGM, PPM, XPM, GIF, LBM, TGA, PCX, <b>JPEG</b>, TIFF, PNG, PS, EPS, PDF</font><br /></small><br />Liste des formats de sortie supportés:<br /><font color="#333333"><small>XWD, BMP, PNG, TIFF6, JPEG, PNM, GIF89a, XPM, PS, EPS, <b>PDF</b></small></font></p>
<p>Un fois le logiciel installé avec la commande suivante (exemple d'installation sous Ubuntu):<br />
<blockquote>sudo apt-get install sam2p</p></blockquote>
<p>la commande pour convertir le fichier <i>image.jpg</i> vers <i>image.pdf</i> est:<br />
<blockquote>sam2p image.jpg image.pdf</p></blockquote>
<p>Il est bien sûr possible de spécifier des options à cette ligne de commande notamment pour ajuster le taux de compression (-c), changer la résolution de l'image (-m) ou bien appliquer une rotation ou un redimensionnement (-e).</p>
<p>L'utilisation de la ligne de commande permet de pouvoir facilement inclure sam2p dans un script afin de faire un traitement par lot des images.</p>

                            <div id="aspdf">
                                <a href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=1960">
                                    <span> </span>
                                </a>
                            </div>
                        ]]></content:encoded>
			<wfw:commentRss>http://blog.nicolargo.com/2009/05/convertir-jpg-vers-pdf-en-ligne-de-commande.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installation de Chromium, la source de Google Chrome</title>
		<link>http://blog.nicolargo.com/2009/05/installation-de-chromium-la-source-de-google-chrome.html</link>
		<comments>http://blog.nicolargo.com/2009/05/installation-de-chromium-la-source-de-google-chrome.html#comments</comments>
		<pubDate>Tue, 26 May 2009 09:56:17 +0000</pubDate>
		<dc:creator>NicoLargo</dc:creator>
				<category><![CDATA[Open-source]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[chromium]]></category>

		<guid isPermaLink="false">http://blog.nicolargo.com/2009/05/installation-de-chronium-la-source-de-google-chrome.html</guid>
		<description><![CDATA[Si il y a bien un sujet qui fait buzz dans le petit monde des navigateurs Internet, c'est bien Google Chrome. En attendant les versions pour GNU/Linux et Mac OS X qui ne devraient pas tarder, seul une version bêta pour Windows est disponible. Ce navigateur propriétaire se base sur un cœur open-source nommé Chromium [...]]]></description>
			<content:encoded><![CDATA[<p>Si il y a bien un sujet qui fait buzz dans le petit monde des navigateurs Internet, c'est bien <a href="http://www.google.fr/url?sa=t&amp;source=web&amp;ct=res&amp;cd=1&amp;url=http%3A%2F%2Fwww.google.com%2Fchrome%2Findex.html%3Fhl%3Dfr&amp;ei=UKwbSqDGHcmY_AbOp9iBDQ&amp;usg=AFQjCNEPkiQlicMEw971eiM5A5G1_lypzw&amp;sig2=Gp0T20hMDJEekeFiCfFdoA">Google Chrome</a>. En attendant les versions pour GNU/Linux et Mac OS X qui ne devraient pas tarder, seul une version bêta pour Windows est disponible. Ce navigateur propriétaire se base sur un cœur open-source nommé <a href="http://dev.chromium.org/">Chromium</a> (<a href="http://robert.accettura.com/blog/2009/05/08/chromiums-webkit-fork-is-no-more/">utilisant</a> lui même le moteur <a href="http://webkit.org/">Webkit</a>) qui n'est ni plus ni moins qu'une version libre (<a href="http://code.google.com/intl/fr/chromium/terms.html">licence BSD</a>) de Google Chrome sans le verni de Google (interfaces avec les services types Gmail, Calendar, Reader...). Pour notre plus grand bonheur, Chromium est disponible sous GNU/Linux (et sous Windows et sous Mac OS X...).</p>
<h1>Téléchargement de la version précompilée</h1>
<p>On commence par récupérer le numéro de la dernière version alpha (nightly version 16851 au moment de l'écriture de ce billet) disponible en saisissant l'URL suivante dans notre navigateur Web:</p>
<blockquote><p><a href="http://build.chromium.org/buildbot/snapshots/chromium-rel-linux/LATEST">http://build.chromium.org/buildbot/snapshots/chromium-rel-linux/LATEST</a><br />
<strong>16851</strong></p></blockquote>
<p>Ensuite, dans un terminal, on tape les commandes suivantes:</p>
<blockquote><p>wget http://build.chromium.org/buildbot/snapshots/chromium-rel-linux/<strong>16851</strong>/chrome-linux.zip<br />
unzip chrome-linux.zip</p></blockquote>
<p>On se retrouve avec un répertoire nommé <em>chrome-linux</em>.</p>
<h1>Lancement de l'application</h1>
<p>On doit lancer les commandes suivantes:</p>
<blockquote><p>cd chrome-linux<br />
./chrome</p></blockquote>
<p>Si tout se passe bien, le navigateur devrait s'afficher.</p>
<div><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/05/screenshot-004.png" alt="" width="518" height="405" /></div>
<p>Utilisateur de Firefox, j'ai été agréablement surpris par la rapidité de chargement du navigateur (moins de 2 secondes). A bien sûr tempérer par le fait que les fonctions de cette version alpha de Chromium sont assez réduites. Il n'y a, par exemple, pas de gestion des plugins.</p>
<p>Après quelques minutes d'utilisation, l'affichage des pages ne pose aucun problème et s'avère très rapide (environ 25% plus rapide que Firefox 3.0.10 sur des pages lourdes):</p>
<div><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/05/linuxchronium.png" alt="" width="580" height="426" /></div>
<p>Mais c'est au niveau de la compatibilité avec les normes Web est vraiment surprenant, car même pour une version alpha, il arrive à obtenir 100% <a href="http://acid3.acidtests.org/">au test Acid 3</a> (alors que Firefox 3.0.10 plafonne à 71%). Seul une petite erreur référencé (<a href="%20http://code.google.com/p/chromium/issues/detail?id=6208">LINKTEST FAILED</a>) gâche le tableau.</p>
<div><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/05/screenshot-002.png" alt="" width="301" height="215" /> <img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/05/screenshot-003.png" alt="" width="301" height="215" /><br />
<small>Firefox 3.0.10 <strong>vs</strong> Chronium Alpha 16851</small></div>
<h1>Conclusion</h1>
<p>Ce navigateur me semble très prometteur. La qualité et la rapidité d'affichage sont excellentes, le moteur Webkit y est surement pour beaucoup (c'est également le moteur utilisé par Safari). Reste à voir comment va évoluer le projet. Espérons que les développeurs gardent une politique de navigateur libre et léger. Alors Chromium pourra se positionner comme une alternative au leader qu'est Firefox dans les navigateurs multi-plateformes.</p>

                            <div id="aspdf">
                                <a href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=1958">
                                    <span> </span>
                                </a>
                            </div>
                        ]]></content:encoded>
			<wfw:commentRss>http://blog.nicolargo.com/2009/05/installation-de-chromium-la-source-de-google-chrome.html/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Moblin un nouveau Linux pour les netbooks</title>
		<link>http://blog.nicolargo.com/2009/05/moblin-un-nouveau-linux-pour-les-netbooks.html</link>
		<comments>http://blog.nicolargo.com/2009/05/moblin-un-nouveau-linux-pour-les-netbooks.html#comments</comments>
		<pubDate>Mon, 25 May 2009 19:50:23 +0000</pubDate>
		<dc:creator>NicoLargo</dc:creator>
				<category><![CDATA[Open-source]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[moblin]]></category>
		<category><![CDATA[netbook]]></category>

		<guid isPermaLink="false">http://blog.nicolargo.com/?p=1953</guid>
		<description><![CDATA[
Le 1er avril 2009, Intel a c&#233;d&#233; &#224; la Linux Fundation le d&#233;veloppement de son syst&#232;me GNU/inux  d&#233;di&#233; aux terminaux mobiles (netbooks, MIDs: Mobile Internet devices). Nomm&#233; Moblin (contraction de mobile et Linux), ce syst&#232;me d'exploitation vise &#224; exploiter le meilleur des performances des machines construites autour du processeur Intel&#174; Atom&#8482;. Il avait fait [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.ebuzzing.com/statsimagesp/5745_479_20574_237_310.jpg" border="0" />
<p>Le 1er avril 2009, <a rel="nofollow" href="http://www.ebuzzing.com/rd/5745_479_20574_237_310/www.moblinzone.com/fr" target="_blank">Intel</a> a c&eacute;d&eacute; &agrave; la Linux Fundation le d&eacute;veloppement de son syst&egrave;me <a rel="nofollow" href="http://www.ebuzzing.com/rd/5745_479_20574_237_310/www.moblinzone.com/fr" target="_blank">GNU/inux</a>  d&eacute;di&eacute; aux terminaux mobiles (netbooks, MIDs: Mobile Internet devices). Nomm&eacute; Moblin (contraction de mobile et Linux), ce syst&egrave;me d'exploitation vise &agrave; exploiter le meilleur des performances des machines construites autour du processeur <a rel="nofollow" href="http://www.intel.com/technology/atom/index.htm">Intel&reg; Atom&trade;</a>. Il avait fait parler de lui il y a maintenant quelques mois (le projet initial date de 2007) car une des caract&eacute;risques est un d&eacute;marrage (boot) tr&egrave;s <a rel="nofollow" href="http://moblin.org/projects/fast-boot">rapide</a> (inf&eacute;rieur &agrave; 5 secondes).</p>
<p>Actuellement disponible en version 2.0 b&ecirc;ta (image ISO du LiveCD <a rel="nofollow" href="http://moblin.org/downloads">t&eacute;l&eacute;chargeable ici</a>), le projet propose &eacute;galement un environnement de d&eacute;veloppement permettant de cr&eacute;er des images ISO personnalisables &agrave; vos besoins (<a rel="nofollow" href="http://moblin.org/projects/moblin-image-creator-2">Moblin Image Creator</a>) et bien s&ucirc;r un <a rel="nofollow" href="http://moblin.org/documentation/moblin-sdk">SDK complet</a> pour d&eacute;velopper vos applications. Pour vous donner une id&eacute;e des possibilit&eacute;s de l'interface graphique de Moblin, vous pouvez regarder cette <a rel="nofollow" href="http://www.youtube.com/watch?v=vsCpIeLLoT8&amp;feature=player_embedded">vid&eacute;o</a>.</p>
<p>La principale diff&eacute;rence de Moblin par rapport &agrave; un projet comme Android est la cible des terminaux. En effet, alors qu'Android se focalise, pour l'instant sur les t&eacute;l&eacute;phons portables, Moblin s'attaque au march&eacute; des netbooks et MIDS (que l'on peut retrouver par exemple dans les voitures pour g&eacute;rer les fonctions multim&eacute;dia).</p>
<p>Le projet lance aujourd'hui un appel &agrave; la communaut&eacute; pour d&eacute;couvrir, tester et d&eacute;velopper Moblin. Un site sp&eacute;cialement d&eacute;di&eacute; &agrave; &eacute;t&eacute; cr&eacute;&eacute; &agrave; cet effet: <a rel="nofollow" href="http://www.ebuzzing.com/rd/5745_479_20574_237_310/www.moblinzone.com/fr" target="_blank">Moblinzone</a>.</p>
<div align="center"><a rel="nofollow" href="http://www.moblinzone.com/fr" target="_blank"><img height="" border="0" width="" src="http://www.ebuzzingvideo.com/banniere/annonceur5049/banniere.jpg" alt="Intel" /></a></div>
<p>Apr&egrave;s inscription, un espace priv&eacute; vous donnera acc&egrave;s &agrave; un nombre important de ressources sur le projet et vous permettra entre autres de:</p>
<ul>
<li>acc&eacute;der aux vid&eacute;os, blogs et articles.</li>
<li>telecharger les applications disponibles sur Moblin.</li>
<li>profiter en avant premi&egrave;re des derni&egrave;res mises au point de Moblin.</li>
<li>partager vos comp&eacute;tences et b&eacute;n&eacute;ficier de celles des autres membres de la communaut&eacute; Moblin.</li>
</ul>
<p align="justify">&nbsp;Ce projet prometteur est donc &agrave; suivre de tr&egrave;s pr&ecirc;t aux vues de l'explosion des ventes des netbooks que l'on a connue en 2008 !</p>
<p align="right"><em><strong>Note:</strong> ceci est un <a rel="nofollow" href="http://www.ebuzzing.com" target="_blank">article sponsoris&eacute;</a>, j'ai donc &eacute;t&eacute; r&eacute;mun&eacute;r&eacute; pour la r&eacute;daction de ce billet.</em></p>

                            <div id="aspdf">
                                <a href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=1953">
                                    <span> </span>
                                </a>
                            </div>
                        ]]></content:encoded>
			<wfw:commentRss>http://blog.nicolargo.com/2009/05/moblin-un-nouveau-linux-pour-les-netbooks.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Linux arrive (enfin) chez Dell</title>
		<link>http://blog.nicolargo.com/2009/05/linux-arrive-enfin-chez-dell.html</link>
		<comments>http://blog.nicolargo.com/2009/05/linux-arrive-enfin-chez-dell.html#comments</comments>
		<pubDate>Fri, 15 May 2009 11:38:28 +0000</pubDate>
		<dc:creator>NicoLargo</dc:creator>
				<category><![CDATA[Open-source]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[dell]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.nicolargo.com/2009/05/linux-arrive-enfin-chez-dell.html</guid>
		<description><![CDATA[Après une longue attente de la part de la communauté libre, Dell, un des leaders mondiaux de la vente de PC en ligne, propose un PC portable livré en standard avec une distribution GNU/Linux Ubuntu 8.04 (le mini PC Inspiron Mini 10v au prix de 249 Euros). Bien que Dell annonce sur son site l'ouverture [...]]]></description>
			<content:encoded><![CDATA[<p>Après une longue attente de la part de la communauté libre, Dell, un des leaders mondiaux de la vente de PC en ligne, propose un PC portable <u>livré en standard</u> avec une distribution GNU/Linux Ubuntu 8.04 (le mini PC Inspiron <a href="http://www1.euro.dell.com/content/products/productdetails.aspx/laptop-inspiron-10?c=fr&amp;l=fr&amp;s=dhs&amp;cs=frdhs1">Mini 10v</a> au prix de 249 Euros). Bien que Dell <a href="http://www1.euro.dell.com/content/topics/topic.aspx/emea/segments/gen/client/fr/ubuntu_landing?c=fr&amp;l=fr&amp;s=dhs">annonce</a> sur son site l'ouverture des ces ordinateurs au monde GNU/Linux, seulement deux mini PC sont disponibles sur le site Français (le nouveau Mini 10v et le Mini 9).</p>
<div align="center"><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/05/dellubuntu.png" width="575" height="366" /></div>
<p>En espérant que cette initiative ne soit pas un simple buzz marketing et que cette offre fasse boule de neige chez Dell et d'autres revendeurs...<br />&nbsp; </p>

                            <div id="aspdf">
                                <a href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=1935">
                                    <span> </span>
                                </a>
                            </div>
                        ]]></content:encoded>
			<wfw:commentRss>http://blog.nicolargo.com/2009/05/linux-arrive-enfin-chez-dell.html/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
	</channel>
</rss>
