Salut à Toi: Petit état des lieux en images

goffi 03/08/2011, 22:27 GNU-Linux projet SàT jabber-xmpp Libre

Salut à vous,

Près d'un mois après les RMLL, une petite mise au point sur l'avancement de SàT:

déjà, je n'ai pas encore eu les contributions que j'espérais pour accélerer le développement, il commence à y avoir de plus en plus de personnes qui s'intéressent au projet, mais ça reste timide. Heureusement, j'ai depuis un petit moment maintenant l'aide précieuse de Raiden, un graphiste qui a fait un super boulot sur Libervia (l'interface web), vous pouvez voir le résultat dans les captures ci-dessous, et également sur le jeu de quiz qui est en cours de finalisation. J'espère que nous pourrons continuer à travailler ensemble, et ainsi commencer une véritable équipe autour de SàT (cela semble bien parti pour).

Libervia donc, n'a plus grand chose à voir avec l'interface de démo (qui est toujours en ligne), et est proche d'être utilisable. Son utilisation est fortement basée sur les groupes, notamment au niveau du microblogage, ce qui permet de bien choisir les personnes à qui vous destinez vos messages. Petit détail amusant, depuis la mise en ligne de la démo la firme au moteur de recherche a lancé un (énième) service dit « social », et beaucoup de monde s'est extasié sur les « cercles » qui ne sont rien de plus que les groupes tel qu'ils existent dans XMPP, et qui sont donc utilisés dans Libervia.


libervia_login.png
Cette capture montre l'écran que vous voyez quand vous arrivez sur le site, avec la fenêtre de connexion. Le logo à gauche est le logo du projet.

libervia_discussions.png
Ici vous voyez la page principale, qui n'a plus grand chose à voir avec la dernière version. Encore une fois, c'est grâce au travail de Raiden (qui a également dessiné le logo et les graphismes du jeu de quiz ci-dessous) que nous avons pu en arriver là. Quelques remarques sur cette capture:
  • Kde ne veut pas me capturer le pointeur (bien que je lui ai demandé), il est au dessus de « Nouvelle-Calédonie », c'est pour ça qu'elle est en rouge, ainsi que Louise qui appartient à ce groupe
  • L'interface est comme vous pouvez le voir basée sur des widgets, que vous placez par glisser/déposer: Par exemple pour avoir le widget « famille », vous déplacez le groupe « famille » sous « contacts » à l'emplacement voulu
  • Vous pouvez mettre des widgets sur plusieurs lignes et/ou colonnes, permettant ainsi d'avoir plus de place quand nécessaire, et de vous organiser comme vous voulez. Vous n'êtes plus limités à 3 colonnes comme dans la démo, vous en faites autant que vous voulez (idem pour les lignes bien sûr)
  • la barre du haut est la barre principale pour les entrées, c'est pour cela que vous n'avez pas de barre de saisie en dessous des widgets. Cette barre est redimensionnable à souhait, ce qui peut être utile si vous rédigez un long message
  • le widget « louise@tazar.int » a sa barre de titre en rouge parce qu'il est sélectionné, vos saisies lui sont envoyées. Si vous êtes étourdis, un panneau de couleur vous indique clairement à qui vous envoyez le message pendant la saisie
  • Les onglets en bas permettent d'avoir plusieurs pages de widget, ou un widget demandant plus de place (comme le jeu de Tarot) séparé. L'onglet que l'ont voit ici est un salon de discussions.
Cette interface est fonctionnelle, et sera disponible à la prochaine version d'ici quelques semaines (avant la fin du mois d'août), ou via le dépôt de développement pour les plus aventureux. Il reste cependant quelques problèmes à régler avant de remplacer la démo par un service d'essai, mais ça ne devrait plus tarder (j’espérais le lancer avant fin juillet, maintenant il faut plutôt s'y attendre pour la fin de l'été).

quiz.png
Ici vous voyez l'état actuel du jeu de quiz. Il n'est pas encore fini comme vous pouvez le remarquer, mais est quasi-jouable (sur Wix uniquement pour l'instant, il viendra ensuite sur d'autres frontends dont Libervia).
Tout ceci a été présenté aux RMLL il y a un mois. Suite à une petite pause, le code reprend désormais vie, avec en particulier un nouveau frontend dont j'espère vous parler rapidement, restez en ligne ;)

PS: si vous voulez une idée du fonctionnement, vous pouvez voir le billet et la vidéo postés il y a quelques mois.

EtMortAuxCondiments 04/08/2011, 11:10

Salut, petites impressions très rapides sur ton projet, pour t'aider peut être à attirer l'attention du public.
Je te décris mes impressions en arrivant sur le site.

- Je suis déjà tombé sur un article linuxfr au sujet de SàT
- Je tombe sur ton blog par les RSS de jabberfr.
- Je zieute ton dernier post, un site web, je me dis par habitude... oh, un site de réseau social à la movim ? (fausse impression bien sûr)
- Je zieute les captures, je suis pas emballé ... je vois des bulles de discussion, je suis pas chaud des facebooks & co, je cherche à distinguer les features, je cerne pas l'intérêt du logiciel, trop en alpha, ou qui fait moins bien que ce qui existe déjà (j'utilise gajim, a priori j'ai pas besoin de plus)
- Je comprends que ton truc est un frontend ... en passant par ton wiki sur la page SàT (en mode libriste, je prends la peine de m'intéresser) pour me remémoirer de quoi il en retourne. Je zieute le graph, j'en tire pas trop de conclusion parce qu'il est pas évident à aborder... Du SMTP, SàT qui engloble le tout... houla :p
- je comprends toujours pas bien cette image du quizz dans ton billet de blog, juste un mini-jeu ?
- j'ai pas pris la peine de lire dans le détail, mais voilà à peu près le point où j'en suis, et où je t'écris là.

Donc voilà, je te laisse tirer les conclusions toi-même (j'en ai pas à faire), mais ce que je me dis:
- j'ai pas envie d'installer un truc modulaire (même si c'est bien) qu'est un peu relou à mettre, et qu'a pas bonne gueule (j'ai pas vu de capture d'écran de Wiz)

Bien sûr, ton projet est en développement, et je n'ai justement pas un regard de dev car j'ai pas envie de coder, mais ça me dérange pas de m'intéresser à des projets, juste que faut que je comprenne un minimum et que je voie en quoi c'est intéressant. Of course je n'ai pas assisté à la présentation des RMLL.

Donc essentiellement, je pense que la question se situe autour de la présentation de ton site (c'est un blog dotclear, et c'est pas très beau, mediawiki c'est pratique mais ça n'a pas forcément bonne gueule non plus), de ton projet et de son intérêt.
Après, c'est normal qu'étant en dev, c'est surtout les détails du développement qui sont exposés, et que tes billets témoignent de l'avancée/activité et que c'est chouette.
Ce sont sans doute des défauts qui se corrigent par eux mêmes, mais voilà l'état de ma visite !
En esperant que ça t'ait un peu aidé,

Un Hanonyme content de pouvoir commenter sans s'identifier (j'espère, j'ai pas encore clické...)

Goffi 04/08/2011, 12:50

Salut,

ce blog est mon blog perso, et a priori ceux qui le lisent me suivent (ou peuvent lire dans les archives), et je m'en sers principalement pour exposer des infos techniques ou des mises à jour.

Que tu ne trouves pas une des interfaces à ton goût et que tu considères que ça fait les choses moins bien qu'ailleurs (ce qui est assez osé sans visiblement n'avoir rien essayé) ça reste une affaire de goût personnels. Maintenant, dire les choses comme ça, bof; proposer des choses, dire ce qui ne va pas (il y a un bugzilla disponible pour cela) ce sera autrement plus utile. Pour la petite histoire, les commentaires étaient plutôt élogieux aux RMLL, donc tout le monde ne trouve pas forcément l'interface moche. Bref dit clairement ce que tu n'aimes pas, parce que dire « je n'aime pas les bulles, je n'aime pas FB, gajim me suffit », ça veut juste dire que tu ne vois pas l'intérêt (ou n'a juste pas besoin) du micrologage et des fonctionnalités qui vont autour, ce n'est pas le cas de tout le monde.

Un site beau, euh oui pourquoi pas, mais ça prend du temps de faire un site, et du temps je n'en ai pas. On verra comment la question se pose dans un moment, autrement dit si j'ai un peu d'aide. De toute manière ce sont effectivement des problèmes qui se corrigerons tout seul, pour le moment le projet ne s'adresse pas au grand public, il faut un minimum de recherche pour le comprendre (ce n'est pas forcément facile à expliquer).


author website

Goffi 05/08/2011, 11:53

Bon je viens de relire mon précédent commentaire, et j'ai répondu un peu sèchement.
J'apprécie quand même le temps passé à rédiger ton commentaire, et l'intérêt que tu portes au projet...


author website

Max 06/08/2011, 14:31

Bonjour,

Je suis d'accord sur certains points : Ce n'est pas très clair, il faut lire tous tes billets pour comprendre l'intérêt de SàT. Si tu cherches à obtenir plus de contributions, tu devrais essayer de faire une page claire sur le wiki du projet pour le présenter et insister sur les objectifs à long terme.

Actuellement, il n'y a que ça : "Salut à Toi (ou SàT), est un client XMPP/Jabber, qui a la particularité de proposer plusieurs affichages (frontends), c'est à dire plusieurs types d'interfaces pour l'utilisateur. "

Et du coup, bah je me dis : encore un n-ième client Jabber, j'en vois pas l'intérêt, je verrai plus tard.

Bonne continuation à ton projet !

Goffi 06/08/2011, 14:41

Salut,

Ok, je vais faire un effort de ce côté, à commencer par le wiki... dès que je trouve un peu de temps :)

++


author website

GCP version 0.1.3

goffi 20/06/2011, 14:14 GNU-Linux projet Libre

4 jours après la précédente version, une nouvelle version mineure est disponible, qui corrige quelques bugs (syntaxe « gcp RÉPERTOIRE1 RÉPERTOIRE2 » et code de retour) et qui ajoute des tests.

Sinon ça avance toujours côté SàT, mais il y a énormément de choses à faire, aussi de l'aide serait bienvenue :)

GCP version 0.1.2

goffi 16/06/2011, 14:15 GNU-Linux projet Libre

Salut à tous,
une nouvelle version de gcp est sortie (j'ai pu trouver 5 min entre 2 développements sur SàT): la 0.1.2 .
Un grand merci à Thomas Preud'homme (aka Robotux) pour ses contributions et pour le paquetage Debian (mon premier logiciel à intégrer Debian, ça fait quelque chose -snif- :') ).
Merci aussi à Ganryuu pour le paquet Arch Linux (que j'ai vu par hasard, faut pas hésiter à me prévenir !), et aux autres empaqueteurs s'il y a d'autres paquets dispos.
J'en profite aussi pour remercier Wido qui a fait un paquet pour Salut à Toi, et l'a mis à jour dans dans la soirée qui a suivi l'annonce sur DLFP.
À noter aussi pour les pythonneux que j'ai mis gcp sur pypi.
Sinon pour les changements, il y a:
  • un script d'installation
  • une manpage
  • amélioration de la précision du os.stat
  • saut de liens symboliques (options --dereferrence et --no-dereferrence)
  • diverses corrections de bogues
N'hésitez pas à faire des demandes de fonctionnalités ou des rapports de bogues sur le traqueur de bogues, même si j'ai peu de temps à consacrer à autre chose que SàT...

Salut à Toi: a multi-frontends XMPP client

goffi 05/06/2011, 15:56 projet GNU-Linux technique jabber-xmpp-en Libre SàT

G'day all,

I have been working for a while on an XMPP client with a daemon/frontends architecture: the idea is that you have the main logic centralised in the daemon side, and you can make very different lightweight frontends for the view. The project is intended to be a modular, multi-platform, multi-frontend communication software. The frontends can be adapted to a particular use case, or platform.
Currently, there are a desktop frontend, a console frontend, a command-line frontend, and a web frontend. A Kde frontend is also planned.

The project is quite difficult to summarise, as it touch a lot of domains (it's not intended to be only an instant messaging software, but to explore deeply the power of XMPP): with it you have instant messaging, e-mail style heavy messaging, multi-user chat, microblogging, file sharing, games, etc.

Techical part

Salut à Toi (SàT) - which means « Hi to you » - is heavily based on the Twisted framework, and the XMPP library Wokkel, which is on top of it and should be integrated in Twisted in the future. The core backend concentrate only on the RFC, a couple of XEP, and the essential stuff to run. Most of the XEP and the advanced functionalities are put in plugins, that allow the code to be modular, and to choose which features you want (you can remove plugins to suppress features for e.g. a public station). SàT manage several profiles: you can use different profiles for different accounts on different servers.


The backend communicate with the frontends throught a "bridge", which is actually an IPC: so far, D-Bus is used, but it is possible to use an other one. All the frontends and the backend together make one client, that means that if you enter something in one frontend, it will appear in the other ones like if it was enterred there. It also means that the history of the conversations is shared, and that if you create one profile somewhere, it will be created globally.


As the backend is independent of the frontends, you can use SàT without graphical interface (i.d. without X running), or unplug a frontend while the backend is still running (e.g. to terminate a long file transfert).
As you can guess by seeing Twisted, SàT is made with Python, it is actually 100% Python, including browser side code (see below); but an other language can be used to make a frontend. Actually any language able to talk with D-Bus can work, and the planned Kde frontend will be made with C++.

Here is a global Diagram of the architecture:
Salut à Toi: Global view

The frontends

Wix: the desktop frontend

Wix is the reference frontend, it is used to test implementation of features. It is based on wxPython. It's intended to be a classical desktop frontend, which should work everywhere. In the future, it could be change its interface for a more experimental one.

Primitivus: the console interface

Primitivus is for console lovers. It is based on Urwid, and the interface is more worked. I had to make several widgets for this frontend, so I eventually put them in a separated library: urwid-satext (Urwid's SàT extensions), I hope they can be usefull for other projects.

primitivus_copie_fichier.png

JP: the command-line tool

JP is a swiss knife, it can be used in many ways. It can be use to easily send file: I spend most of my time in a shell, and it's often annoying to have to go in thousand dialogue boxes just to send a file, furthermore if I am already in the good directory. With jp, I can just type:
jp file mycontact@example.org
and I plan to use a more friendly interface like "jp file nickname".
In addition, jp can send a whole directory by compressing it, accept multiple files without having to accept each time, or send the output of an unix command. It can be used as a powerfull scripting tool, e.g. to notify you when something happen on your server.
In the future, it should gain lot of features like sending microblogs, or managing roster.

jp.png

Libervia: the web frontend

I have waited to make this frontend to start the communication about SàT. Libervia is close to what the fashion wants to name "social network", but with a big emphasis on privacy and user respect; it clearly wants to be an alternative to the massively centralised commercial services. It's entirely made in Python, thanks to pyjamas, with is a Python port of GWT.
There are many thing to say about pyjamas: group centred right management, clear interface, use of widgets, unique input box, visual indicator to show who will be able to read your message, etc.
All of this is shown in a video (in French, but I'm pretty sure it's understandable without the sound, any help to make subtitles welcome):

This video is under Creative Common BY-SA

In addition, a technical demo is online: http://www.libervia.org . Please don't pay any attention to the ugly appearance, we are working on it and it should be really nice looking soon.

Libervia, as the whole SàT project in linked to a social contract, see below.

libervia_prototype1.png

Some things you can do with SàT

Here are some stuff you can do with SàT:

  • Use your e-mail client (MUA) to read and send your messages: XMPP manage "normal" type message, which are heavy messages pretty similar to e-mails (with a subject and a body). This messages are often managed really basically by XMPP clients, but this job could be done by feature-full stable and well-known e-mail softwares like KMail, Thunderbird, Mutt, Roundcube, etc. So, 3 extensions have been made: one to manage a Maildir box, one to manage an IMAP server, and one to manage a SMTP server. Theses extensions allow to connect most of e-mails clients to SàT, and use them to send message to your XMPP contacts, receive messages from them, or even send message to standard e-mail network throught an SMTP gateway. I think XMPP is an excellent candidate to be used as an alternative to e-mail.
  • Microblogging: SàT manage microblogs (only in Libervia so far), not only in the popular classical public way, but also with access restriction through roster-based group access. For example, if you have all you family members in the group "family", you just have to enter "@family: Salut à toi la famille" in the input box, and only the member of your family will be able to read this message. If you want to publish this for everybody, just enter a double @, like this: "@@: my global public message". With this, not only all you contacts will be able to read your message, but even people you don't know as it is public (on the online demo, you can see them through http://www.libervia.org/blog/your_nick).
  • receive multiple files from one contact without having to individually accept them: jp, the command-line tool, allow (among other things) to automatically accepts files, or to send a full directory at once by making a tarball with it.*
  • Nothing to do with XMPP, but an extensions allow to send message to a Couchsurfing account. There is a way to make lightweight XML interfaces for plugins: that allow to make a plugin which will work with all frontends; the couchsurfing plugin was just an excuse to try it.
  • Play French Tarot: I have made a French Tarot game (a card game extremely popular in France), which is playable on the desktop with Wix, in text-mode with Primitivus, or in a browser with Libervia. It was a test in the idea to make a general card game XEP, any people interested in cards games for XMPP can contact me.

Games

Games are an important part of SàT. The following stuff are planned:

  • Generic card games engine: the Tarot Game was an implementation test of a card game. I'd like to take profit of this experience to make a generic XEP, wouldn't it be nice to play your favourite card game through your favourite XMPP client with your friends ? If you are too far to play on a real table of course :)
  • I'd like to do the same think for board games, and a Xiangqi game is planned (Chinese chess)
  • A quiz game is planned in the very short term, probably for next release
  • on the long term, everything can be made, even maybe real-time games

wix_tarot.pngprimitivus_tarot.png

Social contract

Maybe the most important point of all the project: a social contract has been made, and show the principles that SàT and people involved in it follow. It can be read here: http://www.libervia.org/contrat_social.html, but it's only available in French so far.

Licences

  • The SàT backend, Wix, Primitivus and jp are under GPL v3+
  • urwid-satex is under LGPL v3+
  • Libervia in under AGPL v3+

What's next ?

I have reached the point I wanted to build the foundations of the project, and make it credible. Now I need to stabilise everything, clean and re-factor several parts of the code, remove all the ugly Q&D hacks, finish half-made things, etc.
It's the perfect time to give a hand :)

But new features are planned on the short time, mainly picture sharing and quizz game.

You want to help ?

All the tools needed for contributions is here (wiki, bug tracker, mailing list, mercurial repository).
The project use many really interesting stuff like Twisted, Wokkel, Urwid, Pyjamas, etc. It can be a good way to discover them and improve you skill, and I hope give them some contributions.

The help I need:

  • developers ! The project begin to be too big for me alone. In particular, I need people to port SàT on other architectures (*BSD, Android, Mac OS X, Windows, etc.). Only portable technologies have been used, so it should ask a reasonable amount of work.
  • tester: SàT should work with most browsers, most platforms, most XMPP server, etc.
  • Graphic designers: many things to do: icons, design, etc. Somebody just started to help me on this point, that means that the aspect should improve quickly.
  • CSS designers, Libervia should offer different kind of presentations
  • translators
  • donations: if the project succeed, would you make some donation ? Should I take some time to have a donation system ?
  • ...

If you are interested, the first thing is to subscribe the mailing list: http://lists.goffi.org . I hope to have around 10 peoples to start to use it seriously.

Conclusion

This post is only an overview of Salut à Toi, and I think the potential is very big. I strongly believe in the community, and I hope I have interested you enough to have a hand :)

I finish with two videos showing the project (the third one is linked above), but they are in French. Any help to make subtitle for them welcome.

This video is under Creative Common BY-SA

This video is under Creative Common BY-SA

Z_God 07/06/2011, 11:57

I didn't read it very thorough, but isn't this very similar to Telepathy? Some of the examples (like a game) seem to be done with Telepathy as well.

Is this made on top of Telepathy?

Goffi 07/06/2011, 13:52

Hi,

Well I have thought about Telepathy when I started SàT, but I quickly discard it because I wanted to use Twisted (I like the architecture, and it's really powerful).

I haven't studied Telepathy in details, so maybe I'll say wrong things, but Telepathy is a framework to make communication software like XMPP client, while SàT *is* a XMPP client, and the backend and all the frontends make a whole unique client: that means, e.g., if you send a message in one frontend, it will appear in all others like if it was entered there. That also mean a common shared history.
The backend doesn't only manage all the XMPP stuff, it also manage stuff like progress bar or some UI parts.
I think that if you would want to put Telepathy in the SàT architecture, it would be instead of Twisted rather than instead of the backend.

In addition, you can use an other IPC than D-Bus with SàT, and it concentrate on XMPP.


author website

Z_God 10/06/2011, 01:16

Thank you for your response. I was indeed mainly wondering whether you had considered Telepathy :)

I'm also not very familiar with Telepathy, but I think it would be good to have a very thorough comparison of your framework and Telepathy, because currently at least on first sight they seem to have many similarities.

The bit that especially interested me was the command line example, that's something I would probably use a lot :)

Goffi 10/06/2011, 14:01

It's still unstable and early adoption, but don't hesitate to fill bugs reports or request features ( http://bugs.goffi.org ): it need more users to be more stable and usable anyway ;).


author website

(SàT 0.2) Salut à toi, le web !

goffi 31/05/2011, 20:40 GNU-Linux projet SàT jabber-xmpp Libre

Salut à vous,

ça faisait un moment que j'en parlais, voici la nouvelle interface web, qui se nomme Libervia, accompagnée de la sortie de la version 0.2 de SàT.
Je ne vais pas faire un trop long discours ici, mais juste évoquer les points les plus importants:

  • un service web va être associé à cette interface, et j'espère pouvoir le mettre sur pied très rapidement
  • les groupes vont être au centre de la gestion des droits, vous comprendrez en voyant la vidéo
  • oui parce qu'une nouvelle vidéo est disponible
  • et une version de démonstration aussi, elle est pas belle la vie ?
  • et le point le plus important: un contrat social à été rédigé, et indique les lignes suivies par tout le projet « Salut à Toi ». Vous pouvez le consulter ici: http://www.libervia.org/contrat_social.html, ou directement depuis Libervia
  • ça fait longtemps que je travaille seul sur ce projet, de manière assez confidentielle. Je voulais atteindre un certain point: pour apporter une crédibilité au projet, et pour en montrer les grandes lignes. Je considère ce point désormais atteint: même si le client n'est pas encore utilisable au quotidien, et qu'il manque certaines choses essentielles, je pense qu'il est maintenant véritablement lancé
  • Je vais avoir besoin d'aide !!! Les priorités actuelles sont la consolidation de l'existant, la traduction, la documentation. Si vous aimez Python (le projet est 100% en Python, y compris Libervia) ou même d'autres langages (on peut coder une interface dans n'importe quel langage qui peut parler à DBus), ou même si vous n'êtes pas développeur, je pense que ce projet est excitant, et touche à beaucoup de technologies et de domaines intéressants. N'hésitez pas à me contacter: goffi@goffi.org (courriel) ou goffi@jabber.fr (jid), et surtout à vous inscrire à une des 2 listes de diffusion, j'aimerais atteindre une dizaine d'inscriptions pour commencer à les utiliser.

Enfin, quelqu'un m'a récemment proposé de l'aide (Raiden) pour travailler l'aspect, et pour le prochain jeu (quizz) et à commencé des maquettes pour le site: c'est très bien parti :)

Pour tester la nouvelle interface: www.libervia.org mais je vous recommande très fortement de voir la vidéo avant
La nouvelle version de SàT se trouve sur le serveur ftp.

Comme d'habitude, pour lire la vidéo, vous devez utiliser un butineur récent (Firefox 4 ou le dernier Chromium par exemple).
Vous pouvez aussi utiliser VLC (version >=1.1 uniquement), en allant dans le menu « Média/Ouvrir un flux réseau » et en mettant cette URL: http://www.goffi.org/videos/pr%c3%a9sentation_S%c3%a0T_3.webm

Enfin, vous pouvez utiliser mplayer: mplayer "http://www.goffi.org/videos/pr%c3%a9sentation_S%c3%a0T_3.webm"

Cette vidéo est sous la licence Creative Common BY-SA

Présentation vidéo de Salut à Toi #2: jeu de tarot et client courriel

goffi 08/05/2011, 21:22 GNU-Linux projet SàT jabber-xmpp Libre

Une deuxième vidéo de présentation est disponible.
Cette fois on s'intéresse au jeu de tarot et à l'utilisation d'un client courriel avec SàT, expliquée dans un précédent billet.

Notez bien que les jeux vont être une composante importante dans SàT, et qu'il y aura aussi une volonté de standardisation: le jeu de tarot était un prototype dans le but de définir une XEP sur les jeux de cartes en général, n'hésitez pas à me contacter si vous êtes intéressés. Les cartes utilisées dans Wix viennent - comme indiqué dans le README - de Wikimedia Common, et j'ai fait un petit script pour les séparer, avis aux autres développeurs de jeux de tarot.

Tout n'est pas parfait: il y a quelques petits bugs, et tout n'est pas complètement fini; le jeu de tarot ne permet pour le moment de jouer qu'à 4 (les variantes sont prévues) et ne gère pas encore toutes les règles (pas de poignée par exemple), mais ça va s'améliorer avec le temps. Toute aide est la bienvenue :)

Ah et j'ai fait un lapsus, ce n'est pas SàT qui a toutes les qualités pour remplacer le courriel classique, mais XMPP bien sûr ;)

Encore une fois, pour lire la vidéo, vous devez utiliser un butineur récent (Firefox 4 ou le dernier Chromium par exemple).
Vous pouvez aussi utiliser VLC (version >=1.1 uniquement), en allant dans le menu « Média/Ouvrir un flux réseau » et en mettant cette URL: http://www.goffi.org/videos/pr%c3%a9sentation_S%c3%a0T_2.webm

Enfin, vous pouvez utiliser mplayer: mplayer "http://www.goffi.org/videos/pr%c3%a9sentation_S%c3%a0T_2.webm"

Cette vidéo est sous la licence Creative Common BY-SA

RaiDen 09/05/2011, 11:09

Du beau travail Goffi!

Merci pour cette vidéo explicative, je vais de ce pas tester sat.


author website

Présentation vidéo de Salut à Toi

goffi 02/05/2011, 09:16 GNU-Linux projet SàT jabber-xmpp Libre

Salut à vous !

Comme ce n'est pas forcément évident d'installer pour tester, et que les concepts derrière « Salut à Toi » semblent encore flous pour pas mal de monde, j'ai décidé de faire une petite vidéo de présentation.

Cette vidéo explore vraiment la surface, d'autres devraient suivre (notamment assez rapidement pour montrer le jeu de Tarot et l'utilisation d'un client courriel avec SàT).

Quelques remarques:

  • Je n'ai pas parlé de deux idées importantes derrière SàT: il se veut aussi un outil de prototypage rapide (expérimenter rapidement des idées), et est destiné à être multi-plateforme (fonctionner sur plusieurs types de machines/environnement)
  • Il y a plusieurs « bogues » dans la vidéo (dont au moins 1 qui concerne SàT), je vous laisse les trouver dans les commentaires ;)
  • Ne prenez pas peur pour la console noire derrière et ce qui y est affiché, c'est juste des informations de débogage (bréf, surtout utiles pour le développement)
  • Désolé pour le vocabulaire parfois technique, n'hésitez pas à demander en commentaire pour expliquer au besoin
  • Je montre les interfaces console (en mode texte), mais d'autres interfaces graphiques sont également sur le feu (comme dit dans la vidéo d'ailleurs)

Pour lire la vidéo, vous devez utiliser un navigateur récent (Firefox 4 ou le dernier Chromium par exemple).
Vous pouvez aussi utiliser VLC (version >=1.1 uniquement), en allant dans le menu « Média/Ouvrir un flux réseau » et en mettant cette URL: http://www.goffi.org/videos/pr%c3%a9sentation_S%c3%a0T.webm

Enfin, vous pouvez aussi utiliser mplayer: mplayer "http://www.goffi.org/videos/pr%c3%a9sentation_S%c3%a0T.webm"

Cette vidéo est sous la licence Creative Common BY-SA

RMLL: Avis aux équipes de dév XMPP

goffi 08/04/2011, 13:40 GNU-Linux projet SàT jabber-xmpp Libre

Petit message destiné aux équipes de dév de projets libres XMPP/Jabber: j'ai pris contact avec les organisateurs des Rencontres mondiales du logiciel libre (RMLL), qui auront lieu à Strasbourg du 9 au 14 juillet, pour tenir un stand commun XMPP, l'idée serait non seulement de présenter les différents projets, mais aussi d'avoir une occasion de rencontrer les autres membres de la communauté XMPP.

Pour le moment, l'auteur de Poezio et moi serons présents, n'hésitez pas à me contacter si ça vous intéresse. On peut également en discuter sur le salon jabberfr@chat.jabberfr.org

sonny 08/04/2011, 16:17

Salut
Je pense que ce serait une bonne idée d'en parler sur linuxfr et jabberfr.

Vanaryon 08/04/2011, 18:49

Julien, du projet Jappix, sera présent. Il donnera une conférence sur le projet.

Par contre je ne serai pas disponible normalement pour les RMLL.


author website

Goffi 08/04/2011, 18:55

sonny> En fait j'en ai déjà parlé sur jabberfr (forum et salon), mais j'attendais d'avoir un courriel de confirmation des organisateurs.

Vanaryon> ah dommage que tu ne sois pas là, mais c'est bien qu'il y ait quelqu'un de jappix. Julien peut également venir au stand avec nous ?


author website

Vanaryon 08/04/2011, 19:55

Oui, Julien devrait être avec vous sur le stand, je vais lui en parler.

Je crois qu'il aura déjà un stand, mais vous pouvez gérer pour vous mettre à côté ?


author website

Julien 17/04/2011, 16:32

Je serai en effet présent pour Jappix. Je viens avec Vidéoprojecteur, écran et affiches A3 pour le Stand, peut être une bannière Jappix si on a le temps de la faire. Je demande à l’orga de mutualiser le stand Jappix avec le stand XMPP du coup ;-)

Sinon, vous avez contacté la XSF pour qu’elle envoi Tshirts et tout le nécessaire ? Ça serait toujours un plus si on a ça ;-)


author website

Recevez et envoyez vos messages XMPP/Jabber avec votre lecteur de courriel grâce à Salut à Toi !

goffi 18/01/2011, 14:41 projet technique SàT jabber-xmpp Libre

Le courriel est un outil extrêmement pratique, mais qui souffre de plusieurs défauts majeurs. Par exemple, il est très facile de faire de l'usurpation d'identité (e-mail spoofing): juste en changeant les paramètres de n'importe quel lecteur courriel, vous pouvez faire croire que le courriel que vous avez envoyé vient d'une autre personne, une banque, ou autre. C'est une technique très utilisée par les pirates du dimanche pour avoir un mot de passe (en se faisant passer par exemple pour une banque et en disant que le mot de passe a été perdu) ou les spammeurs (une technique courante est d'utiliser votre propre adresse pour tenter de berner les filtres anti-spam).

XMPP/Jabber ne souffre pas de ce problème: les serveurs sont chargés de vérifier que l'émetteur d'un message est bien celui qu'il prétend être.

Or, XMPP définit un type de message, "normal", qui est très proche du courriel classique: il dispose d'un sujet et attend une réponse. Ces messages sont gérés par les clients classiques (c'est dans la norme de base), mais souvent de manière relativement basique.

Voulant gérer correctement ces messages avec SàT, je me suis dit qu'il me faudrait beaucoup trop de travail pour arriver au niveau de fonctionnalités d'un client courriel (ou MUA) correct. Aussi, je me suis dit « Pourquoi ne pas tout simplement réutiliser ces clients ? ».

Et c'est ainsi que j'ai développé un petit serveur courriel qui permet de déléguer la charge des messages de type "normal" à votre client courrier usuel (KMail, Mutt, Thunderbird, Roundcube ou que sais-je d'autre). L'idée est que la messagerie instantanée (messages de type "chat", "groupchat" - salon de discussion -, etc) reste affichée via les interfaces usuelles (Wix/Primitivus), et les messages normaux soient stockées par SàT et gérés par votre client courriel. C'est un pas vers le remplacement du courriel vers un protocole qui a de nombreux atouts.

Quelques raisons qui me font penser que XMPP/Jabber peut remplacer avantageusement (et pratiquement de manière transparente) le courriel:

  • les identifiants jabber (JID) sont similaires aux adresses courriel
  • si une passerelle courriel est disponible côté serveur, on peut utiliser aussi le réseau courriel normal, la boucle est bouclée :)
  • l'usurpation d'identité (spoofing) n'est (théoriquement) pas possible avec XMPP (les serveurs se chargent de vérifier ça)
  • Jabber n'est (pour le moment) pas touché par les messages indésirables autant que le réseau de courriels traditionnel
  • les serveurs XMPP sont souvent plus stricts à l'inscription, et il est plus difficile d'envoyer un message anonymement, pas de relai ouvert: une bonne protection contre le pourriel
  • vous pouvez configurer un compte XMPP pour ne recevoir des messages que depuis quelqu'un de connu (dans votre liste de contacts - roster list- )
  • les connections entre les serveurs Jabber sont chiffrées
  • Toutes les fonctionnalités du courriel (accusé de réception, message HTML, etc) sont soit déjà disponibles sur XMPP, soit peuvent l'être avec une extension
  • ...

De plus, il me semble peu probable qu'une adresse jabber ( ex.: errico@caserte.it ) et une adresse courriel similaire appartiennent à 2 personnes différentes. Il me semble tout à fait possible par la suite que SàT envoie automatiquement le message à la bonne adresse: d'abord tester si l'adresse XMPP existe, et dans le cas contraire envoyer via une passerelle courriel. Quitte à faire une petite bidouille syntaxique pour spécifier si on veut envoyer à une adresse Jabber ou à un serveur de courriel. L'avantage le plus évident d'une adresse courriel est sont côté standard: tout le monde ou presque en a une. Avec XMPP et ses passerelles, la transition entre messagerie courriel et Jabber est possible et quasi-transparente.

Les considérations techniques maintenant

Les serveurs utilisés sont IMAP v4 et SMTP: ce sont des protocoles que pratiquement tous les lecteurs de courriels connaissent. IMAP a l'avantage de permettre une synchronisation avec SàT (y compris l'état du message: est-ce qu-il est lu ? Est-ce qu'on y a répondu ?), et permet d'envoyer des notifications en temps réel de l'arrivée de nouveaux messages. SMTP est utilisé pour l'envoi de messages, c'est tout simplement le protocole le plus utilisé, et ça fonctionne bien. Les identifiants et mots de passes utilisés sont ceux du profil SàT à utiliser (identifiant: nom du profil, mot de passe: mot de passe du compte jabber). Les ports par défaut sont le port 10143 pour IMAP, et 10125 pour SMTP, j'ai pris soin de prendre des ports utilisables sans les droits root, et qui n'ont pas d'utilisation connue.

Les messages sont sauvés dans une boite de type Maildir , idéal pour l'archivage et l'utilisation avec IMAP. De plus, de très nombreux outils existent pour faire à peu près ce que vous voulez avec ces messages. La boîte se trouve dans votre répertoire SàT personnel: ~/.sat/[nom_du_profil]/Maildir

Pourquoi faire ça côté client (SàT) et non côté serveur XMPP ? Déjà au niveau sécurité c'est clairement un plus: le serveur IMAP est local, pas besoin d'ouvrir un nouveau port et donc une brèche éventuelle sur un serveur public plus sujet aux attaques, et une simple règle iptable (pare-feu) interdira les connexions en dehors de votre machine. Ensuite, il faudrait élaborer une XEP, et attendre qu'elle soit implémentée et répandue dans les serveurs. Et puis, j'ai pu faire ça rapidement (merci Twisted), et SàT permet de choisir d'utiliser ou pas cette fonctionnalité (grâce aux extensions), pourquoi s'en priver ? Un des buts de SàT est justement le prototypage rapide d'idées de ce genre...

L'installation

Si vous voulez essayer ça, installez la dernière version de développement, les détails sont sur le wiki.
Sur une *buntu, vous pouvez faire (en console):
sudo apt-get install python-pip python-dev mercurial
sudo pip install "hg+http://repos.goffi.org/sat/"

Évidemment, tout ceci est en développement: il n'est pas encore possible de créer un dossier avec IMAP par exemple, et y'a des tas de petites bricoles du genre qui vont s'améliorer avec le temps. Mais ça permet déjà de se donner une idée.

PS: petite précision: j'utilise parfois XMPP, parfois Jabber. XMPP est le nom du protocole utilisé par SàT (ce qui lui permet de communiquer avec d'autres logiciels similaires), et Jabber est le nom du réseau global qui utilise ce protocole.

xma 20/01/2011, 22:38

Salut,

je viens de tester et je pense ne pas avoir tout compris. J'ai bien tout suivi, fait le sat, crée le profil mais rien ne se passe. Mon compte reste desesperement a 'offline' alors même que les informations sont correctes.

Quelle est l'astuce ?

Goffi 21/01/2011, 00:17

Tu utilises quel frontend ? Primitivus ou Wix ?
Essaye de cliquer explicitement sur « connect » si tu ne l'as pas déjà fait.
As tu quelque chose de suspect dans ~/.sat/sat.log ?


author website

xma 22/01/2011, 23:39

Salut

merci pour l'astuce du fichier de log que je n'avais pas trouvé...

C'est tombé en marche après bidouille immonde dans le /etc/hosts

Il faut que je regarde ça de plus près.

Je vais pouvoir tester un peu plus maintenant car l'idée du projet me séduit.

xma 22/01/2011, 23:51

J'ai parlé un peu vite. La connexion s'effectue mais point de message dans le répertoire mentionné probablement dû à cette erreur:

2011-01-22 23:49:12+0100 [XmlStream,client] Unhandled Error
Traceback (most recent call last):
File "/builddir/build/BUILD/Python-2.6.4/Modules/pyexpat.c", line 656, in EndElement

File "/usr/lib/python2.6/site-packages/twisted/words/xish/domish.py", line 797, in _onEndElement
self.ElementEvent(self.currElem)
File "/usr/lib/python2.6/site-packages/twisted/words/xish/xmlstream.py", line 107, in onElement
self.dispatch(element)
File "/usr/lib/python2.6/site-packages/twisted/words/xish/utility.py", line 317, in dispatch
callbacklist.callback(obj)
--- <exception caught here> ---
File "/usr/lib/python2.6/site-packages/twisted/words/xish/utility.py", line 107, in callback
methodwrapper(*args, **kwargs)
File "/usr/lib/python2.6/site-packages/twisted/words/xish/utility.py", line 27, in __call__
self.method(*nargs, **nkwargs)
File "/usr/lib/python2.6/site-packages/wokkel-0.6.3-py2.6.egg/wokkel/xmppim.py", line 724, in _onMessage
self.onMessage(message)
File "/usr/lib/python2.6/site-packages/sat/sat.tac", line 130, in onMessage
if not self.host.trigger.point("MessageReceived",message, profile=self.parent.profile):
File "/usr/lib/python2.6/site-packages/sat/tools/misc.py", line 63, in point
if not trigger(*args, **kwargs):
File "/usr/lib/python2.6/site-packages/sat/plugins/plugin_misc_maildir.py", line 88, in messageReceivedTrigger
if message['type'] != 'normal':
File "/usr/lib/python2.6/site-packages/twisted/words/xish/domish.py", line 426, in __getitem__
return self.attributes[self._dqa(key)]
exceptions.KeyError: 'type'

P.S: peut-être serait-il plus simple de communiquer via IM ou e-mail ;) Mon jid est mon mail.

xma 22/01/2011, 23:51

J'ai parlé un peu vite. La connexion s'effectue mais point de message dans le répertoire mentionné probablement dû à cette erreur:

2011-01-22 23:49:12+0100 [XmlStream,client] Unhandled Error
Traceback (most recent call last):
File "/builddir/build/BUILD/Python-2.6.4/Modules/pyexpat.c", line 656, in EndElement

File "/usr/lib/python2.6/site-packages/twisted/words/xish/domish.py", line 797, in _onEndElement
self.ElementEvent(self.currElem)
File "/usr/lib/python2.6/site-packages/twisted/words/xish/xmlstream.py", line 107, in onElement
self.dispatch(element)
File "/usr/lib/python2.6/site-packages/twisted/words/xish/utility.py", line 317, in dispatch
callbacklist.callback(obj)
--- <exception caught here> ---
File "/usr/lib/python2.6/site-packages/twisted/words/xish/utility.py", line 107, in callback
methodwrapper(*args, **kwargs)
File "/usr/lib/python2.6/site-packages/twisted/words/xish/utility.py", line 27, in __call__
self.method(*nargs, **nkwargs)
File "/usr/lib/python2.6/site-packages/wokkel-0.6.3-py2.6.egg/wokkel/xmppim.py", line 724, in _onMessage
self.onMessage(message)
File "/usr/lib/python2.6/site-packages/sat/sat.tac", line 130, in onMessage
if not self.host.trigger.point("MessageReceived",message, profile=self.parent.profile):
File "/usr/lib/python2.6/site-packages/sat/tools/misc.py", line 63, in point
if not trigger(*args, **kwargs):
File "/usr/lib/python2.6/site-packages/sat/plugins/plugin_misc_maildir.py", line 88, in messageReceivedTrigger
if message['type'] != 'normal':
File "/usr/lib/python2.6/site-packages/twisted/words/xish/domish.py", line 426, in __getitem__
return self.attributes[self._dqa(key)]
exceptions.KeyError: 'type'

P.S: peut-être serait-il plus simple de communiquer via IM ou e-mail ;) Mon jid est mon mail.

xma 23/01/2011, 00:28

J'ai parlé un peu vite. La connexion s'effectue mais point de message dans le répertoire mentionné probablement dû à cette erreur

P.S: peut-être serait-il plus simple de communiquer via IM ou e-mail ;) Mon jid est mon mail.

Goffi 23/01/2011, 12:49

Ah oui un petit soucis en effet, mais facile à corriger

Je t'ajoute cette après midi et on voit ça dès que t'es dispo ;)


author website

Yag 24/01/2011, 22:27

Salut, existe il un salon jabber pour discuter autour de "salut a toi" ? Si non, ce serais pratique d'en créer un =) Je suis moi même en train d'étudier l'implémentation d'un lecteur de flux rss utilisant xmpp/pubsub et je me demandais s'il j'avais un avantage a le créer en tant qu'extension a salut a toi.

Goffi 24/01/2011, 23:49

@Yag: Salut, non pas encore, mais vu que il commence à y avoir plusieurs personnes qui me posent des questions, je pense en créer un rapidement (demain si je trouve le temps ;) ). Je pense pouvoir commencer aussi la mailing list, ça permettra de garder trace des questions/réponses.


author website

On s'organise un peu

goffi 12/01/2011, 19:14 GNU-Linux projet SàT jabber-xmpp Libre

Bonjour à tous,

après ce long silence, et une fin d'année très chargée (avec entre autres, le retour d'Australie), voici quelques nouvelles pour mes projets.

Les outils

J'attendais mon retour en France pour organiser un peu la gestion des projets, et ouvrir les dépôts au public, c'est désormais chose faite. J'ai passé pas mal de temps à tester et installer de nombreux outils, dont les liens suivent:

  • Un wiki est disponible (http://wiki.goffi.org), qui servira principalement à la documentation, autant pour l'utilisateur final que la documentation technique. Même si la documentation est son intérêt principal, tout sujet touchant de prêt ou de loin aux projets y auront leur place. Chacun peut y contribuer, et il est disponible pour le moment en français et en anglais.
  • Les dépôts Mercurial sont désormais publics et disponible à http://repos.goffi.org . Ceci devrait faciliter les contributions et le suivi des développements
  • Un bugtracker, et le plus connu en l'occurrence: Bugzilla est disponible à http://bugs.goffi.org . J'y attends aussi vos suggestions pour des fonctionnalités que vous aimeriez voir implémentées.
  • un serveur ftp public: vous trouverez la dernière version et toutes les précédentes sur ftp://ftp.goffi.org
  • des listes de diffusion (http://lists.goffi.org): aucune n'est créée pour le moment, mais l'infrastructure est en place pour créer une liste pour les développeurs et/ou utilisateurs si le besoin s'en fait sentir.

Les projets vont ainsi pouvoir s'ouvrir vraiment à contribution.

Les projets

Au niveau des projets en eux-mêmes, quelques nouveautés.

SàT

Salut à Toi dispose enfin d'un script d'installation, qui simplifie énormément la tache. Sous une Ubuntu ou dérivée par exemple, avec une installation fraîche de la dernière version stable, il suffit de faire:

sudo apt-get install python-pip python-dev
sudo pip install "ftp://ftp.goffi.org/sat/sat.tar.bz2"

Vous aurez plus de détails sur la page du wiki: http://wiki.goffi.org/wiki/Salut_à_Toi

D'autre part, les widgets pour Urwid (la bibliothèque qui permet de faire une interface pour un terminal) ont été mis dans un projet séparé sous LGPL à la demande du développeur principal d'Urwid. C'est ainsi que Urwid's SàT extensions suit sa propre voie (bien que toujours lié à SàT).
Enfin, la numérotation suit désormais un schéma standard; à savoir Version_Majeure.Version_Mineure.Incrément + une éventuelle lettre pour les versions particulières (D pour version de dév par exemple).

gcp

Pas de nouveauté de mon côté sur gcp, mais une très agréable surprise: j'ai reçu un mail d'un mainteneur Debian m'indiquant que mon projet était en voie d'intégration à cette magnifique distribution (cf le dépôt git). Ceci dit cela devrait prendre un peu de temps car il y a des vérifications à faire (en particulier au niveau de la licence) pour confirmer que ça correspond aux critères de Debian. Ça fait un petit quelque chose de voir mon premier projet (même si c'est un petit :) ) intégrer cette distribution majeure et collaborative, qui met l'accent sur les libertés des utilisateurs. Un grand merci à Thomas Preud'homme pour cela.
D'autre part, quelques patchs ont été fait pour l'occasion, avec en particulier une manpage (page de manuel Unix), que je n'ai malheureusement pas encore eu le temps d'intégrer, mais ça viendra.

urwid-satext

De la même manière que SàT, la nouvelle bibliothèque Urwid's SàT extensions est facile à installer. Les commandes sont similaires:

sudo apt-get install python-pip python-dev
sudo pip install "ftp://ftp.goffi.org/urwid-satext/urwid_satext.tar.bz2"


J'en ai profité pour mettre un petit exemple montrant comment afficher une boite de sélection de fichiers. D'autres suivront.

lm

List Movies lui n'a pas bougé du tout, si ce n'est qu'il a aussi profité de l'infrastructure mise en place. J'ai eu un patch il y a un moment que je n'ai même pas encore eu le temps de regarder, j'essaierai de trouver du temps à lui consacrer mais ce n'est vraiment pas évident.


La suite

Maintenant que la grosse et nécessaire étape de l'infrastructure est faite, le code de SàT lui même va pouvoir retrouver un peu plus d'attention. Il manque encore un système de tests, que je mettrai en place tôt ou tard.
Dans l'immédiat, j'ai quelques fonctionnalités en tête dont je parlerai j'espère très bientôt (nouvelle interface), et y'a pas mal de code a améliorer, en particulier au niveau de la copie. J'espère que les scripts d'installation et les outils mis en place permettront à un peu plus de monde d'essayer tout ça et de commencer à reporter les bogues.