Choisir la langue au moment de la connexion

Tags: #<Tag:0x00007f6864587a40>

Bonjour,

nous avons développé un module qui permet de gérer des appels à projets dans le cadre de l’enseignement supérieur et de la recherche. ce module permet de créer différents dispositifs, de gérer des campagnes et de permettre aux chercheurs de déposer des projets.

A partir du mois de novembre, une appel à projet européen va être lancé. Ce qui implique de permettre aux chercheurs étrangers de pouvoir déposer.

Nous avons donc l’obligation de laisser le choix de la langue (Français ou Anglais) au moment de la connexion.

Qu’elle solution pouvons nous mettre en oeuvre ?

Je vais laisser @francois répondre en détail mais la prochaine version (qui devrait arriver en prerelease/beta en septembre) permet à un utilisateur de choisir dynamiquement sa langue:

Cette feature a été développé à l’occasion de cet échange: Changer le langage d'affichage d'un objet externe ou du user public

1 Like

quand tu dis prochaine version, tu parles de la V5 ?

Oui la version 5 qui actuellement s’appelle toujours 4.0.P25… Lors de sa prerelease elle s’appelera bien 5 ou 5.0.

On a pas encore statué sur la stratégie de numérotation de la version 5 mais on pense abandonner la notation en Pxx au profit du 2ème digit (5.0 = 5.0.P00, 5.1 = 5.0.P01, etc.) à confirmer…

Oui le switch de langue via UI est déjà accessible en V5, avec un nouveau verbe Grant.changeLang pour changer simplement la langue d’un utilisateur (fondamentalement ça fait rien de compliqué = un update du usr_lang et un reset session).

L’évolution n’est pas terminée car il va falloir :

  • pouvoir paramétrer la liste des langues possibles (à priori par scope, enfin en surcharge de la liste LANG), car sinon pour une application en Français uniquement, il sera proposé l’anglais car le scope ADMIN est livré en FRA et ENU par défaut.

  • et comme tu l’indiques, pouvoir choisir sa langue “préférée” à la première connexion = tant que champ usr_lang est vide par exemple

  • Gérer l’intersection entre la langue préférée et les langues possibles du scope actif (forcer le français si un scope n’est qu’en français par exemple même si l’utilisateur est anglais…)

On verra ce qu’il convient de backporter en V4 suivant votre calendrier projet quand on aura terminé tout ça. @rosanneQuily

PS: en V5 toujours et en attendant ces évolutions par scope, on peut déjà forcer les langues autorisées dans les PlatformHooks (ex-GrantHooks)

grant.setLanguages(List<String> langs)

la première campagne doit démarrer entre mi décembre et début janvier.
Quand est-ce-que le V5 sera testable ?

On a prévu de la pousser en “beta” (branche prerelease) la semaine prochaine, ensuite il faudra compter entre 1 et 2 mois pour que ça passe en release (branche release).

Normalement au bout d’un mois on devrait arriver en “beta release candidate”, la release suivra rapidement sauf si des pbs graves sont détectés.

Ce qui détermine le délai c’est essentiellement les retours de ceux qui vont la tester. Donc si vous pouvez commencer à le faire dès le début de la “beta” c’est super. Attention de bien tester sur en partant sur des environnements vierges, en effet au début de la “beta” les processus de migration 4 => 5 ne seront pas encore totalement fiables (et le passage en 5 est irréversible)

notre environnement de test est branché sur le prerelease.
je vais essayer de trouver du temps pour tester dés la semaine prochaine.

est ce que la date de sortie décalée au 23 a été à nouveau décalée ?
je me connecte sur notre environnement branché sur la prerelease, je suis toujours en P24c

Oui, le changement de version majeure 5 vs 4 a de gros impacts sur tous nos processus de packaging/delivery. On a malheureusement été très mobilisé sur plein de sujets ces 2 dernières semaines ce qui nous a pas laissé le temps de faire ces évolutions de processus sereinement.

d’accord.
est-ce-que ça veut dire que je dois chercher une autre solution ? j’ai l’impression que ça va être trop juste pour avoir la V5 en prod pour le 1er janvier …

La version 5 impose un nouveau répo de template (template-5) le répo de la V4.0 (template-4.0) restera avec la V4.0 (au même titre que les anciens template-3.x)

Le doc suivant explique la manip à faire pour déployer/configurer le repo V5 sur un serveur SIM: https://docs.simplicite.io/5/addtosim.md, vous pouvez faire ces manips dès maintenant.

Attention à ce stade seule la branche master existe sur ce repo (= la version de dev du jour) la branche prerelease sera poussée rapidement (cette semaine je pense) et la branche release arrivera lors de la 1ère release (3 ou 4 semaines après la prerelease normalement)

Bonjour,
Pour éviter tout soucis sur nos sim existantes, j’ai créé un pilote de sim et un sim sur deux nouvelles machines de test distinctes dans notre “bac à sable” afin d’y utiliser la v5.

J’ai relancé nos procédures d’installation via ansible et j’ai donc un nouveau sim de test vierge.

J’ y ai lancé un sim refresh:

J’ai tenté de crée une instance en v5 :

J’obtiens :

+++ Begin script ++++++++++
Action [add] with parameter(s) [testgthv5 5 mysql] at Tue Oct  6 11:56:36 CEST 2020
No mysql conversion script exists for version 5
Status = 5
+++ End script ++++++++++

Vous indiquez dans votre procédure
image

Or je n’ai pas de BDD nommée sim
image

Comment exécuter cette commande ? Merci,

Guillaume

Il aurait été préférable de faire un post à part mais bon tant pis…

En préambule je précise que la doc correspond à une procédure qu’on a jouée avec succès sur les nombreux serveurs SIM existants qu’on gère.

Donc si vous avez des pbs c’est que soit vous ne l’avez pas suivie scrupuleusement soit que le point de départ de vos SIMs n’est pas le même que dans notre cas et que, du coup, cette procédure n’est peut être pas parfaitement adaptée dans votre cas.

En particulier je ne sais pas ce que font vos “procédures d’installation via ansible”

Sinon:

  1. La base de données du SIM n’est pas une base MySQL (les commandes d’insert/update concernent la base de données du SIM donc il n’y a pas de souci à ce niveau)

  2. dans la copie d’écran il y a des messages d’erreurs que vous devez investiguer avant de tenter autre chose:


    Ces messages me font penser que vous avez zappé des étapes dans la doc ou qu’il y a eu d’autres pbs avant que vous n’avez pas investigué.

De manière générale si vous voulez qu’on puisse vous aider il faut nous indiquer étape par étape ce que vous faites et nous fournir le résultat de chaque étape. Et surtout ne rien faire de plus quand vous rencontrez un pb, un message d’erreur, etc.

Merci donc de commencer par refaire votre “procédure d’installation via ansible”, de vous arreter là et de nous recontacter pour qu’on regarde précisément d’où vous partez.

J’ai relancé l’étape “git clone…” en supprimant l’ancien répertoire ‘template-5.git’ et déroulé les étapes sans soucis.

Effectivement j’avais lu ‘mysql’ au lieu de ‘sql’, désolé.

Merci,
Guillaume

OK tant mieux.

Juste, pour rappel, la branche “release” de la version 5 n’est pas encore disponible, elle le sera d’ici quelques semaines.

Vous ne pouvez donc pas créer d’instances “5r” (ni “5rl”) pour le moment.