Saisine de la CADA

En traitant ma réponse à cette demande que j’avais faite à La DINUM via le seul mail que j’avais trouvé d’eux sur leur github : https://madada.fr/demande/demande_de_communication_des_coo_2
Je me suis rendue compte que le pdf de compilation de la demande ne contient pas d’emails de l’envoyeur ou receveur, et ne contient pas d’heure d’envoi. Donc il ne fera pas plus l’affaire que le .txt d’avant pour les saisines CADA. Le fichier qui pour moi fait l’affaire est le fichier raw de l’echange mail que j’obtiens en tant qu’admin. C’est un fichier .eml qui s’ouvre dans le Thunderbird et qui contient toutes les infos.

Donc il faut avancer la dessus et trouver un moyen de faire apparaitre les mails dans le pdf (et l’heure du delivery ce serait du luxe mais en attendant juste les mails c’est je pense indispensable).

Au passage, la règle qui cache tous les mails dans tous les échanges MaDada est pas forcémment pertinente partout non? Dans mon cas concret elle m’a empêché l’info que j’attendais à recevoir de cette demande, à savoir le mail du responsable PRADA. Je me dis qu’il doit y avoir d’autres cas de demandes où cette règle est embêtante non? Pour quelle raison l’a-t-on-mise?

Sinon au sujet de la demande elle même, le PRADA de la DINUM c’est quelqu’un de la Direction des affaires juridiques des ministères économiques et financiers, c’est rigolo. J’ai mis à jour sur le site l’autorité, il me reste plus qu’à vérifier qu’ils ont publié leur PRADA sur leur site et les embêter s’ils l’ont pas fait. Bon weekend.

Donc il faut avancer la dessus et trouver un moyen de faire apparaitre les mails dans le pdf (et l’heure du delivery ce serait du luxe mais en attendant juste les mails c’est je pense indispensable).

Après enquête avec mySociety, le pdf (et le txt) sont générés en compilant le même template rails que celui qui produit la page HTML publique. Il y’a juste une étape de plus qui transforme le HTML en PDF ou TXT. Donc pour inclure les emails (et les dates/heures tant qu’on y est), il faut bricoler ces templates (parce qu’il y’en a toute une liste), par exemple pour leur faire inclure les adresses+dates s’ils sont appelés avec un certain flag. C’est pas très compliqué en théorie, il faut juste trouver où sont cachés les emails dans les structures de données, et rajouter une condition. J’essaie de regarder ça ce weekend.

Au passage, la règle qui cache tous les mails dans tous les échanges MaDada est pas forcémment pertinente partout non? Dans mon cas concret elle m’a empêché l’info que j’attendais à recevoir de cette demande, à savoir le mail du responsable PRADA. Je me dis qu’il doit y avoir d’autres cas de demandes où cette règle est embêtante non? Pour quelle raison l’a-t-on-mise?

Comme beaucoup de choses, on ne l’a pas mise en place, ça vient d’alaveteli. Par défaut, je pense que c’est plutôt une bonne idée de ne pas publier tout un tas d’emails sur des pages publiques (vu par exemple le patacaisse qu’un nom de PRADA a généré). Par prudence, j’aurais plutôt tendance à continuer comme ça, si le mail doit effectivement être vu, on passe par l’admin. Dans le cas contraire, j’ai peur qu’on s’expose à de mauvaises surprises si on montre tout par défaut.

Sinon au sujet de la demande elle même, le PRADA de la DINUM c’est quelqu’un de la Direction des affaires juridiques des ministères économiques et financiers, c’est rigolo. J’ai mis à jour sur le site l’autorité, il me reste plus qu’à vérifier qu’ils ont publié leur PRADA sur leur site et les embêter s’ils l’ont pas fait. Bon weekend.

Vu ce que tu écris plus haut, je suppose que tu as vu son mail dans l’eml brut. Sinon, c’est là qu’il faut aller voir :wink:

J’ai regardé un peu ce qu’on peut faire, et ça ne semble pas impossible. Je pense juste qu’il faudra faire gaffe à plein de petits détails pour qu’on ne fasse pas mentir le système, et qu’on ne divulgue pas d’info qui ne doit pas l’être.

Voila par exemple ce que je viens de faire sur dadastaging (https://dadastaging.okfn.fr/demande/premier_essai) et un bout du pdf qui en ressort. C’est moche, mais ça donne une idée (dada@where c’est un alias que j’ai fait pour toutes les autorités sur dadastaging, donc ça représente le mail de la PRADA).

image

J’ai quelques questions/remarques du coup:

  • quelle adresse email doit on montrer à la CADA, sachant que la demande initiale a été faite par un mail @madada.fr? Le mail de demande, ou l’adresse de l’auteur telle qu’enregistrée dans notre base de données?
  • on ne peut pas montrer ces emails au public. Je propose qu’on les réserve au ZIP « saisine CADA », et que ce soit uniquement accessible à l’auteur.e de la demande et aux admins.
  • quelle adresse montre-t-on si une réponse est reçue d’une adresse différente de celle de la PRADA? (je suppose qu’on montre l’adresse réellement utilisée pour envoyer le message)?
  • Ces changements sont juste un override de templates, donc c’est assez simple. Je pense avoir une idée pour faire fonctionner ça comme décrit ci-dessus:
    Rails a une système de « variantes » de template (https://guides.rubyonrails.org/layouts_and_rendering.html#the-variants-option). On pourrait ajouter une option de config qui définit le nom de la variante qu’on veut pour le ZIP (par exemple cada) et l’utiliser seulement pour cette fonction. Ca nous permettrait d’ajouter des templates nommés par exemple lib/views/request/_outgoing_correspondence.html+cada.erb dans notre theme. Et de cette façon là, d’autres installations d’alaveteli pourraient utiliser le même système pour leurs propre besoins.

Ticket gitlab pour le suivi technique https://gitlab.com/madada-team/dada-core/-/issues/49#note_518569178

Hello,

Si ça peut aider, dans la foulée de ma discussion avec une agente de la CADA et du refus d’une autre demande, je confirme ce que dit Eda sur l’affichage des mails, ils sont tatillons et ça fait partie des point importants (encore que la version PDF actuelle semble convenir à certaines personnes de la CADA. Mais en plus, je crois qu’afficher l’email du demandeur permet aussi aux administrations de répondre directement à la demande, quand elle sont rappelées à l’ordre par la CADA.

Si c’est le mail en @madada.fr, ça serait cool, ça permettrait qu’ils répondent au fil directement, et donc que la réponse arrive sur la plateforme.

Selon la même personne de la CADA, le plus simple reste le lien vers la demande publique dans une saisine par mail.

Alexandre

D’après ce que vous dites tous les deux, je vois deux fonctions distinctes qu’on pourrait implémenter:

Un pdf avec les adresses mail et les dates/heures d’envoi

On ajoute une entrée dans le menu « action », visible uniquement par les admin et auteur.e de la demande.
Comme dit plus haut, on affiche dans le PDF l’email magique généré par alaveteli, ainsi que l’adresse de l’administration concernée pour confirmer qu’elle a bien reçu le message en question.
Et de cette façon, la CADA peut effectivement répondre directement sur la demande, et leur réponse arrivera sur le site, avec la même visibilité que la demande (en termes d’embargo). Du point de vue du site, un mail venant de la CADA serait traité exactement comme une réponse de l’autorité initialement interrogée.

Mettre ça en route ne me semble pas incroyablement compliqué. Je parierais sur une journée de boulot technique:

  • ajout d’une entrée dans le menu action, avec gestion de permissions
  • modification du code qui génère les PDF pour utiliser des templates alternatifs
  • création des templates spécifiques à la saisine

Un lien « magique » pour contourner l’embargo

On pourrait ajouter dans le même menu une autre option « lien magique », qui montrerait un lien du style madada.fr/acces_cada/a9jdjfao8fj2ojw0f923fklawi4fj0a293fujao23f80239. Ce lien renverrait sur la même page que ce qu’on voit actuellement, sauf qu’il désactiverait tout contrôle d’accès (en clair, n’importe qui avec le lien peut lire la demande, embargo ou non). Il faudrait donc un gros avertissement à l’usager avant d’activer ce lien, pour clarifier qu’une fois le lien partagé, on n’a plus aucun contrôle sur qui peut voir cette demande.
Ce lien peut ensuite être envoyé par mail à la CADA, ce qui leur permet de lire la demande exactement comme on la voit actuellement (moins l’embargo), et sans avoir de compte sur le site.

En termes de travail pour faire marcher ça:

  • ajout d’une entrée dans le menu action, avec contrôle de permissions
  • page/dialogue d’avertissement et confirmation par l’auteur.e
  • création du lien unique et stockage dans la DB du lien
  • ajout de la route spéciale pour que le lien renvoie effectivement sur la page de la demande
  • ajout d’un contrôleur de vue spécial qui contourne la gestion des permissions.
  • pour faire les choses bien, ajout d’une fonction de désactivation du lien magique

Je ne connais pas bien rails, mais j’imagine 2-3 journées minimum de boulot pour faire ça décemment.

1 Like

La saisine multiple que j’ai faite commence à entraîner des réponses, mais il y a du y avoir un couac quelque part, puisque toutes les réponses des préfectures reviennent dans une seule demande (celle à la préfecture de la Haute-Vienne). Peut-être que la CADA n’a pas compris le fonctionnement de la plateforme et a indiqué la même adresse pour toutes les demandes similaires. C’est en tout cas fâcheux, mais pas dramatique.

@pascalr t-ce que ce bug rejoins ton pb évoqué l’autre jour en réu hébdo? Je me penche dessus cette semaine donc si tu veux tu peux me pointer la demande @pascalr aussi que je check.

Pour faire suite au sujet « lien magique » pour les demandes sous embargo, il semble que mySociety soit déjà en train de bosser dessus depuis plus d’un an, mais ça ne semble pas non plus prêt à deployer:
https://github.com/mysociety/alaveteli/issues/5542

@alphoenix @eda Je vous laisse jeter un oeil à cette demande sur le site de test https://dadastaging.okfn.fr/alaveteli_pro/info_requests/test_de_demande_groupee_2
Si vous allez dans les actions, vous devriez voir une option « saisine CADA » (@alphoenix il faudra peut-être que tu crées un compte sur le site et qu’on te passe en pro)

Comme avant, le menu retourne un PDF à télécharger qui contient la même chose que mon screenshot plus haut sur cette page (à quelques détails de formattage près). J’ai rajouté le menu, et le fait qu’on a maintenant 2 variantes du template (un pour la vue web+pdf « normal », et un pour la saisine CADA avec les détails, adresses mails et heures).

Reste à faire:

  • valider le format du PDF (à vos claviers)
  • gérer la mise en cache du fichier zip pour qu’un utilisateur non autorisé ne puisse pas y accéder. Pour l’instant, le PDF « normal » (sans les emails) et la version saisine sont cachées au même endroit, donc y’a problème sécu en vue. Il faut sans doute juste créer 2 fichiers séparés.
  • Valider les droits d’accès: à mon sens, seuls l’auteur.e + les admins doivent avoir accès à cette option. Pour l’instant, le menu est visible seulement si on a le droit de changer l’embargo de la demande, ce qui ne va probablement pas, mais c’était juste pour tester.
  • Dupliquer le fonctionnement pour les demandes non pro
  • Faire tous ces changements depuis ansible
  • Proposer l’idée à mySociety, pour voir si ça intéresse d’autres sites, éventuellement comme partie d’une fonctionnalité plus complète (genre ça)

Gareth vient de merger une fonction de lien magique comme on l’a discutée.
https://github.com/mysociety/alaveteli/pull/5608

Ça ne sera pas immédiatement dispo sur MaDada, mais a priori dès la prochaine version. ETA inconnu

Salut tout le monde. Je ne suis pas le plus rapide pour mettre ces choses là en route, mais ça y’est: madada a un lien magique pour les demandes sous embargo qui peut être partagé avec la CADA (ou l’autorité cible d’une demande, ou n’importe qui, donc attention où vous l’envoyez! :warning: )

Pour faire apparaitre ce lien (uniquement sur vos demandes sous embargo pour les non pro_admin):

  • ouvrir la demande côté admin, puis trouvez ce bouton:
    image

une fois cliqué, vous aurez un joil bandeau bleu en haut de page avec un URL prêt à partager avec qui vous voulez.

Encore une fois, ne le partagez pas avec n’importe qui, le lien contourne complètement l’embargo, même sans compte madada.

Super nouvelle Laurent !
Je voulais essayer, mais j’ai un souci avec mes demandes sous embargo, je n’arrive plus à y accéder.

Merci @alphoenix c’est un bug lié à la mise à jour du logiciel, je viens de corriger ce que j’avais oublié hier, tout devrait marcher normalement maintenant. Merci de m’en avoir fait part!

Je continue le troubleshooting, j’ai l’impression qu’en tant que simple utilisation ++, je n’ai pas accès à l’admin.

[image supprimée par LaurentS pour raisons de confidentialité]

Effectivement, ceci ne semble concerner que les demandes sous embargo. (j’ai supprimé l’image que tu avais copiée dans ton dernier message car elle contenait des données confidentielles, et ce fil du forum est public).

En regardant dans le code source d’alaveteli, ça semble normal, cela dit. Les options non disponibles ne seraient utiles qu’à des personnes tierces, mais dans le cas des demandes sous embargo, elles n’ont pas accès à la demande. Ça te semble logique?

Et ça n’est pas nouveau, je n’y avais juste pas fait attention avant. Dans le code source, le changement le plus récent sur le fichier concerné remonte à avril 2020, et ce n’était que du cosmétique, sinon c’est avant la naissance de madada :slight_smile:

Ce que je voulais montrer, c’est que je ne pouvais pas trouver ce fameux lien communicable à la Cada, dont tu parles au début du fil.

(Merci pour l’image, c’est pas sensible, j’ai choisi une demande sous embargo semi-publique)

Ok, j’avais mal compris ton message, désolé. Je vois ceci sur la requête que tu as partagée (dans la marge de droite)

Ça marche sur mon compte, et d’après le code, tu dois pouvoir le voir si tu es l’auteur de la requête. Si tu ne le vois pas, c’est clairement un bug.

(en passant, il faut qu’on traduise ce texte :wink: )

Je confirme !

Merci de ton temps

tu confirmes que ça marche?

Oui ! Ca marche très bien

1 Like