Importer des utilisateurs

Remarque : cet article est en cours de rédaction. N'hésitez pas à le compléter. Veuillez utiliser la page de discussion ou un forum adéquat de Moodle en français pour vos recommandations et suggestions d'améliorations.


Un administrateur peut importer un ensemble de comptes à partir d'un fichier plat dans le menu Administration > Administration du site > Utilisateurs > Comptes > Importer des utilisateurs.

Cette méthode fournit des possibilités robustes pour mettre à jour le profil et le statut des utilisateurs (champs de données associés) : il sera possible de modifier les valeurs du profil des utilisateurs, mais aussi de les inscrire à des cours ou de les supprimer de la plate-forme.

Avec la fonction glisser-déposer de fichiers, vous pourrez tirer un fichier depuis votre bureau directement pour traitement par Moodle, comme montré dans le screencast Glisser déposer des utilisateurs dans Moodle 2.3 (par Mary Cooch).

Astuce : Dans une situation normale d’exploitation de Moodle, cette fonctionnalité d'import sera peu utilisée. Pour diminuer le poids et le coût de tâches de maintenance de données, il est fortement conseillé d'explorer les procédés automatisés de synchronisation de comptes, tels que l'authentification via base de données externe, ou via annuaire LDAP, ou encore laisser à vos apprenants le soin de créer leur profil.

Écran de démarrage de l'importation d'utilisateurs

Procédé d'importation des utilisateurs

Voici en gros la procédure d’importation :

  1. Créez le fichier de définition des utilisateurs
  2. Allez dans Administration > Administration du site > Utilisateurs > Comptes > Importer des utilisateurs
  3. Ajoutez le fichier et validez le téléchargement
  4. Prévisualisez le résultat - Moodle vérifie l'intégrité des champs et vérifie les champs par défaut du profil
  5. Déclenchez l'importation - cliquez "Importer"
  6. Résultat de l'importation - Moodle montre la liste des utilisateurs créés, les exceptions ignorées (erreurs, doublons) et le nombre d'utilisateurs créés
  7. Cliquez sur "Continuer"
  8. Moodle revient à l'écran d'import

Updating users preview

There are settings for the kind of Upload user function you want to perform on the "Upload users preview" page.

Fichier:Upload users preview 2.0.JPG
Upload users preview in Moodle 2.x

Mise à jour d'utilisateurs existants

Moodle, par défaut, crée les nouveaux utilisateurs et ignore les utilisateurs dont le champ
username
correspond à un utilisateur déjà enregistré. Modifiez le type d'import à la valeur Ajouter et mettre à jour les utilisateurs existants, pour que les utilisateurs existants soient rafraîchis avec les données du fichier.

Voici les options possibles :

  • Ajouter systématiquement, indicer l'identifiant si nécessaire
  • Créer les nouveaux utilisateurs et mettre à jour les utilisateurs existants
  • Seulement mettre à jour les utilisateurs existants

Avertissement : Des erreurs commises dans le fichier lors de la mise à jour peuvent affecter de nombreux utilisateurs d'un coup. Nous vous recommandons la plus grande prudence lors des opérations qui peuvent affecter massivement des utilisateurs en service.

Options supplémentaires

La configuration de l'importation permet certaines options de traitement comme obliger les utilisateurs importés à modifier leur mot de passe à la première connexion, ou avoir leur identifiant changé, ou être supprimés (au lieu d'ajoutés), L'importation peut également être réglée pour détecter des doublons d'adresse de courriel, peut proposer une standardisation de la génération des identifiants et enfin présélectionner des utilisateurs traités (créés, modifiés, les deux) pour une opération de groupe à suivre.

  • Standardisation des identifiants - Si actif, le champ "username" du fichier sera filtré des caractères illégaux et forcé en minuscules. Ceci est à peu près équivalent à :
 $username = preg_replace('/[^-\.@_a-z0-9]/', , $username);

Valeurs par défaut

Pour certains champs que vous n'avez pas renseignés dans le fichier d'importation, Moodle vous demandera des valeurs par défaut à appliquer à tous les utilisateurs traités.

Résultat de l'importation des utilisateurs

Après avoir accepté les paramètres de prévisualisation en cliquant sur "Upload users" (importer les utilisateurs), vous devriez voir l'écran affichant le résultat de l'importation des utilisateurs.

Le résultat final !!

Cet écran vous montrera toutes les exceptions ou tous les changements apportés à chaque utilisateur dans le processus d'importation. Par exemple, si vous mettiez à jour des données utilisateur, les données mises à jour seront indiquées. Si un utilisateur n'a pas été ajouté, ses données seront mises en évidence. L'écran affichera le détail de combien d'utilisateurs ont été importés ou mis à jours, ainsi que le nombre de mots de passe faibles et le nombre d'erreurs.

Format du fichier pour l'importation

Le fichier d'importation est un fichier texte de préférence codé en UTF-8 (c'est le cas pour des fichiers obtenus à partir d'Excel >= 2013). Les champs sont séparés par des virgules, deux points ou point-virgule. La première ligne du fichier doit impérativement contenir la liste des champs à choisir parmi les champs "légitimes", définissant ainsi le nombre de colonnes de chaque ligne suivante. Le reste du fichier contient les données de chaque utilisateur à importer.

Astuce : évitez tout caractère spécial dans les données tels que guillemets, double-quotes etc. Testez l'importation sur un fichier avec un seul utilisateur avant de lancer une importation plus massive. Rappelez vous qu'il existe de nombreuses autres méthodes plus automatisées d'alimentation en comptes et en inscriptions.

Astuce : vous pouvez utilisez un logiciel tableur (Microsoft Excel ou LibreOffice) pour gérer les lignes de votre fichier. Enregistrez alors le fichier au format "CSV (délimiteur ;)". Vous pourrez aussi ouvrir le fichier avec un simple éditeur de texte pour vérifier le format.

Exemple de fichier valide pour tester l'importation

Voici ci-dessous un petit fichier test qui donne un exemple d'une forme valide :

username,password,firstname,lastname,email,course1,group1,cohort1<br />
jonest,verysecret,Tom,Jones,jonest@someplace.edu,math102,Section 1,year 3<br />
reznort,somesecret,Trent,Reznor,reznort@someplace.edu,math102,Section 3,year 4

Champs possibles

Conseil : nous vous recommandons fortement de tester votre fichier sur une plate-forme de test afin de valider la liste des colonnes que vous vous proposez d'utiliser. Moodle met à disposition un site d'essai : http://demo.moodle.net

  • Champs obligatoires:

username,firstname,lastname,email
Des tests de validité sont effectués pour :
  • username
    peut uniquement contenir des caractères alphabétiques minuscules, chiffres, tiret '-', souligné '_', point '.', ou l'arobace '@'
  • email
    doit être d'un format d'adresse valide : name@example.com .

  • Champ de mot de passe (password) : le mot de passe est facultatif si la case "Créer le mot de passe si nécessaire" est cochée (par défaut).
    • Si le mot de passe figure dans le fichier, alors sa forme devra se conformer aux règles du site pour les mots de passe. Pour forcer des utilisateurs à modifier leur mot de passe à la première connexion, la valeur du champ de mot de passe doit être littéralement
      changeme
      .
    • Si le champ n'est pas fourni dans le fichier, un mot de passe sera généré automatiquement pour chaque utilisateur (pendant la passe ultérieure du cron) et un courriel est envoyé automatiquement aux utilisateurs.
    • Note : le texte du message de bienvenue est écrit dans les fichiers de langue et peut être modifié via la personnalisation de la langue. Référez vous à la discussion suivante (en anglais) pour plus de détails.
  • Champ facultatifs : pour alimenter les données de profil outre les champs par défaut, vous pouvez utiliser les champs suivants :

institution,department,city,country,lang,auth,timezone,idnumber,icq,phone1,phone2,address,url,description,mailformat,maildisplay,htmleditor,autosubscribe

  • Pays (country) - utilise un code pays A DEUX LETTRES MAJUSCULES (FR, CH, NZ, UK)
  • Certains champs ont une longueur maximale (l’institution par exemple ne peut dépasser 40 caractères). Voir les conseils ci-après.
  • Maildisplay, htmleditor et autosubscribe peuvent être définis depuis l'interface d'importation.
  • Champs du profil personnalisés : (Optionnel). Si xxxxx est le nom court du champ de profil personnalisé :

profile_field_xxxxx

Il est nécessaire de créer le champ de profil personnalisé AVANT d'importer le fichier. Les noms courts des champs personnalisés DOIVENT NE COMPORTER QUE des minuscules pour pouvoir être importés via le fichier plat.
Exemple : pour utiliser un champ "genre", vous devez créer un champ de nom court "genre" et ajouter une colonne "profile_field_genre" dans votre fichier d'import .csv.
Pour les champs personnalisés qui sont des menus, utilisez la valeur correspondante (à partir de Moodle 2.3)
Exemple: Un champ personnalisé "Département" comprenant une des trois valeurs "Ressources humaines", "Marketing" ou "Formation", insérez simplement une de ces trois expressions (p.ex. "Formation") comme valeur pour ce champ.
  • Champs spéciaux : utilisés pour modifier l'identifiant d'un utilisateur ou pour supprimer les utilisateurs

oldusername
,
deleted

  • Champs d'inscription : (Optionnel)
course1,type1,role1,group1,enrolperiod1,course2,type2,role2,group2,enrolperiod2
etc.
  • course
    est le nom court "shortname" du cours. Si un tel cours existe, l'utilisateur y sera inscrit.
  • type
    se réfère au rôle à associer à l'inscription. 1 vaut pour le rôle par défaut dans le cours, 2 pour le rôle d'enseignant standard et 3 pour le rôle d'enseignant non éditeur standard.
  • Vous pouvez utiliser le champ "rôle" afin de spécifier les rôle directement - Utilisez soit le nom court soit l'ID du rôle (les noms de rôles numériques ne sont pas acceptés)
  • Les utilisateurs peuvent aussi être assignés à des groupes dans des cours (groupe1 dans cours1, groupe2 dans cours2, etc.)
  • Un groupe est identifié par son nom ou son ID (les noms de groupes numériques ne sont pas acceptés)
  • Vous pouvez préciser la durée d'inscription, en jours, pour chaque cours (
    enrolperiod1
    pour
    course1
    ,
    enrolperiod2
    pour
    course2
    , etc.)
  • Champ de cohorte: (Optional):
cohort1
Il faut utiliser les identifiants numériques internes ou les identifiants non-numériques de cohortes existantes. Les noms ne sont pas autorisés.
  • mnethostid (Optional)

Des MNetusers existants peuvent être ajoutés à des cours, des groupes ou des cohortes, comme indiqué ci-dessous :

  1. inscription à un cours: username+mnethostid+course requis
  2. ajouter à un groupe: username+mnethostid+course+group requis
  3. ajouter à une cohorte : username+mnethostid+cohort requis
  4. suspendre ou réactiver un compte: username+mnethostid+suspended requis

Toute autre opération sera ignorée. Vous ne pouvez pas ajouter d'utilisateur, les supprimer ou les mettre à jour (comme changer de noms ou d'adresse de courriel, de champs de profil, etc.)

Une virgule dans un champ doit être encodée &#44. Le script la décodera comme une virgule.

Pour les champs booléens, utilisez
0
pour faux et
1
pour vrai.

Pour éviter que les utilisateurs ne reçoivent un grand nombre de courriels de cours ou de forums à inscription forcée, utiliser le "maildigest" (synthèse des courriels). Les options pour ce champ sont 0 = pas de synthèse, 1 = synthèse complète et 2 = synthèse limitée aux sujets.

Fonctionnalités avancées de l'importation d'utilisateurs

Supprimer des comptes

Si le
deleted
est présent, les utilisateurs pour lesquels la valeur est 1 seront supprimés. Dans ce cas, tous les champs peuvent être omis, excepté
username
. Après avoir chargé le fichier, n'oubliez pas de changer "Mode de création" pour "Modifier les utilisateurs existant seulement" et d'indiquer "Oui" pour l'option "Autoriser les suppressions".
Astuce : un champ similaire est disponible pour
suspended
. Ceci permet de suspendre temporairement un compte utilisateur plutôt que de le supprimer complètement.

On peut supprimer et importer un compte avec un seul fichier CSV. Par exemple, le fichier suivant ajoutera l'utilisateur Tom Jones et supprimera l'utilisateur reznort.

username,firstname,lastname,deleted<br />
jonest,Tom,Jones,0<br />
reznort,,,1

Encodage des formats de fichier

Sur l'écran d'Importation d'utilisateurs, vous pouvez choisir le format d'encodage de fichier dans une liste déroulante. Ceci inclut UTF-8 (par défaut), ASCII, ISO-8859-1 à ISO-8859-11, pour un total de 36 formats différents.

Astuces

Tableur

Si vous utilisez un tableur comme Excel pour créer votre fichier .csv, vérifiez le résultat dans un éditeur de texte avant de l'importer. Il est possible d'obtenir des virgules en fin de ligne sur chaque ligne à partir d'un champ vide si vous avez ajouté et supprimé des colonnes d'informations avant d'enregistrer le fichier final. Vérifiez également l'encodage de caractères. Un fichier CSV est un simple fichier texte (ASCII ou Unicode) qui peut être utilisé pour télécharger des comptes d'utilisateurs.

Excel traduit les mots de passe qui commencent par - (moins) ou + (plus) par zéro. Même lors de l'enregistrement au format .csv et en cliquant "Oui" pour "Voulez-vous continuer à utiliser ce format ?" Vérifiez ceci avant d'importer, car un zéro arrête le processus de téléchargement.

Si vous utilisez une formule dans Excel pour créer des champs (par exemple, la fonction de concaténation pour créer un nom d'utilisateur), alors souvenez-vous de copier les cellules avec la formule et utiliser "collage spécial" avec des valeurs vérifiées pour en faire un ensemble de données valides pour un fichier CSV.

Le téléchargement échouera également si vous avez des espaces de fin à la fin de vos champs de données. Souvent,ceux-ci ne peuvent pas être supprimé avec une recherche simple " " et remplacer par "". Si l'information a été copié à partir de sources Web, alors il est possible qu'elle contienne des espaces insécables qui empêcheront votre importation de s'effectuer correctement. Pour trouver ces espaces invisibles, utilisez la fonction Rechercher et remplacer dans Excel. Dans le champ de recherche, maintenez la touche Alt et tapez 0160. Laissez le champs remplacé vide.

Pays

Le pays devrait être indiqué par un code à deux lettres, en majuscules. Par exemple, BE pour la Belgique, NL pour les Pays-Bas. Utiliser "be" ou "nl" comme code de pays aura pour conséquence une erreur de base de donnée.

"Astuce" si vous avez des difficulté à trouver le bon code de pays, vous pouvez consulter la liste country names and code elements sur le site de l'ISO. Une erreur fréquente est d'utiliser UK pour le Royaume Uni (United Kingdom), alors que le code officiel et GB.

Limites de taille des champs

Certains champs ont une taille limitée en caractères. Si celle-ci est dépassée, le fichier va se bien charger en prévisualisation mais le processus d'importation ne sera pas terminé. Activez le débogage pour voir les champs qui sont trop longs. Les champs qui posent fréquemment problème sont "Institution", limité à 40 caractères, et "Ville", limité à 20. Le message d'erreur sera "User not added -error" (utilisateur non ajouté - erreur).

Liste des champs admis

Tous les champs valides sont listés ci-dessous, à l'exception de champs personnalisés que vous pourriez créer.

firstname, lastname, username, email, city, country, lang, timezone, mailformat, maildisplay, maildigest, htmleditor, ajax, autosubscribe ,institution, department, idnumber, skype , msn, aim, yahoo, icq, phone1, phone2, address, url, description, descriptionformat, password, auth, oldusername , deleted, suspended, course1, course2, course3, course4

Voir aussi

Using Moodle forum discussions: