Nautilus script pour envoyer les copies sur Owncloud/Nextcloud et les partager avec les étudiants

Added by Rémi G. over 7 years ago

Bonjour à tous !

J'ai travaillé pendant les vacances sur un script Python intégré dans Nautilus, le navigateur de fichier de l'environnement GNOME sous Linux:

[[https://github.com/remjg/AMCtoOwncloud]]

Ce script automatise l'envoi des copies sur Owncloud/Nextcloud puis le partage avec les étudiants, et résout en ce qui me concerne le problème avec les envois de mails (difficulté à récupérer des adresses emails auprès des élèves/parents, mails détectés comme spam, etc...).

Le programme créée (si nécessaire) des dossiers distants uniques à chaque étudiant sur le modèle suivant (où OWNCLOUD_FOLDER/ peut être personnalisé au début du script):

 /OWNCLOUD_FOLDER/Group/NOM - Prénom (Numéro) - Interros Maths/ 

Les copies sont ensuite envoyées dans les dossiers et sont nommées comme suit :

 "Saisie utilisateur - NOM Prénom (Numéro).pdf" 

Enfin, le dossier est partagé avec l'étudiant concerné (si ce n'est pas déjà fait).

Installation

1) Vérifier que gnome-terminal est installé (ou modifier le script AMCtoOwncloud.sh), ainsi que les modules Python suivants : os, csv, re, getpass, requests, lxml.html, owncloud (pyocclient)

2) Copier les fichiers AMCtoOwncloud.sh et .AMCtoOwncloud.py dans le dossier réservé aux scripts Nautilus :

~/.local/share/nautilus/scripts/

Configuration

3) Éditer le début du script Python .AMCtoOwncloud.py (identification Owncloud, fichier .csv, ...)

CSV_FILE_PATH = '/home/utilisateur/etudiants.csv' # Adresse du fichier CSV
OWNCLOUD_FOLDER = 'Interro Maths/' # Dossier Owncloud ou déposer les fichiers
OWNCLOUD_ADDRESS = 'http://MonFournisseurOwncloud.com/' # Adresse du serveur OwnCloud
OWNCLOUD_USERNAME = 'Utilisateur' # Nom d'utilisateur

4) Configurer Auto Multiple Choice pour que le numéro d'étudiant soit dans le nom du fichier de chaque copie (l'identification se fait à partir du premier nombre extrait).

5) Ajouter les identifiants Owncloud des étudiants dans le fichier .csv et utiliser les noms de colonnes suivants (ou modifier le script) :

group:surname:name:number:email:owncloud
4emeA:MOUSE:Mickey:401:mmouse@domain.com:mmouse
3emeB:DUCK:Donald:304:dduck@domain.com:dduck@AnotherOwncloudServer.com/owncloud

Utilisation avec ENT Envole et CAS

L'ENT Envole de mon établissement utilise un portail d'authentification unique, Central Authentication Service (CAS). J'ai réussi à me connecter avec pyocclient (et je ne saurais trop expliquer comment). Pour cela, utiliser la fonction connect_owncloud_behind_sso() en lieu et place de connect_owncloud() en commentant/décommentant les lignes suivantes à la fin du script .AMCtoOwncloud.py:

#owncloud_client = connect_owncloud(OWNCLOUD_ADDRESS, OWNCLOUD_USERNAME)
owncloud_client = connect_owncloud_behind_sso(OWNCLOUD_ADDRESS, OWNCLOUD_USERNAME)

Remarques

Je n'avais jamais programmé en Python auparavant, ce script n'est donc évidemment loin d'être parfait. Soyez donc prudent, ou attendez que je m'en serve à la rentrée avant de l'utiliser ! Il me reste maintenant le plus important, installer AMC sous Fedora 26 pour voir comment insérer le numéro d'étudiant dans le nom de fichier ;-)

InstallationScript.png - Dossier Nautilus scripts (34.5 kB)

UtilisationScript.png - Menu Nautilus scripts (47 kB)

.AMCtoOwncloud.py - Script Python (11.9 kB)

AMCtoOwncloud.sh - Script Bash ouvrant un terminal et exécutant le script Python (105 Bytes)


Replies (7)

RE: Nautilus script pour envoyer les copies sur Owncloud/Nextcloud et les partager avec les étudiants - Added by Frédéric Bréal over 7 years ago

Bonjour,

pour voir comment insérer le numéro d'étudiant dans le nom de fichier ;-)

Pour différencier les jumeaux/jumelles, j'ai insérer le numéro de chaque élève sinon AMC indiquait un doublon.
Mon fichier csv est construit avec libreoffice.
Ligne 1 : les en-têtes

classe patronyme prenom identifiant nom
31     mouse     mickey 3101        =D2&" "&B2" "&C2

puis je fait défiler la formule et enregistre en odt puis csv.
Je ne change pas les réglages par défaut d'AMC et j'obtiens identifiant-nom.pdf

Inconvénient, lors de l'ajout d'un élève, le classement alphabétique n'est plus respecté donc cette année je mettrai l'identifiant en fin.

Est-ce type de solution recherchée ?

RE: Nautilus script pour envoyer les copies sur Owncloud/Nextcloud et les partager avec les étudiants - Added by Rémi G. over 7 years ago

Excellente astuce, je n'y avais pas pensé ! Au moins je serai sûr d'arriver à mes fins !

J'avais posé la question précédemment dans ce post du forum et Alexis m'a dit que ce réglage était possible dans AMC. Je vais chercher aujourd'hui !

Je dois juste installer AMC pour essayer... Pour moi installer AMC est toujours un souci (et particulièrement sur Fedora), mais là j'y suis presque (j'installe salement une version i686 sur Fedora 26 x86-64) et il me manque quelques dépendances que j'espère trouver ! Si j'avais les compétences, je créerais un flatpack pour AMC, comme ça plus de sueurs froides à chaque mise à jour de l'OS puisque les dépendances sont incluses dedans il me semble !

RE: Nautilus script pour envoyer les copies sur Owncloud/Nextcloud et les partager avec les étudiants - Added by Rémi G. over 7 years ago

Bon j'ai réussi à installer AMC... et à changer le nom des copies corrigées depuis le menu Annotated papers en saisissant les noms des colonnes de mon fichier .csv !

 (surname) (name) (number) 

Mais je viens de me rencontre que l'export des notes dans un tableur n'est pas très pratique quand on a toutes ses classes dans le même fichier .csv, donc je vais me servir de ton astuce pour insérer le nom de la classe avant le nom de l'élève. Merci beaucoup :)

ChangeAnnotatedPapersNames.png - Menu pour changer le nom de la copie corrigée (14.1 kB)

RE: Nautilus script pour envoyer les copies sur Owncloud/Nextcloud et les partager avec les étudiants - Added by Hervé Cabaud over 3 years ago

bonjour, je suis intéressé par le script pour envoyer les copies sur Nextcloud.
Un petit problème, je suis sur un vieux mac , et je ne sais pas comment adapter le script.

Quelqu'un saurait il faire ?
Merci

RE: Nautilus script pour envoyer les copies sur Owncloud/Nextcloud et les partager avec les étudiants - Added by Rémi G. over 3 years ago

Bonjour,

Je suis désolé je n'utilise pas de Mac et je n'y connais rien sur le sujet...

Je me suis remis à utiliser ce script en cette fin d'année et j'ai rencontré des soucis au premier envoi (au moment du partage par lien des dossiers). J'ai contourné le problème en partageant à la main mes 30 dossiers. Tout le reste fonctionne bien mais il faut télécharger la dernière version depuis le dépôt Master pour avoir quelques corrections (changement de l'api pour le module permettant de raccourcir les url aussi).

Ce problème vient sûrement d'un changement du côté du module "pyocclient" que j'utilise, peu probable que je corrige le souci avant l'été mais je le ferai et je publierai une version à jour.

Rémi.

RE: Nautilus script pour envoyer les copies sur Owncloud/Nextcloud et les partager avec les étudiants - Added by Hervé Cabaud over 2 years ago

je déterre le sujet, mais le fait que tout le second degré va bénéficier d'une instance nextcloud académique, cela peut intéresser beaucoup de monde. Un plug-in intégré à AMC ?

(1-7/7)