fonctionnement par template