DISIC / observatoire

🕵️‍♀️ Observatoire de la qualité des démarches en ligne
https://observatoire.numerique.gouv.fr/
GNU Lesser General Public License v3.0
10 stars 4 forks source link

Inscription porteur de démarche - délai de réception du mail de confirmation et mail aux admin absent #1107

Open AnthonyBrunelli opened 2 years ago

AnthonyBrunelli commented 2 years ago

Je me suis créé un profil de porteur de démarche 'tbrunelli' vers 10H30 ce matin, le mail permettant la confirmation/validation n'est arrivé qu'à 14h10 - exactement au moment où je renouvelais l'opération avec une autre adresse mail 'agbrunelli' (mais reçu immédiatement dans ce deuxième cas).

AnthonyBrunelli commented 2 years ago

J'ajoute qu'aucun mail n'est parti aux admins pour le cas 'tbrunelli' même s'il est apparu dans la liste pour validation. C'est un cas fréquent (@jrenauxdinum peut confirmer) et problématique.

jrenauxdinum commented 2 years ago

Effectivement, il est nécessaire de faire le delta à chaque fois entre les mails reçus et les comptes en attente de validation car nous ne recevons pas toujours les mails pour nous dire qu'une personne s'est inscrite

lucaa commented 2 years ago

@AnthonyBrunelli peux-tu clarifier si l'email n'est pas arrivé du tout ou arrivé trop tard. Plus précisément, ces 2 phrases semblent contradictoires:

[...] 'tbrunelli' vers 10H30 ce matin, le mail permettant la confirmation/validation n'est arrivé qu'à 14h10 [...] J'ajoute qu'aucun mail n'est parti aux admins pour le cas 'tbrunelli'

AnthonyBrunelli commented 2 years ago

J'ai reçu le mail en tant que porteur (en retard) mais pas de mail aux admin

lucaa commented 2 years ago

J'ai reçu le mail en tant que porteur (en retard) mais pas de mail aux admin

Ok, ceci débloque potentiellement le sujet de manière significative. L'email aux admins dinum est envoyé lors de la confirmation de l'adresse email par l'utilisateur qui s'est inscrit. Autrement dit, on considère qu'une inscription n'est pas à prendre en compte tant que l'utilisateur n'a pas confirmé qu'il est bien le propriétaire de l'adresse email renseignée. @AnthonyBrunelli as-tu confirmé le compte de l'utilisateur tbrunelli en cliquant sur l'URL du mail envoyé pour cet utilisateur?

Effectivement, il est nécessaire de faire le delta à chaque fois entre les mails reçus et les comptes en attente de validation car nous ne recevons pas toujours les mails pour nous dire qu'une personne s'est inscrite

voir l'explication ci-dessus: l'administrateur n'est informé que des inscriptions dont la propriété de l'email a été validée car tout le reste pourrait être du spam / des 'faux' comptes. Je dois vérifier sur l'écran de validation de compte si on affiche uniquement les comptes ayant passé l'etape de confirmation d'email ou tous les comptes créés.

Maintenant, la question qui pourrait se poser est si la confirmation des comptes par les utilisateurs est une conséquence d'une réception tardive de l'email de confirmation ou juste une confirmation tardive, tout simplement.

lucaa commented 2 years ago

Je dois vérifier sur l'écran de validation de compte si on affiche uniquement les comptes ayant passé l'etape de confirmation d'email ou tous les comptes créés.

Je confirme, l'écran de gestion de comptes en attente d'activation affiche tous les comptes inactifs: ceux pour lesquels l'adresse email n'a pas encore été confirmée (pour lesquels aucun email n'a été envoyé à l'admin dinum) et ceux pour lesquels l'adresse email a été confirmée (pour lesquels un email a été envoyé à l'admin dinum).

il est nécessaire de faire le delta à chaque fois entre les mails reçus et les comptes en attente de validation

peux-tu fournir plus d'informations pour cette activité? Dans quel but il faut faire ce delta? Pour identifier le compte qu'on veut activer parmi tous les comptes non-activées? Autre?

lucaa commented 2 years ago

@AnthonyBrunelli as-tu confirmé le compte de l'utilisateur tbrunelli en cliquant sur l'URL du mail envoyé pour cet utilisateur?

je n'ai pas de trace de cela dans les journaux d'accès de la production (alors que j'ai la trace pour l'utilisateur agbrunelli), donc je confirme que l'email aux admins n'a pas jamais été envoyé parce-que la confirmation de l'adresse email n'a jamais été faite (voir mécanisme décrit ci-dessus).

Malheureusement je n'ai pas de trace dans les données de la validation de l'email proprement. Ainsi, du point de vue de la data stockée, quand un utilisateur est inactif il n'est pas possible de savoir si l'adresse email a été confirmée (et il est en attente de la validation dinum) ou si l'adresse email n'a jamais été confirmée.

Par contre, j'ai quelques traces des URLs accédées sur la plateforme (mais limitées dans le temps) et je trouve que:

lucaa commented 2 years ago

@AnthonyBrunelli Nous avons vérifié les journaux du serveur de mail de notre côté et il semble y avoir eu un bounce de la part du provider d'email pour le mail envoyé à l'utilisateur tbrunelli à ~10:18.

Ainsi, il est plutôt étonnant que tu l'aies reçu à 14h10 car de notre côté il n'y a pas eu de renvoi. Peux-tu transferer à mon adresse email l'email demandant la validation d'adresse email pour l'utilisateur tbrunelli ("Validation de votre compte sur le site observatoire.numerique.gouv.fr") ?

lucaa commented 2 years ago

Dans les mêmes journaux du serveur de mail de notre côté on a trouvé la trace de l'envoi de l'email de validation de compte pour un des autres utilisateurs inactifs (créés le 28) pour lequel il n'y a pas eu de mail d'activation à l'admin dinum: l'email est bien parti à la bonne heure depuis le serveur de mail. Ainsi, cela semble être juste un utilisateur qui n'a jamais validé son email, d'ou l'absence d'email pour l'admin dinum (voir scénario décrit ci-dessus).

lucaa commented 2 years ago

Note: Suite à #1104 , ce scénario sera changé, il n'y aura plus de validation d'adresse email par le porteur, suivi par mail à l'admin dinum, suivi par activation par l'admin dinum, car la 'validation' que le porteur est bien le propriétaire de l'adresse email avec laquelle il s'est inscrit sera une opération manuelle à la charge de l'agent Dinum humain (voir l'étape v. du processus). Par contre, il y aura toujours la question des comptes inactifs jamais confirmés, voir https://github.com/DISIC/observatoire/issues/1104#issuecomment-1085610600 .

la 'validation' que le porteur est bien le propriétaire de l'adresse email avec laquelle il s'est inscrit sera une opération manuelle à la charge de l'agent Dinum humain

au passage, cela me donne envie de re-réfléchir au flux de validation prévu pour #1104, car il faudra avoir un moyen facile à utiliser pour un humain de vérifier que l'email justifiant la demande d'inscription (étape iii. de la deuxième branche) n'est pas truqué... À voir à quel point ceci est possible sans vérification que la personne derrière la création de compte sur la plateforme puisse lire les emails envoyés à l'adresse qu'il prétend la sienne. Si le domaine de la boîte email est une information critique lors de l'activation manuelle des inscriptions, il faut faire attention à vraiment vérifier que l'utilisateur a vraiment accès à la boîte en question.

AnthonyBrunelli commented 2 years ago

@AnthonyBrunelli as-tu confirmé le compte de l'utilisateur tbrunelli en cliquant sur l'URL du mail envoyé pour cet utilisateur?

je n'ai pas de trace de cela dans les journaux d'accès de la production (alors que j'ai la trace pour l'utilisateur agbrunelli), donc je confirme que l'email aux admins n'a pas jamais été envoyé parce-que la confirmation de l'adresse email n'a jamais été faite (voir mécanisme décrit ci-dessus).

Malheureusement je n'ai pas de trace dans les données de la validation de l'email proprement. Ainsi, du point de vue de la data stockée, quand un utilisateur est inactif il n'est pas possible de savoir si l'adresse email a été confirmée (et il est en attente de la validation dinum) ou si l'adresse email n'a jamais été confirmée.

Par contre, j'ai quelques traces des URLs accédées sur la plateforme (mais limitées dans le temps) et je trouve que:

* pour les 6 utilisateurs inactifs créés le 25, 28 et 30 (y compris tbrunelli), il n'y a pas eu de validation d'adresse email

* il n'est pas vraiment possible de savoir si l'email est arrivé dans leur inbox / spam /etc  et ils n'ont jamais cliqué dessus, ni à quel moment il est arrivé dans leur inbox .

Je confirme que je n'ai pas confirmé, j'avais reçu l'autre mail avant et donc j'ai fait juste l'autre. Au temps pour moi.

AnthonyBrunelli commented 2 years ago

@AnthonyBrunelli Nous avons vérifié les journaux du serveur de mail de notre côté et il semble y avoir eu un bounce de la part du provider d'email pour le mail envoyé à l'utilisateur tbrunelli à ~10:18.

Ainsi, il est plutôt étonnant que tu l'aies reçu à 14h10 car de notre côté il n'y a pas eu de renvoi. Peux-tu transferer à mon adresse email l'email demandant la validation d'adresse email pour l'utilisateur tbrunelli ("Validation de votre compte sur le site observatoire.numerique.gouv.fr") ?

Ok je fais aç tout de suite !

AnthonyBrunelli commented 2 years ago

Désolé @lucaa j'ai dû me planter en tout cas je ne retrouve pas le mail et je pense que je me suis trompé avec une histoire de redirection. Manque de concentration. Donc je dirais que je n'ai pas reçu le mail.

AnthonyBrunelli commented 2 years ago

@jrenauxdinum on n'a pas eu un autre cas récemment de quelqu'un qui n'a jamais reçu son mail de confirmation de création de compte?

lucaa commented 2 years ago

@AnthonyBrunelli je pense que je reproduis de mon côté, pour une adresse gmail (j'ai créé un compte et je n'ai pas reçu l'email de validation). Pour les mêmes étapes avec une autre adresse que gmail ça fonctionne sans problèmes, donc je pense que c'est le même problème que tu as vu toi (celui ci https://github.com/DISIC/observatoire/issues/1107#issuecomment-1086191843 ).

Par contre, ce qui est très étonnant est que:

On doit donc investiguer ces rejets de gmail du côté de l'infra (configuration du serveur de mail, etc,), ça n'a pas l'air d'être un problème de code mais plutôt des configurations des serveurs, etc.

jrenauxdinum commented 2 years ago

Je n'ai pas reçu de demande de personnes qui n'ont pas reçu de mail de confirmation mais c'est peut etre parce que je double les envoie avec airtable quand je demande des informations ?