Configuration avancée du conteneur Libervia

goffi 18/03/2016, 18:41 jabber-xmpp projet GNU-Linux planet-libre SàT seenthis Libre Tutorial Libervia_installation

Cet article fait suite à l'article de la semaine dernière indiquant comment installer Libervia en moins de 10 min. Nous allons voir aujourd'hui comment utiliser un certificat TLS existant, intégrer le conteneur dans une configuration Apache, ou lancer automatiquement le service au démarrage de la machine.

Utiliser votre certificat TLS existant

Au premier lancement des conteneurs, un certificat auto-signé est automatiquement créé pour pouvoir utiliser Prosody ou le serveur HTTPS de Libervia. Ce genre de certificat est très bien pour du test, mais d'une part provoquera un avertissement dans les navigateurs, et d'autre part son authenticité n'est assurée par aucun organisme (les certificats TLS sont signés par des organismes que votre navigateur et/ou système connaissent, ce qui permet de les valider – principe qui n'est pas idéal, mais c'est un autre sujet –).

Pour utiliser votre propre certificat plutôt que celui généré par les conteneurs, il faut utiliser la variable d’environnement SAT_CONT_TLS_DIR avec un chemin absolu vers vos certificats.

Il faut qu'à l'intérieur de ce dossier se trouvent les fichiers « libervia.key » pour votre clef privée, et « libervia.crt » pour votre certificat public. Ces noms de fichiers sont fixés car déjà configurés dans Libervia et Prosody, si vous voulez les changer il faudra changer les 2 configurations à l'aide de ./libervia_cont.sh config et ./libervia_cont.sh config prosody, comme indiqué dans le dernier article.

Au niveau des permissions des certificats, vous pouvez les laisser accessibles uniquement au « group ID » 9999 qui correspond au groupe « tls-cert » sur les conteneurs.

Let's Encrypt

Comme Let's Encrypt est (à juste titre) à la mode, voyons voir de plus près ce cas particulier.

Le but ici est de ne pas avoir à changer la configuration à chaque renouvellement, qui ont lieu au plus tard tous les 3 mois. Let's Encrypt met ses certificats (par défaut, adaptez au besoin) dans /etc/letsencrypt/archive/<votre_nom_de_domaine>, mais les noms de fichiers changent à chaque renouvellement, et met un lien symbolique vers les certificats en cours dans /etc/letsencrypt/live/<votre_nom_de_domaine>.
Vous ne pouvez pas utiliser directement /etc/letsencrypt/live/ car vous auriez des liens symboliques pointant dans le vide, il va falloir monter le dossier archive également.

La variable d'environement SAT_CONT_DK_EXTRA permet de spécifier des paramètres pour la commande « docker run » qui seront utilisés pour tous les conteneurs (sauf sat_data). Nous allons l'utiliser pour monter toute l'arborescence letsencrypt, comme suit :

export SAT_CONT_DK_EXTRA="-v /etc/letsencrypt:/etc/letsencrypt"

Il va falloir éditer les configurations de Libervia et Prosody pour pointer vers les bons fichiers.
Pour Libervia, utilisez ./libervia_cont.sh config puis spécifiez dans la section [libervia] :

[libervia]
tls_private_key = /etc/letsencrypt/live/<nom_domaine>/privkey.pem 
tls_certificate = /etc/letsencrypt/live/<nom_domaine>/cert.pem 
tls_chain = /etc/letsencrypt/live/<nom_domaine>/chain.pem

N'oubliez pas l'option tls_chain qui permet de spécifier la chaîne de validation.

Pour prosody, c'est ./libervia_cont.sh config prosody qu'il faut utiliser, vous devez avoir modifié votre option ssl pour qu'elle ressemble à :

ssl = {
        key = "/etc/letsencrypt/live/<nom_domaine>/privkey.pem";
        certificate = "/etc/letsencrypt/live/<nom_domaine>/fullchain.pem";
}

dans les 2 cas il faut bien évidemment remplacer <nom_domaine> par votre nom de domaine tel qu'il apparaît dans /etc/letsencrypt/live. Assurez vous aussi que les permissions sont correctes, vous verrez si Prosody ou Libervia n'arrivent pas à lire les fichiers à l'aide de docker logs -f prosody et docker logs -f libervia respectivement.

Intégration à un serveur Apache

Si vous avez déjà un serveur Apache qui tourne, vous préfèrez sans doute intégrer Libervia à la configuration existante plutôt que sur un port séparé.

Pour cela nous allons utiliser un « proxy inverse » (reverse proxy) qui va rediriger une adresse de votre domaine sur le serveur de Libervia.

Si vous avez une configuration HTTPS, elle sera gérée par Apache lui-même, donc commençons par désactiver le serveur HTTPS de Libervia, et par supprimer le message d'avertissement en cas de connexion HTTP. Éditez sat.conf à l'aide de ./libervia_cont.sh config, et mettez ceci dans la section [libervia] :

[libervia]
connection_type = http
security_warning = 0

Désormais seul le port HTTP sera disponible.

Maintenant, nous allons configurer apache pour qu'il redirige les URL correspondant à votre instance de Libervia vers le serveur. Dans le répertoire /etc/apache2/mods-available/ créez un fichier libervia.conf qui ressemble à peu près à ça :

<VirtualHost *:80>
    ServerName www.<votre-serveur.tld>
    ServerAlias <votre-serveur.tld> libervia.<votre-serveur.tld>
    ServerAdmin webmaster@votre-server.tld
    ErrorLog /var/log/apache2/libervia-error.log
    CustomLog /var/log/apache2/libervia-access.log
    ProxyPass / http://127.0.0.1:8080/ nocanon
    ProxyPassReverse / 127.0.0.1
    AllowEncodedSlashes On
    RequestHeader set X-Forwarded-Proto "http"

    <proxy *>
        Require all granted
    </proxy>
</VirtualHost>

Il faut bien entendu remplacer <votre-serveur.tld> par votre nom de domaine, adapter SeverName et ServerAlias à ce que vous souhaitez utiliser, ainsi que les ports pour qu'ils correspondent à ceux que vous utilisez en pratique (si vous avez tout laissé par défaut, les ports indiqués sont valables).

Quelques explications sur la configuration : Passons sur les premières lignes et VirtualHost qui sont des classiques de configuration Apache, vous trouverez les informations nécessaires facilement sur le web au besoin. Les directives qui nous intéressent ici sont à partir de ProxyPass.

  • ProxyPass indique à Apache de rediriger les connexions sur le serveur local au port 8080, soit l'instance en cours de Libervia. Notez bien le « nocanon » qui est très important, il indique à Apache de ne pas utiliser des adresses canoniques, soit en d'autres terme de ne pas modifier les URLs envoyées à Libervia.
  • ProxyPassReverse concerne les redirections
  • AllowEncodedSlashes est nécessaire pour accepter les URLs contenant des « / » (%2F), qui sont utilisées dans Libervia.
  • RequestHeader permet d'ajouter l'en-tête « X-Forwarded-Proto » indiquant à Libervia le protocol utilisé au niveau du proxy

Quand un proxy est utilisé, l'adresse utilisée « vue » de l'extérieur (http(s)://www.<votre-serveur.tld>/[…]) n'est pas la même que celle utilisée pour accéder par Libervia, qui est ici http://127.0.0.1:8080. Or Libervia a besoin de connaître cette adresse pour construire des chemins absolus vers les documents, par exemple dans le flux Atom.
Normalement, ceci est fait automatiquement et vous n'avez besoin de toucher à rien pour que Libervia utilise les bonnes URL ; mais si jamais les URL produites n'étaient pas correctes, vous pourriez utiliser l'option « base_url_ext » pour forcer l'utilisation de la base indiquée. Ainsi pour forcer l'utilisation de http://www.goffi.org, je peux indiquer ceci dans ma configuration Libervia :

base_url_ext = http://www.goffi.org

Ou même « //www.goffi.org » pour laisser Libervia gérer le schema (c.-à-d. le protocol : http ou https). Encore une fois tout ceci devrait être géré automatiquement (*), et il est très peu probable que vous ayez à utiliser cette option. Venez me contacter sur sat@chat.jabberfr.org pour plus d'explications si nécessaire.

Une fois la configuration faite, il vous suffit pour activer le proxy de demander à Apache de prendre en compte la nouvelle configuration. Nous allons également nous assurer que le mode proxy_http est activé, aussi nous allons utiliser les commandes suivantes (en root) :

# a2enmod headers
# a2enmod proxy_http
# a2ensite libervia.cont
# systemctl reload apache2

(*) si vous avez téléchargé les images la dernière fois, ce comportement a été modifié depuis, c'est l'occasion de tester « ./libervia_cont.sh update ».

Utilisation d'un cache

Apache a des modules permettant la gestion d'un cache, qui permettra à la fois d'économiser les ressources, et de fournir la dernière page connue en cas d'indisponibilité du serveur (lors d'une maintenance par exemple). Dans le cas de Libervia, c'est principalement utile pour le blog statique.

Assurez-vous d'abord que le cache est activé à l'aide de :

 # a2enmod cache_disk

qui activera à la fois les modules cache et cache_disk. Ensuite à l'intérieur de la configuration du VirtualHost que nous avons faites plus haut :

<IfModule mod_cache_disk.c>
    CacheEnable disk /
    CacheRoot "/var/cache/apache2/mod_cache_disk/libervia/"
    CacheDirLevels 3
    CacheDirLength 5
    CacheIgnoreHeaders Set-Cookie
    CacheMaxFileSize 200000000
    CacheIgnoreNoLastMod On
    CacheDefaultExpire 300
</IfModule>

Vous pourrez vous reporter à la documentation pour la plupart des directives utilisées ici, mais il est nécessaire d’en préciser quelques-unes :

  • CacheIgnoreHeaders Set-Cookie évitera de mettre en cache les cookies qui sont utilisés pour la session dynamique de Libervia, cette directive est essentielle pour la sécurité
  • CacheIgnoreNoLastMod On permet de mettre en cache des documents qui ne possèdent pas de date de dernière modification, ce qui est le cas actuellement des pages servies par Libervia
  • CacheDefaultExpire indique un cache qui expire après 10 min. Libervia ne gère pas (encore) les indications nécessaires à une gestion automatique du cache, aussi on indique ici la durée voulue. Le cache étant essentiellement utilisé pour le blog statique, j'ai mis 10 min pour qu'une mise à jour apparaîsse suffisament vite.

À moins d'avoir un site extrêmement populaire, il ne devrait pas y avoir de problème de performance pour le blog statique même sans cache, il est à mon sens surtout utile ici pour continuer à servir les pages pendant les maintenances.

Utilisation de tls

L'utilisation de TLS n'est pas plus compliquée que pour un autre site Apache.
Voici à quoi peut ressembler une configuration si vous activez le proxy, le chiffrement TLS, et un cache :

<IfModule mod_ssl.c>
<VirtualHost *:443>
        ServerName www.<votre_site.tld>
        ServerAlias <votre_site.tld> libervia.<votre_site.tld>
        ServerAdmin webmaster@<votre_site.tld>
        LogFormat "h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\" %{cache-status}e" with_cache
        ErrorLog /var/log/apache2/libervia-error.log
        CustomLog /var/log/apache2/libervia-access.log with_cache
        ProxyPass / http://127.0.0.1:8080/ nocanon
        ProxyPassReverse / http://127.0.0.1:8080/
        AllowEncodedSlashes On

        <proxy *>
                Require all granted
        </proxy>
        SSLCertificateFile /etc/letsencrypt/live/<votre_site.tld>/cert.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/<votre_site.tld>/privkey.pem
        Include /etc/letsencrypt/options-ssl-apache.conf
        SSLCertificateChainFile /etc/letsencrypt/live/<votre_site.tld>/chain.pem

        <IfModule mod_cache_disk.c>
                CacheEnable disk /
                CacheRoot "/var/cache/apache2/mod_cache_disk/libervia/"
                CacheDirLevels 3
                CacheDirLength 5
                CacheIgnoreHeaders Set-Cookie
                CacheMaxFileSize 200000000
                CacheIgnoreNoLastMod On
                CacheDefaultExpire 300
        </IfModule>

</VirtualHost>
</IfModule>

Notez que le « RequestHeader set X-Forwarded-Proto » a désormais la valeur "https" ainsi que le « with_cache » dans les logs, ajoutant des informations utiles (est-ce que la page est servie par le cache ou Libervia ?).

Pour le reste, reportez-vous à la documentation Apache.

Démarrage automatique

Dernier point de cette partie sur la configuration avancée, nous allons voir comment lancer automatiquement notre instance de Libervia au démarrage de la machine. Nous allons pour cela utiliser SystemD qui est désormais le gestionnaire de démarrage par défaut de la plupart des distributions, donc probablement de la vôtre.
Il vous suffit d'utiliser une configuration similaire à la suivante, dans un fichier libervia.service à placer dans /etc/systemd/system :

[Unit]
Description=Libervia (Salut à Toi) XMPP Docker service
After=docker.service
Requires=docker.service

[Service]
User=libervia

Environment= \
SAT_CONT_DOMAIN=votre_domain.tld \
SAT_CONT_PORT_8080=8000

ExecStartPre=/home/goffi/dev/sat_docs/docker/libervia_cont.sh start -p
ExecStart=/usr/bin/docker wait libervia
ExecStop=/home/goffi/dev/sat_docs/docker/libervia_cont.sh stop

[Install]
WantedBy=multi-user.target

Ce fichier indique que le containeur doit attendre que Docker soit lancé. L'utilisateur ici est libervia, changez-le pour celui que vous avez ajouté au groupe « docker ».
Environment vous permet de configurer les options comme le port ou le nom de domaine utilisé, notez bien le "\" en fin de ligne (dernier caractère avant le retour à la ligne, sans espace) qui indique de considérer la ligne suivante comme la suite de la commande.

Le serveur est en fait lancé avec la directive ExecStartPre, afin de pouvoir connaître sont état avec « docker wait ». C'est une petite astuce qui évite des complications, car les conteneurs sont lancés par le démon Docker et non le script lui-même.

À suivre…

Voilà pour cette seconde partie de la série sur l'installation d'un blog Libervia. Ce n'était pas la partie la plus amusante, mais vous n'avez a priori à faire cette configuration qu'une seule fois, et elle n'est pas si compliquée que cela.

La prochaine fois nous importerons un blog depuis Dotclear.

Libervia (Salut à toi) 0.6.0 : des avancées majeures !

goffi 02/12/2015, 12:48 jabber-xmpp GNU-Linux projet Libre planet-libre SàT seenthis

Salut à vous,

Nous avons le plaisir d'annoncer la sortie de Salut à Toi (SàT) 0.6.0 et donc de son interface web « Libervia ». Pour mémoire, SàT est un « couteau suisse de la communication », un outil libre et décentralisé permettant de partager publiquement ou de façon privée des messages, des fichiers, des articles de blog, de microblog, etc.

Le projet a de nombreuses fonctionnalités allant du chiffrement de bout en bout aux jeux, et peut également servir de base pour créer de nouveaux réseaux.
C'est aussi un projet éthique, géré par une association loi 1901, suivant un « contrat social », utilisant exclusivement des logiciels libres, militant pour la décentralisation, et fermement opposé à la publicité.


Cette version a vu un très gros travail sur le système de blogs : Libervia offre un moteur de blog décentralisé, accessible à des groupes restreints ou de l'extérieur, et entièrement basé sur le protocole standard et ouvert « XMPP ». L'utilisation de ce standard permet de communiquer avec d'autres projets comme Movim ou Jappix, créant ainsi un grand réseau libre.

Le partage de fichiers en pair à pair (P2P) a aussi été grandement amélioré grâce au protocole « Jingle », ouvrant la voie pour de futures applications comme la visioconférence.

L'annonce officielle est disponible sur le blog suivant (basé sur Libervia) : https://libervia.org/blog/salut-a-toi.

Une dépêche Linuxfr plus détaillée est en cours de modération et devrait être publiée sous peu.

Une campagne de financement participatif est en cours pour faire une version de bureau (une étape déjà franchie), et une version Android. Cette campagne étant très proche de la fin, c'est le moment de nous soutenir !


 http://ftp.goffi.org/media/screenshots/0.6/overview.png 

 

site officiel : http://salut-a-toi.org
démo : https://libervia.org
campagne de financement : https://www.arizuka.com/fr/projects/libervia
N'hésitez pas à nous contacter (http://salut-a-toi.org/community.html)

L'équipe « Salut à Toi »

RyDroid 02/12/2015, 19:51

Bonjour.

J'ai un compte XMPP chez movim.eu qui marche sans problème sur pod.movim.eu (et Xabber sur Android, en tout cas au moins il y a quelques mois, n'utilisant plus de firmware Wi-Fi propriétaire je ne sais pas ce qu'il en est). Mais je n'arrive pas à l'utiliser avec libervia.org. Iceweasel 38.4.0 et Chromium 46.0 (fournis par Debian GNU/Linux 8.0) me donnent le même message d'erreur : "Did not receive a reply (the timeout expired or the connection is broken).".
Je me suis donc inscrit sur libervia.org pour tester. J'ai reçu un email me disant que je suis inscrit, et aussi une alert JavaScript pas user-friendly "Submit error: UNMANAGED FAULT STRING (NoReply)". J'obtiens la même erreur qu'avec mon compte sur movim.eu...

Sur Chromium (mais pas Iceweasel), il barre le cadenas HTTPS avec libervia.org parce qu'il n'arrive pas à reconnaître l'identité du site web, pourtant le certificat a bien la même empreinte SHA1.
C'est documenté sur salut-a-toi.org, sur lequel Iceweasel n'aime cette fois pas non plus le certificat. http://salut-a-toi.org/faq.html#cer...
Le SHA-256 que j'ai est "F4:63:59:82:71:5C:4B:C8:5F:2F:E9:DB:AA:28:90:D6:6A:D0:2E:76:3E:91:6E:63:92:66:CE:E3:5F:D7:F3:CD", ce qui n'est pas le bon d'après la documentation. Utiliser le Tor Browser ne change rien. La documentation est elle à jour ou j'ai loupé quelque chose ?


author website

Libervia/Salut à Toi à « fêtons Linux » (Lausanne 28/11/2015)

goffi 20/11/2015, 10:14 jabber-xmpp GNU-Linux projet Libre planet-libre SàT seenthis

Un rapide billet pour vous dire que nous avons été invités à participer à « fêtons Linux », une journée de rencontre autour des logiciels libres et de Gnu/Linux.

J'y ferai 2 conférences, une technique de 45 min pour expliquer le cœur du projet (à 13h), et une plus grand public de 20 min (à 14h30), et bien sûr je serai présent toute la journée pour discuter (je passerai également par Genève s'il y a du monde qui veut s'y retrouver).

Un grand merci à l'organisation.

Nous avons également passé le premier palier pour notre campagne de financement, c'est à dire que nous sommes engagés à faire un prototype de version de bureau. Mais il nous manque encore un peu moins de 2000 € pour la version Android, et nous avons 2 semaines pour y arriver, aussi faite tourner ce lien partout ou vous pouvez, nous avons besoin d'un coup de pouce pour nous faire connaître : www.arizuka.com/fr/projects/libervia (ou en anglais: www.arizuka.com/en/projects/libervia). Merci !

Je n'ai pas eu le temps d'écrire d'article cette semaine car je suis débordé par le développement : nous espérons sortir la nouvelle version très bientôt.

À bientôt

N.B.: j'ai dû temporairement mettre la modération a priori sur les commentaires, j'ai depuis 2 semaines une vague de spam qui passe les filtres en place.

Vous voulez du (micro)blogage, de la décentralisation et du chiffrement sur Android ?

goffi 22/10/2015, 13:23 jabber-xmpp GNU-Linux projet Libre planet-libre SàT

Salut à vous !

 
Aujourd'hui nous lançons une petite campagne de financement participatif pour le développement d'une version Android de Libervia/Salut à Toi.
 
Nous souhaitons ici développer une application native, avec toutes les fonctionnalités avancées dont nous disposons déjà, telles que le (micro)blogage, le chiffrement de bout en bout via OTR (et il est possible que nous ajoutions OMEMO/Axolotl, une nouvelle méthode permettant de chiffrer les messages hors ligne ou dans une discussion de groupe), le partage de fichiers, ou des choses plus exotiques comme une télécommande universelle.
 
Ce développement fonctionnera également sur bureau (Gnu/Linux bien sûr, mais il devrait fonctionner sur d'autres plateformes comme Windows ou Mac OS X) avec la même interface.
 
Il existe déjà quelques clients Android (comme le très joli Movim de notre ami Edhelas, Conversations ou Xabber), mais aucun n'offre actuellement le même bouquet de fonctionnalités que Libervia/Salut à Toi, aussi ce développement sera un vrai plus.
 
D'autre part nous sommes particulièrement attentifs à l'éthique (cf notre contrat social) et nous sommes organsiés en association loi 1901 en autogestion, dans l'idée de faire une coopérative sur le long terme. Cette campagne est aussi l'occasion de tester un moyen de financement, et nous avons choisi Arizuka car ce site se concentre sur les projets de l'économie sociale et solidaire.
 
Voilà, donc maintenant on compte sur vous ! N'hésitez pas à poser vos question soit en commentaire, soit par courriel (goffi@goffi.org) soit sur notre salon de discussion XMPP: sat@chat.jabberfr.org
 
Salut à Toi: http://salut-a-toi.org
 

P.-S. : nous préparons aussi une (grosse) nouvelle version dans les semaines à venir, je ferai certainement une série d'articles pour expliquer les nouveautés et comment se servir de Libervia ou SàT en général.

Conférences des RMLL

goffi 28/07/2015, 14:03 jabber-xmpp GNU-Linux technique projet Libre planet-libre SàT

Salut à vous,

 
j'attendais de voir les vidéos publiées, c'est désormais le cas. Notre passage aux RMLL s'est très bien passé et a été l'occasion de se faire de nouveaux contacts et d'avoir des discussions très intéressantes. J'ai particulièrement apprécié participer à la table ronde sur les nouveaux médias, et rencontrer Arno de SPIP/SeenThis (je connaissais déjà les autres participants).
 
Je n'ai pas eu l'occasion de voir beaucoup de conférences car j'étais au stand, mais je viens bien sûr vous recommander de voir celles sur XMPP ou en particulier la table ronde sur les nouveaux médias:

Toutes les interventions étaient vraiment intéressantes, y compris dans le public. Merci à ceux qui y ont participé, et à Olicat pour avoir animé.

En ce qui concerne XMPP, il y a bien sur les conférences de Libervia et Movim. Pour Libervia la qualité est vraiment mauvaise, aussi je vous recommande plutôt la version de Pas Sage En Seine, c'est la même conférence:

Libervia

Movim

Et sur un plan plus technique, la conférence « PubSub, Microblogage et XMPP » dont j'ai déjà parlé plusieurs fois:

En dehors de ça comme je l'ai dit je n'ai pas pu voir beaucoup de conférences. J'ai particulièrement aimé celle de Paul Kocialkowski sur Replicant (en anglais, il y en a aussi eu une en français que je n'ai pas pu voir, je ne sais pas si c'est le même ou pas, du coup je mets les 2):

À voir aussi celle de Gelnior (de Newebe/Cozy cloud) sur la conception graphique, je l'avais vue aux JDLL:

Enfin, autre conférence que je n'ai pas (encore) vue, mais comme on en parle dans la table ronde je la mets ici, la conférence « SPIP et sa communauté »:

 
Il y en a eu beaucoup d'autres, aussi n'hésitez pas à préciser en commentaires celles que vous conseillez.

Libervia/Salut à toi aux RMLL à Beauvais toute la semaine

goffi 03/07/2015, 13:38 jabber-xmpp GNU-Linux projet Libre planet-libre SàT ici et maintenant

Salut à tous,

Nous serons présents avec Libervia/Salut à Toi pendant toutes les Rencontres Mondiales du Logiciel Libre à Beauvais, avec présence aux journées grand public (moi je n'y serai qu'à partir de dimanche, Souliane dès demain), puis au village associatif, et 3 conférences:

  • conférence « Libervia : repenser nos communications » lundi 6 juillet de 14h40 à 15h20 (salle 124) ;
  • table ronde/débat sur les nouveaux médias avec Timothée Jaussoin (Edhelas) de Movim, Pouhiou (Framasoft), Luc Fievet (April), Arno* (SPIP/SeenThis), Souliane et moi pour SàT, le lundi 6 juillet de 16h20 à 18h (amphi Brunuel) ;
  • PubSub, microblogage et XMPP jeudi 9 juillet de 15h00 à 15h20 (salle 203/204).

Si vous passez dans le coin, c'est l'occasion de discuter de vive voix.

Campagne d'adhésion pour financer le développement de Libervia

goffi 15/06/2015, 19:38 jabber-xmpp GNU-Linux projet Libre planet-libre SàT

Salut à vous !
 
 
Ça y est, on y est, c'est le lancement de la campagne d'adhésion à l'association « Salut à Toi ». Cette campagne, si elle réussit, va nous permettre de nous salarier et développer le projet pendant 1 an, de sortir une version stable pour la fin d'année, et de préparer plusieurs évolutions.
 
Avant tout un petit rappel, sur Libervia et Salut à Toi. Ci dessous une vidéo courte (3 min) expliquant le projet:
Libervia est donc un outil de communication (ou « réseau social » comme disent certains) qui se distingue par plusieurs points. Il est multi-interfaces, et non web uniquement, il se base sur un standard (XMPP) ce qui le rend compatible avec d'autres logiciels comme Gajim, Jappix ou Movim, et il suit une ligne éthique et philosophique claire, notamment expliquée dans son contrat social.
 
Le projet est déjà bien avancé et utilisable, il est disponible dans des distributions GNU/Linux comme Debian ou Arch (mais les versions commencent à dater, nous en avons une nouvelle proche de sortir), et vous pourrez voir en consultant le site officiel qu'il offre des fonctionnalités originales.
 
Nous souhaitons qu'il soit développé dans un cadre éthique et solidaire aussi nous cherchons à nous salarier à travers une association loi 1901 autogérée.
 
Si la campagne est un succès, nous prévoyons les évolutions suivante:
  • une version stable et utilisable par le grand public pour la fin d'année 2015
  • des passerelles vers d'autres réseaux libres, comme Diaspora*, SeenThis, ou SMTP
  • une version permettant des connexions anonymes (via TOR)
Ceci est réalisable en 2015. Pour l'année 2016 nous envisageons:
  • la création d'un boitier pré-installé, qu'il suffira de brancher sur sa connexion Internet
  • l'intégration du projet dans d'autres logiciels libres comme Blender, GIMP ou Inkscape, afin de pouvoir travailler avec ses contacts sans quitter lesdits logiciels. Cette partie est particuièrement excitante et ambitieuse, mais demandera beaucoup de travail.
 
Afin de ne pas surcharger ce billet je n'entrerai pas plus dans les details, nous avons rédigé une dépêche pour le site de référence linuxfr expliquant plus en longueur (et de façon plus technique) les projets à venir (je mettrai le lien quand la dépêche sera publiée). Le site officiel est bien sûr une autre source d'informations, et vous pouvez nous rejoindre sur le salon XMPP sat@chat.jabberfr.org.
 
Nous travaillons à plein temps sur le projet avec nos propres resources, aussi la question du financement se pose sérieusement. Si vous voulez soutenir un projet qui a de nombreuses possibilités, libre et éthique, c'est le moment ! http://salut-a-toi.org/adhesion.html
 
Vous pourrez nous rencontrer cet été:
  • à Pas Sage En Seine cette semaine: conférence « Libervia : repenser nos communications » jeudi 18 juin de 13h à 14h
  • au RMLL à Beauvais, avec 3 conférences et la présence au village toute la semaine:
    • conférence « Libervia : repenser nos communications » lundi 6 juillet de 14h40 à 15h20 (salle 124) ;
    • table ronde/débat sur les nouveaux médias avec Timothée Jaussoin (Edhelas) de Movim, Pouhiou (Framasoft), Luc Fievet (April), Arno* (SPIP/SeenThis), Souliane et moi pour SàT, le lundi 6 juillet de 16h20 à 18h (amphi Brunuel) ;
    • PubSub, microblogage et XMPP jeudi 9 juillet de 15h00 à 15h20 (salle 203/204).
  • en Allemagne les 22 et 23 août pour la FrOSCon (University of Applied Sciences Bonn-Rhein-Sieg), pas de conférence cette fois, mais un stand.
 

8139david 24/06/2015, 21:36

En theorie l'idee est interessante.
Mais en pratique, a quoi ca sert d'essayer de creer un reseau social de plus, dont personne ne se servira?

Firefox OS: pas encore convaincu

goffi 10/11/2014, 13:32 GNU-Linux technique planet-libre Libre

C'est pas que j'aime les téléphones, mais j'ai un petit côté curieux et mon dernier téléphone premier prix a lâché dans des circonstances pour le moins mystérieuses (et pile 2 mois après la fin de la garantie). Manque de bol, ça tombe à un moment où je n'ai pas de ligne fixe ni Internet, et où j'ai besoin d'être joignable.

C'est pas que j'aime acheter des trucs un peu gadgets, mais on parle de Firefox OS en ce moment. Vu qu'il y a un téléphone à vraiment pas cher, et que j'envisage de porter « Salut à Toi » sur cette plate-forme, c'est l'occasion.

Premier essai: une boîte qui fait parler d'elle pour sa campagne de pub sexiste actuellement (j'ai commandé avant ladite campagne). Tout se passe normalement, confirmation, j'attends un peu. Et je reçois un gentil courriel qui me traite de pirate (potentiel), et me demande tenez-vous bien: une photocopie recto-verso de ma carte d'identité et un justificatif de domicile, rien que ça ! Y'a des gens qui acceptent ça sérieusement ? En tout cas j'ai gentiment annulé ma commande et été voir ailleurs, en laissant un message pour l'occasion.

Deuxième essai plus concluant, j'ai tout de même perdu une semaine au passage, à un moment où j'avais besoin d'être joignable...

Le gadget arrivé, je peux tester. Pas trop de commentaires sur le téléphone, ce sont tous des clones aujourd'hui de toute façon.

Ça démarre, le petit renard/panda avec sa queue en feu est joli, ça donne une impression de fini, c'est sympatoche. On me demande si je veux être géolocalisé: bon on me demande c'est déjà ça, mais pourquoi ? Je réponds bien évidemment non. Plus tard la page d'accueil me le redemandera, je ne sais pas pourquoi, mais je sais que ça ne me plait pas du tout. Petit message sur les logiciels libres et l'esprit d'ouverture, j'aime bien.

Après ça ressemble à du très classique: des boutons, des applications. J'ai le regret de voir des saletés comme fb et twitter pré-installées, je suppose que ça vient du constructeur et je supprime. Le système de recherche est pas mal.

Je vérifie la version, c'est Firefox OS 1.3. Je regarde rapidement le « firefox marketplace », là encore du très classique. Je regrette beaucoup l'absence d'indication « logiciel libre »: ça m'aiderait à choisir beaucoup plus sereinement ce que je peux installer. C'est d'autant plus malheureux que Mozilla en fait son cheval de bataille. F-droid devrait être pris en exemple ici, non seulement tout est libre dessus, mais en plus on a des liens vers le code source, et les « anti-fonctionnalités » (espionnage, publicité, etc) sont indiquées clairement.

Aussi j'ai l'impression que beaucoup « d'applications » sont en fait des sites webs déguisés, et là ça me ferait une belle jambe d'avoir du libre. J'espère que Firefox OS ça ne veut pas dire tout avoir sur des serveurs distants: je veux des vrais logiciels sur mon téléphone, qui marchent hors ligne.

Je cherche une application de navigation GPS, qui gère au possible le hors ligne, Evernav me semble la plus adaptée. C'est une application très basique de navigation, qui se proclame la seule sur Firefox OS qui fait de la navigation avec indication des tournants. Il est marqué « fonctionne sans connexion », bien je cherche justement de la navigation hors ligne. La description n'est pas traduite, et l'application n'est pas disponible en français... moi ça ne me gêne pas, mais je pense que ça ne doit pas être le cas de tout le monde.

En pratique, l'application est quasi inutilisable: la « navigation hors ligne » est en fait un cache et je ne vois pas trop comment on peut lui indiquer quelles cartes on veut précisément. Je n'ai pas pu trouver ce que je cherchais, pas gégé. En plus la création d'un compte est obligatoire pour utiliser le guidage  (!), j'en ai fait un vite fait en utilisant une adresse jetable, mais le principe m'énerve. L'application est propriétaire et payante. Bref, je n'aime pas du tout et supprime.

L'application installée de base, « Here » de Nokia arrive à trouver ce que je cherche, et le chemin est calculé facilement. Mais il n'y a pas de guidage, et là encore c'est du proprio. Au moins la création de compte n'est pas obligatoire.

Un des intérêts principaux d'un ordiphone pour moi, c'est d'avoir une application de guidage qui fonctionne hors ligne, et qui ne m'espionne pas. OsmAnd~ (la version compilée par F-droid) est parfaite de ce point de vue, j'espère la voir portée sur Firefox OS (ce qui devrait être possible avec emscripten, l'application étant en C++, mais ça va sûrement demander beaucoup de travail). L'absence d'un équivalent est un frein majeur pour utiliser Firefox OS de mon point de vue.

En dehors de ça, l'absence de copier/coller ne me gêne pas, l'absence d'écriture par les gestes un peu plus mais ça n'est pas indispensable. Par contre l'absence de bouton « retour » qui oblige a chercher dans l'application l'équivalent me gêne *énormément*, je ne comprends pas cette décision de Mozilla. C'est peu intuitif, pas pratique du tout, voire carrément insupportable.

Au niveau téléphonie ça marche comme on l'attend, rien à dire. Ah si je n'ai pas réussi à avoir les détails d'un message (heure de réception), je n'ai trouvé que l'heure du début de la conversation, ce qui est assez gênant pour un message du type « on se retrouve dans 20 min ».

À noter aussi des redémarrages intempestifs, problème de jeunesse qu'on pouvait prévoir, mais dommageable sur une version stable en production. Enfin je suis dév, je sais ce que c'est.

J'ai voulu faire une mise à jour pour voir si ça corrigeait ça, rien d'officiel sur le site du constructeur (ma 1.3 semble la plus récente), je cherche donc sur le net et tombe sur un billet de développeur qui m'indique comment faire. Aïe, il faut windows et je n'en ai pas... La faute au constructeur encore une fois, mais c'est plus que malheureux. Tant pis je tente le coup en téléchargeant quand même et en tentant de flasher moi même. M'intéressant assez peu aux téléphones, je n'ai pas encore l'habitude des archi Android (Firefox OS utilisant la même base), mais je trouve rapidement de quoi faire: fastboot est disponible dans ma Debian, et m'évite l'installation du SDK Android à la main. Dans l'archive pour rooter le téléphone, je trouve des images notamment pour les partitions recovery, boot et system. Les deux premières se flashent sans soucis, mais pas moyen d'envoyer la 3ème, probablement à cause de sa taille. Résultat, je n'ai plus de partition système, et mon téléphone ne boot bien évidemment plus (ma faute, pas celle de Mozilla ou du constructeur :)).

Ne voyant pas de solution simple pour rattraper le coup avec Firefox OS, je décide de temporairement passer à CyanogenMod, à l'aide de cette version, je l'installe sans les google apps.

Au final, je me retrouve avec tout ce que je veux: F-Droid, OsmAnd~, j'ai pu récupérer mes contacts grâce à SlightBackup, et je n'ai pas de compte google lié au téléphone. Le port marche très bien et c'est fluide, et en plus les application Firefox OS peuvent marcher via Firefox dispo sur F-Droid. Je ne vois pas pour le moment ce que Firefox OS m'apporte de plus au niveau vie privée. Aussi, il ne faut pas oublier que l'utilisation d'un téléphone portable est déjà une grave atteinte à la vie privée, et que l'opérateur sait à tout moment où on se trouve avec ces saletés :(.

Enfin bref, je salue tout de même l'arrivée de Mozilla qui reste une boîte en qui j'ai à peu près confiance, et l'effort des équipes de dév, je pense juste que c'est encore jeune. Je reviendrai sûrement rapidement à Firefos OS, ne serait-ce que pour porter « Salut à Toi ».

Ce que j'aimerais:

  • une indication « logiciel libre » dans le gestionnaire d'applications (enfin « marketplace » pour son terme commercial)
  • une vraie application libre de navigation hors ligne, un port de OsmAnd~ serait idéal
  • la possibilité de coder en python. Pour le moment je vois 2 solutions: un transpileur à la Pyjamas, ou le port de Python (déjà fait) via emscripten, reste à voir si on peut accéder à tout le nécessaire pour une véritable application, et ce que donnent les performances. Un port de Kivy serait idéal.
  • un bouton « retour » !!!
  • moins important, mais agréable: la possibilité d'écrire avec des gestes

et bien sûr, je suis très gêné par l'accord entre Mozilla et Foxconn, même si j'ai conscience que mon téléphone premier prix vient de là et qu'il n'a pas dû être fait dans des conditions de travail exemplaires. J'ai un peu honte de financer ça en l'achetant :(. La solution idéale serait de jeter ces fichus téléphones aux chiottes, mais c'est une autre histoire.

Ceci dit, je pense que Mozilla est assez proche d'arriver à quelque chose de pas trop mal, et je souhaite bon courage aux équipes qui bossent dessus. Je vais suivre de plus ou moins loin l'évolution, et tenter de développer dessus sous peu j'espère.

mikedafunk 11/11/2014, 20:07

Merci pour ce retour complet et instructif !


author website

Astuce du jour: utiliser Konqueror pour avoir un aperçu temps réel.

goffi 24/10/2014, 12:31 GNU-Linux technique planet-libre jabber-xmpp Libre

Salut à vous,


comme je fais actuellement de l'édition de XEP (extension XMPP), je dois utiliser les outils fournis par la XSF (XMPP Standards Foundation) en console. Moi ça me va, je peux utiliser mon vim habituel, avec syntastic qui me dit quand il y a une erreur, etc. Seulement j'aimerais bien avoir un aperçu en temps réél de ce que j'édite. Pas de soucis, Konqueror vient à la rescousse, car il a le bon goût d'être pilotable via D-Bus.

J'entre la commande magique suivante dans une console:

$ while true; do; inotifywait -e modify xep-proto-namespace-delegation.xml; echo transformation; xalan -in xep-proto-namespace-delegation.xml -xsl xep.xsl  -out xep-proto-namespace-delegation.html -html; echo rafraichissement; qdbus $(qdbus org.kde.konqueror\*) /konqueror/MainWindow_1 reload; done

et maintenant, à chaque enregistrement de mon fichier, Konqeror m'affichera l'aperçu en cours.

Explications:

while true; do;

ça c'est facile, on tourne en boucle jusqu'à ce que je presse C-c pour tout stopper.

inotifywait -e modify xep-proto-namespace-delegation.xml;

Cette commande très pratique permet de réagir à un évenement inotify. inotify est une fonction du noyau Linux qui fournit des notifications en cas d'évenement. Là je demande à la commande de bloquer jusqu'à ce que le fichier xep-proto-namespace-delegation.xml que je suis en train d'éditer soit modifié. En d'autres termes, ça bloque jusqu'à ce que je fasse mon :w dans vim.

echo transformation; xalan -in xep-proto-namespace-delegation.xml -xsl xep.xsl  -out xep-proto-namespace-delegation.html -html;

Là on est dans la partie spécifique à XMPP, j'indique que je veux transformer mon fichier xml en HTML (xalan est un outil qui utilise XSLT pour transformer de l'XML, le xep.xsl étant fourni par la XSF). Le echo étant bien sûr juste pour m'indiquer qu'on fait la transformation.

echo rafraichissement; qdbus $(qdbus org.kde.konqueror\*) /konqueror/MainWindow_1 reload;

Ici on a la partie intéressante. D'abord j'indique avec le echo qu'on va faire un « rafraichir » sur le Konqueror en cours. Le problème c'est que le nom de service de Konqueror n'est pas toujours le même, c'est org.kde.konqueror-[pid du konqueror en cours]. Il serait assez facile de retrouver le pid, mais ici je préfère utiliser une fonctionnalité de qdbus pas forcément connue (qdbus étant très mal documenté), à savoir l'utilisation du métacaractère (wild card) « * » pour chercher tous les noms de services.

Ici donc, $(qdbus org.kde.konqueror\*) nous donne le nom du service voulu (à supposer qu'il n'y a qu'un Konqueror qui tourne). Nous utilisons à nouveau qdbus pour appeler la méthode « reload » de Konquy (il est possible d'utiliser D-Feet pour retrouver facilement le nom et le chemin de la méthode).

Et nous finissons la boucle avec done. Voilà, plus qu'à appuyer sur [entrée] et dégainer votre vim favori.

Bien évidemment, j'applique ici à l'édition de XEP parce que je suis en plein dedans, mais vous pouvez vous en servir pour, par exemple, faire un aperçu Markdown (avec la commande... markdown), ou pour tout ce qui se transforme en (X)HTML.

Salut à Toi disponible en docker + passage à la radio

goffi 20/10/2014, 15:16 jabber-xmpp GNU-Linux technique projet Libre planet-libre SàT

Salut à vous,

nous venons de mettre en place des images Docker pour simplifier l'installation et l'utilisation de Salut à Toi/Libervia.

Pour ceux qui ne connaissent pas, Docker est un logiciel de gestion de conteneurs, une sorte de chroot boosté. En gros l'idée c'est que vous distribuez un système complet avec toutes les versions des dépendances qui vont bien, et que vous faites tourner le tout de manière isolée mais sur un noyau Linux existant, avec un impact faible sur les performances.

Dans notre cas c'est idéal, car Salut à Toi est pour le moment complexe à installer (surtout Libervia: on y travaille, mais on a besoin de faire bouger les standards XMPP pour ça, et ça prend du temps).

Avec Docker, l'installation est très simple, et en prime nous avons fait un script pour faciliter encore tout ça.

Pour installer et lancer Libervia, il vous suffit d'entrer la commande suivante:

wget http://repos.goffi.org/sat_docs/raw-file/tip/docker/libervia_cont.sh && chmod a+x libervia_cont.sh

Qui va télécharger et rendre exécutable le script de gestion du conteneur Libervia. Ensuite, et si Docker est bien installé chez vous, il vous suffit d'entrer:

./libervia_cont.sh

Le téléchargement la première fois devrait prendre quelques minutes, ensuite le tout est executé avec quelques instructions sur l'utilisation.

Vous pourrez ainsi tester la version en cours de développement de Libervia. pour mettre à jour, il suffit d'entrer:

./libervia_cont.sh update

Vous aurez tous les details ici (en anglais seulement pour le moment, toute aide à la traduction bienvenue): http://wiki.goffi.org/wiki/Docker/en

N'hésitez pas à nous signaler si quelque chose ne fonctionne pas comme prévu ou est mal expliqué (le mieux étant de venir sur le salon XMPP de Salut à Toi: sat@chat.jabberfr.org).

Sinon je n'avais pas donné le lien ici: j'ai été invité il y a quelques semaines par radio « Ici et maintenant », une radio libre parisienne, avec d'autres acteurs du libre comme Benjamin Bayart (FDN, minitel 2.0), Julien et Valérian (Jappix), Éric et Stéphane (Franciliens.net), Thuban (Host@Home), et Tanguy (Planet auto-hébergement). L'émission est longue (3h30), et divisée en 2 parties principales, celle qui cause de SàT est à partir de 2:20. Vous la trouverez ici (ou mieux via bittorrent).

nom 22/10/2014, 19:08

Le magnet torrent fonctionne pas pour moi.

Goffi 23/10/2014, 12:10

Ah mince, je vais remonter l'info, c'est Tanguy Ortolo qui avait mis ça en place.

Utilise le téléchargement direct en attendant...


author website

Goffi 23/10/2014, 14:56

Tanguy m'a confirmé que le bittorrent tournait toujours. J'ai ajouté le HTTP en alternative si ça ne foncitonne pas, sur son conseil...


author website