Création automatique de groupes à partir des membres d'une cohorte

Création automatique de groupes à partir des membres d'une cohorte

par Pascal Maury,
Nombre de réponses : 9
Avatar Développeurs de plugins

Bonjour,

J'avais noté la possibilité de créer des groupes automatiquement dans les cours à partir d'une cohorte.

Mais je ne comprends pas comment réguler cette option : j'ai 2 PF configurées à peu près pareil et j'observe que les enseignants peuvent choisir (sur la page de groupes automatique)
- dans certains cours, parmi toutes les cohortes systèmes;
- dans d'autres cours, seules certaines cohortes leur apparaissent.
Bref, comment la liste des cohortes est-elle composée ?

Groupe_depuis_cohorte


En fait, je veux surtout empêcher les enseignants, j'ai trouvé comment faire, il suffit de leur retirer la capacité :

Cours
Voir les cohortes du site
moodle/cohort:view


Idéalement, l'enseignant devrait pouvoir synchroniser ses groupes uniquement avec les cohortes de son cours non ?

Moyenne des évaluations  -
En réponse à Pascal Maury

Re: Création automatique de groupes à partir des membres d'une cohorte

par Daniel Méthot,
Avatar Moodleurs particulièrement utiles

Bonjour,

Je ne comprends pas tout...

  • Oui on peut affecter une cohorte à un groupe du cours, après avoir, dans les modes d'inscription, activé la synchronisation des cohortes.
  • Que signifie ta phrase "synchroniser ses groupes uniquement avec les cohortes de son cours"?  Les cohortes sont des groupes de site pas de cours...
  • Par ailleurs peut-être que certaines cohortes sont affectées au site et d'autres à une catégorie donnée où se trouve (ou pas) le cours en question. Ce qui expliquerait que dans certains cas on voie certaines cohortes ou pas...

Daniel

En réponse à Daniel Méthot

Re: Création automatique de groupes à partir des membres d'une cohorte

par Pascal Maury,
Avatar Développeurs de plugins

Bonjour Daniel,

Il y a plusieurs "problèmes" :
- le premier est que Moodle s'éparpille : gérer le public d'un cours ne devrait pas se faire à "plusieurs endroits différents". Je m'explique : avec Moodle on peut ajouter des utilisateurs depuis la page
> "Utilisateurs inscrits"
> "Méthodes d'inscription"
> et je découvre que l'on peut à présent en ajouter depuis "Groupes > Créer automatiquement des groupes" en affectant une cohorte à un groupe du cours !
Pour moi, Moodle continue à développer son aspect usine à gaz au lieu de s'améliorer !

Il serait plus lisible que les inscriptions se fassent toute depuis la même page, quelque soit le type d'inscription.

D'où ma remarque : au niveau des groupes, il ne devrait pas y avoir de possibilité d'ajouter un nouveau public à ce niveau là. A la limite, on pourrait proposer à cet endroit (= au niveau de la création de groupe) de pouvoir faire cette création automatique mais uniquement à partir d'une des cohortes déjà synchronisée avec le cours !


- l'autre point est que je ne comprends pas comment est créé la liste déroulante à cet endroit.
Tu me réponds :
Par ailleurs peut-être que certaines cohortes sont affectées au site et d'autres à une catégorie donnée où se trouve (ou pas) le cours en question. Ce qui expliquerait que dans certains cas on voie certaines cohortes ou pas..
Justement non, toutes les cohortes sont des cohortes de site. D'où mon interrogation !

En réponse à Pascal Maury

Re: Création automatique de groupes à partir des membres d'une cohorte

par Daniel Méthot,
Avatar Moodleurs particulièrement utiles
Pascal a dit "je ne comprends pas comment est créé la liste déroulante à cet endroit."

Je comprends mieux ta question.

Il me semble qu'elle propose la liste des cohortes uniquement visibles et accessibles depuis ce cours.

  • Soit il s'agit de cohortes système.
  • Soit de cohortes affectées à la catégorie de ce cours.

Et ceci même si le mode d'enrôlement dans le cours par les cohortes n'a pas été activé par l'enseignant.

Mais néanmoins il s'agit de sujets que je ne maîtrise guère car les cohortes ne sont pas mon lot quotidien...grand sourire

Daniel

En réponse à Daniel Méthot

Re: Création automatique de groupes à partir des membres d'une cohorte

par Pascal Maury,
Avatar Développeurs de plugins

Ca me titillait alors j'ai creusé.

Alors, si je dis pas de bêtise, la liste est remplie avec toutes les cohortes auxquelles appartiennent tous participants du cours.
Vous allez me dire : bah ce sont les cohortes avec lesquelles le cours est synchronisé ? Et non, pas que : Moodle va chercher TOUTES les cohortes qui sont au niveau catégorie/ss-catégorie/système et dans lesquels les participants sont inscrits.

Prenons un exemple : un cours de "Licence 2 Mathématiques". Pour inscrire les utilisateurs du cours, j'ai synchronisé la cohorte "2014 L2 Maths". Dans cette cohorte, il y a Julie. Il se trouve que Julie est également inscrite en "2014 L2 Psycho". Il existe aussi une cohorte "Etudiants" dans lequel tous les étudiants sont inscrits. Donc elle en fait aussi partie.
Enfin sur ma PF, j'ai gardé pour le moment les cohortes 2013. Et donc Julie fait partie de la cohorte "2013 L1 Maths".

Eh bien toutes ces cohortes sont ajoutées à la liste (pas que celle de Julie hein) avec un petit numéro. Pr rappel l'enseignant n'a choisi que le public "2014 L2 Maths", mais il voit :
2014 L2 Maths (50)
2014 L2 Psycho (1)
Enseignants (5)
Etudiants (50)
2013 L1 Maths (1)

Les chiffres () représentent les nombres de "membres", je m'explique :
- 50 = 50 participants du cours qui sont dans la cohorte 2014 L2 Maths y compris Julie (normal j'ai fait la synchro avec le cours, 50 est donc le nombre de membres de cette cohorte)
- 1 = 1 participant du cours qui est dans la cohorte 2014 L2 Psycho => la fameuse Julie (mais en vrai dans la cohorte il y a 70 personnes niveau système, 1 est le nombre de participant du cours qui sont dans cette cohorte)
- 5 = 5 participants du cours qui est dans la cohorte Enseignants : les 5 enseignants inscrits à la main (mais Moodle est parti récupérer les cohortes systèmes dans lesquels ils sont aussi inscrits)
- 50 = 50 participants du cours qui sont dans la cohorte Etudiants y compris Julie
- 1 = 1 participant du cours qui est dans la cohorte 203 L1 Maths => la fameuse Julie


En y réfléchissant ce n'est pas idiot : j'ai pris un exemple simple ci-dessus mais poussons le raisonnement : prenons maintenant le cours "3GPH31 - Histoire du XXe siècle" dispensé à la fois en "L1 histoire (H1HIS141)" et en "L1 Géographie (H1GEO141)".

J'attache désormais mon cours à la cohorte "3GPH31" dans lesquels sont inscrits uniquement les 120 étudiants qui suivent ce cours qu'ils soient de L1 Histoire ou de Géo.

Si je veux ensuite créer des groupes à partir des cohortes, Moodle va me proposer dans la liste : (évidemment il faut que j'ai créé les cohortes niveau diplôme)
- 3GPH31 (120)
- H1HIS141 (78)
- H1GEO141 (42)
Cela me permet donc de créer automatiquement 4 groupes pour les étudiants d'Histoire et puis 3 groupes pr ceux de Géo.

C'est pas bête MAIS :
- c'est pas simple : de prime abord les cohortes qui apparaissent n'ont rien de cohérent pour l'enseignant
- il faut que le système d'information et Moodle soit béton

Bon déjà chez moi, les inscriptions pédagogiques sont loin d'être saisies suffisamment et d'autres part, la synchro avec les cohortes se fait encore pour le moment à la connexion de l'étudiant. Mais même si je synchronisais tout automatiquement, la création automatique des groupes n'est toujours que partielle : si un étudiant s'inscrit ou change son inscription, il n'est pas inscrit automatiquement dans un groupe (d'où les autres plugins développés : https://moodle.org/mod/forum/discuss.php?d=256039#p1176831)

Et si toutes les inscriptions étaient à jour, dans mon 2e exemple, la liste des cohortes seraient interminables (si on considère que chaque étudiant est inscrit à 30 cours par exemple au niveau de l'IP).


Bref, à mon humble avis, il faudrait ajouter un paramètre de comportement : par défaut, seules les cohortes synchronisés avec le cours devraient apparaître ici. Et si on les veut toutes, il faudrait cocher une case dans la config de Moodle.

Je dis ca, j'ai résolu mon souci en retirant la permission, mais cette fonctionnalité pourrait bien m'être demandé !



Le code de la fonction qui gère cette liste est là : line 213 of file cohort/lib.php.

cohort_get_visible_list (   $course,


  $onlyenrolled = true 

)


La requête sql est la suivante :

SELECT c.id, c.name, c.contextid, c.idnumber, COUNT(u.id) AS cnt
FROM cohort c
  JOIN (cohort_members cm
      JOIN (SELECT DISTINCT eu1_u.id
            FROM user eu1_u
              JOIN user_enrolments eu1_ue ON eu1_ue.userid = eu1_u.id
                 JOIN enrol eu1_e ON (eu1_e.id = eu1_ue.enrolid AND eu1_e.courseid = 1626*)
            WHERE eu1_u.deleted = 0 AND eu1_u.id <> 1*)
              u ON u.id = cm.userid) ON cm.cohortid = c.id
 WHERE c.contextid IN (82*,35*,1*)
GROUP BY c.id, c.name, c.contextid, c.idnumber HAVING COUNT(u.id) > 0
ORDER BY c.name, c.idnumber

Les chiffres avec des * sont des paramètres :
- [eu1_guestid] => 1
- [eu1_courseid] => 1626
- [param8] => 82 = id du contexte de la sous-catégorie (dans laquelle se trouve le cours)
- [param9] => 35 = id du contexte de la catégorie (dans laquelle se trouve la ss categ)
- [param10] => 1 = id du contexte système

En réponse à Pascal Maury

Re: Création automatique de groupes à partir des membres d'une cohorte

par Alexandre Scherbyna,

Bonjour Pascal et Daniel,

A mon avis on ne peut pas inscrire les étudiants depuis "Groupes > Créer automatiquement des groupes". Cette procédure ne permet qu’affecter les groupes aux étudiants déjà inscris dans le cours. Dans cette procédure peuvent participer tout les étudiants inscris ou seulement les membres d’une cohorte. Donc dans la liste déroulante vous ne voyez que les cohortes déjà inscris.

En réponse à Alexandre Scherbyna

Re: Création automatique de groupes à partir des membres d'une cohorte

par Daniel Méthot,
Avatar Moodleurs particulièrement utiles

Bonjour,

Comme le dit Alexandre la création automatiques des groupes sans passer par les cohortes se fait vraisemblablement uniquement à partir des étudiants déjà inscrits dans le cours. Cas standard.

Mais aussi, dans l'exemple donné, je pense sans l'avoir expérimenté que la liste déroulante présente les cohortes affectées soit au système soit à la catégorie dans laquelle se trouve le cours. Donc pas toutes visibles selon le cas.

Néanmoins je n'en dirai pas plus n'ayant jamais été dans ce cas de figure.

Daniel

En réponse à Daniel Méthot

Re: Création automatique de groupes à partir des membres d'une cohorte

par Pascal Maury,
Avatar Développeurs de plugins

Bonjour,

Oui Alexandre en effet, je disais une bêtise dans mes 1ers messages : on ne peut pas inscrire ici des étudiants dans le cours : on pioche seulement parmi ceux du cours. Là on est d'accord, c'est très bien comme ca, je me trompais et tant mieux !

Par contre, la liste des cohortes affichées (en tout cas par défaut) ne me parait pas la plus simple/logique/cohérente.


Donc dans la liste déroulante vous ne voyez que les cohortes déjà inscris.

Non justement : dans la liste apparaissent toutes les cohortes (de la catégorie/sous-catégorie et systèmes) pour lesquelles au moins 1 participants à ce cours est inscrits. Donc les cohortes synchronisées avec le cours mais également les autres cohortes des participants comme je l'expliquais ci-dessus.

En réponse à Pascal Maury

Re: Création automatique de groupes à partir des membres d'une cohorte

par Alexandre Scherbyna,

Bonjour Pascal,

J’ai crée un nouveau cours et quand j’ajoutais/supprimais les cohortes une par une je les voyais apparu/disparu dans la liste déroulante une par une également. Quand j’ai supprimé toutes les cohortes la liste était vide.  Puis j’ai ajouté les étudiants en utilisant la méthode Manuel (aucune synchronisation de cohortes !), mais j’ai vu dans la liste déroulante les cohortes à qui appartiennent ces étudiants. Donc il me semble que le fonctionnement de notre Moodle est correcte et logique quand même. Ma conclusion : Dans la liste déroulante on ne voit que les cohortes des étudiants déjà inscris.

En réponse à Alexandre Scherbyna

Re: Création automatique de groupes à partir des membres d'une cohorte

par Pascal Maury,
Avatar Développeurs de plugins

Oui c'est ca, on arrive à ma même conclusion : Dans la liste déroulante on ne voit que (toutes) les cohortes des étudiants déjà inscrits.

Moi je suis pas que que ca soit parlant aux enseignants là comme ca.