Rational
For some usage, it could be interested for the user to have a simple application that do one thing but do it well. For example, encoding time-sheet every day could be quite annoying if it is the only task the user does with the Tryton client.
So the idea will be to have the possibility to create such simple application which does not require to authenticate each time they are used.
Proposal
trytond must allow modules to register new routes to the WSGI application. Those route should not be required to use the JSON-RPC or XML-RPC protocol.
A list of application keys is added to the User which can be used to authenticate the user.
The creation of an application key should be done by the application itself like that it can be stored by the application. But the key must be validated by the user using the standard client to be able to use it.
Some wrappers could be created to ease the development of API like instantiate the pool with the database name, start a transaction and validate the user application key.
This design could be tested by creating a Web Extension to encode time-sheet lines.
Implementation
trytond: Issue 5782: Add support for user application - Tryton issue tracker
timesheet: Issue 5783: Add user application API for timesheet - Tryton issue tracker
web extension: Issue 5784: Web application/extension to enter timesheet - Tryton issue tracker