Désinscrire par fichier plat (CSV)...

Re: Désinscrire par fichier plat (CSV)...

par Séverin Terrier,
Nombre de réponses : 7
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Bonjour,

Je dois avouer que j'ai un peu de mal à comprendre ; la solution de désinscription d’utilisateurs de leurs cours via fichier plat t'a été indiquée par Luiggi (et Nicolas), pourquoi ne pas l'utiliser ?

Des solutions existent, et ont été conçues pour cela, alors autant les utiliser sourire

Ce que tu utilises actuellement est prévu à la base pour créer des comptes utilisateurs ; certes la possibilité de les inscrire à des cours y a été ensuite intégrée, mais ce n'était pas le cas au départ...

Si tu ne veux pas utiliser l'existant, il reste la solution de payer un partenaire Moodle afin qu'il développe la fonctionnalité que tu envisages...

Le mode de fonctionnement que tu évoques, avec support de l'inscription et désinscription automatique lorsqu'un élément n'existe plus est le mode de fonctionnement de l'inscription par base de données. Mais c'est encore un autre fonctionnement, avec ses avantages et inconvénients.

Séverin

En réponse à Séverin Terrier

Re: Désinscrire par fichier plat (CSV)...

par Mickaël BARDUB,
Bonjour Séverin,

La raison pour laquelle je souhaite continuer la méthode d'importation par fichier plat depuis le module "importation des utilisateurs" de Moodle c'est parce que l'équipe qui s'occupe de gérer les utilisateurs de notre plateforme Moodle à l'habitude de la syntaxe de ce fichier. Aussi, cette méthode permet beaucoup plus d'options (https://docs.moodle.org/3x/fr/Importer_des_utilisateurs#Champs_possibles) que la méthode de fichier plat lié au cours. Cela implique aussi moins de manipulations si l'on dois gérer 1 seul fichier plat au lieu de 2 !
Le but de mon post était simplement de savoir s'il existait une option permettant la désinscription depuis le fichier plat utilisé par le module "importation d'utilisateurs". Si cette option existe...tant mieux...si elle n'existe pas alors on recherche d'autres solutions. Cela ne me pose aucun problème de mandater un partenaire Moodle pour développer une fonctionnalité si cela est nécessaire...je l'ai déjà fait pour d'autres solutions.
Cependant, avant de réinventer la roue, je cherche une réponse claire à ma question et pour l'instant, personne ne m'a indiqué clairement que ce n'était pas possible depuis la méthode d'inscription que j'utilise !

Aussi, je peux maintenant déduire au vu des réponses que j'ai obtenu et des 1 ou 2 posts que j'ai vu sur le forum que cela semble ne pas être possible avec la méthode fichier plat du module "Importation d'utilisateurs".
Je pense alors que vais plutôt utiliser l'option "enrolperiod1" qui permet de préciser un nombre de jours d'inscription et qui pourrait donc convenir au cours que l'on donne.

Merci en tout cas pour toutes vos réponses
Excellente journée
À bientôt
En réponse à Séverin Terrier

Re: Désinscrire par fichier plat (CSV)...

par Bruno Malaval,
Avatar Moodleurs particulièrement utiles

Bonjour,

Comme indiqué dans les précédents posts, la méthode que vous souhaitez utiliser ne fonctionnera pas.
Ce n'est pas prévu dans le fonctionnement de Moodle.

Il faudrait donc réfléchir à un autre process pour la gestion des comptes.
Il existe un certains nombre d'outils pour le faire.

L'utilisation du fichier plat CSV (http://<adresse-du-moodle/admin/settings.php?section=enrolsettingsflatfile) concerne tous les cours, vous n'avez pas besoin de l'activer comme méthode d'inscription pour chaque cours.

Vous pouvez générer le fichier, le déposer sur le serveur à l'emplacement indiqué, manuellement ou par ftp.
Il sera traité par le cron automatiquement.

Il sera bon à mon de travailler le process en amont, à savoir :

  • Quelle est la source de vos utilisateurs ? BDD / LDAP / fichier excel / .... ?
  • Quelle est la source des inscriptions ?
  • Séparer les 2 traitements : création de comptes / inscriptions aux cours
    voire création + inscription initiale à 1 ou plusieurs cours / Inscriptions aux autres cours
  • Automatisation par : scripts / moosh / fonctions internes à Moodle / plugins / ....

J'ai l'impression que vous gérer tout "à la main" à partir d'un fichier csv. C'est jouable sur une petite plateforme,
cela devient vite chronophage et complexe si le nombre de cours et d'utilisateurs augmente.

Trouver une méthode pour organiser / automatiser ces process avec les outils disponibles vous prendra un peu de temps.
Mais une fois cela fait, vous en gagnerez certainement plus.

Bruno

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

Re: Désinscrire par fichier plat (CSV)...

par Mickaël BARDUB,
Bonjour Bruno,
Merci pour votre réponse.

Effectivement notre centre de formation inscrit entre 20 et 30 utilisateurs par semaine et nous avons actuellement une trentaine de cours en ligne.
Pour les inscriptions des utilisateurs sur la plateforme et leur affectation aux différents cours auxquels ils ont droits, nous utilisons un fichier plat (CSV) avec le module "importation d'utilisateurs". A chaque nouvelle session de cours, nous créons un nouveau fichier CSV.

Voici un exemple de syntaxe pour ce fichier:
<code>
username,firstname,lastname,email,cohort1,course1,cohort2,course2
</code>

- Les nouveaux utilisateurs sont créés et inscrits aux différentes cohortes liées aux cours. Ils reçoivent un e-mail qui les informe de leur inscription à notre plateforme avec leur identifiant dedans.
- Les utilisateurs existants se voient inscrits aux nouvelles cohortes qui leur ont été attribuées.

Le système fonctionne bien depuis la mise en place de la plateforme (pratiquement 1 an maintenant).
Nous n'avons pas eu jusqu’à présent l'utilité de supprimer des utilisateurs de cohorte.

La seule difficulté que nous avons eu récemment est liée à un nouveau cours qui a un fonctionnement particulier. En effet, ce cours a la particularité (grâce au plugin "Date") que ses ressources soient débloquées en fonction d'une date et d'une heure et cela jusqu'à la fin de la session.
Cela implique que les utilisateurs y soient temporairement inscrit le temps de leur session (qui durent plusieurs jours) et ensuite que ces utilisateurs soient désinscrits et inscrits dans une copie du cours (où là...les ressources sont toutes débloquées afin de permettre aux utilisateurs de visualiser l'intégralité du cours après leur formation).
La copie du cours utilise la synchronisation de cohorte comme méthode d'inscription...les utilisateurs doivent donc intégrer la cohorte liée a ce cours afin de pouvoir y accéder.

C'est pour cette raison que je souhaitais que cette manipulation soient faite automatiquement via ce fichier plat (CSV).

1) Dans un premier temps on crée le CSV et on l'injecte sur la plateforme afin de créer les utilisateurs dans le système et les inscrire au cours temporaire (celui avec les ressources qui se débloquent au fil des jours) --> cette procédure fonctionne complètement.
2) Dans un deuxième temps on re-modifie et réinjecte le CSV pour inscrire les utilisateurs à la cohorte de l'autre cours (celui avec toutes les ressources accessibles) ...et enlever leur inscription au cours temporaire --> cette procédure fonctionne partiellement car les utilisateurs ne sont pas automatiquement désinscrit du cours temporaire.

Mon idée maintenant pour continuer à utiliser notre méthode d'inscription actuelle c'est d'utiliser l'option "enrolperiod1" qui permettra de limiter l'inscription au cours temporaire à un nombre de jour.

Voilà, je ne sais pas si c'est la meilleure méthode pour gérer notre plateforme actuelle mais c'est la moins contraignante que j'ai trouvé qui correspond à nos besoins.

Merci encore pour tous vos commentaires...on apprend toujours dans l'échange ;)
En réponse à Mickaël BARDUB

Re: Désinscrire par fichier plat (CSV)...

par Bruno Malaval,
Avatar Moodleurs particulièrement utiles
Effectivement, la problématique n'est pas simple.
C'est inhérent à votre mode de fonctionnement, que je ne critique pas, je comprends votre besoin.

Tout tourne autour de la gestion de vos utilisateurs en amont de la plateforme Moodle.

Peut-être juste encore une piste possible, qui pourrait alléger ces traitements:
Utiliser la fonction "Membres de cohorte selon les champs de profil"
( Administration du site / Utilisateurs / Comptes / Membres de cohorte selon les champs de profil )

Je l'ai juste un peu testée, mais nos cohortes étant principalement basées sur un annuaire LDAP, je n'ai pas poussé plus.

Attention, il y a tout un travail préparatoire à faire, à savoir :
  • Définir 1 ou plusieurs champs personnalisés qui permettront d'inscrire les utilisateurs dans les cohortes
  • Définir les cohortes et les inscrire dans les cours
  • Définir les règles d'appartenance aux cohortes
Ensuite, le principe serait le suivant :
  • Pour désinscrire / réinscrire les utilisateurs, il faut modifier la valeur de ces champs personnalisés dans le fichier csv
  • Importer le fichier en précisant que vous ajouter les nouveaux utilisateurs et ou modifier les utilisateurs existants
Les utilisateurs changeront automatiquement de cohortes, et donc leurs inscriptions aussi.
Cela ne fonctionnera pas avec les inscriptions manuelles bien sur

Mais !! ATTENTION !! avec cette méthode :
A partir du moment où vous demander à gérer une cohorte selon les champs de profil,
vous ne pouvez plus la gérer manuellement.
Autrement dit, il faut absolument remplir les champs personnalisés avant d'appliquer cette méthode à votre cohorte et définir les règles d'appartenance.
Sinon vous vider complètement la cohorte du fait qu'aucun utilisateur ne correspond à la règle.

Cela peut être une piste intéressante, mais à tester et valider avant toute mise en production

Bruno


En réponse à Bruno Malaval

Re: Désinscrire par fichier plat (CSV)...

par Christian Bocquet,
Avatar Moodleurs particulièrement utiles

Bonjour Bruno,

Pour utiliser la fonction "Membres de cohorte selon les champs de profil"
( Administration du site / Utilisateurs / Comptes / Membres de cohorte selon les champs de profil ), je suppose que cela peut se faire en installant le plugin local_profilecohort ?

Christian

En réponse à Christian Bocquet

Re: Désinscrire par fichier plat (CSV)...

par Bruno Malaval,
Avatar Moodleurs particulièrement utiles
Bonjour Christian,

oui, pardon j'ai oublié de le signaler dans le post.
C'est bien par le plugin en question.

Merci

Bruno
En réponse à Bruno Malaval

Re: Désinscrire par fichier plat (CSV)...

par Mickaël BARDUB,
Bonjour Bruno et Christian,

Merci pour vos réponses très intéressantes.
Je vais étudier tout cela et voir ce qui est le mieux adapté à nos besoins.

Bonne journée