--- comments_url: https://com.richard-dern.fr/post/511 date: '2012-02-04 01:59:00' links: - lang: fr name: Archive url: http://ingnu.fr/2012/02/04/faire-fonctionner-xmpp-avec-status-net/ tags: - StatusNet - XMPP title: Faire fonctionner XMPP avec status.net weather: humidity: 53 illuminance: 0.0 precipitations: false pressure: 1030.8 source: - open-meteo temperature: -9.8 wind_direction: 46 wind_speed: 9.9 --- Cela fait maintenant quelques temps que j'enquiquine mes followers sur [~~social.ingnu.fr~~](https://social.ingnu.fr/ingnu/all) à propos de XMPP qui déconne sévèrement avec la release 1.0.1 de [status.net](http://status.net/) : déconnections intempestives, mauvaise gestion de la file d'attente, etc. La [page](http://publications.jbfavre.org/statusnet/optimize-statusnet-nginx-php-fpm-apc-memcache.fr) de [Jean-Baptiste Favre](http://www.jbfavre.org/) m'a permis de creuser un peu plus, bien que ne parlant pas de XMPP. Il aborde tout de même quelques directives de configuration à propos des files d'attente qui m'ont échappé, directives que j'ai adapté pour mieux coller (selon moi) à une debian et à placer dans le fichier _config.php_ : ```php $config['daemon']['piddir'] = '/var/run/'; $config['daemon']['user'] = 'www-data'; $config['daemon']['group'] = 'www-data'; ``` Warning : Attention à adapter _user_ et _group_ si chez vous ils sont différents. À cela, il faut rajouter les lignes relatives à XMPP : ```php addPlugin('xmpp', array( 'user'=>'identifiant du robot', 'server'=>'nom de domaine', 'password'=>'mot de passe', 'resource'=>'ce que vous voulez', 'encryption'=>true, )); ``` Maintenant, l'étape la plus "difficile". En l'état, vous pouvez être à peu près certain que ça ne marchera pas. Un contributeur au projet propose un patch, ~~[que vous pouvez télécharger ici](http://status.net/sites/default/files/issues/statusnet-1.0.1-inox.txt)~~. Enregistrez-le à la racine de votre instance de status.net et nommez-le par exemple statusnet.patch, puis saisissez les commandes suivantes : ```bash sed -i "s#statusnet-1\.0\.1#\./#" statusnet.patch patch -p1 < statusnet.patch ``` Normalement, tout devrait fonctionner à merveille désormais.