SàT développement/en

De Goffiwiki
Aller à : navigation, rechercher

SàT development page

Welcome to the developers section. This page is a starting point for technical informations about SàT.


Think about reading the user documentation for things like how to install SàT, and where to get it.

Please check the coding style and howto contribute if you plan to contribute!


Erreur lors de la création de la miniature : Fichier manquant
This is an overview of Salut à Toi architecture


SàT can communicate with its frontends thought « bridges ». A bridge is actually an Inter-process_communication, and so far SàT is using DBus, but others could be used. If you want to make a frontend, you can check the bridge API.

Building the API

The template for the API can be modified if necessary in the file src/bridge/bridge_constructor/bridge_template.ini. To regenerate the corresponding Python files, type the following commands in a console:

cd src/bridge/bridge_constructor
./bridge_constructor.py --force && cp generated/DBus.py ../DBus.py
./bridge_constructor.py -s frontend --force && cp generated/DBus.py ../../../frontends/src/bridge/DBus.py

If you modify a method's name or signature in the API, don't forget to apply the same change everywhere (in sat and in the interfaces).

Bridge monitoring

You can use d-feet to list all the DBus registered methods (look for the bus named "org.goffi.SAT):


You can use also dbus-monitor to output the data transfering through a bus interface, for example:

dbus-monitor "sender='org.goffi.SAT', interface='org.goffi.SAT.plugin'"

E-Mail interactions

TODO: Move this section in a separate page, fix the schema and explanations

Here is a schema detailing SàT interaction with both email (MTA, MUA, ...) and XMPP systems (SMTP gateway, XMPP server,...).

Erreur lors de la création de la miniature : Fichier manquant
SàT interactions overview


  • "Salut à Toi" is an XMPP client composed by various front-ends (user interfaces) and a back-end (1)
  • As any XMPP client SàT use the XMPP protocol to communicate with a XMPP server (2) and to send/receive messages from other people (3).
  • XMPP is an extensible protocol and XMPP servers may include gateway to talk with other networks (like the email system using the SMTP protocol).

Technical documentations

If you want how to develop with SàT, this section is probably a good start


Bridge API






Here is a list of howto for misc stuff