Implémentation des classes + ajout d'exceptions