insciption à un cours généralisé [une inscription inscrit l'utilisateur à tout les cours]

insciption à un cours généralisé [une inscription inscrit l'utilisateur à tout les cours]

par éléonore garnier,
Nombre de réponses : 8
Bonjour,

Je fait un stage en entreprise en Irlande et on m'a donné un projet sur Moodle (que je connais depuis peu du coup ^^). Le problème c'est que dans le cahier des charges il faut que lorsqu'un utilisateur s'inscrit à un cours cela l'inscrit à tout les cours contenus dans la plateforme (Il y a 10 cours, c'est fixe ! c'est déjà ca ... je n'ai pas forcément besoin d'un code général).

J'esaye de trouver les fichier php à changer (j'utilise la version 1.9.4), je pensais à /course/enrol.php mais je vois pas trop comment m'y prendre parsque je sais pas combien de référence à l'inscription d'un utilisateur à un cours il y a dans Moodle.

Du coup, je pensais plutôt développer moi même cette partie. Mais dans ce cas là j'ai besoins de supprimer l'inscription aux cours. Savez-vous comment je pourrais procéder ?

En espérant que quelqu'un soit plus éclairé que moi,
Eléonore Garnier
Moyenne des évaluations  -
En réponse à éléonore garnier

Re: insciption à un cours généralisé [une inscription inscrit l'utilisateur à tout les cours]

par Jérôme DEMIAUX,
Avatar Traducteurs
Il n'y a pas besoin de modifier le code de Moodle pour cela.
Recherche et étudie la doc sur les méta-cours.
En gros, pour ton cas, chaque cours doit être réglé en méta-cours héritant ses étudiants d'un seul cours "normal" qui lui reçoit les inscriptions.
Désolé de ne pas avoir plus de temps pour développer, mais tu vas trouver clin d’oeil

En réponse à Jérôme DEMIAUX

Re: insciption à un cours généralisé [une inscription inscrit l'utilisateur à tout les cours]

par éléonore garnier,
Non c'est déjà beaucoup comme réponse !! Cela m'évite des jours et des jours de développement (en comptant le temps pour essayer de comprendre le code ^^).

Merci beaucoup d'avoir pris ce laps de temps pour me répondre ! grand sourire

D'ailleurs j'ai trouvé ma réponse en 30 seconde :

http://docs.moodle.org/fr/M%C3%A9ta-cours


Merci beaucoup !!!!!! Sans rire ça fait une semaine que je planche dessus !!
En réponse à éléonore garnier

Re: insciption à un cours généralisé [une inscription inscrit l'utilisateur à tout les cours]

par Jérôme DEMIAUX,
Avatar Traducteurs
Je vois quand même deux limitations :
  1. la désinscription de tous les étudiants des futurs métacours.
  2. l'obligation d'inscription à un cours particulier (le référant) et non pas à n'importe quel cours ...
Il existe également quelques discussions intéressantes dans les forums (recherche sur métacours inscription) ...
En réponse à Jérôme DEMIAUX

Re: insciption à un cours généralisé [une inscription inscrit l'utilisateur à tout les cours]

par éléonore garnier,
Enfaite concernant l'obligation d'inscription au cours référant cela ne pose pas de problème vu que le but du site est de faire des cours progressifs. Par contre, concernant la désinscription de tout les étudiants, si le cours à un temps limite, normalement ils devraient s'effacer de la table naturellement non ?

Où alors je peux peut-être faire une requête à la fin d'une session pour effacer les inscription ?

Je m'explique, le but du site est de faire des sessions de cours progressifs, c'est a dire qu'il faut un minimum d'internaute inscrit sur le premier cours pour démarrer une session (= progression de cours en cours).

Se que je comptait faire c'est mettre tout les cours en durée illimité et rajouter un script php juste avant la vue des cours (course/view.php) qui gère les sessions et le nombres de personnes étant inscrit dans chacune d'elle. Une session doit durée 12 semaines, à terme elle sera détruite.

Avec mes quelques connaissances de Moodle je pense que c'est la meilleur façon de procéder, mais peut être que vous avez une idée plus ingénieuse ?
En réponse à éléonore garnier

Re: insciption à un cours généralisé [une inscription inscrit l'utilisateur à tout les cours]

par Fred Quay,
Bonjour Eléonore,

Pas d'automatisation du démarrage ou de la fin d'une session en fonction du nombre d'inscrits n'est prévue par Moodle standard.

Compte tenu que votre corpus de cours devra accueillir des groupes de personnes arrivant par session, voila ce que je vous propose de tester :

Architecture :
  • 1 méta-cours pour l'inscription dans le site/N cours pour les contenus.
  • Dans chaque cours, créer une structure de groupe par session, vide au démarrage de la nouvelle session, affecter un mot de passe au groupe.La personne est automatiquement affectée à son groupe de session par le mot de passe fourni. (je ne me souviens plus s'il faut paramétrer le cours à "accessible avec mot de passe").
  • Ensuite, par la fonction groupement, à partir de 1.9, sauf erreur, il devient possible d'affecter l'accès des ressources et/ou des activités aux seuls groupements déclarés (paramétrage au niveau des ressources et activités).
Fonctionnement :
  • Imaginons que seul un groupement nommé "session en cours" ait accès aux activités :seuls les groupes appartenant au groupement "session en cours" y accèderont. Lorsque votre nombre d'inscrits est atteint, vous déclarez le groupe dans le groupement "session en cours". Lorsque le groupe doit avoir terminé, vous l'excluez du groupement.
Bémol : la fonction groupe et groupement n'étant pas transversale aux cours jusqu'à Moodle 1.9, il faut en attendant Moodle 2.0, déclarer les groupement et les groupes dans chaque cours.

Intérêt essentiel de cette architecture : la sauvegarde de la mémoire du dispositif est assurée par les sauvegardes de cours, incluant les inscrits. les groupes assurent l'organisation des informations par session, sans duplication des cours.
En réponse à Fred Quay

Re: insciption à un cours généralisé [une inscription inscrit l'utilisateur à tout les cours]

par éléonore garnier,
Je pense essayer cette solution mais je sais pas trop à terme si c'est la bonne. Le site qu'on m'a donné à faire est une plateforme avec des administrateurs et des teachers multi-nationaux. Je sais pas si avec cette structure un peu complexe ils vont y arriver.

Je dis complexe car les personnes qui s'inscrivent peuvent être n'importe quel internaute de n'importe quel pays. Ils leurs faudra une organisation drastique pour que ça roule avec cette structure.

Si je change le code de Moodle standard j'imagine qu'a la prochaine mise à jours je peux dire adieux à mes changements non ? (ou alors je bloque les mises à jours mais c'est régresser l'évolution de Moodle)
En réponse à éléonore garnier

Re: insciption à un cours généralisé [une inscription inscrit l'utilisateur à tout les cours]

par Fred Quay,
Je partage votre avis sur l'écart entre la solution exploitant les fonctionnalités standardisées de Moodle et la complexité de l'organisation commanditaire.

"Si je change le code de Moodle standard j'imagine qu'a la prochaine mise à jour je peux dire adieu à mes changements non ? ": oui. Mais si vous n'excluez pas un développement dans votre démarche, et si vous en négociez les moyens, la procédure de MAJ peut être intégrée à votre projet, non ?

Contactez éventuellement Valéry Frémaux pour une aide à l'évaluation de votre projet.
En réponse à Jérôme DEMIAUX

Re: insciption à un cours généralisé [une inscription inscrit l'utilisateur à tout les cours]

par Étienne Rozé,
Bonjour,

Une autre méthode est de mettre tout les cours dans la même catégorie et d'attribuer le rôle étudiant au niveau de cette catégorie... non ?

Un peu hors sujet mais je me pose la question théorique suivante :
Je ne sais pas comment cette "solution" se combine avec les meta-cours. Je veux dire comment se comporte l'héritage d'étudiants dans ce cas là.
Soit un meta-cours cours A héritant d'un cours B.
B est dans la catégorie C. (A n'est pas dans C)
Est-ce que A récupère les étudiants attribué au niveau de C ?