<?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>Christophe Nowicki &#187; OpenID</title>
	<atom:link href="http://www.csquad.org/tag/openid/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.csquad.org</link>
	<description>Just for fun</description>
	<lastBuildDate>Fri, 14 Jan 2011 08:32:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Laconica, un twitter libre!</title>
		<link>http://www.csquad.org/2009/08/01/laconica-un-twitter-libre/</link>
		<comments>http://www.csquad.org/2009/08/01/laconica-un-twitter-libre/#comments</comments>
		<pubDate>Sat, 01 Aug 2009 13:00:27 +0000</pubDate>
		<dc:creator>cscm</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[Jabber]]></category>
		<category><![CDATA[Laconica]]></category>
		<category><![CDATA[OpenID]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.csquad.org/?p=272</guid>
		<description><![CDATA[




Pour ceux qui me côtoient tous les jours, j&#8217;ai principalement deux gros défauts:

Je m&#8217;intéresse à trop de choses &#8230;   
J&#8217;envoie de la &#8220;propagande&#8221; par Jabber à mes contacts.




Du coup, le principe du Micro-blogging et du service Twitter m&#8217;a beaucoup séduit. 
Mais comme je suis un Ayatollah du logiciel libre et que je prône [...]]]></description>
			<content:encoded><![CDATA[<table>
<tr>
<td><img src="http://laconi.ca/logo.png"/></td>
<td valign="top">
<p>
Pour ceux qui me côtoient tous les jours, j&#8217;ai principalement deux gros défauts:</p>
<ul>
<li>Je m&#8217;intéresse à trop de choses &#8230; <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  </li>
<li>J&#8217;envoie de la &#8220;propagande&#8221; par Jabber à mes contacts.</li>
</ul>
</td>
</tr>
</table>
<p>Du coup, le principe du <a href="http://en.wikipedia.org/wiki/Micro-blogging">Micro-blogging</a> et du service <a href="http://en.wikipedia.org/wiki/Twitter">Twitter</a> m&#8217;a beaucoup séduit. </p>
<p>Mais comme je suis un Ayatollah du logiciel libre et que je prône <a href="http://wiki.auto-hebergement.fr/">l&#8217;auto-hébergement</a>.<br />
Mon inscription sur un service web deux points zéro centralisé aurait fait un peu tâche dans ma pratique du logiciel libre radical (vu le nombre de mots clés dans cette phrase, je pense que je vais avoir droit à une décente des RG <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ).</p>
<p>Je viens de trouver la solution, Laconica (prononcé &#8220;luh-KAWN-ih-kuh&#8221;), un logiciel de micro-blogging libre écrit en PHP. L&#8217;objet de cet article est de décrire l&#8217;installation, la configuration et la mise en place de passerelles (mail, twitter, sms, et jabber) sur un serveur Debian GNU/Linux.</p>
<h3>Les Fonctionnalités</h3>
<p>Le logiciel dispose des fonctionnalités suivantes :</p>
<ul>
<li>Micro-blogging ; </li>
<li>Export des données au format RSS / Atom ;</li>
<li>Authentification via <a href="http://en.wikipedia.org/wiki/OpenID">OpenID</a> ;</li>
<li>Gestion de plusieurs comptes ;</li>
<li>Interface Jabber : notification et post ;</li>
<li>Interface avec Twitter ;</li>
<li>Notification via SMS ;</li>
<li>Feuille de style pour les mobiles ;</li>
<li>Une traduction de qualité en Français ;</li>
<li>Gestion du format <a href="http://www.foaf-project.org/">FOAF</a> ; </li>
<li>Intégration avec de nombreuses <a href="http://laconi.ca/trac/wiki/Apps">application</a> ;</li>
<li>Affichage des messages via un &#8220;badge&#8221; directement dans le code de votre site web : <a href="http://kentbrewster.com/identica-badge/">Identica Badge</a> ;</li>
<li>Génération automatique de <a href="http://www.sitemaps.org/protocol.php">Sitemaps</a> pour le référencement ;</li>
<li>Support du protocole <a href="http://openmicroblogging.org/">OpenMicroBlogging</a> pour le suivi décentralisé des messages. </li>
</ul>
<h3>Pré-requis</h3>
<p>Pour l&#8217;installation de Laconica vous avez besoin :</p>
<ul>
<li>d&#8217;un serveur sous Debian GNU/Linux ;</li>
<li>serveur HTTP comme Apache 2 ;</li>
<li>base de donné comme MySQL ou bien Postgresql ;</li>
<li>d&#8217;un serveur de Mail ;</li>
<li>d&#8217;un serveur Jabber (optionnel) ;</li>
</ul>
<h3>Installation des dépendances</h3>
<p>Le programme nécessite les dépendances suivantes :<br />
<code><br />
# apt-get install apache2-mpm-prefork libapache2-mod-php5 php5-mysql php5-gd php5-cli php-pear php-mail php-db php-http php-xml-parser php5-curl<br />
</code></p>
<h3>Installation du logiciel</h3>
<p>Laconica, est une application web, l&#8217;installation consiste simplement à extraire le fichier tgz dans le répertoire <em>/var/www</em> et configurer Apache.<br />
<code><br />
# cd /var/www<br />
# wget http://laconi.ca/laconica-0.8.0.tar.gz<br />
# tar xvf laconica-0.8.0.tar.gz<br />
# ln -s laconica-0.8.0  laconica<br />
# chown www-data: laconica-0.8.0<br />
# cd laconica<br />
# mv htaccess.sample .htaccess<br />
</code><br />
Il faut éditer le fichier .htaccess pour modifier la règle <em>RewriteBase</em>.</p>
<p>Vous devez ensuite configurer le site web pour Apache en mettant le contenu suivant dans le fichier <em>/etc/apache2/sites-available/laconica</em> :<br />
<code><br />
&lt;virtualhost *:80><br />
ServerName mblog.nom_de_domaine<br />
ErrorLog /var/log/apache2/mblog.nom_de_domaine/error.log<br />
CustomLog /var/log/apache2/mblog.nom_de_domaine/access.log common<br />
DocumentRoot /var/www/laconica<br />
&lt;/virtualhost><br />
</code></p>
<p>Il faut créer le répertoire pour les logs du site, activer le site et le module rewrite dans Apache :</p>
<p><code><br />
# mkdir /var/log/apache2/mblog.nom_de_domaine/<br />
# a2enmod rewrite<br />
Enabling module rewrite.<br />
Run '/etc/init.d/apache2 restart' to activate new configuration!<br />
# a2ensite laconica<br />
Enabling site laconica.<br />
Run '/etc/init.d/apache2 reload' to activate new configuration!<br />
# /etc/init.d/apache2 restart</code></p>
<p>Vous devez créer une base de données avec MySQL ou PostgreSQL et attribuer tous les droits sur la base à un utilisateur.</p>
<p>Vous pouvez ensuite pointer votre navigateur sur l’adresse de votre site : <em>http://mblog.nom_de_domaine/install.php</em></p>
<p>La procédure d’installation vous demande simplement les informations de connexion à la base de données.</p>
<p>Une fois l&#8217;installation effectuée, vous pouvez vous enregistrer et utiliser l&#8217;application.</p>
<h3>Configuration Mono-utilisateurs</h3>
<p>Une fois que vous avez créer votre compte et que vous êtes le seul à utiliser l&#8217;application; il faut interdire les enregistrements de nouveau compte en modifiant le fichier <em>config.php</em> :<br />
<code>$config['site']['closed'] = true;</code></p>
<h3>Configuration de la passerelle Twitter</h3>
<p>Mouahah, et puis quoi encore? Non, je n&#8217;ai pas testé, je n&#8217;ai pas réussi à créer un compte &#8230;<br />
Mais d&#8217;après la documentation de Laconica, il suffit de saisir son login et mot de passe.</p>
<h3>Configuration de la passerelle de Messagerie</h3>
<p>Pour cette partie, il faut créer un alias spécial sur votre serveur de messagerie.<br />
Voici ma configuration pour Postfix.<br />
Dans le fichier <em>/etc/aliases</em>, il faut ajouter la ligne suivante :<br />
<code>*:|/var/www/laconica/scripts/maildaemon.php</code><br />
Refaire la base des alias de postfix :<br />
<code># postalias /etc/aliases</code><br />
Rendre le fichier <em>maildaemon.php</em> exécutable.<br />
<code>chmod +x /var/www/laconica/scripts/maildaemon.php</code><br />
Ce script pour fonctionner nécessite l&#8217;extension <a href="http://pecl.php.net/package/mailparse">PECL mailparse</a> de PHP.<br />
La procédure d&#8217;installation est la suivante :<br />
<code># apt-get install dh-make-php php5-dev xsltproc<br />
# cd /usr/src/<br />
# dh-make-pecl  --only 5 mailparse<br />
downloading mailparse-2.1.5.tgz ... Starting to download mailparse-2.1.5.tgz (37,332 bytes) ..........done: 37,332 bytes File /var/www/laconica/scripts/mailparse-2.1.5.tgz downloaded<br />
Creating debian source package: php-mailparse-2.1.5<br />
Upstream is: Wez Furlong, Brian Shire<br />
Guessing Maintainer: root<br />
# cd php-mailparse-*/<br />
# dpkg-buildpackage -b<br />
...<br />
# dpkg -i ../php5-mailparse_2.1.5-1_i386.deb<br />
</code></p>
<p>Une fois la passerelle en place, il faut créer une adresse &#8220;incoming&#8221; :<br />
Pour cela, il faut aller dans la configuration e-mail de votre compte et cliquer sur nouveau pour obtenir une adresse de type : <em>XMWY7QTL3MR42@votre_nom_de_domaine</em>.</p>
<p>Vous pouvez ensuite envoyer un mail à cette adresse et vérifier que tout ce passe bien dans les logs de postfix :<br />
<code><br />
Jul 31 11:02:50 mail postfix/local[30821]: E76C8F40FB: to=&lt;XMWY7QTL3MR42@csquad.org&gt;, relay=local, delay=0.56, delays=0.01/0/0/0.55, dsn=2.0.0, status=sent (delivered to command: /var/www/laconica/scripts/maildaemon.php)<br />
</code></p>
<p>Une petite astuce pour une installation perso, est de faire un seul alias et de modifier le contenu de la table <em>user.incomingemail</em> dans la base de données.</p>
<h3>Configuration de la passerelle Jabber</h3>
<p>Il faut modifier le fichier de configuration <em>config.php</em> et ajouter les lignes suivantes :<br />
<code><br />
$config['xmpp']['enabled'] = true;<br />
$config['xmpp']['server'] = "jabber.csquad.lan";<br />
$config['xmpp']['port'] = 5222;<br />
$config['xmpp']['user'] = "laconica";<br />
$config['xmpp']['password'] = "***********";<br />
$config['xmpp']['encryption'] = true;<br />
$config['daemon']['user'] = "www-data";<br />
$config['daemon']['group'] = "www-data";<br />
</code></p>
<p>Laconica, ne sait pas s&#8217;enregistrer auprès du serveur, ni s&#8217;ajouter dans votre <em>roaster,</em> il faut donc le faire manuellement,<br />
soit à l&#8217;aide d&#8217;un client Jabber classique ou bien à l&#8217;aide de l&#8217;interface d&#8217;administration de votre serveur.<br />
Ejabberd permet de le faire directement via l&#8217;interface Web.  </p>
<p>Vous pouvez ensuite lancer le daemon à l&#8217;aide de php en ligne de commande :<br />
<code><br />
# cd /var/www/laconica/<br />
# php scripts/xmppdaemon.php -f<br />
2009-07-31 06:59:42 LOG_INFO: XMPPDaemon(uniquenamedaemon): INITIALIZE XMPPDaemon laconica@jabber.csquad.lan/uniquenamedaemon<br />
2009-07-31 06:59:42 LOG_INFO: XMPPDaemon(uniquenamedaemon): Connecting to jabber.csquad.lan on port 5222<br />
2009-07-31 06:59:42 LOG_INFO: XMPPDaemon(uniquenamedaemon): Connected<br />
2009-07-31 06:59:42 LOG_INFO: XMPPDaemon(uniquenamedaemon): Sending initial presence.<br />
2009-07-31 06:59:42 LOG_INFO: XMPPDaemon(uniquenamedaemon): Done connecting.<br />
2009-07-31 06:59:42 LOG_DEBUG: XMPPDaemon(uniquenamedaemon): Initializing stanza handlers.<br />
2009-07-31 06:59:42 LOG_DEBUG: XMPPDaemon(uniquenamedaemon): Beginning processing loop.<br />
</code><br />
Une fois lancé, le contact du micro blog doit apparaître dans votre client Jabber.<br />
Mais lorsque vous lui parlez, il ne vous reconnait pas. Il faut donc associé le compte Jabber à votre compte Laconica.<br />
Pour cela, rendez-vous sur l&#8217;interface de configuration à l&#8217;adresse suivante : <em>http://mblog.votre_nom_de_domaine/settings/im</em>,<br />
et saisissez votre adresse Jabber que Laconica vous demandera de confirmer à l&#8217;aide d&#8217;une url de vérification.</p>
<p>Et voila, tous les messages que vous envoyez à ce contact Jabber se retrouvent directement sur votre micro blog <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
Et lorsqu&#8217;un utilisateur poste un message vous recevez celui-ci sur votre compte Jabber.</p>
<h3>Suivre une personne de manière distribuée</h3>
<p>Pour suivre une personne sur Laconica de manière distribuée, il suffit de cliquer sur le bouton <strong>subscribe</strong> du profil.<br />
L&#8217;application vous demande, le pseudo de la personne et l&#8217;url de votre profil.<br />
Celle-ci est de la forme : <em>http://laconica.&lt;votre_domaine&gt;/&lt;nickname&gt;/</em>.</p>
<h3>Conclusion</h3>
<p>Et voilà ! Laconica ça poutre les ours ! <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.csquad.org/2009/08/01/laconica-un-twitter-libre/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Héberger son propre fournisseur d&#8217;identité OpenID</title>
		<link>http://www.csquad.org/2009/06/11/heberger-son-propre-fournisseur-didentite-openid/</link>
		<comments>http://www.csquad.org/2009/06/11/heberger-son-propre-fournisseur-didentite-openid/#comments</comments>
		<pubDate>Thu, 11 Jun 2009 06:31:37 +0000</pubDate>
		<dc:creator>cscm</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[OpenID]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.csquad.org/?p=93</guid>
		<description><![CDATA[Présentation d&#8217;OpenID







OpenID est un système d’authentification décentralisé qui permet l’authentification unique, ainsi que le partage d’attributs. Il permet à un utilisateur de s’authentifier auprès de plusieurs sites compatibles sans avoir à retenir un identifiant pour chacun d’eux mais en utilisant à chaque fois un unique identifiant OpenID.
 Cette identifiant se presente sous forme d&#8217;URL, celle-ci [...]]]></description>
			<content:encoded><![CDATA[<h3>Présentation d&#8217;OpenID</h3>
<table>
<tr>
<td>
<img src='/wp-content/openid_logo.png' alt='' />
</td>
<td valign='top'>
<p>
<a href="http://fr.wikipedia.org/wiki/OpenID">OpenID</a> est un système d’authentification décentralisé qui permet l’authentification unique, ainsi que le partage d’attributs. Il permet à un utilisateur de s’authentifier auprès de plusieurs sites compatibles sans avoir à retenir un identifiant pour chacun d’eux mais en utilisant à chaque fois un unique identifiant OpenID.</p>
<p> Cette identifiant se presente sous forme d&#8217;URL, celle-ci contient l&#8217;adresse du serveur d&#8217;identification et le nom de l&#8217;utilisateur : <a href="http://id.csquad.org/identity/cscm">http://id.csquad.org/identity/cscm</a>
</p>
</td>
</tr>
</table>
<p>Je trouve ce système d&#8217;identification pratique, car je change de poste de travail ( portable, station de travail, etc&#8230;) et je n&#8217;ai pas trouvé de solution de synchronisation de mot de passe convaincante. </p>
<h3>Pourquoi héberger son propre fournisseur d&#8217;identité?</h3>
<p>Héberger son propre serveur d&#8217;identité vous permet de gérer votre identité numérique.<br />
C&#8217;est à dire, déterminer les informations personnelles que vous fournissez au service que vous utilisez.<br />
 <strong>Héberger ce type de service sur son propre serveur vous garantit que vous avez la main sur vos données personnelles.</strong><br />
Cela vous garantit que :</p>
<ul>
<li>les autres fournisseurs d&#8217;identité n&#8217;exploitent pas vos données personnelles ;</li>
<li>votre compte restera toujours actif, en effet rien ne vous garantit qu&#8217;un fournisseur d&#8217;identité ne cesse son activité ; </li>
<li>une liberté en matière de politique de mot de passe / choix de l&#8217;identifiant / nombre de comptes, etc&#8230; </li>
</ul>
<h3>Présentation de Community-ID</h3>
<p><a href="http://source.keyboard-monkeys.org/projects/show/communityid">Community-ID</a> est une application PHP, compatible avec les spécifications <a href="http://openid.net/specs/openid-authentication-2_0.html">OpenID 2.0</a> sous licence BSD.<br />
Il propose les fonctionnalités suivantes :</p>
<ul>
<li>comptes d&#8217;utilisateurs ; </li>
<li>données personnelles ;</li>
<li>sites fédérés ;</li>
<li>historique ;</li>
</ul>
<h3>Configuration de Community-ID sur un serveur Debian GNU/Linux</h3>
<p>Voici la procédure d&#8217;installation de la version 1.0 de Community-ID sur une distribution Debian GNU/Linux version &#8220;Lenny&#8221;.</p>
<p>Vous avez besoin :</p>
<ul>
<li>d&#8217;un nom de domaine ;</li>
<li>d&#8217;un serveur Apache avec le support de PHP 5 et le module rewrite ;</li>
<li>d&#8217;une base de données MySQL avec phpMyAdmin ;</li>
</ul>
<h4>Configuration de MySQL</h4>
<p>A l&#8217;aide de phpMyAdmin, créer un utilisateur <em>communityid</em> et créer une base portant le même nom en lui donnant tous les privilèges sur cette base.</p>
<h4>Installation dépendances</h4>
<p>Le programme nécessite les dépendances suivantes :<br />
<code><br />
# apt-get install apache2-mpm-prefork libapache2-mod-php5  php5-mysql  php5-gd php5-gmp<br />
</code></p>
<h4>Installation du programme</h4>
<p>Vous pouvez télécharger le programme sur SourceForge : <a href="http://sourceforge.net/project/showfiles.php?group_id=252134&#038;package_id=324987">Community-ID</a>.<br />
et extraire le fichier tar.gz dans le répertoire <em>/var/www</em> :</p>
<p><code><br />
# cd /var/www<br />
# wget http://freefr.dl.sourceforge.net/sourceforge/communityid/cid-1.0.0.tar.gz<br />
# tar xzf cid-1.0.0.tar.gz<br />
# chown www-data: -R communityid<br />
</code></p>
<p>Vous devez ensuite configurer le site web pour Apache en mettant le contenu suivant dans le fichier <em>/etc/apache2/sites-available/communityid</em> :</p>
<p><code><br />
&lt;VirtualHost *:80&gt;<br />
  ServerName id.nom_de_domaine<br />
  ErrorLog /var/log/apache2/id.nom_de_domaine/error.log<br />
  CustomLog /var/log/apache2/id.nom_de_domaine/access.log common<br />
  DocumentRoot /var/www/communityid/webdir<br />
&lt;/VirtualHost&gt;<br />
</code><br />
Il faut créer le répertoire pour les logs du site, activer le site et le module <em>rewrite</em> dans Apache :<br />
<code><br />
# mkdir /var/log/apache2/id.nom_de_domaine/<br />
# a2enmod rewrite<br />
Enabling module rewrite.<br />
Run '/etc/init.d/apache2 restart' to activate new configuration!<br />
# a2ensite communityid<br />
Enabling site communityid.<br />
Run '/etc/init.d/apache2 reload' to activate new configuration!<br />
# /etc/init.d/apache2 restart<br />
</code></p>
<h4>Configuration</h4>
<p>Vous pouvez ensuite pointer votre navigateur sur l&#8217;adresse de votre site : http://id.nom_de_domaine/<br />
La procédure d&#8217;installation vous demande les informations de connexion à la base de données pour configurer celle-ci.<br />
Une fois la base de données crée, vous pouvez vous connecter à l&#8217;interface à l&#8217;aide de l&#8217;utilisateur <em>admin</em> et du mot de passe <em>admin</em>, pour vous créer un compte. </p>
<h3>Liste des services compatibles</h3>
<p>Voici la liste des quelques services que j&#8217;utilise avec mon serveur OpenID :</p>
<ul>
<li><a href="http://www.dailymotion.com/">Dailymotion</a> ;</li>
<li><a href="http://sourceforge.net/">Sourceforge</a> ;</li>
<li><a href="http://www.peeron.com">Peeron</a> ;</li>
</ul>
<p>Il existe de nombreux services compatibles avec ce système d&#8217;authentification, référencés par l&#8217;annuaire <a href="http://openiddirectory.com/">OpenID Directory</a>.</p>
<p>Les principaux systèmes de blog proposent le support d&#8217;OpenID sous forme de plugin :</p>
<ul>
<li><a href="http://wordpress.org/extend/plugins/openid/">WordPress</a></li>
<li><a href="http://plugins.dotaddict.org/dc1/details/OpenID">Dotclear</a></li>
</ul>
<p>Si vous avez réussi à installer votre fournisseur d&#8217;identité, vous pouvez vous connecter sur mon blog pour me laisser un commentaire <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.csquad.org/2009/06/11/heberger-son-propre-fournisseur-didentite-openid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

