parametrer finement les permissions de suppressions de cours

parametrer finement les permissions de suppressions de cours

par stephane gyuran,
Nombre de réponses : 12

Bonjour

Je suis administrateur du site Moodle de mon lycée. J'ai le problème suivant :

Si j'autorise la suppression de cours aux enseignants, ceux ci peuvent supprimer tous les cours, même ceux qui ne sont pas les leurs.

Comment faire pour que les enseignants aient le droit de supprimer leurs cours et seulement ceux ci ?


Merci beaucoup !


Stéphane

Moyenne des évaluations  -
En réponse à stephane gyuran

Re: parametrer finement les permissions de suppressions de cours

par LMS Factory,
Avatar Développeurs de plugins

Peux être peux tu gérer l'attribution du rôle formateur dans un contexte plus restreint que dans un contexte systeme.

Leur attribuer ce droit seulement dans une catégorie au sein de laquelle ils sont les seuls à gérer des cours par exemple

Cordialement

 

En réponse à LMS Factory

Re: parametrer finement les permissions de suppressions de cours

par Bruno Malaval,
Avatar Moodleurs particulièrement utiles

Bonjour,

La capacité "supprimer un cours" n'a en fait pas vraiment de sens à l'intérieur du cours (dans le sens du contexte de cours)

Le cours est inclus dans une catégorie, et c'est donc au niveau de la catégorie que s'applique cette capacité.
Autrement dit on supprime un élément ( le cours ) de la catégorie

De notre coté, nous utilisons la capacité "modifier la catégorie du cours (moodle/course:changecategory)"

Cette capacité est accordée de base aux enseignants, et nous avons mis en place le système suivant :

  • Création d'une catégorie "Cours à supprimer"
  • Création d'un rôle avec la capacité "modifier la catégorie du cours"
  • Attribution de ce rôle aux enseignants sur cette catégorie
Lorsque qu'un enseignant veut supprimer un cours, il doit le déplacer dans cette catégorie

Nous avons mis en place un script (basé sur moosh) qui vide cette catégorie tous les soirs
Sinon cela peut être fait manuellement par l'administrateur

Un des avantages de cette méthode est que la suppression n'est pas immédiate et définitive,
donc cela permet d'annuler une suppression intempestive ..

Après, j'imagine que d'autres administrateurs ont mis en place des solutions différentes.

Bruno
Moyenne des évaluations Utile (11)
En réponse à Bruno Malaval

Re: parametrer finement les permissions de suppressions de cours

par Nicolas Martignoni,
Avatar Développeurs Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

C'est brillant, bravo et merci ! Serait-il possible d'avoir le script de suppression ?

Dommage que l'on ne puisse mettre qu'un seul utile, ça en mérite plusieurs.

En réponse à Nicolas Martignoni

Re: parametrer finement les permissions de suppressions de cours

par Bruno Malaval,
Avatar Moodleurs particulièrement utiles

Merci Nicolas,

voilà le script , il est vraiment tout simple.
En fait, nous essayons de trouver des solutions pour que les enseignants soient le plus autonome possible.
Ce qui limite le boulot des administrateurs ( c-à-d moi ... cool )

C'est un script bash, qu'il faut adapter avec les bons répertoires, les infos de connexion à la bdd et bien sûr l'id de la catégorie qui contient les cours à supprimer.

Par habitude, je fait un fichier de log qui contient la trace des suppressions.
il ne m'a jamais servi, mais j'aime bien avoir une trace sur tous les scripts qui tournent automatiquement.

Plus une ligne dans la crontab , qui l'exécute tous les jours à 23h30

30 23 * * * /usr/local/bin/moodle/admin_cours/del_cours_a_supprimer.sh

et ça roule ....

Bruno

Moyenne des évaluations Utile (4)
En réponse à Bruno Malaval

Re: parametrer finement les permissions de suppressions de cours

par dino latif,
Bonjour Bruno


je voudrais bien l'adapter pour mon environnement Windows. 

peux tu m'aiguiller ?

Merci

En réponse à dino latif

Re: parametrer finement les permissions de suppressions de cours

par Mathieu Domingo,

Salut à tous sourire

Je ne suis pas sur à 100% du fonctionnement des rôles, mais j'interprète comme ça ce que l'on a fait :

- Chez nous tous les enseignants sont "Créateurs de cours" au niveau "système" (i.e. sur toute la plateforme) : Ils peuvent créer des cours dans les catégories qu'ils veulent. Ce rôle n'a pas le droit de supprimer des cours.

-Le rôle "Enseignant" a le droit de "Supprimer un cours" mais n'est affecté à personne au niveau du "système".

-En créant un cours, les "Créateurs de cours" obtiennent automatiquement le rôle "Enseignant", mais ce n'est valable qu'à l'intérieur du cours uniquement, (i.e. ils n'ont pas ce rôle sur le "système" complet.)

En résultat des 2 derniers points, ils n'ont le rôle "Enseignant" que dans leurs cours, ils ne peuvent donc supprimer que leurs cours et pas ceux des autres. sourire


Avec cette configuration, je trouve que cela fonctionne bien sans script particulier sourire


Bonne journée,

Mathieu

Moyenne des évaluations Utile (2)
En réponse à Mathieu Domingo

Re: parametrer finement les permissions de suppressions de cours

par Bruno Malaval,
Avatar Moodleurs particulièrement utiles

C'est exact, nous utilisions ce système il y a quelques années.

Les enseignants peuvent également créer des cours, juste dans leurs catégories mais pas au niveau système.
Nous avons des catégories par composantes (ex FST = Faculté des Sciences et Techniques), et un enseignant de FST a le droit de créer des cours dans cette catégorie (ous les sous-catégories).

Nous avons modifié le principe de suppression pour plusieurs raisons :

  • il fallait passer par les catégories et le bouton "gestion des cours"
  • S'assurer (normalement de base) qu'un enseignant ne pouvait pas modifier quoi que ce soit sur d'autres cours que les siens

  • Depuis l'apparition du tableau de bord, les enseignants voient moins les catégories
  • le fait de faire une suppression "logique" depuis le cours est plus simple
  • cela permet éventuellement de corriger une suppression hâtive, en remettant le cours dans sa catégorie
    Ceci peut être encore plus souple si l'on ne supprime les cours que le we par exemple (dommage pour ceux qui suppriment le vendredi ..)
C'est donc plus un choix de gestion qu'une obligation technique.

Au final, à l'usage chez nous, il apparaît que les enseignants suppriment plus facilement des cours obsolètes.
Certainement parce qu'ils sont dans le cours au moment où ils le déplacent (donc plus sûr que c'est le bon cours)
et aussi peut-être parce qu'ils ne sont pas obligés de passer par la liste des catégories.

Bruno

Moyenne des évaluations Utile (1)
En réponse à Bruno Malaval

Re: parametrer finement les permissions de suppressions de cours

par Mathieu Domingo,

Oui je suis d'accord, le système de suppression via les catégories est assez lourd :s

Pour ce qui est de corriger une suppression "hâtive", avec l'apparition de la "corbeille", c'est réglé en 3 cliques sourire

On a un peu essayé de communiquer sur le remplacement de "view" par "delete" dans l'adresse du site lorsque l'on est dans le cours. Cela permet de s'assurer que l'enseignant et dans le bon cours et qu'il le fais "volontairement". Par contre pour ce qui est du coté intuitif... c'est pas vraiment ça^^ (pour ceux qui s'en souviennent cela fonctionne, mais sur le long terme je pense que cela sera de moins en moins utilisé dans le futur)

J'ai hésité à rajouter un bouton supprimer le cours directement dans le cours, mais je me suis dis que certains aller réussir à le supprimer sans le vouloir (miss click + non lecture du message de confirmation...). Avec l'arrivé de la corbeille ce n'est peut être pas si grave que ça, il faudra que je reconsidère cette option.

L'idée d'une catégorie de suppression pourrait aussi être une alternative intéressante, ils ont juste à aller dans les paramètres du cours, ça reste assez intuitif. (Et vu que j'ai simplifié cet immense menu déroulant en multi select, ça pourrait être encore plus simple qu'avant)


En réponse à dino latif

Re: parametrer finement les permissions de suppressions de cours

par Bruno Malaval,
Avatar Moodleurs particulièrement utiles

Aiguiller oui, mais pas malheureusement pas beaucoup plus

J'ai abandonné l'environnement windows depuis très longtemps.
Je n'ai pas de serveur windows pour faire le moindre test

  1. Sans parler du script de suppression automatique,
    rien n’empêche dans un premier temps de mettre en place cette catégorie.
    Charge ensuite à l'administrateur de faire le ménage dedans régulièrement

  2. J'utilise moosh pour la suppression.
    Idem, il est apparemment possible de l'utiliser sous windows, mais a tester avant
    voir la FAQ de Moosh pour les indications a propos de windows (peu, mais c'est déjà un début)
    https://moosh-online.com/faq/

  3. Pour le script sous windows, c'est le point où je ne sais pas trop répondre
    Peut-être en PowerShell, qui semble être assez puissant pour cela
    Sinon à voir en créant un script php
J'espère que cela pourras déjà t'aider un peu pour l'adaptation

Bruno
En réponse à Bruno Malaval

Re: parametrer finement les permissions de suppressions de cours

par dino latif,

Merci pour toutes ces indications je vais creuser dans ce sens en commençant par :

l'installation de moosh sous Windows et ensuite le paramétrage. 

j'ai pas vu grand chose pour l'installation sous Windows (ou j'ai peut être mal cherché) ?

je cherche toujours

Merci

En réponse à dino latif

Re: parametrer finement les permissions de suppressions de cours

par stephane gyuran,

Bonjour


Merci beaucoup à tous ! je suis époustouflé par la réactivité et la qualité des réponses... merci 100000 fois !

En réponse à Bruno Malaval

Re: parametrer finement les permissions de suppressions de cours

par Bruno Malaval,
Avatar Moodleurs particulièrement utiles

Juste une petite correction sur le script que j'ai donné

Au niveau de la première ligne, pour que cela fonctionne avec le cron il faut mettre

#!/bin/bash
et non
#/bin/bash

la redirection

done < <(mysql ....

ne fonctionne qu'en bash, et par défaut le cron utilise sh

sinon dans la crontab il faut mettre

30 23 * * * /bin/bash /usr/local/bin/moodle/admin_cours/del_cours_a_supprimer.sh

Bruno