Answering my own question, here is a workaround i found, instead of setting a new request = Request(), i do clean up session and cache (like admin does). request.vars may be cached in a way or another.
Here is the code :
In the import part :
from gluon.admin import *
When you want to reset values (e.g request.vars in my case), use :
clean = app_cleanup('init', request)
(note : replace 'init' by your app name)
Maybe there is a better way but i didn't find it
Jérémie

