TABLE-OF-CONTENT-HERE
-Writing an HTML5 application
-----------------------------
+Languages for writing Applications
+----------------------------------
+
+### Writing an HTML5 application
Developpers of HTML5 applications (client side) can easyly create
applications for AGL framework using their prefered
- [afm-client](https://github.com/iotbzh/afm-client) a simple "Home screen" application
-Writing a Qt application
-------------------------
+### Writing a Qt application
Writing Qt applications is also possible because Qt offers APIs to
make HTTP queries and to connect using WebSockets.
- [token-websock](https://github.com/iotbzh/afb-daemon/blob/master/test/token-websock.qml)
a simple "hello world" application in QML
-Writing a C application
------------------------
+### Writing a C application
C applications can use the binder afb-daemon through a websocket connection.
Handling sessions within applications
-------------------------------------
-### Exchanging tokens
+Applications must be aware of the the features session and token
+when they interact with the binder afb-daemon.
Applications are communicating with their binder afb-daemon using
a network connection or a kind of network connection (unix domain
the socket connection can not be used to authenticate a client.
For this reason, the binder should authenticate the application
-by using a commonly shared secret named token.
-
-At start, the framework communicate a common secret to both the binder
-and its client: the application. When the application
+by using a commonly shared secret named token and the identification
+of the client named session.
### Handling sessions
+Plugins and features of the binder need to keep track of the client
+instances. This of importance for plugins running as service
+because they may have to separate the data of each client.
+
+For common HTML5 browser running an HTML5 application.
+
+### Exchanging tokens
+
+At start, the framework communicates a common secret to both the binder
+and its client: the application. This initial secret is the
+initial token.
+
+For each of its client application, the binder manages a current active
+token. The initial token is the default active token. It is the expected
+token for new clients.
+
+