Router et back button sur le web

Bonjour !

Depuis hier je m’arrache les cheveux sur la gestion du router de mon app web : j’arrive à naviguer sans problèmes, je mets mes URL à jour etc. Mais pas moyen de faire des retours arrière avec le bouton du browser web ! (ni d’ailleurs à avoir une page lorsque je saisis l’URL, mais je pense que les deux problèmes doivent être liés)

et effectivement cette fonction n’est jamais appelée :

return Navigator(
      key: navigatorKey,
      pages: pagesList,
      onPopPage: (route, result) {
        if (route.didPop(result) == false) {
          return false;
        }
        return onBackButtonTouched(result);
      },
    );

Donc forcément…

Je lis un peu partout qu’il faut utiliser le paramètre backButtonDispatcher: RootBackButtonDispatcher(), dans le Main et insérer des key :

 pagesList.add(MaterialPage(
            child: exploitantPageNav, key: const ValueKey('managers')

Mais j’avoue mal voir le rapport… en effet, chaque fois que je clique sur retour, la page effectue bien le retour, mais revient immédiatement à la page en cours.

Pour ajouter du contexte : mon parseRouteInformation comprends bien la nouvelle page, pas de soucis, mais restoreRouteInformation indique toujours la page en cours et non celle sur laquelle je suis censé revenir (je ne sais pas si je suis très clair…)

Merci de votre aide !
Mickaël.