Fixes #8 Découpage en 3 couches et refactorisation