Implémentation générale du template