-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[TECH] Use canonical locales by default #746
base: dev
Are you sure you want to change the base?
Conversation
1737db7
to
d3c8fdb
Compare
Une fois les applications déployées, elles seront accessibles via les liens suivants : Les variables d'environnement seront accessibles sur scalingo https://dashboard.scalingo.com/apps/osc-fr1/pix-site-review-pr746/environment |
1 similar comment
Une fois les applications déployées, elles seront accessibles via les liens suivants : Les variables d'environnement seront accessibles sur scalingo https://dashboard.scalingo.com/apps/osc-fr1/pix-site-review-pr746/environment |
d3c8fdb
to
3dadff4
Compare
Une fois les applications déployées, elles seront accessibles via les liens suivants : Les variables d'environnement seront accessibles sur scalingo https://dashboard.scalingo.com/apps/osc-fr1/pix-site-review-pr746/environment |
because the given locale comes from the availableLocales which are now all in canonical form.
8ee41f4
to
2d8b798
Compare
🥞 Problème
Le code de PixSite n'est pas complètement conforme à l'ADR https://github.com/1024pix/pix/blob/dev/docs/adr/0040-locales-languages.md dans le sens où les locales des différents pix-sites ne sont pas définies en forme canonique (c'est à dire
fr-FR
,fr-BE
,nl-BE
, etc.). Cela induit notamment des lourdeurs dans le code et des risques car on ne sait jamais vraiment si la locale manipulées en version canonique (comme c'est requis par l'ADR) ou dans une version non-normalisée.🥓 Proposition
La solution proposée est de manipuler dans le code systématiquement des locales sous forme canonique en normalisant la locale uniquement à « l'entrée » à la lecture du cookie de l'utilisateur, car on ne peut avoir confiance dans une valeur en provenance d'un utilisateur.
Ainsi, notamment, on n'est plus obliger de normaliser la valeur de la locale lors de l'écriture dans le cookie.
🧃 Remarques
Au niveau de la configuration Nginx, des redirections HTTP permanentes (
fr-be
→fr-BE
,nl-be
→nl-BE
) sont mises en place de manière à rediriger les utilisateurs vers les pages HTML avec des URL en version canonique et que leurs navigateurs gardent cette redirection en mémoire, ce qui évitera aux pix-sites d'exécuter des négociations de locale et des traitements inutiles, économisant ainsi du temps et de l'énergie.😋 Pour tester
ℹ️ Tous les tests sont à accomplir en navigation privée pour ne pas être pollué par les données persistantes de son navigateur.
locale
redirige bien l'utilisateur sur la version localisée du site, pour cela :Belgique (Français)
,fr-BE
du site (c'est à dire sur https://site-pr746.review.pix.org/fr-BE/)fr-BE
du site.fr-FR
,fr-BE
,nl-BE
.Faire enfin une passe de non-régression suivant les différents configurations des Pix Sites :
.fr
et.org
En effet les tests de ce projet sont encore peu couvrants et notamment quasiment absents pour Pix Pro.