09:05 <debnet> Arf ça va être relou d'importer les données du Pretalx pour le pointage.
09:05 <debnet> Car le champ "nom/prénom" qui me sert à dédoublonner est unique dans Pretalx.
09:06 <debnet> Et les gens n'ont pas utilisé la même convention entre la position du prénom et du nom, évidemment. :D
09:17 <debnet> @entwanne @Mindiell (et Pierre si tu nous lis) : est-ce que vous vous souvenez des améliorations suggerées dans l'outil de pointage ? Je vais en profiter pour l'améliorer un peu.
09:18 <entwanne> Non pas trop
09:21 <debnet> entwanne: Non pas trop je m'en souviens pas ou non pas trop c'était suffisamment bien fait ? :D
09:23 <debnet> D'ailleurs tu avais raison, la récupération c'était via un import. J'ai retenté leur API mais elle est pas pratique.
09:23 <entwanne> Non je me souviens pas, je crois que le principal problème que je rencontrais c'était celui de la synchro : les gens venant de s'inscrire sur helloasso n'apparaissant pas dans l'outil
09:23 <debnet> Ouais ça c'est compliqué à gérer, je peux éventuellement faire une routine qui va faire la récupération régulièrement, mais on aura toujours le soucis.
09:24 <Mindiell> pas de souvenir particulier
09:24 <Mindiell> on n'a pas fait de ticket sur le depot ?
09:25 <debnet> Ah bonne question, je vais voir.
09:25 <debnet> Nope !
09:45 <discord_afpy> <Andy K (boss dreamer ou pas)> Salut
10:42 <alain_afpy> Sur Lyon − Meetup le 22 octobre - https://discuss.afpy.org/t/sur-lyon-meetup-le-22-octobre/2804
10:51 <debnet> Il a l'air cool le programme!
10:51 <debnet> Si vous arrivez à chopper les slides du monsieur de PostgreSQL ça m'interesse !
10:55 <discord_afpy> <grewn0uille> Je vais essayer ! Et si j’oublie, il sera à la pycon aussi
10:57 <debnet> Merci !
11:20 <debnet> Bon pour Pretalx ça va pas être magique, certaines identités sont difficiles à découper entre prénom/nom...
11:21 <debnet> Genre monsieur Le Roy Loic Mewoulou.
11:21 <debnet> Je ne sais même pas c'est son nom c'est Le Roy ou Mewoulou.
11:23 <Mindiell> c'est un problème courant
11:24 <Mindiell> tu split sur les espaces que tu stripes s'il y en a trop, puis tu tries ton tableau par ordre alphabétique
11:24 <Mindiell> et là tu peux tout comparer
11:24 <entwanne> Est-ce qu'on a besoin du côté du pointage de séparer nom et prénom ?
11:24 <Mindiell> en passant tout via python-slug
11:24 <entwanne> On n'a jamais eu le cas, mais on fait quoi si quelqu'un n'a pas de nom ou de prénom ? Un seul champ pour l'ensemble me semblerait préférable
11:31 <debnet> @entwanne Faudrait que je change tout le modèle mais c'est jouable.
11:32 <debnet> Actuellement c'est basé sur la découpe HelloAsso car c'était comme ça à l'origine.
11:32 <debnet> Mais on peut changer ça.
11:37 <debnet> @Mindiell Mon problème n'est pas tant de comparer que de ranger les infos au bon endroit, mais oui c'est une technique comme une autre.
11:45 <debnet> Bon allez je change tout pour mettre un nom simple.
11:45 <debnet> Et tant pis pour l'ordre.
11:46 <entwanne>
11:47 <misc> entwanne: le coup de "pas de nom/prenom", on a eu ça au boulot, ça fait ~7h de panne
11:48 <misc> (on a embauché quelqu'un en Inde avec juste un nom, les RHs ont mis un '.' à la place du truc manquant, ça a foutu en l'air une regexp dans le code perl qui traite les demandes, des heures d'hilarité avec la queue de triatement de creation de compte en panne lundi matin heure de l'australie, avec les devs en train de dormir aux USA)
11:59 <debnet> @entwanne Bon voilà, j'ai résolu le problème en ne mettant qu'un seul champ "nom" et pour le matching j'ai utilisé itertools.permutations. xD
12:46 <entwanne> Et ça va y a pas l'air d'y avoir de conflit ?
12:47 <entwanne> plutôt que permutations en plus simple tu peux faire un sorted :D
12:48 <entwanne> "Jean de la Fontaine" (je sais pas s'il est inscrit) → ('de', 'fontaine', 'jean', 'la')
12:48 <entwanne> (bon après t'as des soucis s'il y a des particules d'un côté mais pas de l'autre)
12:53 <discord_afpy> <melcore> `min((noms1, noms2), key=len) in max((noms1, noms2), key=len)`
13:02 <alain_afpy> Django : un ORM pour toutes les bases de données - https://www.paulox.net/2025/10/06/django-orm-comparison/
13:31 <entwanne> je vais de ce pas m'inscrire avec un nom vide !
13:52 <debnet> @entwanne En fait je fais un permutations pour me permettre de générer un prédicat de recherche en BDD.
13:52 <debnet> Avec Django je crée un objet Q() et je fais des union sur le nom sans lookup.
13:52 <debnet> Ca me permet de tirer profit de mon index.
13:53 <debnet> Plutôt que de faire un sorted() des deux côtés.
13:53 <debnet> Après ça va assez vite, au pire y a 4 ou 5 segments dans le nom.
13:53 <debnet> Mais oui ça fonctionne, y a pas l'air d'avoir de conflit.
13:54 <debnet> Pour notre ami Loic ça génère un truc comme ça :
13:54 <debnet> (OR: ('name', 'Le Roy Loic Mewoulou'), ('name', 'Le Roy Mewoulou Loic'), ('name', 'Le Loic Roy Mewoulou'), ('name', 'Le Loic Mewoulou Roy'), ('name', 'Le Mewoulou Roy Loic'), ('name', 'Le Mewoulou Loic Roy'), ('name', 'Roy Le Loic Mewoulou'), ('name', 'Roy Le Mewoulou Loic'), ('name', 'Roy Loic Le Mewoulou'), ('name', 'Roy Loic Mewoulou Le'), ('name', 'Roy Mewoulou Le Loic'), ('name', 'Roy Mewoulou Loic Le'), ('name', 'Loic Le Roy Mewoulou'),
13:54 <debnet> ('name', 'Loic Le Mewoulou Roy'), ('name', 'Loic Roy Le Mewoulou'), ('name', 'Loic Roy Mewoulou Le'), ('name', 'Loic Mewoulou Le Roy'), ('name', 'Loic Mewoulou Roy Le'), ('name', 'Mewoulou Le Roy Loic'), ('name', 'Mewoulou Le Loic Roy'), ('name', 'Mewoulou Roy Le Loic'), ('name', 'Mewoulou Roy Loic Le'), ('name', 'Mewoulou Loic Le Roy'), ('name', 'Mewoulou Loic Roy Le'))