Grosse réorganisation du code pour mieux faire ressortir l'API