[IHM] Implémentation des types génériques pour éviter de devoir caster

Cf commit