Dumping the ALIASES was a great advise as it lead me to the cause : caching.
For the same set of routes:
$f3->route('GET @home: /', 'Controller\Inside->login');
$f3->route('GET @stage-entreprise: /stage-entreprise.html', 'Controller\Outside->stagesEntreprise');
$f3->route('GET @getbadges: /get-badges/@username', 'Controller\CodeAcademy->getBadges');
$f3->route('GET|POST @login: /login', 'Controller\Inside->login');
$f3->route('GET @logout: /logout', 'Controller\Inside->logout');
$f3->route('GET @student: /startup/@promoid/student/@studentid', 'Controller\Inside->start');
$f3->route('GET @start: /startup', 'Controller\Inside->start');
$f3->route('GET @external_sync: /sync', 'Controller\Inside->sync');
$f3->route('GET /binome/@amount', 'Controller\Binome->random');
$f3->route('GET @binome_generator_app: /binome', 'Controller\Binome->random');
$f3->route('GET|POST @github_callback: /sso/callback', 'Controller\Inside->callback');
locally dumping $f3->ALIASES shows this :
Array
(
[home] => /
[stage-entreprise] => /stage-entreprise.html
[getbadges] => /get-badges/@username
[login] => /login
[logout] => /logout
[student] => /startup/@promoid/student/@studentid
[startup] => /startup/@promoid
[start] => /startup
[external_sync] => /sync
[binome_generator_app] => /binome
[github_callback] => /sso/callback
)
Whereas on prod I get this :
Array
(
[home] => /
[stage-entreprise] => /stage-entreprise.html
[getbadges] => /get-badges/@username
[login] => /login
[logout] => /logout
[student] => /promo/@promoid/student/@studentid
[start] => /start
[external_sync] => /sync
[binome_generator_app] => /binome
[github_callback] => /sso/callback
)So indeed, the startup alias is missing, and the "startup" URL is wrong. It is actually outdated (the student route is an old one). Apparently the route change did not provoke a refresh of the cache. So I manually emptied the /tmp folder and... it solved it.
Thank you !!