<?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>/home/florian &#187; Forge Evolix</title>
	<atom:link href="http://fcargoet.evolix.net/category/projets/forge-evolix/feed/" rel="self" type="application/rss+xml" />
	<link>http://fcargoet.evolix.net</link>
	<description>le blog de florian cargoet : du linux, du web et du logiciel libre</description>
	<lastBuildDate>Sun, 07 Feb 2010 18:31:49 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Plugin Planet pour GForge</title>
		<link>http://fcargoet.evolix.net/2008/08/plugin-planet-pour-gforge/</link>
		<comments>http://fcargoet.evolix.net/2008/08/plugin-planet-pour-gforge/#comments</comments>
		<pubDate>Mon, 11 Aug 2008 13:47:29 +0000</pubDate>
		<dc:creator>Florian Cargoet</dc:creator>
				<category><![CDATA[Forge Evolix]]></category>
		<category><![CDATA[gforge]]></category>
		<category><![CDATA[planet]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://fcargoet.evolix.net/?p=21</guid>
		<description><![CDATA[Voilà, c&#8217;est enfin fait, mon plugin planet est en place sur EvoForge, et sera bientôt téléchargeable sur cette même forge (Projet Plugin Planet).
]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Voilà, c&#8217;est enfin fait, mon plugin planet est en place sur <a href="http://forge.evolix.net">EvoForge</a>, et sera bientôt téléchargeable sur cette même forge (<a href="http://forge.evolix.net/projects/planet-plugin/">Projet Plugin Planet</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://fcargoet.evolix.net/2008/08/plugin-planet-pour-gforge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Roadmap GForge / Lenny</title>
		<link>http://fcargoet.evolix.net/2008/08/roadmap-gforge-lenny/</link>
		<comments>http://fcargoet.evolix.net/2008/08/roadmap-gforge-lenny/#comments</comments>
		<pubDate>Fri, 08 Aug 2008 10:18:01 +0000</pubDate>
		<dc:creator>Florian Cargoet</dc:creator>
				<category><![CDATA[Forge Evolix]]></category>
		<category><![CDATA[forge]]></category>
		<category><![CDATA[gforge]]></category>
		<category><![CDATA[lenny]]></category>
		<category><![CDATA[roadmap]]></category>

		<guid isPermaLink="false">http://fcargoet.evolix.net/?p=19</guid>
		<description><![CDATA[Pas un vrai post, plutôt une note rapide :
RoadMap GForge : la roadmap (en anglais) qui donne quelques infos sur la 4.7, qui est censée être prête pour lenny (septembre).
]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Pas un vrai post, plutôt une note rapide :</p>
<p style="text-align: justify;"><a href="http://wiki.planetforge.org/index.php/GForge_Development_Roadmap">RoadMap GForge</a> : la roadmap (en anglais) qui donne quelques infos sur la 4.7, qui est censée être prête pour lenny (septembre).</p>
]]></content:encoded>
			<wfw:commentRss>http://fcargoet.evolix.net/2008/08/roadmap-gforge-lenny/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ejabberd 2.0.1-3 pour Debian</title>
		<link>http://fcargoet.evolix.net/2008/07/ejabberd-201-3-pour-debian/</link>
		<comments>http://fcargoet.evolix.net/2008/07/ejabberd-201-3-pour-debian/#comments</comments>
		<pubDate>Thu, 24 Jul 2008 10:38:56 +0000</pubDate>
		<dc:creator>Florian Cargoet</dc:creator>
				<category><![CDATA[Forge Evolix]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[ejabberd]]></category>
		<category><![CDATA[jabber]]></category>

		<guid isPermaLink="false">http://fcargoet.evolix.net/?p=18</guid>
		<description><![CDATA[Une nouvelle version d&#8217;ejabberd est sortie pour Debian, je ne vais pas reprendre le Changelog que vous pouvez lire ici, mais simplement insister sur un point : dans cette nouvelle version, le module mod_ctlextra est censé avoir été mis à jour (par rapport à l&#8217;upstream) et on devrait donc désormais bénéficier de nouvelles commandes pour [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Une nouvelle version d&#8217;ejabberd est sortie pour Debian, je ne vais pas reprendre le Changelog que vous pouvez lire <a href="http://packages.debian.org/changelogs/pool/main/e/ejabberd/ejabberd_2.0.1-3/changelog">ici</a>, mais simplement insister sur un point : dans cette nouvelle version, le module <em>mod_ctlextra</em> est censé avoir été mis à jour (par rapport à l&#8217;upstream) et on devrait donc désormais bénéficier de nouvelles commandes pour ejabberdctl.</p>
<p style="text-align: justify;"><span style="text-decoration: line-through;">Néanmoins, toujours pas de commandes pour lister les shared rosters et récupérer les infos relatives à un groupe malgré la fermeture de mon <a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=488991">bug</a> (la nouvelle version est censée apporter ces commandes). Bref, les commandes n&#8217;y sont pas, on va devoir continuer à les rajouter à la main. J&#8217;essaye cependant de faire rouvrir le bug en espérant qu&#8217;il soit pris en compte pour la prochaine version.</span></p>
<p style="text-align: justify;">Edit : Oups ! La dernière version est la 2.0.1-3, et j&#8217;ai testé la 2.0.1-2 à la place. La 2.0.1-3 est disponible en unstable.</p>
]]></content:encoded>
			<wfw:commentRss>http://fcargoet.evolix.net/2008/07/ejabberd-201-3-pour-debian/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Plugin Planet</title>
		<link>http://fcargoet.evolix.net/2008/07/plugin-planet/</link>
		<comments>http://fcargoet.evolix.net/2008/07/plugin-planet/#comments</comments>
		<pubDate>Tue, 22 Jul 2008 08:49:49 +0000</pubDate>
		<dc:creator>Florian Cargoet</dc:creator>
				<category><![CDATA[Forge Evolix]]></category>
		<category><![CDATA[gforge]]></category>
		<category><![CDATA[integration]]></category>
		<category><![CDATA[planet]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://fcargoet.evolix.net/?p=17</guid>
		<description><![CDATA[J&#8217;en ai déjà parlé dans un précédent article : PlanetPlanet, agrégateur de flux (RSS,RDF,Atom), codé en Python, très léger (page statique générée par un cronjob).
Parallèlement au développement du plugin WordPressMU qui apportera un blog pour chaque développeur, j&#8217;ai entamé l&#8217;écriture d&#8217;un plugin pour intégrer PlanetPlanet à GForge afin de pouvoir, entre autres, réunir les articles [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">J&#8217;en ai déjà parlé dans un précédent article : PlanetPlanet, agrégateur de flux (RSS,RDF,Atom), codé en Python, très léger (page statique générée par un cronjob).</p>
<p style="text-align: justify;">Parallèlement au développement du plugin WordPressMU qui apportera un blog pour chaque développeur, j&#8217;ai entamé l&#8217;écriture d&#8217;un plugin pour intégrer <a href="http://www.planetplanet.org/">PlanetPlanet</a> à GForge afin de pouvoir, entre autres, réunir les articles des blogs concernant chaque projet. C&#8217;est un plugin orienté projet, activable et configurable par l&#8217;administrateur du projet qui ajoute un onglet Planet au projet et qui affiche une page regroupant l&#8217;ensemble des flux choisis par l&#8217;administrateur. On peut également de cette manière ajouter des flux extérieurs au site, comme par exemple le blog d&#8217;un développeur qui préfère rester sur son site perso plutôt que d&#8217;héberger son blog sur la forge.</p>
<p style="text-align: justify;">Exemples de planet :</p>
<ul style="text-align: justify;">
<li><a href="http://planet.debian.net/">http://planet.debian.net</a></li>
<li><a href="# http://www.planetforge.org/planet/ ">http://www.planetforge.org/planet/</a></li>
</ul>
<p style="text-align: justify;">Ce logiciel est très simple à utiliser : un fichier de configuration très simple et commenté pour chaque planet, ensuite, il suffit de générer la page du planet régulièrement via un script python fourni.</p>
<p style="text-align: justify;">Cette simplicité facilite le travail d&#8217;intégration. Par ailleurs, la page étant générée à partir de templates, il est facile de faire un template minimal pour l&#8217;intégrer facilement à GForge avec un include php plutot qu&#8217;avec un &lt;object&gt; html.</p>
<p style="text-align: justify;">Comme d&#8217;habitude, les détails, au fur et à mesure de mon avancement, sur le <a href="http://trac.evolix.net/evoforge/wiki/planet">wiki</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://fcargoet.evolix.net/2008/07/plugin-planet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Un plugin pour bloguer dans GForge ?</title>
		<link>http://fcargoet.evolix.net/2008/07/un-plugin-pour-bloguer-dans-gforge/</link>
		<comments>http://fcargoet.evolix.net/2008/07/un-plugin-pour-bloguer-dans-gforge/#comments</comments>
		<pubDate>Thu, 17 Jul 2008 10:01:31 +0000</pubDate>
		<dc:creator>Florian Cargoet</dc:creator>
				<category><![CDATA[Forge Evolix]]></category>
		<category><![CDATA[authentification]]></category>
		<category><![CDATA[gforge]]></category>
		<category><![CDATA[integration]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://fcargoet.evolix.net/?p=16</guid>
		<description><![CDATA[Pour aller encore plus loin dans l&#8217;esprit communautaire de GForge, pourquoi ne pas offrir la possibilité à chaque développeur d&#8217;avoir son blog sur la forge ? Chaque développeur pourrait alors parler de son travail autour des différents projets de la forge auxquels il participe, et on peut facilement imaginer chaque projet ayant un genre de [...]]]></description>
			<content:encoded><![CDATA[<p>Pour aller encore plus loin dans l&#8217;esprit communautaire de GForge, pourquoi ne pas offrir la possibilité à chaque développeur d&#8217;avoir son blog sur la forge ? Chaque développeur pourrait alors parler de son travail autour des différents projets de la forge auxquels il participe, et on peut facilement imaginer chaque projet ayant un genre de Planet, qui centraliserait les posts taggués &#8216;projet machin&#8217; de tous ses développeurs !</p>
<p>Allez hop, au boulot !<br />
<span id="more-16"></span></p>
<h3>WordPressMU</h3>
<p>Qui ne connait pas <a href="http://wordpress.org/">WordPress</a>, le moteur de blog ?</p>
<p>Et bien <a href="http://mu.wordpress.org/">WordPressMU</a>, c&#8217;est WordPress en version multi-utilisateurs, c&#8217;est-à-dire la possibilité de créer très facilement des centaines, des milliers de blogs avec un seul moteur ! Partageant 95% du code avec WordPress, WordPressMU est donc compatible avec beaucoup de plugins et thèmes écrits à la base pour WordPress.</p>
<h3>Intégration à GForge</h3>
<p>J&#8217;ai donc choisi d&#8217;intégrer WordPressMU à GForge, ce qui passe par une modification dans l&#8217;authentification WordPressMU (pour exploiter la base d&#8217;utilisateurs de GForge) ce qui peut se faire par l&#8217;écriture d&#8217;un plugin, et également le développement d&#8217;un plugin pour GForge, afin que les utilisateurs puissent choisir de créer un blog, de le suspendre ou encore de l&#8217;effacer pour de bon. On s&#8217;interdit évidemment de toucher au noyau des deux logiciels, pour faciliter la maintenance et les mises à jour.</p>
<p>Il serait bon aussi pour l&#8217;utilisateur de ne pas avoir à se connecter deux fois, une fois dans GForge puis une fois dans Wordpress.</p>
<p>Pour ceux que l&#8217;avancement de ce projet intéresse, voici une liste des points déjà réalisés :</p>
<ul>
<li>Authentification WordPress sur la base GForge</li>
<li>Activation/Désactivation du blog via un plugin dans l&#8217;administration du compte GForge</li>
</ul>
<p>Les points qui devraient être réalisés sous peu :</p>
<ul>
<li>Création du blog par le plugin dans l&#8217;administration du compte GForge</li>
<li>Effaçage complet du blog via le même plugin</li>
</ul>
<p>Enfin, le point qui risque d&#8217;être plus délicat :</p>
<ul>
<li>Authentification unique pour les deux logiciels</li>
</ul>
<p>J&#8217;invite donc tous les intéressés à me faire part de leurs commentaires et suggestions !</p>
]]></content:encoded>
			<wfw:commentRss>http://fcargoet.evolix.net/2008/07/un-plugin-pour-bloguer-dans-gforge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Projet Jabber sur GForge.org</title>
		<link>http://fcargoet.evolix.net/2008/07/projet-jabber-sur-gforgeorg/</link>
		<comments>http://fcargoet.evolix.net/2008/07/projet-jabber-sur-gforgeorg/#comments</comments>
		<pubDate>Thu, 10 Jul 2008 10:28:41 +0000</pubDate>
		<dc:creator>Florian Cargoet</dc:creator>
				<category><![CDATA[Forge Evolix]]></category>
		<category><![CDATA[ejabberd]]></category>
		<category><![CDATA[gforge]]></category>

		<guid isPermaLink="false">http://fcargoet.evolix.net/?p=15</guid>
		<description><![CDATA[Au vu de mon activité autour du projet GForge, notamment avec le travail effectué autour d&#8217;ejabberd, Timothy Perdue (membre GForge) m&#8217;a proposé d&#8217;héberger mon travail sur gforge.org.
Cet hébergement me servira pour publier fichiers, sources et documentation en anglais. Je continuerai à travailler avec Trac pour la version française en développement. Régulièrement, je publierai de la [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Au vu de mon activité autour du projet GForge, notamment avec le travail effectué autour d&#8217;ejabberd, Timothy Perdue (membre GForge) m&#8217;a proposé d&#8217;héberger mon travail sur <a href="http://gforge.org/projects/ejabberd/">gforge.org</a>.</p>
<p style="text-align: justify;">Cet hébergement me servira pour publier fichiers, sources et documentation en anglais. Je continuerai à travailler avec Trac pour la version française en développement. Régulièrement, je publierai de la documentation sous un format plus figé que le wiki lorsqu&#8217;elle sera un peu mieux organisée. J&#8217;en profiterai pour la traduire en anglais.</p>
]]></content:encoded>
			<wfw:commentRss>http://fcargoet.evolix.net/2008/07/projet-jabber-sur-gforgeorg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bugs &amp; Patchs pour GForge</title>
		<link>http://fcargoet.evolix.net/2008/07/patchs-gforge/</link>
		<comments>http://fcargoet.evolix.net/2008/07/patchs-gforge/#comments</comments>
		<pubDate>Fri, 04 Jul 2008 14:46:35 +0000</pubDate>
		<dc:creator>Florian Cargoet</dc:creator>
				<category><![CDATA[Forge Evolix]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[gforge]]></category>
		<category><![CDATA[patch]]></category>

		<guid isPermaLink="false">http://fcargoet.evolix.net/?p=14</guid>
		<description><![CDATA[Ah ! Ce qu&#8217;on est fier lorsque ses premiers patchs sont acceptés ! J&#8217;utilise la version SVN (/trunk) de GForge et de temps en temps, j&#8217;y trouve un bug, que je signale et/ou corrige si j&#8217;en suis capable.
Voici quelques bugs corrigés (en anglais) :

Mauvais liens

Summary: Bad link to editsshkeys.php
Category: Account Maintenance
Initial Comment:
In file /trunk/gforge/www/account/index.php the [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Ah ! Ce qu&#8217;on est fier lorsque ses premiers patchs sont acceptés ! J&#8217;utilise la version SVN (/trunk) de GForge et de temps en temps, j&#8217;y trouve un bug, que je signale et/ou corrige si j&#8217;en suis capable.</p>
<p style="text-align: justify;">Voici quelques bugs corrigés (en anglais) :</p>
<p><span id="more-14"></span></p>
<h3 style="text-align: justify;">Mauvais liens</h3>
<ul style="text-align: justify;">
<li>Summary: Bad link to editsshkeys.php<br />
Category: Account Maintenance<br />
Initial Comment:<em><span style="color: #888888;"><br />
In file /trunk/gforge/www/account/index.php the link pointing at editsshkeys.php is bad : it points at editsshkeys/php instead of account/editsshkeys.php</p>
<p></span></em></li>
<li>Summary: Bad links in grouplist.php<br />
Category: Site Admin<br />
Initial Comment:<br />
<em><span style="color: #888888;">In www/admin/grouplist.php :<br />
$headerLinks = array(<br />
&#8216;?sortorder=group_name&#8217;,<br />
&#8216;?sortorder=register_time&#8217;,<br />
&#8216;?sortorder=unix_group_name&#8217;,<br />
&#8216;?sortorder=status&#8217;,<br />
&#8216;?sortorder=is_public&#8217;,<br />
&#8216;?sortorder=license_name&#8217;,<br />
&#8216;?sortorder=members&#8217;<br />
);<br />
echo $HTML-&gt;listTableTop($headers, $headerLinks);</p>
<p>Something is wrong since generated links are bad :<br />
<span class="fixed">http://forge.company.com/?sortorder=group_name</span><br />
instead of<br />
<span class="fixed">http://forge.company.com/admin/grouplist.php?sortorder=group_name</span></p>
<p></span></em></li>
</ul>
<h3 style="text-align: justify;">Bug dangereux</h3>
<ul style="text-align: justify;">
<li>Summary: Plugin scmcvs : fixes for cronjobs script usergroup.php  Written For: None<br />
Category: CVS<br />
Initial Comment:<br />
<em><span style="color: #888888;">(working on the trunk)<br />
I noticed that the /etc/*.new (passwd,group,shadow) files where not correctly created (missing all non gforge users in passwd !)In /opt/gforge/plugins/scmcvs/cronjobs/usergroup.php, files are opened<br />
with file() which has the filename as a parameter but in this file,<br />
/etc/passwd &amp; /etc/shadow are opened with a second parameter : &#8220;r&#8221;.<br />
The &#8220;/etc/group&#8221; file is correctly opened.Function file() doesn&#8217;t handle this parameter (it&#8217;s already read-only) so the script doesn&#8217;t work correctly.</p>
<p>The patch also adds require_once &#8216;/opt/gforge/plugins/env.inc.php&#8217;; so<br />
that the script knows $gfwww &amp; $gfcommon. (Otherwise it fails<br />
including the other files).</p>
<p>It also initialises the $err variable with $err=&#8221;;</p>
<p></span></em></li>
</ul>
<h3 style="text-align: justify;">Warning php</h3>
<ul style="text-align: justify;">
<li>Summary: Access to an undefined offset in an array<br />
Category: News<br />
Initial Comment:<br />
<em><span style="color: #888888;">In the install cd version (4.7b1 according to the wiki <a class="fixed" href="http://wiki.planetforge.org/index.php/En:GForge:Debian_Install_CD" target="_blank">http://wiki.planetforge.org/index.php/En:GForge:Debian_Install_CD</a> ) :</p>
<p>file : www/news/news_utils.php<br />
version : news_utils.php 6433 2008-03-11 22:54:02Z cbayle<br />
line : 120if ( (strlen($arr[0]) &lt; 200) &amp;&amp; (strlen($arr[1].$arr[2]) &lt; 300) &amp;&amp; (strlen($arr[2]) &gt; 5))  {</p>
<p>$arr is the result of an explode of the news  with &lt;br /&gt; or \n<br />
as separator depending on whether the news was written in html<br />
(fckeditor) or in text.</p>
<p>If there is only one paragraph in the news, $arr[1] and $arr[2] doesn&#8217;t exist and you get :</p>
<p>Notice: Undefined offset: 1 in /usr/share/gforge/www/news/news_utils.php on line 120</p>
<p>Not very important but easy to fix I think :</p>
<p>REPLACE :<br />
if ( (strlen($arr[0]) &lt; 200) &amp;&amp; (strlen($arr[1].$arr[2]) &lt; 300) &amp;&amp; (strlen($arr[2]) &gt; 5) ) {<br />
BY :<br />
if (isset($arr[1]) &amp;&amp; isset($arr[2])<br />
&amp;&amp; (strlen($arr[0]) &lt; 200)<br />
&amp;&amp; (strlen($arr[1].$arr[2]) &lt; 300)<br />
&amp;&amp; (strlen($arr[2]) &gt; 5)) {</p>
<p>This problem repeats on line 240.</p>
<p></span></em></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://fcargoet.evolix.net/2008/07/patchs-gforge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Script pour les shared rosters</title>
		<link>http://fcargoet.evolix.net/2008/07/script-pour-les-shared-rosters/</link>
		<comments>http://fcargoet.evolix.net/2008/07/script-pour-les-shared-rosters/#comments</comments>
		<pubDate>Fri, 04 Jul 2008 08:34:46 +0000</pubDate>
		<dc:creator>Florian Cargoet</dc:creator>
				<category><![CDATA[Forge Evolix]]></category>
		<category><![CDATA[ejabberd]]></category>
		<category><![CDATA[gforge]]></category>
		<category><![CDATA[jabber]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://fcargoet.evolix.net/?p=10</guid>
		<description><![CDATA[Nous avons maintenant accès aux commandes pour lister les groupes et utilisateurs, on peut donc modifier notre script pour qu&#8217;il n&#8217;ajoute que les utilisateurs qui ne sont pas déjà dans le projet et qu&#8217;il ne crée que les nouveaux groupes plutôt que de tout refaire à chaque fois. On peut en profiter pour gérer l&#8217;effaçage [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Nous avons maintenant accès aux commandes pour lister les groupes et utilisateurs, on peut donc modifier notre script pour qu&#8217;il n&#8217;ajoute que les utilisateurs qui ne sont pas déjà dans le projet et qu&#8217;il ne crée que les nouveaux groupes plutôt que de tout refaire à chaque fois. On peut en profiter pour gérer l&#8217;effaçage des développeurs dont le compte aura été supprimé.</p>
<p style="text-align: justify;">Ce script écrit en Perl compare la liste des groupes jabber et celle des projets GForge et s&#8217;efforce de les égaliser puis fait la même chose pour les développeurs de chaque projet.</p>
<p style="text-align: justify;">On peut imaginer pour plus tard peut-être un plugin GForge qui permet à chacun de choisir d&#8217;apparaitre ou non dans les projets, qui permet à l&#8217;administrateur du projet de changer le nom du groupe&#8230;</p>
<p style="text-align: justify;">Le script Perl est disponible sur le <a href="http://trac.evolix.net/evoforge/wiki/jabber#ScriptPerlaveclenouveaupaquet">wiki</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://fcargoet.evolix.net/2008/07/script-pour-les-shared-rosters/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Modification du paquet Debian ejabberd</title>
		<link>http://fcargoet.evolix.net/2008/07/modification-du-paquet-debian-ejabberd/</link>
		<comments>http://fcargoet.evolix.net/2008/07/modification-du-paquet-debian-ejabberd/#comments</comments>
		<pubDate>Thu, 03 Jul 2008 14:25:06 +0000</pubDate>
		<dc:creator>Florian Cargoet</dc:creator>
				<category><![CDATA[Forge Evolix]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[ejabberd]]></category>
		<category><![CDATA[jabber]]></category>
		<category><![CDATA[paquet]]></category>
		<category><![CDATA[roster]]></category>

		<guid isPermaLink="false">http://fcargoet.evolix.net/?p=9</guid>
		<description><![CDATA[Je l&#8217;ai dit précédemment, le paquet Debian d&#8217;ejabberd n&#8217;intègre pas la dernière version du module mod_ctlextra qui contient des commandes qui pourraient beaucoup nous aider.
En effet, ejabberdctl ne permet pas de lister les shared rosters et les utilisateurs inscrits dans ces rosters ce qui nous oblige à :

soit recréer les rosters et les remplir à [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Je l&#8217;ai dit précédemment, le paquet Debian d&#8217;ejabberd n&#8217;intègre pas la dernière version du module mod_ctlextra qui contient des commandes qui pourraient beaucoup nous aider.</p>
<p style="text-align: justify;">En effet, ejabberdctl ne permet pas de lister les shared rosters et les utilisateurs inscrits dans ces rosters ce qui nous oblige à :</p>
<ul style="text-align: justify;">
<li>soit recréer les rosters et les remplir à chaque fois que l&#8217;on veut synchroniser les groupes GForge et les groupes Jabber, ce qui est très long car il faut les créer un par un (quelques secondes pour une poignée d&#8217;utilisateurs, imaginons pour 10 000 ou 100 000 utilisateurs&#8230;).</li>
<li>soit utiliser une base de données auxiliaire pour stocker cette information et ainsi de modifier que les rosters qui en ont besoin.</li>
<li>rajouter ces fonctionnalités à ejabberd. Ce n&#8217;est pas très compliqué car le code est déjà écrit et est disponible dans le <a href="https://forge.process-one.net/browse/ejabberd-modules/mod_ctlextra/trunk/src/mod_ctlextra.erl?r1=509&amp;r2=539&amp;u=3&amp;ignore=&amp;k=">repository</a> de mod_ctlextra.</li>
</ul>
<p style="text-align: justify;">C&#8217;est la première option que j&#8217;ai utilisée dans un premier temps, ça fonctionne mais, comme prévu, c&#8217;est très long ne serait-ce que pour 5 utilisateurs dans 4 groupes&#8230;</p>
<p style="text-align: justify;">Je dois donc me tourner vers la troisième option. J&#8217;aurais consideré un peu plus la deuxième si le code n&#8217;était pas déjà écrit car ejabberd est codé en Erlang, langage avec lequel je n&#8217;ai pas encore beaucoup d&#8217;expérience.</p>
<p style="text-align: justify;">Pour avoir un déploiement le plus simple possible et également pour apporter ma pierre à l&#8217;édifice, j&#8217;ai choisi de modifier le paquet Debian. Si la procédure vous intéresse, elle est disponible sur le <a href="http://trac.evolix.net/evoforge/wiki/repaquetage-ejabberd">wiki</a>.</p>
<p style="text-align: justify;">Cette modification a été proposée en wishlist au mainteneur du paquet.</p>
<p style="text-align: justify;">En projet : modifier le script qui créer les groupes pour tenir compte de ces nouvelles commandes.</p>
]]></content:encoded>
			<wfw:commentRss>http://fcargoet.evolix.net/2008/07/modification-du-paquet-debian-ejabberd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ejabberd, serveur XMPP</title>
		<link>http://fcargoet.evolix.net/2008/07/ejabberd-serveur-xmpp/</link>
		<comments>http://fcargoet.evolix.net/2008/07/ejabberd-serveur-xmpp/#comments</comments>
		<pubDate>Thu, 03 Jul 2008 13:50:26 +0000</pubDate>
		<dc:creator>Florian Cargoet</dc:creator>
				<category><![CDATA[Forge Evolix]]></category>
		<category><![CDATA[authentification]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[ejabberd]]></category>
		<category><![CDATA[gforge]]></category>
		<category><![CDATA[jabber]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://fcargoet.evolix.net/?p=8</guid>
		<description><![CDATA[Ejabberd est un serveur Jabber simple à mettre en oeuvre et robuste.
Il est codé en Erlang, ce qui offre d&#8217;intéressantes possibilités : montée en charge, clustering, tolérance aux pannes&#8230;
Pour notre projet de forge, nous souhaitons que chaque développeur inscrit dans un ou plusieurs projets se voit automatiquement attribuer un compte jabber (user@forge.evolix.net par exemple) et [...]]]></description>
			<content:encoded><![CDATA[<p>Ejabberd est un serveur Jabber simple à mettre en oeuvre et robuste.</p>
<p>Il est codé en Erlang, ce qui offre d&#8217;intéressantes possibilités : montée en charge, clustering, tolérance aux pannes&#8230;</p>
<p>Pour notre projet de forge, nous souhaitons que chaque développeur inscrit dans un ou plusieurs projets se voit automatiquement attribuer un compte jabber (user@forge.evolix.net par exemple) et retrouve dans ses contacts, tout aussi automatiquement, l&#8217;ensemble des développeurs avec qui il travaille, groupés par projet.<br />
<span id="more-8"></span></p>
<h3>Authentification</h3>
<p>Pour ce qui est de l&#8217;authentification, ejabberd a le bon goût de permettre l&#8217;utilisation d&#8217;un script externe pour identifier les utilisateurs. J&#8217;ai aussitôt écrit un petit script Perl qui exploite la base d&#8217;utilisateur GForge. Ainsi, l&#8217;authentification est centralisée et les comptes utilisateurs ne sont pas inutilement dupliqués. Ce même script permet également de changer son mot de passe GForge via un client Jabber (puisque c&#8217;est le même mot de passe).</p>
<h3>Contacts partagés</h3>
<p>En ce qui concerne les groupes de contacts, ejabberd intègre la notion de &#8217;shared roster&#8217; qui permet de créer des groupes partagés. Via l&#8217;interface web d&#8217;aministration du serveur, on peut aisément créer de tels groupes. Ce qui nous intéresse, c&#8217;est de pouvoir créer ces groupes automatiquement, via un cronjob par exemple. Ejabberd est livré avec ejabberdctl qui permet d&#8217;effectuer certaines opérations d&#8217;administration en ligne de commande. mod_ctlextra, un module pour ejabberd y ajoute encore des commandes, dont la gestion des shared rosters. Malheureusement, dans le paquet pour Debian, la version n&#8217;est pas la dernière révision du dépôt de mod_ctlextra, aussi manque t-il quelques commandes utiles.</p>
<p>Ici aussi, j&#8217;ai écrit un script Perl qui liste les projets existants sur GForge et créer les groupes Jabber correspondants puis liste les développeurs de chaque projet afin de remplir les groupes. Ainsi, lorsqu&#8217;un développeur se connecte à son compte Jabber, il a directement accès à autant de groupes de contacts pré-remplis que de projets auquels il contribue.</p>
<p>Ce script recrée à chaque fois l&#8217;ensemble des groupes et les re-remplit à chaque fois car la version de mod_ctlextra incluse dans le paquet Debian ne permet pas de lister les groupes existants ni les utilisateurs dans ces groupes.</p>
<p>En projet : modifier le paquet Debian pour inclure les commandes pour lister les shared rosters.</p>
<p>Vous retrouverez tous les détails techniques et procédures sur le <a href="http://trac.evolix.net/evoforge/wiki/jabber">trac/wiki</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://fcargoet.evolix.net/2008/07/ejabberd-serveur-xmpp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
