refactoring gestion derreur