<?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; Developpement</title>
	<atom:link href="http://blog.nicolargo.com/category/dev/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>Sun, 05 Jul 2009 13:15:47 +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>Comment construire un .deb pour Ubuntu</title>
		<link>http://blog.nicolargo.com/2009/05/comment-construire-un-deb-pour-ubuntu.html</link>
		<comments>http://blog.nicolargo.com/2009/05/comment-construire-un-deb-pour-ubuntu.html#comments</comments>
		<pubDate>Thu, 28 May 2009 08:16:41 +0000</pubDate>
		<dc:creator>NicoLargo</dc:creator>
				<category><![CDATA[Developpement]]></category>
		<category><![CDATA[Open-source]]></category>
		<category><![CDATA[deb]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[package]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.nicolargo.com/2009/05/comment-construire-un-deb-pour-ubuntu.html</guid>
		<description><![CDATA[Voici une procédure (assez longue) permettant de générer un .deb (format de package compatible avec l'OS Ubuntu) pouvant être mis sur un depot officiel. Ce billet s'inspire très fortement de ce forum. 
Avant de commencer...
Il faut installer les pré-requis suivants:
sudo apt-get install build-essential dh-make debhelper devscripts strace fakeroot dput
Ensuite on créé l'arborescence suivante dans votre [...]]]></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/ubuntucdsticker.jpg" width="124" height="124" />Voici une procédure (assez longue) permettant de générer un .deb (format de package compatible avec l'OS Ubuntu) pouvant être mis sur un depot officiel. Ce billet s'inspire très fortement <a href="http://ubuntuforums.org/showthread.php?t=51003">de ce forum</a>. <br />
<h1>Avant de commencer...</h1>
<p>Il faut installer les pré-requis suivants:<br />
<blockquote>sudo apt-get install build-essential dh-make debhelper devscripts strace fakeroot dput</p></blockquote>
<p>Ensuite on créé l'arborescence suivante dans votre répertoire racine:<br />
<blockquote>cd ~<br />mkdir packages<br />cd packages</p></blockquote>
<h1>Création de notre premier package .deb</h1>
<p>On doit dans un premier temps récupérer les sources du logiciel à packager (<a href="http://www.nicolargo.com/dev/sjitter/">sjitter</a> dans mon exemple):<br />
<blockquote>wget http://fastbull.dl.sourceforge.net/sourceforge/sjitter/sjitter-0.18.1b.tgz<br />tar zxvf sjitter-0.18.1b.tgz</p></blockquote>
<p>Le nom du répertoire contenant les sources doit être de la forme nom-version:<br />
<blockquote>mv sjitter sjitter-0.18.1b</p></blockquote>
<p>On créé un sous répertoire sjitter dans lequel on met l'archive et les sources:<br />
<blockquote>mkdir sjitter<br />mv sjitter-0.18.1b sjitter-0.18.1b.tgz sjitter</p></blockquote>
<p>Pour vérifier, le contenu du répertoire de travail doit être le suivant:<br />
<blockquote># ls -l ~/packages/sjitter<br />sjitter-0.18.1b<br />sjitter-0.18.1b.tgz</p></blockquote>
<p>On va dans le répertoire source:<br />
<blockquote>cd sjitter/sjitter-0.18.1b</p></blockquote>
<p>Puis on lance la commande:<br />
<blockquote>dh_make -e nicolas@nospam.com -c GPL -f ../sjitter-0.18.1b.tgz<br />&gt; <b>s</b><br />Maintainer name : unknown<br />Email-Address&nbsp;&nbsp; : nicolas@nospam.com<br />Date&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : Wed, 27 May 2009 11:52:00 +0000<br />Package Name&nbsp;&nbsp;&nbsp; : sjitter<br />Version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 0.18.1b<br />License&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : blank<br />Type of Package : Single<br />&gt; <b>ENTER</b></p></blockquote>
<p>A la première question, il faut répondre:</p>
<p><small><font color="#333333"><b>s</b> = [single binary] - si c'est package normal<br /><b>l</b> = [library] - si c'est une librairie de dev<b><br />m</b> = [multiple] - si c'est un package comprenant plusieurs binaires<b><br />k</b> = [kernel module] - si c'est module noyau</font></small></p>
<p>Il faut ensuite créer le script suivant:<br />
<blockquote># vi script.sh<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; strace -f -o /tmp/log ./configure<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # or make instead of ./configure, if the package doesn't use autoconf<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for x in `dpkg -S $(grep open /tmp/log|\<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; perl -pe 's!.* open\(\"([^\"]*).*!$1!' |\<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; grep "^/"| sort | uniq|\<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; grep -v "^\(/tmp\|/dev\|/proc\)" ) 2&gt;/dev/null|\<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; cut -f1 -d":"| sort | uniq`; \<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; do \<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo -n "$x (&gt;=" `dpkg -s $x|grep ^Version|cut -f2 -d":"` "), "; \<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; done</p></blockquote>
<p>Puis l'exécuter:<br />
<blockquote># chmod 755 script.sh<br /># ./script.sh<br />binutils (&gt;= 2.18.1~cvs20080103-0ubuntu1 ), coreutils (&gt;= 6.10-3ubuntu2 ), libacl1 (&gt;= 2.2.45-1 ), libattr1 (&gt;= 1 ), libc6 (&gt;= 2.7-10ubuntu4 ), libc6-dev (&gt;= 2.7-10ubuntu4 ), libc6-i686 (&gt;= 2.7-10ubuntu4 ), libncurses5 (&gt;= 5.6+20071124-1ubuntu2 ), libselinux1 (&gt;= 2.0.55-0ubuntu4 )</p></blockquote>
<p>Le résultat du script donne une liste des dépendances (à noter pour plus tard).</p>
<p>On va alors dans le sous répertoire debian créé par le programme dh_make:<br />
<blockquote>cd debian</p></blockquote>
<p>Puis on édite le fichier <b>control</b>:<br />
<blockquote># vi <b>control</b><br />Source: sjitter<br />Section: net<br />Priority: extra<br />Maintainer: Nicolas Hennion &lt;nicolas@nospam.com&gt;<br />Build-Depends: debhelper (&gt;= 5), autotools-dev, libc6-dev (&gt;= 2.7-10ubuntu4 )<br />Standards-Version: 3.7.2</p>
<p>Package: sjitter<br />Architecture: any<br />Depends: ${shlibs:Depends}, ${misc:Depends} binutils (&gt;= 2.18.1~cvs20080103-0ubuntu1 ), coreutils (&gt;= 6.10-3ubuntu2 ), libacl1 (&gt;= 2.2.45-1 ), libattr1 (&gt;= 1 ), libc6 (&gt;= 2.7-10ubuntu4 ), libc6-i686 (&gt;= 2.7-10ubuntu4 ), libncurses5 (&gt;= 5.6+20071124-1ubuntu2 ), libselinux1 (&gt;= 2.0.55-0ubuntu4)<br />Description: Sjitter is a client/server performing tool.<br />&nbsp;Sjitter is a command line client/server to measure jitter (based on RFC 1889), one way UDP delay and bandwidth. The client and the server's date should be synchronise to compute the jitter. You can use the NTP protocol to do this.</p></blockquote>
<p>Avec:<br /><small><font color="#333333">Ligne 1: Nom du projet<br />Ligne 2: Section à laquelle appartient le projet (voir la des sections <a href="http://packages.debian.org/en/lenny/">disponible ici</a>)<br />Ligne 3: Laisse la valeur par défaut<br />Ligne 4: Nom et adresse mail du mainteneur du package<br />Ligne 5: Il faut y mettre les dépendances finissants par -dev (résultat du ./script)<br />Ligne 6: Laisse la valeur par défaut<br />Ligne 7: Vide<br />Ligne 8: Mettre la même chose qu'en ligne 1<br />Ligne 9: Architecture cible (any pour toutes)<br />Ligne 10: Il faut y mettre les dépendances ne finissants <u>pas</u> par -dev (résultat du ./script)<br />Ligne 11: Description courte du projet (&lt; à 60 caractères)<br />Ligne 12-&gt;n: Description longue (attention à laisser un espace avant votre description)</font></small></p>
<p><font color="#000000">Puis le fichier changelog:</font><br />
<blockquote># vi <b>changelog</b><br />sjitter (0.18.1b-<i>0ubuntu1</i>) unstable; urgency=low</p>
<p>&nbsp;* Version 0.18 (23/03/2009), thanks to Thierry Legras</p>
<p>-- Nicolas Hennion &lt;nicolas@nospam.com&gt;&nbsp; Wed, 27 May 2009 11:52:00 +0000</p></blockquote>
<p>Avec:<br /><small>Ligne 1: Nom du package. Il faut ajouter 0ubuntu1 à la version.<br />Ligne 2: Vide<br />Ligne 3-&gt;n: Liste des changements de cette version<br />Ligne n+1: Vide<br />Ligne n+2: Nom, adresse mail et date</small></p>
<p>Le fichier <b>copyright</b>:<br />
<blockquote># vi <b>copyright</b><br />This package was debianized by Nicolas Hennion &lt;nicolas@nicolargo.com&gt; on<br />Wed, 27 May 2009 11:52:00 +0000.</p>
<p>It was downloaded from http://fastbull.dl.sourceforge.net/sourceforge/sjitter/sjitter-0.18.1b.tgz</p>
<p>Upstream Author(s): Nicolas Hennion &lt;nicolas@nicolargo.com&gt;</p>
<p>License: This script is written under the GNU General Public License.</p></blockquote>
<p>Avec:<br /><font color="#333333"><small>Ligne 1: Nom et adresse de l'auteur du package<br />Ligne 2: Date<br />Ligne 3: Vide<br />Ligne 4: A partir de quel source le package a été généré<br />Ligne 5: Vide<br />Ligne 6-&gt;n: Les auteurs du logiciel (copie du fichier ../AUTHORS)<br />Ligne n+1: Vide<br />Ligne n+2-&gt;m: Licence sous laquelle le logiciel est distribué (conformément à la volonté de l'auteur)<br />Ligne m+1: Vide (optionnel)<br />Ligne m+2: Licence complète (optionnel)</small><br /></font><br />Il y a ensuite certains fichiers optionnels à configurer. Si ils ne sont pas utiles pour votre logiciel, il faut les supprimer.</p>
<p><font color="#333333"><small><b>README.debian</b>: Informations complémentaires sur le logiciel (non présentes dans les autres fichiers)<br /><b>emacsen-*.ex</b>: Fichier Emacs pouvant être compilé à l'installation<br /><b>init.d.ex</b>: Si votre logiciel doit se lancer en mode daemon, c'est dans ce fichier qu'il faut écrire le script init.d<br /><b>manpage.1.ex, manpage.sgml.ex</b>: Fichiers de man (aide)<br /><b>preinst.ex</b>: Script à lancer avant l'installation<br /><b>postinst.ex</b>: Script à lancer après l'installation<br /><b>prerm.ex</b>: Script à lancer avant la désinstallation<br /><b>postrm.ex</b>: Script à lancer après la désinstallation</small></font></p>
<p>On peut ensuite lancer la génération du fichier .deb<br />
<blockquote>dpkg-buildpackage -rfakeroot</p></blockquote>
<p>Si tout se passe sans problème, vous devriez vous retrouver avec les fichiers suivant dans le répertoire ~/packages/sjitter/:</p>
<p><small><font color="#333333">sjitter_0.18.1b-1.diff.gz: Changement entre .deb et les sources originales<br />sjitter_0.18.1b-1.dsc: Fichier permettant aux mainteneurs des repos de suivre ce package<br />sjitter_0.18.1b-1_i386.changes: Le changelog (liste des changements)<br />sjitter_0.18.1b-1_i386.deb: Le package au format .deb<br />sjitter_0.18.1b.orig.tar.gz: Les sources originales</font></small></p>
<p>Et voilà, vous venez de faire votre premier package Ubuntu, il ne reste plus qu'a <a href="https://wiki.ubuntu.com/MOTU/Packages/REVU">le soumettre à la communauté</a>.</p>

                            <div id="aspdf">
                                <a href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=1962">
                                    <span> </span>
                                </a>
                            </div>
                        ]]></content:encoded>
			<wfw:commentRss>http://blog.nicolargo.com/2009/05/comment-construire-un-deb-pour-ubuntu.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Installation d&#039;un serveur SVN sous Ubuntu</title>
		<link>http://blog.nicolargo.com/2009/04/installation-dun-serveur-svn-sous-ubuntu.html</link>
		<comments>http://blog.nicolargo.com/2009/04/installation-dun-serveur-svn-sous-ubuntu.html#comments</comments>
		<pubDate>Wed, 29 Apr 2009 08:10:35 +0000</pubDate>
		<dc:creator>NicoLargo</dc:creator>
				<category><![CDATA[Developpement]]></category>
		<category><![CDATA[Open-source]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[serveur]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.nicolargo.com/2009/04/installation-dun-serveur-svn-sous-ubuntu.html</guid>
		<description><![CDATA[Le but de ce billet est de mettre en place un serveur de gestion de versions basée sur SVN+SSH.
On commence par installer le package subversion qui comprend à la fois le client et le serveur SVN.
# sudo svn update
# sudo apt-get install subversion
on créé un utilisateur et un groupe générique svn.
# sudo adduser svn
Adding user [...]]]></description>
			<content:encoded><![CDATA[<p>Le but de ce billet est de mettre en place <a href="http://fr.wikipedia.org/wiki/Syst%C3%A8me_de_gestion_de_versions">un serveur de gestion de versions basée</a> sur SVN+SSH.</p>
<p>On commence par installer le package subversion qui comprend à la fois le client et le serveur SVN.</p>
<blockquote><p># sudo svn update<br />
# sudo apt-get install subversion</p></blockquote>
<p>on créé un utilisateur et un groupe générique svn.</p>
<blockquote><p># sudo adduser svn<br />
<small>Adding user `svn' ...<br />
Adding new group `svn' (1000) ...<br />
Adding new user `svn' (1001) with group `svn' ...<br />
Creating home directory `/home/svn' ...<br />
Copying files from `/etc/skel' ...<br />
Enter new UNIX password:<br />
Retype new UNIX password:<br />
passwd: password updated successfully<br />
Changing the user information for svn<br />
Enter the new value, or press ENTER for the default<br />
Full Name []: SVN<br />
Room Number []:<br />
Work Phone []:<br />
Home Phone []:<br />
Other []:<br />
Is the information correct? [y/N] y</small></p></blockquote>
<p>Pour des questions de sécurité, je vous conseille de désactiver le SHELL pour cet utilisateur:</p>
<blockquote><p># sudo vipw<br />
svn:x:1001:1000:SVN,,,:/home/svn:<strong>/usr/sbin/nologin</strong></p></blockquote>
<p>Si vous souhaitez accéder à votre serveur SVN avec un compte unix bien précis, il faut ajouter le login de ce compte au groupe svn:</p>
<blockquote><p># sudo vigr<br />
svn:x:1000:<strong>nicolargo</strong></p></blockquote>
<p>Puis on créé un répertoire ou seront stockées les sources de vos programmes.</p>
<blockquote><p># sudo mkdir /var/svn</p></blockquote>
<p>Il faut ensuite demander à SVN de créer un répertoire SVN pour notre projet:</p>
<blockquote><p># sudo svnadmin create /var/svn/projet</p></blockquote>
<p>Puis de changer les droits:</p>
<blockquote><p># sudo chown -R svn:svn /var/svn<br />
# sudo chmod -R 775 /var/svn</p></blockquote>
<p>Il ne reste plus qu'a tester votre serveur à partir d'une machine distante en "important" votre projet (dont les sources sont localisées dans le répertoire ~/projet pour illustrer ce billet).</p>
<p>Avant l'importation, on va créer la structure classique de SVN:</p>
<p>projet<br />
- trunk<br />
- branches<br />
- tags</p>
<blockquote><p>client# svn mkdir --parents  svn+ssh://nicolargo@monserveur/var/svn/projet/trunk -m ""<br />
client# svn mkdir --parents  svn+ssh://nicolargo@monserveur/var/svn/projet/tags -m ""<br />
client# svn mkdir --parents  svn+ssh://nicolargo@monserveur/var/svn/projet/branches -m ""</p></blockquote>
<p>Puis on importe les sources:</p>
<blockquote><p>client# cd ~/projet<br />
client# svn import . svn+ssh://nicolargo@monserveur/var/svn/projet/trunk -m "Premiere importation"<br />
nicolargo@monserveur's password:<br />
...<br />
Révision 0 propagée.</p></blockquote>
<p>Il ne reste plus qu'a tester l'exportation des sources:</p>
<blockquote><p>client# cd ~<br />
client# mv projet projet.init<br />
client# svn co svn+ssh://nicolargo@monserveur/var/svn/projet/trunk projet<br />
...<br />
Révision 0 extraite.</p></blockquote>
<p>Pour aller plus loin dans l'utilisation de votre nouveau serveur SVN, je vous conseille <a href="http://artisan.karma-lab.net/node/1723">le très bon article de Ulhume</a> sur son non-blog...(remplacer juste http:// par svn+ssh://)</p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" src="http://img.zemanta.com/pixy.gif?x-id=14647b18-bf3f-846d-a336-46c5213ee347" alt="" /></div>

                            <div id="aspdf">
                                <a href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=1908">
                                    <span> </span>
                                </a>
                            </div>
                        ]]></content:encoded>
			<wfw:commentRss>http://blog.nicolargo.com/2009/04/installation-dun-serveur-svn-sous-ubuntu.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Compilation d&#039;une application GStreamer</title>
		<link>http://blog.nicolargo.com/2009/04/compilation-dune-application-gstreamer.html</link>
		<comments>http://blog.nicolargo.com/2009/04/compilation-dune-application-gstreamer.html#comments</comments>
		<pubDate>Tue, 28 Apr 2009 08:46:06 +0000</pubDate>
		<dc:creator>NicoLargo</dc:creator>
				<category><![CDATA[Developpement]]></category>
		<category><![CDATA[Open-source]]></category>
		<category><![CDATA[gstreamer]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.nicolargo.com/2009/04/compilation-dune-application-gstreamer.html</guid>
		<description><![CDATA[Voici la procédure à suivre pour compiler un programme C utilisant le framework GStreamer sur une distribution GNU/Linux Ubuntu.
Installation des librairies
On commence par installer les packages suivants:
sudo apt-get install libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libxml2-dev
Puis on créer les liens symboliques suivants:
sudo ln -s /usr/include/gstreamer-0.10/gst /usr/include/gstsudo ln -s /usr/include/libxml2/libxml /usr/include/libxml
Compilation de HelloGStreamer.c
Prenons en exemple le fichier hellogstreamer.c contenant le [...]]]></description>
			<content:encoded><![CDATA[<p>Voici la procédure à suivre pour compiler un programme C utilisant le framework GStreamer sur une distribution GNU/Linux Ubuntu.<br />
<h1>Installation des librairies</h1>
<p>On commence par installer les packages suivants:<br />
<blockquote>sudo apt-get install libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libxml2-dev</p></blockquote>
<p>Puis on créer les liens symboliques suivants:<br />
<blockquote>sudo ln -s /usr/include/gstreamer-0.10/gst /usr/include/gst<br />sudo ln -s /usr/include/libxml2/libxml /usr/include/libxml</p></blockquote>
<h1>Compilation de HelloGStreamer.c</h1>
<p>Prenons en exemple le fichier hellogstreamer.c contenant le code ci-dessous (<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/chapter-init.html#section-init-c">source ici</a>):<br />
<blockquote>#include &lt;gst/gst.h&gt;</p>
<p>int<br />main (int&nbsp;&nbsp; argc,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char *argv[])<br />{<br />&nbsp; const gchar *nano_str;<br />&nbsp; guint major, minor, micro, nano;</p>
<p>&nbsp; gst_init (&amp;argc, &amp;argv);</p>
<p>&nbsp; gst_version (&amp;major, &amp;minor, &amp;micro, &amp;nano);</p>
<p>&nbsp; if (nano == 1)<br />&nbsp;&nbsp;&nbsp; nano_str = "(CVS)";<br />&nbsp; else if (nano == 2)<br />&nbsp;&nbsp;&nbsp; nano_str = "(Prerelease)";<br />&nbsp; else<br />&nbsp;&nbsp;&nbsp; nano_str = "";</p>
<p>&nbsp; printf ("This program is linked against GStreamer %d.%d.%d %s\n",<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; major, minor, micro, nano_str);</p>
<p>&nbsp; return 0;<br />}</p></blockquote>
<p>La compilation devra se faire via la commande suivante:<br />
<blockquote>gcc `pkg-config --cflags --libs gstreamer-0.10` hellogstreamer.c -o hellogstreamer</p></blockquote>
<p>Le résultat de l'exécution du programme hellogstreamer devrait alors donner:<br />
<blockquote># ./hellogstreamer<br />GStreamer version 0.10.22</p></blockquote>
<p>A vous les beaux programmes utilisant <a href="http://blog.nicolargo.com/tag/gstreamer">ce superbe framework multimedia</a>.</p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" src="http://img.zemanta.com/pixy.gif?x-id=8fd8059d-3e85-889d-af02-f76fb44fd652" /></div>

                            <div id="aspdf">
                                <a href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=1902">
                                    <span> </span>
                                </a>
                            </div>
                        ]]></content:encoded>
			<wfw:commentRss>http://blog.nicolargo.com/2009/04/compilation-dune-application-gstreamer.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installation de Java 1.6 sous Debian et Ubuntu</title>
		<link>http://blog.nicolargo.com/2009/03/installation-de-java-16-sous-debian-et-ubuntu.html</link>
		<comments>http://blog.nicolargo.com/2009/03/installation-de-java-16-sous-debian-et-ubuntu.html#comments</comments>
		<pubDate>Mon, 16 Mar 2009 14:33:02 +0000</pubDate>
		<dc:creator>NicoLargo</dc:creator>
				<category><![CDATA[Developpement]]></category>
		<category><![CDATA[Open-source]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jdk]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.nicolargo.com/2009/03/installation-de-java-16-sous-debian-et-ubuntu.html</guid>
		<description><![CDATA[Si comme moi vous devez faire tourner des applications seulement compatible avec Java 6 (c'est à dire Java 1.6) sur vos machines Debian et Ubuntu, et que vous n&#039;avez pas de masters java en poche, la petite procédure suivante devrait vous être utile. En effet, ces deux distributions sont, à l'heure de l'écriture de ce [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://java.sun.com/"><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/03/sunjava6.png" alt="" /></a>Si comme moi vous devez faire tourner des applications seulement compatible avec Java 6 (c'est à dire Java 1.6) sur vos machines Debian et Ubuntu, et que vous n&#039;avez pas de <a href="http://www.emagister.fr/master/master_java_uml-tps664600.htm">masters java</a> en poche, la petite procédure suivante devrait vous être utile. En effet, ces deux distributions sont, à l'heure de l'écriture de ce billet, livré par défaut avec la version 1.5. Nous allons voir comment installer la JDK de Sun et la faire prendre par défaut par le système.</p>
<h1>Installation de Sun Java 1.6</h1>
<p>Pour installer la JRE (seulement pour l'exécution de programme Java):</p>
<blockquote><p>sudo apt-get install  sun-java6-jre</p></blockquote>
<p>Pour installer et compiler (bref pour les developpeurs):</p>
<blockquote><p>sudo apt-get install sun-java6-sdk</p></blockquote>
<h1>Pour rendre Sun Java 1.6, la JVM par défaut</h1>
<p>La commande est la même sur les deux distributions (Ubuntu et Debian):</p>
<blockquote><p>sudo update-alternatives --config java</p></blockquote>
<p>&gt; Puis choisir /usr/lib/jvm/java-6-sun/jre/bin/java</p>
<p>On vérifie que tout est ok:</p>
<blockquote><p># java -version</p>
<p>java version "<strong>1.6</strong>.0_12"</p></blockquote>
<p>Et voili...</p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" src="http://img.zemanta.com/pixy.gif?x-id=b6efa0da-b70e-49af-81a2-dfee7bdb3a09" alt="" /></div>

                            <div id="aspdf">
                                <a href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=1780">
                                    <span> </span>
                                </a>
                            </div>
                        ]]></content:encoded>
			<wfw:commentRss>http://blog.nicolargo.com/2009/03/installation-de-java-16-sous-debian-et-ubuntu.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Comment développer sur l&#039;iPhone</title>
		<link>http://blog.nicolargo.com/2009/02/comment-developper-sur-liphone.html</link>
		<comments>http://blog.nicolargo.com/2009/02/comment-developper-sur-liphone.html#comments</comments>
		<pubDate>Thu, 05 Feb 2009 14:15:16 +0000</pubDate>
		<dc:creator>NicoLargo</dc:creator>
				<category><![CDATA[Developpement]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://blog.nicolargo.com/2009/02/comment-developper-sur-liphone.html</guid>
		<description><![CDATA[O'Reilly, mon éditeur préféré, propose un nouvel ouvrage qui va intéresser plus d'un Geek/développeur.  "iPhone SDK" est un ouvrage complet sur le développement d'applications pour le téléphone vedette de la société Apple ce qui peut &#233;galement int&#233;ress&#233; ceux qui recherchent un emploi de game designer.

Le bouquin est en Anglais et voici une description détaillé (source [...]]]></description>
			<content:encoded><![CDATA[<p>O'Reilly, mon éditeur préféré, propose un nouvel ouvrage qui va intéresser plus d'un Geek/développeur.  "<a href="http://www.amazon.fr/gp/product/0596154054?ie=UTF8&amp;tag=leblogdenico-21&amp;linkCode=as2&amp;camp=1642&amp;creative=19458&amp;creativeASIN=0596154054">iPhone SDK</a>" est un ouvrage complet sur le développement d'applications pour le téléphone vedette de la société Apple ce qui peut &eacute;galement int&eacute;ress&eacute; ceux qui recherchent un <a href="http://www.jobisjob.fr/game+designer/emploi">emploi de game designer</a>.</p>
<div><a href="http://www.amazon.fr/gp/product/0596154054?ie=UTF8&amp;tag=leblogdenico-21&amp;linkCode=as2&amp;camp=1642&amp;creative=19458&amp;creativeASIN=0596154054"><img style="max-width: 800px;" src="http://blog.nicolargo.com/wp-content/uploads/2009/02/41u4bhmkfcl-ss500.jpg" alt="" /></a></div>
<p>Le bouquin est en Anglais et voici une description détaillé (source O'Reilly):</p>
<blockquote><p><small>This practical book offers programmers the knowledge and code they need<br />
to create cutting-edge mobile applications, using Apple's iPhone SDK.<br />
The iPhone is one of the hottest new pieces of technology: a fully<br />
functional portable Unix operating system with the most advanced<br />
handheld user interface in existence. <em>iPhone SDK Application Development</em><br />
covers development environment for both the iPhone and iPod Touch, from<br />
windows and navigation bars to more advanced layers of the iPhone SDK,<br />
such as screen transitions, low-level graphics rendering using<br />
CoreSurface, the MultiTouch API, and digital sound and music rendering<br />
with Celestial and CoreAudio. With this book, you will:</small><small><br />
</small></p>
<ul>
<li><small>Understand how the iPhone works internally, with a complete introduction to the technology</small></li>
<li><small>Learn how different iPhone components interact with each other</small></li>
<li><small>Use your existing Mac OS X development skills by understanding the similarities between iPhone and Mac OS X Leopard</small></li>
<li><small>Learn about the iPhone-specific APIs, such as the user interface, to develop custom iPhone applications</small></li>
<li><small>Get code examples to help you write various features of your application</small></li>
</ul>
<p><small><br />
With <em>iPhone SDK Application Development</em>, you'll learn how to create effective iPhone applications and games with the same tools Apple uses.</small></p></blockquote>
<p>Bon dev <img src='http://blog.nicolargo.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>--</p>

                            <div id="aspdf">
                                <a href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=1696">
                                    <span> </span>
                                </a>
                            </div>
                        ]]></content:encoded>
			<wfw:commentRss>http://blog.nicolargo.com/2009/02/comment-developper-sur-liphone.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Je recherche un stagiaire !</title>
		<link>http://blog.nicolargo.com/2008/12/je-recherche-un-stagiaire.html</link>
		<comments>http://blog.nicolargo.com/2008/12/je-recherche-un-stagiaire.html#comments</comments>
		<pubDate>Wed, 17 Dec 2008 13:35:34 +0000</pubDate>
		<dc:creator>NicoLargo</dc:creator>
				<category><![CDATA[Developpement]]></category>

		<guid isPermaLink="false">http://blog.nicolargo.com/2008/12/je-recherche-un-stagiaire.html</guid>
		<description><![CDATA[Dans le cadre de mon activité professionnelle, je recherche un stagiaire (ayant une convention de stage ingénieur dernière année) avec un profil de développeur Java. Il intégrera une équipe dynamique dans une grande entreprise Française. Le stage se déroule dans les Alpes-Maritimes.
Le sujet du stage et toutes les informations pour porter candidature se trouve à [...]]]></description>
			<content:encoded><![CDATA[<p>Dans le cadre de mon activité professionnelle, je recherche un stagiaire (ayant une convention de stage ingénieur dernière année) avec un profil de développeur Java. Il intégrera une équipe dynamique dans une grande entreprise Française. Le stage se déroule dans les Alpes-Maritimes.</p>
<p>Le sujet du stage et toutes les informations pour porter candidature se trouve à <a href="http://www.jobs.thalesgroup.com/pid39/e-staffing-com.html">l'adresse suivante</a> (référence du stage à saisir: <span style="font-family: verdana; font-size: 11px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><strong>DSP969</strong>).</span></p>

                            <div id="aspdf">
                                <a href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=1554">
                                    <span> </span>
                                </a>
                            </div>
                        ]]></content:encoded>
			<wfw:commentRss>http://blog.nicolargo.com/2008/12/je-recherche-un-stagiaire.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installation pas à pas d&#039;Eclipse sous GNU/Linux</title>
		<link>http://blog.nicolargo.com/2008/12/installation-pas-a-pas-declipse-sous-gnulinux.html</link>
		<comments>http://blog.nicolargo.com/2008/12/installation-pas-a-pas-declipse-sous-gnulinux.html#comments</comments>
		<pubDate>Tue, 09 Dec 2008 14:03:46 +0000</pubDate>
		<dc:creator>NicoLargo</dc:creator>
				<category><![CDATA[Developpement]]></category>
		<category><![CDATA[Open-source]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.nicolargo.com/?p=1525</guid>
		<description><![CDATA[Je ne sais pas vous mais l'installation et la configuration d'Eclipse (l'environnement de développement libre par référence) en utilisant les "repos apt" d'Ubuntu est toujours un grand moment de solitude. Il n'y a qu'a voir le peu de clarté de la page de documentation sur Ubuntu-fr pour s'en rendre compte.
Nous allons donc essayé de détailler [...]]]></description>
			<content:encoded><![CDATA[<p>Je ne sais pas vous mais l'installation et la configuration d'<a href="http://www.eclipse.org/">Eclipse</a> (l'environnement de développement libre par référence) en utilisant les "repos apt" d'Ubuntu est toujours un grand moment de solitude. Il n'y a qu'a voir le peu de clarté de <a href="http://doc.ubuntu-fr.org/eclipse">la page de documentation sur Ubuntu-fr</a> pour s'en rendre compte.</p>
<p>Nous allons donc essayé de détailler l'installation d'une version récente d'Eclipse (3.4.1 au moment de l'écriture de ce billet) sur une distibution Ubuntu 8.10.</p>
<h1>Avant de commencer...</h1>
<p>Eclipse est devenu avec le temps et le succès une boîte à outil comportant de nombreux modules permettant de le customiser en fonctions de vos besoins. Par exemple, un développeur Java n'aura pas forcement besoin des mêmes outils qu'un développeur C...</p>
<p>Eclipse propose donc des installateurs pre-packagés. Pour choisir celui qui vous convient le mieux, <a href="http://">ce tableau</a> pourra vous aider.</p>
<p>Il faut ensuite se rendre <a href="http://www.eclipse.org/downloads/">sur cette page</a> et sélectionner le package/operating system adapté à vos besoins.</p>
<p>Dans la suite de ce billet, je prendrai comme package de référence: "Eclipse IDE for C/C++ Developers" (et oui je suis de la vieille école <img src='http://blog.nicolargo.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ) pour Linux/32 bits.</p>
<h1>Installation d'Eclipse</h1>
<p>On commence par télécharger le package dans le répertoire /usr/src (l'archive au format tar.gz fait environ 68 Mo pour cette version).</p>
<blockquote><p>cd /opt</p>
<p>sudo tar zxvf /usr/src/eclipse-cpp-ganymede-SR1-linux-gtk.tar.gz</p>
<p>cd /opt/eclipse</p>
<p>sudo wget http://www.bearfruit.org/files/eclipse-icon-clean.svg</p></blockquote>
<p>Il faut ensuite créer un nouveau lanceur dans le menu Applications de Gnome:</p>
<ul>
<li>bouton droit sur le "menu Applications"</li>
<li>"Editer les menus"</li>
<li>menu "Programmation"</li>
<li>Click sur "+ Nouvel élément"</li>
</ul>
<p><img class="aligncenter size-full wp-image-1526" title="Eclipse Gnome menu" src="http://blog.nicolargo.com/wp-content/uploads/2008/12/capture_200812092242.jpg" alt="" width="500" height="182" /></p>
<p>Il ne reste plus qu'a lancer l'application via le menu "Applications/Programmation/Eclipse".</p>
<h1>Ajout de nouveaux plugins</h1>
<h2>Plugin SVN (Subeclipse)</h2>
<p>Pour le versionning SVN est le remplacant de CVS. Il faut installer un plugin complémentaire pour qu'Elipse puisse aller chercher des sources sur un serveur SVN.</p>
<p>Pour installer le plugin SVN Subeclipse, j'ai suivi <a href="http://subclipse.tigris.org/install.html">ce tutoriel</a>.</p>
<p style="text-align: left;">Liste des plugins à installer sur ce screenshot:<br />
<a title="Subeclipse by nicolargo, on Flickr" href="http://www.flickr.com/photos/nicolargo/3484896079/"><img class="aligncenter" src="http://farm4.static.flickr.com/3558/3484896079_65e584e24b.jpg" alt="Subeclipse" width="500" height="329" /></a></p>
<h2>Plugin PHP (PDT)</h2>
<p>J'ai parfois la faiblesse de coder en Perl/PHP, là aussi ces languages nécessitent l'installation de plugins (PDT pour PHP et EPIC pour Perl).</p>
<p>J'ai suivi <a href="http://wiki.eclipse.org/PDT/Installation">ce tutoriel</a> pour l'installation de PDT 2.0 et <a href="http://www.epic-ide.org/download.php">celui-ci</a> pour EPIC.</p>

                            <div id="aspdf">
                                <a href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=1525">
                                    <span> </span>
                                </a>
                            </div>
                        ]]></content:encoded>
			<wfw:commentRss>http://blog.nicolargo.com/2008/12/installation-pas-a-pas-declipse-sous-gnulinux.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Comment utiliser SourceForge</title>
		<link>http://blog.nicolargo.com/2008/11/comment-utiliser-sourceforge.html</link>
		<comments>http://blog.nicolargo.com/2008/11/comment-utiliser-sourceforge.html#comments</comments>
		<pubDate>Thu, 06 Nov 2008 12:54:58 +0000</pubDate>
		<dc:creator>NicoLargo</dc:creator>
				<category><![CDATA[Developpement]]></category>
		<category><![CDATA[Open-source]]></category>
		<category><![CDATA[sourceforge]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://blog.nicolargo.com/2008/11/comment-utiliser-sourceforge.html</guid>
		<description><![CDATA[
Un des fondement de l'open-source est le partage. SourceForge.net est un service Web mettant à disposition des développeurs libres tout un tas d'outils leurs permettant de partager le fruit de leur travail.
Nous allons dans ce billet voir comment créer un nouveau projet, pour mettre à disposition de la communauté Internet:

Création d'un compte pour un développeur
Ajout [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.nicolargo.com/wp-content/uploads/2008/11/sourceforgenet-project-documentation.jpg" width="167" height="38" alt="SourceForge.net_ Project Documentation.jpg" style="float:right;" /></p>
<p>Un des fondement de l'open-source est le partage. <a href="http://sourceforge.net/">SourceForge.net</a> est un service Web mettant à disposition des développeurs libres tout un tas d'outils leurs permettant de partager le fruit de leur travail.</p>
<p>Nous allons dans ce billet voir comment créer un nouveau projet, pour mettre à disposition de la communauté Internet:</p>
<ul>
<li>Création d'un compte pour un développeur</li>
<li>Ajout d'un nouveau projet (description, lien vers la page Web du projet...)</li>
<li>Ajouts de fichiers (sources, binaires, docs) dans le projet</li>
<li>Création d'une arborescence des sources sur le serveur SVN du projet</li>
</ul>
<h1>Création d'un compte utilisateur sous SourceForge</h1>
<p>C'est la première étape: <a href="http://sourceforge.net/account/registration/">créer votre identité</a> numérique (compte) sous SourceForge.</p>
<p>Ce compte vous permettra de vous identifié auprès de SourceForge. Il est bien sûr possible de créer plusieurs projets sous un même compte.</p>
<p>Par exemple, mon compte est le suivant: <a href="https://sourceforge.net/users/nicolargo/">nicolargo</a></p>
<p style="text-align: center;"><a href="https://sourceforge.net/users/nicolargo/"><img src="http://blog.nicolargo.com/wp-content/uploads/2008/11/sourceforgenet-developer-profile.jpg" width="480" height="179" alt="SourceForge.net_ Developer Profile.jpg" /></a></p>
<h1>Création d'un nouveau projet sous SourceForge</h1>
<p>Après s'être authentifié avec votre compte, un lien permettant l<a href="https://sourceforge.net/register-project/">a création d'un nouveau projet</a> sera présent sur la page principale:</p>
<p style="text-align: center;"><img src="http://blog.nicolargo.com/wp-content/uploads/2008/11/sourceforgenet-open-source-software.jpg" width="480" height="184" alt="SourceForge.net_ Open Source Software.jpg" /> .</p>
<p>Vous allez alors être guidé par un assistant comportant 4 étapes. La première consiste à saisir les informations générales (type de projet, nom, descriptions...). C'est une étape très importante. En effet, la description du projet est un des critère regardé par les administrateurs pour accepter ou non l'hébergement de votre projet.</p>
<p>La seconde étape vous permet de sélectionner le type de licence libre appliqué à votre projet.</p>
<p>La troisième est un peu plus laborieuse puisqu'il faut associé des catégories aussi diverses que variés à votre projet.</p>
<p>Enfin, la dernière étape consiste à accepter le contrat d'utilisation de SourceForge.</p>
<p>Les administrateurs de SourceForge sont assez pointilleux sur la qualité des projets hébergés (ce qui n'est pas plus mal...). Ainsi, après création, il faudra attendre entre 24 et 48h avant de pouvoir utiliser ce nouveau projet (si ce dernier est accepté).</p>
<h1>Importation de fichiers associés à votre nouveau projet SourceForge</h1>
<p>Une fois accepté, votre projet est une coquille vide ne comportant qu'une description. Sous Sourceforge, chaque projet est accessible depuis une URL dédiée: <span style="color: #FF0000;">https://sourceforge.net/projects/</span><strong><span style="color: #FF0000;">&lt;nomduprojet&gt;</span></strong><span style="color: #FF0000;">/</span></p>
<p>La première chose à faire est de proposer aux utilisateurs qui tomberaient sur votre projet quelques chose à télécharger (source ou binaire peut importe). Pour cela, il faut se rendre dans le menu <strong>Admin/File Releases</strong>.</p>
<div style="text-align: center;">
  <img src="http://blog.nicolargo.com/wp-content/uploads/2008/11/sourceforgenet-xyz2lla.jpg" width="480" height="302" alt="SourceForge.net_ Xyz2Lla.jpg" />
</div>
<p>On clique ensuite sur le lien <strong>Add Release</strong>, puis on entre le numéro/nom de <strong>version</strong> du fichier à proposer en téléchargement et enfin on clique sur le bouton <strong>Create this release</strong>.</p>
<p>Après avoir saisi les descriptions (<strong>notes</strong> et <strong>change log</strong>) pour cette version, il faut ajouter le fichier sur le serveur (Add files to this release). Plusieurs solutions sont possibles (Web upload, WebDav, SFTP, RSYNC) . Personnellement j'utilise SFTP. Par exemple, si je veux envoyer le fichier projet.tgz sur le serveur SourceForge, j'utilise les commandes suivantes:</p>
<blockquote>
<p><strong>sftp &lt;compte&gt;@frs.sourceforge.net</strong></p>
<p>Connecting to frs.sourceforge.net...</p>
<p>The authenticity of host 'frs.sourceforge.net (216.34.181.57)' can't be established.</p>
<p>RSA key fingerprint is 68:b3:26:02:a0:07:e4:78:d4:ec:7f:2f:6a:4d:32:c5.</p>
<p>Are you sure you want to continue connecting (yes/no)? yes</p>
<p>Warning: Permanently added 'frs.sourceforge.net,216.34.181.57' (RSA) to the list of known hosts.</p>
<p>&lt;compte&gt;@frs.sourceforge.net's <strong><em>password</em></strong>:</p>
<p>sftp&gt; <strong>cd uploads</strong></p>
<p>sftp&gt; <strong>put projet.tgz</strong></p>
<p>Uploading projet.tgz to /incoming/&lt;...&gt;/uploads/projet.tgz</p>
<p>projet.tgz 100% 241 0.2KB/s 00:01</p>
<p>sftp&gt; <strong>exit</strong></p>
</blockquote>
<p>Une fois le fichier "uploadé" sur le serveur, il faut revenir à la page ou l'on a saisi les descriptions de la version et cliquer sur le bouton <strong>Add files and/or Refresh view</strong>. Le nom du fichier devrait apparaître, il reste à le sélectionner puis à cliquer une seconde fois sur le bouton <strong>Add files and/or Refresh view</strong>.</p>
<p>De retour sur la page du projet (<span style="color: black;">https://sourceforge.net/projects/</span><strong><span style="color: black;">&lt;nomduprojet&gt;</span></strong><span style="color: #FF0000;"><span style="color: black;">/</span><span style="color: #000000;">), vous devriez voir apparaître le lien vers la page de téléchargement:</span></span></p>
<p style="text-align: center;"><img src="http://blog.nicolargo.com/wp-content/uploads/2008/11/sourceforgenet-xyz2lla1.jpg" width="480" height="250" alt="SourceForge.net_ Xyz2Lla.jpg" /></p>
<p>Ces opérations sont à refaire pour chaque nouvelles versions de votre logiciel.</p>
<p>Il est également possible, si votre projet dispose d'une page Web dédié, d'ajouter un lien vers cette page à partir de SourceForge. Pour cela, il faut se rendre dans le menu <strong>Admin/Shell-DB-Web</strong>:</p>
<p style="text-align: center;"><img src="http://blog.nicolargo.com/wp-content/uploads/2008/11/sourceforgenet-xyz2lla3.jpg" width="480" height="302" alt="SourceForge.net_ Xyz2Lla.jpg" /></p>
<p style="text-align: left;">Puis saisir l'URL de votre page Web dans le champ: <strong>Project Home Page URL</strong>, suivi d'un clique sur le bouton <strong>Update</strong>.</p>
<h1>Partager ces sources dans le SVN SourceForge</h1>
<p><a href="http://fr.wikipedia.org/wiki/Subversion_(logiciel)">SVN</a> est un système de gestion de configuration permettant de travailler seul ou à plusieurs sur un code dont les sources sont centralisé sur un serveur. Sourceforge propose un serveur SVN pour votre projet.</p>
<p>Par défaut, seul CVS (un autre système de gestion de configuration) est activé. Pour activé SVN, il faut se rendre dans le menu <strong>Admin/Subversion</strong>.</p>
<p style="text-align: center;"><img src="http://blog.nicolargo.com/wp-content/uploads/2008/11/sourceforgenet-xyz2lla2.jpg" width="480" height="302" alt="SourceForge.net_ Xyz2Lla.jpg" /></p>
<p>Puis activer le radio bouton "<strong>enable subversion</strong>" puis cliquer le bouton <strong>Update</strong>.</p>
<p>L'accès à votre répertoire SVN se fera par l'URL suivante (à configurer dans votre environnement de développement favori, <a href="http://blog.nicolargo.com/2008/06/premiere-configuration-declipse.html">Eclipse par exemple</a>...):</p>
<p style="text-align: center;"><span style="color: #FF0000;">https://<strong>&lt;nomduprojet&gt;</strong>.svn.sourceforge.net/svnroot/<strong>&lt;nomduprojet&gt;</strong></span></p>
<p>La première importation de vos sources peut se faire avec la commande suivante. Par exemple si vous voulez importer les sources d'un projet se trouvant dans le répertoire local /home/nicolargo/dev/projet:</p>
<blockquote>
<p>cd /home/nicolargo/dev</p>
<p>svn import projet https://&lt;nomduprojet&gt;.svn.sourceforge.net/svnroot/&lt;nomduprojet&gt;</p>
</blockquote>
<p>Vous pouvez vérifier l'mportation avec la commande suivante:</p>
<blockquote>
<p>svn list https://&lt;nomduprojet&gt;.svn.sourceforge.net/svnroot/&lt;nomduprojet&gt;</p>
</blockquote>
<h1>Conclusion</h1>
<p>On vient juste de voir une infime partie des services proposés par SourceForge. Pour aller plus loin vous pouvez consulter la <a href="https://sourceforge.net/docman/index.php?group_id=1">documentation officielle</a> (en Anglais uniquement à l'heure actuelle...).</p>

                            <div id="aspdf">
                                <a href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=1447">
                                    <span> </span>
                                </a>
                            </div>
                        ]]></content:encoded>
			<wfw:commentRss>http://blog.nicolargo.com/2008/11/comment-utiliser-sourceforge.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Lier Cacti et Nagios</title>
		<link>http://blog.nicolargo.com/2008/06/lier-cacti-et-nagios.html</link>
		<comments>http://blog.nicolargo.com/2008/06/lier-cacti-et-nagios.html#comments</comments>
		<pubDate>Tue, 10 Jun 2008 14:36:03 +0000</pubDate>
		<dc:creator>NicoLargo</dc:creator>
				<category><![CDATA[Developpement]]></category>
		<category><![CDATA[Open-source]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[cacti]]></category>
		<category><![CDATA[nagios]]></category>

		<guid isPermaLink="false">http://blog.nicolargo.com/2008/06/lier-cacti-et-nagios.html</guid>
		<description><![CDATA[Si vous suivez régulièrement ce blog, vous savez que Nagios et Cacti sont deux logiciels libres que je suis tout particulièrement de part mes activités professionnelles. Je cherchais depuis un moment un moyen simple et efficace pour pouvoir accéder aux graphes de Cacti à partir de l'interface de Nagios.
Ne trouvant rien de concluent sur le [...]]]></description>
			<content:encoded><![CDATA[<p>Si vous suivez régulièrement ce blog, vous savez que <a href="http://blog.nicolargo.com/nagios-tutoriels-et-documentations">Nagios et Cacti</a> sont deux logiciels libres que je suis tout particulièrement de part mes activités professionnelles. Je cherchais depuis un moment un moyen simple et efficace pour pouvoir accéder aux graphes de Cacti à partir de l'interface de Nagios.</p>
<p>Ne trouvant rien de concluent sur le Web, j'ai décidé de coder un petit script PHP, nommé <span style="font-style: italic;">CactiPlug.php</span>, permettant d'ajouter cette fonction à Nagios.</p>
<p><a rel="attachment wp-att-1158" href="http://blog.nicolargo.com/2008/06/lier-cacti-et-nagios.html/catiplug-logo"><img class="aligncenter size-full wp-image-1158" title="catiplug-logo" src="http://blog.nicolargo.com/wp-content/uploads/2008/07/catiplug-logo.png" alt="" width="337" height="98" /></a></p>
<p><em><span style="text-decoration: underline;">Mise à jour</span>: Grâce à la contribution de Dennis Yusupoff, le plugin est maintenant disponible en version 0.2.</em></p>
<h1>Concrètement cela donne quoi ?</h1>
<p>Et bien la possibilité d'ajouter automatiquement un lien vers Cacti depuis l'interface Web de Nagios. Il suffit donc juste de cliquer sur un bouton (<img src="http://blog.nicolargo.com/wp-content/uploads/2008/06/image-13.jpg" alt="Image 1.png" width="19" height="18" /> ) pour être redirigé automatiquement vers la page correspondante au host en question dans Cacti.</p>
<p><img src="http://blog.nicolargo.com/wp-content/uploads/2008/06/nagios.jpg" alt="Nagios.jpg" width="257" height="155" /> <img src="http://blog.nicolargo.com/wp-content/uploads/2008/06/cacti.jpg" alt="Cacti.jpg" width="325" height="142" /></p>
<h1>Comment marche le hack CactiPlug.php ?</h1>
<p>On utilise la macro "action_url" dans la définition du host (ou mieux du template associé au host) que l'on défini avec la valeur suivante:</p>
<blockquote><p>...<br />
action_url /nagios/cactiplug/cactiplug.php?ip=$HOSTADDRESS<br />
...</p></blockquote>
<p>Quand on clique sur le bouton (<img src="http://blog.nicolargo.com/wp-content/uploads/2008/06/image-13.jpg" alt="Image 1.png" width="19" height="18" /> ), le script cactiplug.php est appelé. Ce dernier va prendre en paramètre l'adresse IP du host (macro $HOSTADDRESS) et interroger directement la base de donnée MySQL de Cacti pour obtenir l'URL de la page Cacti correspondante.</p>
<h1>Installation de cactiPlug.php</h1>
<p>L'installation donnée ci-dessous a été validé avec Nagios 3.02 et Cacti 0.8.7.</p>
<p>La première chose à faire est de <a href="http://www.nicolargo.com/dev/cactiplug/cactiplug-0.2.tgz">télécharger cactiplug-0.2.tgz</a>.</p>
<p>Puis ensuite de saisir les commandes suivantes:</p>
<blockquote><p># tar zxvf cactiplug-0.2.tgz</p>
<p># mv cactiplug /usr/local/nagios/share</p>
<p># chown -R nagios:nagios /usr/local/nagios/share/cactiplug</p></blockquote>
<p>Ensuite il faut configurer Nagios pour qu'il prenne en compte le plugin. Le plus simple est d'ajouter la ligne suivante dans le template generic_host du fichier template.cfg (<a href="http://blog.nicolargo.com/2008/06/structure-des-fichiers-de-configuration-de-nagios-3.html">voir ici</a> vous êtes perdu dans les fichiers de conf de Nagios).</p>
<blockquote><p>define host{</p>
<p>name generic-host</p>
<p>notifications_enabled 1</p>
<p>event_handler_enabled 1</p>
<p>flap_detection_enabled 1</p>
<p>failure_prediction_enabled 1</p>
<p>process_perf_data 1</p>
<p>retain_status_information 1</p>
<p>retain_nonstatus_information 1</p>
<p>notification_period 24x7</p>
<p>register 0</p>
<p><strong>action_url</strong> <strong>/nagios/cactiplug/cactiplug.php?ip=$HOSTADDRESS</strong></p>
<p>}</p></blockquote>
<h1>Configuration du plugin</h1>
<p>La dernière étape consiste à éditer le fichier /usr/local/nagios/share/cactiplug/cactiplug.php afin d'y saisir les informations relatives à votre base de données Cacti (host, nom de la base, login et password).</p>
<p>Ensuite, il ne reste plus qu'a relancer Nagios:</p>
<blockquote><p># service nagios restart</p>
<p>ou</p>
<p># sudo /etc/init.d/nagios restart</p></blockquote>
<p>J'attend vos retours si vous testez ce plugin.</p>
<p><span style="text-decoration: underline;">Télechargement:</span></p>
<ul>
<li><a href="http://www.nicolargo.com/dev/cactiplug/cactiplug-0.2.tgz">CactiPlug v0.2</a> (24 juillet 2008)</li>
<li><a href="http://www.nicolargo.com/dev/cactiplug/cactiplug-0.1.tgz">CactiPlug v0.1</a> (10 juin 2008)</li>
</ul>

                            <div id="aspdf">
                                <a href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=1030">
                                    <span> </span>
                                </a>
                            </div>
                        ]]></content:encoded>
			<wfw:commentRss>http://blog.nicolargo.com/2008/06/lier-cacti-et-nagios.html/feed</wfw:commentRss>
		<slash:comments>46</slash:comments>
		</item>
		<item>
		<title>Première configuration d&#039;Eclipse</title>
		<link>http://blog.nicolargo.com/2008/06/premiere-configuration-declipse.html</link>
		<comments>http://blog.nicolargo.com/2008/06/premiere-configuration-declipse.html#comments</comments>
		<pubDate>Tue, 10 Jun 2008 09:29:14 +0000</pubDate>
		<dc:creator>NicoLargo</dc:creator>
				<category><![CDATA[Developpement]]></category>
		<category><![CDATA[Open-source]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mac-os-x]]></category>

		<guid isPermaLink="false">http://blog.nicolargo.com/2008/06/premiere-configuration-declipse.html</guid>
		<description><![CDATA[Ce matin j'ai réinstallé Eclipse (mon environnement de développement fétiche aussi bien sous Linux que sous Mac OS X). Voici donc mes notes pour la configuration du logiciel avec les plugins suivants: 

SVN
PHP

Installation d'Eclipse
Sous Ubuntu, l'installation se fait via les packages:

# sudo apt-get install eclipse

Compter environ 140 Mo d'espace sur votre disque dur.
Installation du plugin [...]]]></description>
			<content:encoded><![CDATA[<p>Ce matin j'ai réinstallé <a href="http://www.eclipse.org/">Eclipse</a> (mon environnement de développement fétiche aussi bien sous Linux que sous Mac OS X). Voici donc mes notes pour la configuration du logiciel avec les plugins suivants: <img src="http://blog.nicolargo.com/wp-content/uploads/2008/06/eclipse-home-header.jpg" width="131" height="68" alt="eclipse_home_header.jpg" style="float:right;" /></p>
<ul>
<li>SVN</li>
<li>PHP</li>
</ul>
<h1>Installation d'Eclipse</h1>
<p>Sous Ubuntu, l'installation se fait via les packages:</p>
<blockquote>
<p># sudo apt-get install eclipse</p>
</blockquote>
<p>Compter environ 140 Mo d'espace sur votre disque dur.</p>
<h1>Installation du plugin SVN</h1>
<p>J'utilise un serveur SVN pour gérer en configuration mes développement. De base, Eclipse ne dispose que d'un plugin pour CVS. La procédure à suivre pour installer le <a href="http://subclipse.tigris.org/">plugin SVN</a> est la suivante:</p>
<blockquote>
<p>Lancer Eclipse<br />
  Aller dans le menu Help / Software updates / Find and install...<br />
  Cliquer sur le bouton "Search for new features to install" et cliquer sur le bouton "Next &gt;"<br />
  Cliquer sur le bouton "New Remote Site..." et saisir:<br />
  Name: SVN<br />
  URL: http://subclipse.tigris.org/update_1.2.x (pour les versions d'Eclipse 3.2+)<br />
  Valider en appuyant sur le bouton OK<br />
  Sélectionner SVN dans le liste "Sites to include in search" puis cliquer sur "Finish"<br />
  Attendre le téléchargement de la liste des plugins et selectionner SVN<br />
  Finaliser l'installation en cliquant sur "Next &gt;"<br />
  Après acceptation de la licence, cliquer sur "Finish"</p>
</blockquote>
<h1>Installation du plugin PHP</h1>
<p>La procédure à suivre pour installer le plugin PHP (<a href="http://www.phpeclipse.net/">PHPEclipse</a>) est la suivante:</p>
<blockquote>
<p>Lancer Eclipse<br />
  Aller dans le menu Help / Software updates / Find and install...<br />
  Cliquer sur le bouton "Search for new features to install" et cliquer sur le bouton "Next &gt;"<br />
  Cliquer sur le bouton "New Remote Site..." et saisir:<br />
  Name: PHP<br />
  URL: http://phpeclipse.sourceforge.net/update/releases<br />
  Valider en appuyant sur le bouton OK<br />
  Sélectionner PHP de la liste "Sites to include in search" puis cliquer sur "Finish"<br />
  Attendre le téléchargement de la liste des plugins et selectionner PHPEclipse<br />
  Finaliser l'installation en cliquant sur "Next &gt;"<br />
  Après acceptation de la licence, cliquer sur "Finish"</p>
</blockquote>
<p>Et voili, on code maintenant...</p>

                            <div id="aspdf">
                                <a href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=1026">
                                    <span> </span>
                                </a>
                            </div>
                        ]]></content:encoded>
			<wfw:commentRss>http://blog.nicolargo.com/2008/06/premiere-configuration-declipse.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
