limiter l'acces à un cours
Nombre de réponses : 15Re: limiter l'acces à un cours
Je n'ai rien compris.
Joseph
Re: limiter l'acces à un cours
Re: limiter l'acces à un cours
Bonjour,
j'ai bien peur que tu ne puisses rien faire de façon automatique et intégrée dans Moodle...
Mais il est possible de créer un script (utilisant une requête SQL) assez finaud pour récupérer les identifiants des personnes possédant un certain rôle attribué sur ton Moodle, puis d'en constituer un fichier plat pour faire une inscription automatique dans un autre cours
Re: limiter l'acces à un cours
Bonjour,
Comme le suggère si habilement Séverin, nous faisons une extraction (à la main) des personnes ayant le statut d'enseignant pour les injecter dans un espace de cours dédiés.
Voici la requête utilisée, si ça peut servir :
SELECT cou.fullname, cou.shortname, u.firstname, u.lastname, u.username, u.email FROM moodle.mdl_context c
inner join moodle.mdl_role_assignments ra
on c.id=ra.contextid
inner join moodle.mdl_user u
on u.id=ra.userid
inner join moodle.mdl_course cou
on cou.id=c.instanceid
where
c.contextlevel='50' # Contexte d'un cours
and
ra.roleid='3' # Role d'enseignant
group by u.id;
Une liste contenant les cours (nom complet+nom abrégé) et les enseignants (nom, prénom, mail et login) sera ainsi produite. La dernière directive assure l'unicité de l'utilisateur (group by id).
Combiné au fichier plat (il faudra cependant adapter la requête), cela fera surement l'affaire...
A bientôt,
Patrick
Re: limiter l'acces à un cours
Et je pense qu'en modifiant ta clause SELECT de la manière suivante, tu construiras automatiquement le fichier plat à utiliser :
SELECT 'add,student,',u.username, ',IdCours' FROM moodle.mdl_context c
Cordialement,
Séverin
Re: limiter l'acces à un cours
Rââââ, c'est pas drôle si tu donnes toute la solution ;o)
Faut le laisser chercher un peu
Re: limiter l'acces à un cours
Re: limiter l'acces à un cours
J'entendais bien (même si ce n'était pas clairement précisé) qu'il fallait préciser le champ idnumber pour le cours
Effectivement, il faut que ces champs soient remplis !
Tu peux par exemple copier le champ identifiant vers le champ idnumber pour tous les utilisateurs. Si tu utilises un annuaire LDAP, il suffit, dans les réglages de l'authentification, de spécifier le même champs pour remplir l'idnumber
Re: limiter l'acces à un cours
Alors, je viens en effet de découvrir, car je n'utilisais pas non plus le fichier plat qu'il fallait un idnumber pour les utilisateurs et les cours.
Or, pas de souci, j'ai les 2 ! Par contre, malgré le passage du cron, et la confirmation de l'exécution du-dit fichier plat (j'ai un "OK" au bout de chaque ligne), le quidam reste inscrit !
Je m'ajoute à ce topic pour savoir si quelqu'un (Séverin te sent pas obligé de répondre ) a une idée...
Patrick
Re: limiter l'acces à un cours
"Reste inscrit" ou "Reste NON inscrit" ???
A ce niveau, je pense qu'il serait pas mal que tu fournisses plus de détails sur ce que tu cherches à faire exactement (inscription ou désinscription ?), avec les identifiants de cours, extraits du fichier plat créé, et tout autre élément utile...
Re: limiter l'acces à un cours
En fait, voulant tester les fichiers plats et répondre à une demande de l'un de mes usagers, je suis parti pour désinscrire un utilisateur d'une série de cours...
Paf, je lance ma requête, et hop, un 'ti fichier plat. Pif-paf, le cron... Et là : bah rien :o(
Mon quidam est toujours inscrit dans ses cours ! Pourtant mes lignes de fichier plat, dont l'action est à 'del', me reviennent avec un 'OK' à la fin. Mais je pense savoir d'où ça vient : les affectations sont 'masquées' (hidden dans la table). Hypothèse : le fichier plat n'agit pas sur les affectations cachées ?! ... même s'il affirme le contraire, le vilain !
J'essaye de valider mon hypothèse demain ! ... et je vous tiens au jus, bien évidemment !
Patrick
Re: limiter l'acces à un cours
Bon... bah, ça marche pô :o(
Voici ce que me renvoie le cron :
1: del teacher 666999 C_LTC1011 :OK
2: del teacher 666999 C_LTC711E :OK
3: del teacher 666999 C_LTC712E :OK
4: del teacher 666999 C_LTC713E :OK
5: del teacher 666999 C_LTC721E :OK
6: del teacher 666999 C_LTC722E :OK
7: del teacher 666999 C_LTC723E :OK
8: del teacher 666999 C_LTC731E :OK
9: del teacher 666999 C_LTC733E :OK
10: del teacher 666999 C_LTC734E :OK
11: del teacher 666999 C_LTC735E :OK
12: del teacher 666999 C_LTC736E :OK
13: del teacher 666999 C_LTC737E :OK
14: del teacher 666999 C_LTC738E :OK
15: del teacher 666999 C_LTC811E :OK
16: del teacher 666999 C_LTC8122E :OK
17: del teacher 666999 C_LTC8123E :OK
18: del teacher 666999 C_LTC813E :OK
19: del teacher 666999 C_LTC821E :OK
20: del teacher 666999 C_LTC822E :OK
21: del teacher 666999 C_LTC823E :OK
22: del teacher 666999 C_LTC825E :OK
23: del teacher 666999 C_LTC724E :OK
24: del teacher 666999 C_LTC9112E :OK
25: del teacher 666999 C_LTC9113E :OK
26: del teacher 666999 C_LTC912E :OK
27: del teacher 666999 C_LTC921E :OK
28: del teacher 666999 C_LTC923E :OK
29: del teacher 666999 C_LTC924E :OK
30: del teacher 666999 C_LTC925E :OK
31: del teacher 666999 C_LTC926E :OK
32: del teacher 666999 C_LTC928E :OK
33: del teacher 666999 C_LTCS9R :OK
34: del teacher 666999 C_LTCS8R :OK
Et pourtant, mon utilisateur avec l'idnumber '666999' est toujours inscrit, masqué ou pas, dans les cours avec les idnumber correspondant.
Y a-t-il une subtilité qui m'échape ? Peut-on bien désinscrire quelqu'un par fichier plat ?
A bientôt,
Patrick
Re: limiter l'acces à un cours
Attention : le nom du rôle doit être le "nom abrégé" du rôle !
Il y a donc de fortes "chances", suivant la version de Moodle que tu utilisais lorsque tu as installé ton Moodle la toute première fois, que ce soit plutôt "editingteacher" pour le rôle "Enseignant"
Tu peux vérifier cela dans les définitions de rôles (Administration > Utilisateurs > Permissions > Définition des rôles)
Re: limiter l'acces à un cours
YESSSSSSSSSSsssss !
SÉVERIN : Président !!!
Je propose qu'on redéfinisse le calendrier national pour rebaptiser le 11 octobre : jour de Séverin !
C'était bien ça... Le nom du rôle... La bleuzaille, que j'suis pô.
Rââââ bah ça fonctionne mieux maintenant.
Merki bocu !
Patrick
Re: limiter l'acces à un cours
Ben merci, ça fait plaisir un tel retour
Juste un peu plus d'habitude de Moodle me concernant