Amélioration globale.

Lis les commits, en gros c'est du code plus propre, documenté et mieux indenté ;)