implémentation open()