Topic: SàT: Un petit nouveau

Bonjour à tous,

ce petit post pour vous présenter mon projet, SàT. Je viens d'en publier la première version, qui est plus une preuve de concept qu'un truc vraiment utilisable smile.

ci dessous une petite présentation que j'ai également mise sur LinuxFr:

Bon je vous dis tout de suite: c'est une ébauche, c'est moche, ça marche mal, ça respecte même pas complètement le protocole, c'est Q&D, mal architecturé, bref c'est une preuve de concept.

Oui je sais aussi, y'a déjà trop de clients, j'aurais pu contribuer sur un autre, etc.
Bon bref les raisons sont simples:

    * la plus importante: j'avais envie
    * je n'ai pas vu de client avec l'architecture que je voulais
    * je voulais un projet de moyenne envergure pour me perfectionner à Python et pour apprendre Twisted
    * je voulais une brique pour d'autres projets que j'ai en tête.


Ça se présente sous forme d'un démon et de plusieurs frontends, communicant par DBus. En effet, je voulais un client capable de rester connecté même en fermant X, et indépendant de la vue.
J'essaye de créer une certaine abstraction du côté démon: c'est lui qui gère les demandes de confirmation, les barres de progression, etc. Les frontends ne fond qu'afficher et transmettre les activités de l'utilisateur.

Pour l'instant il y a les frontends suivant:

    * wix (WX widgets): client classique
    * sortilege (ncurses): client sobre, laissant le maximum de surface pour la communication
    * jp (ligne de commande): outil de geek par excellence, j'en avais marre de parcourir des boites de dialogues pour envoyer ou recevoir un simple fichier.


et sont envisagés à moyen terme un frontend KDE 4 et un frontend Web (Ajax).

Il y a une bibliothèque censée permettre la création d'un nouveau frontend classique très rapidement (très mal architecturée pour le moment).
L'architecture permet de combler les lacunes d'un frontend par un autre: on peut imaginer des widgets qui gèrent chacun une partie d'un client. Ainsi sous KDE, on pourrait avoir un plasmoid qui se contente uniquement de gérer la roster list, un autre qui afficherait les conversations, les barres de progressions partiraient dans le gestionnaire de KDE.
Autre intérêt: un script peut se faire très facilement, un simple appel dbus peut lancer toute une série d'actions. Ainsi un script peut envoyer un fichier sans avoir à se soucier de gérer la connexion ou les barres de progression par exemple.

Les XEP sont implémentés sous forme de plugins. Permettant de sélectionner ceux qui nous intéressent, et a priori de les coder rapidement. Le projet se veut aussi un terrain de jeu pour essayer des protocoles expérimentaux.

J'ai décidé de le publier maintenant alors que le code est très moche et que le projet est inutilisable pour un usage quotidien pour suivre le célèbre "publish early, publish often".
D'autre part l'architecture a suivi étroitement le sens du vent et la position des étoiles; il est peu être temps de se poser un peu pour organiser ça mieux, et éventuellement avoir des avis externes.

Je publie ce journal pour avoir vos commentaires, voire vos attente.
Aussi si vous avez des envies, des idées de killer features, n'hésitez pas à en parler.

L'archive se trouve sur mon site: http://www.goffi.org

Ah, et c'est sous GPL V3, bien que j'ai hésité à mettre une licence plus permissive.

Re: SàT: Un petit nouveau

Yes, vu ici aussi, bien joué Goffi... http://linuxfr.org/~Goffi/28287.html

xmpp:nyco@jabber.fr

Re: SàT: Un petit nouveau

La version 0.0.2 est en ligne, je vous copie le changelog ci-dessous (en anglais désolé):

   - DBus bridge: dynamic exportation of methods (useful for plugins)
   - new doc: INSTALL and CHANGELOG
   - new method to save private data (useful for plugins)
   - disconnection
   - whitespace ping to avoid disconnection when idle
   - presence management refactored, subscription is now managed separatly
   - use of xml params
   - new way to specify default values in params
   - sat is now a twisted application, so it can be deamonized
   - Wokkel integration
   - added some features from Wokkel: disco, software version
   - new account creation (in-band registration): not fully implemented
   - IP for file transfert is now set by default (see README)
   - Gateways management (Wix only for now)
   - VCard support (readonly for now) with avatars/nicks support
   - Wix: easier jid setup
   - Wix: added Tray icon (using Crystal Clear: see README)
   - Wix: new contact list, using avatars and nicknames
   - Wix, Sortilège: better connection/disconnection management (buggy in sortilège)
   - Wix: main frame default size changed

Il y a donc un fichier INSTALL expliquant (à un public averti), comment installer le soft.
Je bosse pas mal dessus, j'espère arriver à une version utilisable d'ici pas trop longtemps (enfin, comme tout le monde sait, les « pas trop longtemps » sont très relatifs en informatique wink ).

N'hésitez pas à me donner vos commentaires/et suggestions (enfin les « c'est buggué » ou autres « la copie n'est pas implémentée correctement » je le sais déjà wink ).

++
Goffi

Re: SàT: Un petit nouveau

La version 0.0.3 est sortie, toujours à la même adresse: http://www.goffi.org
Quelques captures ce coup-ci.

5 (edited by cdubouloz 21-08-2010 20:00:01)

Re: SàT: Un petit nouveau

Goffi wrote:

La version 0.0.3 est sortie, toujours à la même adresse: http://www.goffi.org
Quelques captures ce coup-ci.

Salut Goffi,

Il serait plus opportun de mettre les arguments ou les fonctionnalités liés à Jabber/XMPP en Français, s'agissant d'un site qui s'adresse principalement aux Francophones.

Si tu as des questions ou même des remarques tu peux venir en discuter sur le salon wiki@ ou jabberfr@.

[img]http://webstatus.kd2.org/signature.php/jid/teb.pavcn.zv..mbyhbohqp/image.png[/img]

Re: SàT: Un petit nouveau

cdubouloz wrote:
Goffi wrote:

La version 0.0.3 est sortie, toujours à la même adresse: http://www.goffi.org
Quelques captures ce coup-ci.

Salut Goffi,

Il serait plus opportun de mettre les arguments ou les fonctionnalités liés à Jabber/XMPP en Français, s'agissant d'un site qui s'adresse principalement aux Francophones.

Si tu as des questions ou même des remarques tu peux venir en discuter sur le salon wiki@ ou jabberfr@.

Tu dis ça pour le changelog de la 0.0.2 ? En effet, j'ai juste fait un copier/coller du fichier CHANGELOG, je traduirai le prochain coup. Sinon je suis de temps en temps sur le salon jabberfr, on m'y a d'ailleurs conseillé de demander l'intégration de mon blog au planet.

++

Re: SàT: Un petit nouveau

Goffi wrote:

Tu dis ça pour le changelog de la 0.0.2 ? En effet, j'ai juste fait un copier/coller du fichier CHANGELOG, je traduirai le prochain coup. Sinon je suis de temps en temps sur le salon jabberfr, on m'y a d'ailleurs conseillé de demander l'intégration de mon blog au planet.
++

En fait, je pense surtout que le changelog n'a aucun intéret pour présenter les fonctionnalités liées à Jabber, même en Français, je suis pas sûr que ca soit accessible forcément à tout le monde.

Il serait peut etre plus judicieux de faire comme tu l'as fait sur ton site, c'est à dire, en prenant des captures d'écrans, et décrire dans la mesure des possibles les fonctionnalités ou ce qui s'en rapproche le mieux en tout cas.

[img]http://webstatus.kd2.org/signature.php/jid/teb.pavcn.zv..mbyhbohqp/image.png[/img]

Re: SàT: Un petit nouveau

Le changelog sert si certains ont déjà essayé le soft. Pour le reste, c'est expliqué dans mon premier post. Les captures d'écran sont à un click, je pense que ça risque plus de polluer de mettre ça directement dans le forum (puis je vois Balise [img]: inactif).

9 (edited by cdubouloz 22-08-2010 23:52:14)

Re: SàT: Un petit nouveau

Goffi, tout le monde n'a pas forcément déjà essayé ton logiciel.
Quelqu'un qui veut avoir une première approche , ne comprendras pas forcément des termes comme DBus, Wokkel, Vcard, etc,...

Si d'ailleurs je t'ai répondu c'est que ton projet semble intéressant, mais que je ne vois en rien ce qu'il permet de faire concrètement.
Dans ton premier post, tu as une approche de développeur, tu parles surtout des éxigences qui t'ont poussé à le faire smile sinon pour moi ca reste du "flou artitisque" tongue

Un exemple de ce qui disons pourrait être plus claire, mais même dans cet article, ca reste pour quelqu'un de déjà très familiarisé avec Jabber http://www.vanaryon.eu/2010/07/jappix-u … al-ouvert/, car de toute façon rédigé par un développeur smile

Sinon vient sur wiki@ si tu peux dans la semaine, plutôt le soir après 18:00, ca pourrait être sympa de créer une page sur le wiki de Jabberfr, qui permettera surement de mieux illustrer mes propos smile, si bien sûr tu envisages de maintenir le projet à moyen terme smile

[img]http://webstatus.kd2.org/signature.php/jid/teb.pavcn.zv..mbyhbohqp/image.png[/img]

Re: SàT: Un petit nouveau

cdubouloz wrote:

Goffi, tout le monde n'a pas forcément déjà essayé ton logiciel.
Quelqu'un qui veut avoir une première approche , ne comprendras pas forcément des termes comme DBus, Wokkel, Vcard, etc,...

Je sais bien, mais ce forum s'adresse à des développeurs non ? Je ne fais pas encore de présentation «grand public» parce que mon soft est encore à un stage alpha (comprendre: pas utilisable par un non développeur), et rien que l'installation demande un minimum de compétences (je vais essayer de simplifier ça pour la prochaine release).

cdubouloz wrote:

Si d'ailleurs je t'ai répondu c'est que ton projet semble intéressant, mais que je ne vois en rien ce qu'il permet de faire concrètement.
Dans ton premier post, tu as une approche de développeur, tu parles surtout des éxigences qui t'ont poussé à le faire smile sinon pour moi ca reste du "flou artitisque" tongue

ok ok. Bon en gros l'idée de base, c'est d'avoir un client jabber avec toute la logique d'un côté, et l'affichage de l'autre. Concrètement ça veut dire qu'avec le même logiciel, on peut avoir un affichage classique (interface graphique), un affichage console, un utilitaire en ligne de commande et (planifié mais pas encore dispo) un affichage via une page web, ou autre chose avec un minimum d'effort.

Ça veut également dire qu'on aura un affichage optimisé pour la plateforme. Ainsi, au lieu d'avoir le même affichage qui marche partout (comme avec WxWidgets, Qt ou Java), on pourra avoir quelque chose de vraiment adapté à la plateforme (par exemple des grosses icônes sur un mobile).

À l'époque ou j'ai commencé SàT, je ne connaissais aucun autre logiciel de messagerie sur cette architecture, depuis j'ai vu que AMSN 2 prenait la même voie.

Ces affichages (frontends, en anglais) fonctionnent comme un tout: si tu tapes un message dans un frontend (par exemple Wix, l'affichage interface graphique), il apparaîtra dans un autre (par ex. Primitivus, celui en interface console) comme si tu l'avais tapé dedans.

Autre avantage de l'architecture: tu peux fermer X tout en gardant ton client ouvert. Utile dans de nombreux cas: un long download est en cours et tu veux fermer ta session, ton serveur X plante (ça arrive), ou t'es sur un serveur et tu n'en as pas.

Bon ça c'est pour l'architecture de base. Après j'ai un système de plugin pour les fonctionnalités: à la base le client ne fait quasiment rien, mais tu peux ajouter des XEP/autre via des extensions (plugins). Du coup il est facile d'activer/désactiver des fonctions en ajoutant/supprimant simplement les plugins.
Dans la dernière version j'ai fait un jeu de Tarot et une extension pour CouchSurfing, qui marchent avec l'interface graphique et l'interface console.

J'ai pas mal d'idées en tête, donc beaucoup vont commencer à être réalisable avec la prochaine version et le PubSub.

cdubouloz wrote:

Un exemple de ce qui disons pourrait être plus claire, mais même dans cet article, ca reste pour quelqu'un de déjà très familiarisé avec Jabber http://www.vanaryon.eu/2010/07/jappix-u … al-ouvert/, car de toute façon rédigé par un développeur smile

Oui je suis le blog de vanaryon via le planète jabber, et j'ai d'ailleurs pris contact avec lui suite à sa dépêche sur linuxfr. Mais encore une fois je vise pour le moment un public d'utilisateurs avertis, je vais essayer d'être un peu moins techniques quand mon soft sera vraiment utilisable. D'ailleurs il est encore un peu tôt pour en parler partout, je n'ai même pas ajouté le projet à freshmeat.

cdubouloz wrote:

Sinon vient sur wiki@ si tu peux dans la semaine, plutôt le soir après 18:00, ca pourrait être sympa de créer une page sur le wiki de Jabberfr, qui permettera surement de mieux illustrer mes propos smile, si bien sûr tu envisages de maintenir le projet à moyen terme smile

Le problème c'est que je suis sur les routes (donc accès difficile au net), et j'ai 6 heures de décalage avec la France (quand il est 18h chez vous, il est minuit chez moi). Je vais essayer de faire un tour ce soir.

Bon merci de l'intérêt que tu portes au projet en tout cas smile

Re: SàT: Un petit nouveau

je suis allé plusieurs fois sur wiki@ (apres 18h pour vous) et c'était vide. Ça va devenir de plus en plus difficile pour moi de se connecter a cette heure. On ne peut pas en discuter par mail plutot ?

ps: dsl pour l'absence d'accent, je suis sur un clavier taiwanais

Re: SàT: Un petit nouveau

Une nouvelle version est disponible (0.1.0) avec un script d'installation, et les outils nécessaires au développement:
- un wiki (http://wiki.goffi.org)
- un ftp (ftp://ftp.goffi.org)
- un bugzilla (http://bugs.goffi.org)
- les dépôts mercurial publics (http://repos.goffi.org)

L'installation est désormais un jeu d'enfant avec easy_install ou pip. Sur une Ubuntu, il vous suffira d'entrer les commandes suivantes:

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

Plus d'informations sur mon blog: http://www.goffi.org/post/2011/01/12/On … ise-un-peu ou le wiki: http://wiki.goffi.org/wiki/Salut_%C3%A0_Toi

++
Goffi