Draft: Compatibilité python 3.11
Update un certain nombre de package et adapte le code. Réduit aussi le version pinning pour faciliter les upgrades de package
TODO : tester que cela fonctionne toujours sur des versions de python antérieures (jusqu'à 3.7).