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
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).
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.
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.
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.
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
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)
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! )
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:
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.
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!
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