generateur abstraction