-> on ne peut pas différencier a priori le nom de domaine d'un nom composé
Idée: greedyness sur le '-'
si on est un peu plus greedy sur le nom de domaine, on pourrait avoir moins de faux positifs
exemple : -([\w.-]+):
Cette version capturera toute suite de caractères alphanumériques, points, ou tirets située entre un tiret et le premier deux-points qui suit.
Ca fonctionnera si il n'y a pas de '-' dans le nom prénom du user
OK : @aaa.gggg-beta.gouv.fr:dev01.tchap.incubateur.net -> beta.gouv.fr
OK : @aaa.gggg-ch-beta.gouv.fr:dev01.tchap.incubateur.net -> ch-beta.gouv.fr
KO : @aaa-lll.gggg-ch-beta.gouv.fr:dev01.tchap.incubateur.net -> lll.gggg-ch-beta.gouv.fr
KO : @aaa-lll.gggg-ch-beta.gouv.fr:dev01.tchap.incubateur.net -> lll.gggg-beta.gouv.fr
idée : utiliser la liste domains.csv pour extraire les noms de domaines
la précision serait très bonne
la machine de stat devrait checkout le fichier
l'utiliser comme source de regexp pour extraire le domain du userId
attention au cout à l'execution, ca peut se mettre en cache (user_id, domain)
idée : reconstruire les noms de domaine avec la lise domains.csv
Dans les stats on a un domain "versailles.fr" alors que ca devrait être "ac-versailles.fr"
Cela est du à une regexp qui n'est pas assez greedy : regexp_replace(user_id, '^.+-([^-:]+):.*$', '\1') as domain
peut-on trouver une regexp plus appropriée ?
Exemple de domaines : https://github.com/tchapgouv/tchap-domaines/blob/main/domains.csv
france-education-international.fr ch-albert.fr plouezec.bzh
La regexp est appliqué sur le user_id qui est généré ici et testé ici
foo@bar.baz -> foo-bar.baz
aaa-lll.gggg@beta.gouv.fr -> aaa-lll.gggg-beta.gouv.fr ttt.agent-iiii@matrix.org3 -> ttt.agent-iiii-matrix.org3
-> on ne peut pas différencier a priori le nom de domaine d'un nom composé
Idée: greedyness sur le '-'
si on est un peu plus greedy sur le nom de domaine, on pourrait avoir moins de faux positifs
exemple : -([\w.-]+): Cette version capturera toute suite de caractères alphanumériques, points, ou tirets située entre un tiret et le premier deux-points qui suit.
Ca fonctionnera si il n'y a pas de '-' dans le nom prénom du user
OK : @aaa.gggg-beta.gouv.fr:dev01.tchap.incubateur.net -> beta.gouv.fr OK : @aaa.gggg-ch-beta.gouv.fr:dev01.tchap.incubateur.net -> ch-beta.gouv.fr KO : @aaa-lll.gggg-ch-beta.gouv.fr:dev01.tchap.incubateur.net -> lll.gggg-ch-beta.gouv.fr KO : @aaa-lll.gggg-ch-beta.gouv.fr:dev01.tchap.incubateur.net -> lll.gggg-beta.gouv.fr
idée : utiliser la liste domains.csv pour extraire les noms de domaines
la précision serait très bonne
attention au cout à l'execution, ca peut se mettre en cache (user_id, domain)
idée : reconstruire les noms de domaine avec la lise domains.csv
à étudier