Architecture Factory + factory fonctionnelle. reste à ajouter les
exceptions. (je le fais demain)