Thanks Michael!
Actually the permission may change because the view (a form) applies to a an object whose permissions depends to it's own parent's status, and I don't want to make these objects inter-dependant (the "child" doesn't have to know the class of it's parent!); I also use a quite complex ACL factory integrated with my security policy (using permissions, roles, groups and more...) which I don't really want to override for this use case.
I've finally made the view "un-protected" in the "view_config" declaration, and included some code in the view based on a generic interface and it works perfectly!