réorganisation de tout le code + optimisation