Ajout de smart pointers + quelques corrections