Ajout d'une classe abstraite filter + refactor des nouvelles fonctionnalités pour utiliser cette classe