Etudiants sans connexion depuis plusieurs jours

Etudiants sans connexion depuis plusieurs jours

par Nicolas Thorel,
Nombre de réponses : 4
Avatar Développeurs de plugins

Bonsoir à tous,

Dans notre contexte actuel, je cherche un moyen simple sur une categorie contenant beaucoup de cours de connaitre :

  • soit le nombre où le % / cours 
  • soit une liste avec les mails / cours 

d'étudiants qui ne se seraient pas connectés à l'ensemble de ses cours depuis le 16 mars (par exemple).

J'ai bien pensé au plugin block_configurable_reports, mais encore faut-il une requête SQL qui va bien ?

Cette page donne pas mal de requête, mais rien répondant à mon besoin.

Quelqu'un aurait-il une requête "adapatable" ou une autre idée ?

D'avance merci et portez-vous bien clin d’œil

NT
Moyenne des évaluations  -
En réponse à Nicolas Thorel

Re: Etudiants sans connexion depuis plusieurs jours

par Christian Bocquet,
Avatar Moodleurs particulièrement utiles

Bonsoir,

... ou une autre idée ?

Utiliser les "Actions en lots sur les utilisateurs" avec les filtres :


Christian


Moyenne des évaluations Utile (3)
En réponse à Christian Bocquet

Re: Etudiants sans connexion depuis plusieurs jours

par Nicolas Thorel,
Avatar Développeurs de plugins
Merci Christian, c'est déja une première réponse qui me convient afin de récupérer un nombre global.
Maintenant, j'aimerais bien recupérer une liste avec mail par cours
Bonne journée
En réponse à Nicolas Thorel

Re: Etudiants sans connexion depuis plusieurs jours

par Christian Bocquet,
Avatar Moodleurs particulièrement utiles

Bonjour,

A partir de la requête proposée ici par Mariano, je vous propose de tester celle-ci que vous pourrez adapter à votre souhait (vous n'avez peut-être pas besoin de tous les champs) :

SELECT u.username AS "Nom d'utilisateur"
      ,rn.shortname AS "Role"
      ,c.fullname AS "Nom complet du Cours"
      ,u.lastname AS Nom
      ,u.firstname AS Prénom
      ,u.email AS Courriel
      ,c.category AS "ID de la catégorie"
      ,c.id AS "ID du cours"
      ,c.shortname AS "Nom abrégé du cours"

FROM {role_assignments} AS r
   JOIN {user} AS u on r.userid = u.id
   JOIN {role} AS rn on r.roleid = rn.id
   JOIN {context} AS ctx on r.contextid = ctx.id
   JOIN {course} AS c on ctx.instanceid = c.id
   JOIN {user_lastaccess} AS ul ON ul.courseid = c.id AND ul.userid = u.id

WHERE
    ( rn.shortname = 'student' AND ul.timeaccess < 1584349976)

Commentaires:

  • J'ai mis le timestamp '1584349976' qui correspond à une heure du 16/03/2020.
  • Si vous pouvez utiliser le plugin "Rapports personnalisés", vous pourrez remplacer cette valeur fixée par un paramètre de date, La dernière ligne s'écrira alors :
     ( rn.shortname = 'student' AND ul.timeaccess < :parameter_date)
Christian
Moodle version 3.8.2


En réponse à Christian Bocquet

Re: Etudiants sans connexion depuis plusieurs jours

par Séverin Terrier,
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Bonjour,

Pour spécifier facilement la date, il est possible (avec MySQL/MariaDB) de remplacer la valeur 1584349976 par UNIX_TIMESTAMP ('2020-03-16') sourire

Séverin
Moyenne des évaluations Utile (1)