DB tables

Thanks a lot, a begin to be successfull ! And do you know what's for the active and logout table ?

Active shows who does have an account on the session manager (while the previous table is handled by the c2s component). The entry in the active table gets created by the session manager if you configure it to do so using the <auto-create/> configuration element.

Basically the active table is just there so that the session manager knows when it receives a stanza, if the user exists or not. The session manager is not consulting the table with the passwords in it for that.

The logout table is for handling the jabber:iq:last namespace. Entities that are subscribed to your presence can use this namespace to query when you have been online for the last time. You do not need to create anything in this table.

And 2 last questions, in Roster table : the from field is when the user accepted the roster, or the roster accepted the user ?

from is if the subscription type is "from", to is if the subscription type is "to", and both are set if the subscription type is "both".

subscription type "from" means: there is a subscription from this contact (= other user sees owning user)

subscription type "to" means: the user is subscribed to this contact's presence (= owning user sees other user)

and what is ask field ?

If a subscription request has been sent but the subscription is not yet confirmed or denied. (Both directions.)