Updated by Alexis Bienvenüe over 7 years ago

Bonjour,

Ce n'est pas une demande, mais une suggestion. Et si ça intéresse du monde, je suis prêt à aider.

La possibilité d'envoyer un mail aux élèves avec leur copie annotée est une fonctionnalité très intéressante d'AMC (lorsqu'on arrive à la faire fonctionner ;)). Cependant, l'envoi massif de mails, surtout lorsque chacun contenant une pj, n'est pas toujours bien vu des administrateurs de messagerie. L'envoi en nombre non plus (je me suis fait blacklister sur mon serveur d'envoi), d'où les demandes qui ont été faites dans cette liste d'ajout de fonctionnalités de temporisation dans l'envoi de mail.

J'ai donc pensé à une autre méthode qui allège un peu la charge des serveurs de messagerie, et pour pour laquelle j'ai une méthode (script) qui fonctionne, mais qui a l'inconvénient pour l'instant de ne pas être intégrée à AMC.

De nombreuses institutions d'enseignement ont une plateforme de partage de documents, qui, pour les plus répandues, disposent d'une API. Chez moi c'est Owncloud (mais on peut aussi penser à Dropbox). J'ai ainsi écrit un script qui vient prendre le relais du flux AMC à partir du moment où les copies sont corrigées et annotées (fichiers pdf sous la forme xyz-Nom-Prenom.pdf) afin de les mettre à disposition des élèves et de les en informer (et leur donner leur note).

Le script effectue 2 choses :
1. Il uploade chaque fichier pdf (copie annotée) sur le serveur owncloud et définit un partage sur ce fichier (par lien + mot de passe)
2. Il envoie un mail personnalisé à chaque élève en lui indiquant sa note et le lien + mot de passe nécessaires pour télécharger sa copie depuis le serveur owncloud

Pour l'instant, si on regarde les détails,

1. le mot de passe est généré aléatoirement et on utilise l'API owncloud (https://docs.nextcloud.com/server/9/developer_manual/core/ocs-share-api.html) ([[https://docs.nextcloud.com/server/9/developer_manual/core/ocs-share-api.html]]) pour effectuer l'upload, définir le mot de passe, le mode de partage (lien+mot de passe) et pour récupérer le lien défini par owncloud

2. le mail est pré-rédigé et contient les variables
* adresse de l'élève
* la date du test
* prénom de l'élève
* note de l'élève
* lien du partage owncloud sur la copie de l'élève
* mot de passe sur ce partage

Par exemple :

Bonjour $prenom

Votre note au test du $date est $note. Vous pouvez récupérer votre au
copie au lien suivant :

$lien

Le mot de passe pour accéder à ce lien est $passwd
Cordialement
Signature

L'adresse est forgée en utilisant le nom du fichier pdf, car les adresses des élèves sont formatées prenom.nom@institution.fr. Mais on
peut très bien les extraire d'un fichier (p.ex. comme lorsqu'on utilise la fonctionnalité d'envoi par mail d'AMC)

Le mail est envoyé par msmtp

De plus, le script temporise l'envoi de mail. Je n'ai le droit d'envoyer que N mails par heure. Donc le script effectue une pause d'une heure dans l'envoi de mails tous les (N-1) mails.

Voilà. Je me disais que ce serait bien d'intégrer un truc du genre dans AMC, mais je ne sais pas faire....

Back