Refactorised some code, modified Bar, Admin and Caisse comportement, added some error checking everywhere, and so on