Bonjour,
Une nouvelle année académique commençant, j'ai effacé tous les comptes étudiants manuellement avec des actions par lot.
J'ai effacé la table MySQL qui servait d'authentification externe.
J'ai recréé ma table et importer les nouvelles données pour les nouveaux comptes.
Je réactive l'authentification par base de données externes et je teste.
Je tape l'identifiant et le mot de passe et je tombe sur la page de profil me demandant de bien vouloir fournir des informations supplémentaires (aucun des champs liés vers ma table MySQL ne contient les données...). Soit, je remplis le tout et clique sur 'enregistrer'. Et alors je me retrouves avec le message suivant :
Failed to update user data on external auth: db. See the server logs for more details.
J'y comprends rien, cette méthode avait très bien fonctionné l'année dernière (mais alors Moodle était tout vierge, c'était la première année d'utilisation).
Première question : où sont ces log ?
Deuxième question : où peut se situer le problème ?
Car là un étudiant sais se loguer, mais il n'a aucune information dans son profil. En dehors du compte utilisateur et du mot de passe, rien n'est recopié de la base de données externe vers Moodle...
Et ces comptes seront distribués à partir de demain :/
Merci pour votre aide
En réponse à Andrée-Anne Dostie
Re: Authentification sur base données externe MySQL
par Andrée-Anne Dostie,
J'ai oubliée de spécifier, je suis en Moodle 1.9.3+
En réponse à Andrée-Anne Dostie
Re: Authentification sur base données externe MySQL
par Andrée-Anne Dostie,
Bonjour,
J'ai cherché toute la journée d'hier et je ne trouves toujours pas mon problème.
J'ai activé le mode déboguage et les log php, mais je ne vois rien du tout dans les logs...
J'ai recréé une nouvelle BDD MySQL, une nouvelle Table, réimporter les données (.csv) dans ma table MySQL, reconfiguré les paramètres dans Moodle...
et toujours pareils...
sais plus quoi faire
Sinon, est-il possible d'importer des comptes en interne grâce à un fichier plat mais de ne pas permettre le changement de mot de passe...
Car, pour des raisons techniques liés à d'autres utilisation de cet identifiant, il ne faut pas que le mot de passe puisse être modifié...
J'ai cherché toute la journée d'hier et je ne trouves toujours pas mon problème.
J'ai activé le mode déboguage et les log php, mais je ne vois rien du tout dans les logs...
J'ai recréé une nouvelle BDD MySQL, une nouvelle Table, réimporter les données (.csv) dans ma table MySQL, reconfiguré les paramètres dans Moodle...
et toujours pareils...
sais plus quoi faire
Sinon, est-il possible d'importer des comptes en interne grâce à un fichier plat mais de ne pas permettre le changement de mot de passe...
Car, pour des raisons techniques liés à d'autres utilisation de cet identifiant, il ne faut pas que le mot de passe puisse être modifié...
En réponse à Andrée-Anne Dostie
Re: Authentification sur base données externe MySQL
par Séverin Terrier,
Oui, il est tout à fait possible d'utiliser un fichier plat, afin de créer les comptes
Je te laisse chercher dans la documentation, l'aide en ligne de Moodle, et les discussions existantes à ce propos sur ce forum
Je te laisse chercher dans la documentation, l'aide en ligne de Moodle, et les discussions existantes à ce propos sur ce forum
En réponse à Andrée-Anne Dostie
Re: Authentification sur base données externe MySQL
par Séverin Terrier,
Bonjour,
il semblerait que Moodle soit paramétré pour mettre à jour les données des utilisateurs dans la base de données externe, et que ce soit cette opération qui ne fonctionne pas...
Est-ce bien le comportement souhaité ?
il semblerait que Moodle soit paramétré pour mettre à jour les données des utilisateurs dans la base de données externe, et que ce soit cette opération qui ne fonctionne pas...
Est-ce bien le comportement souhaité ?
En réponse à Séverin Terrier
Re: Authentification sur base données externe MySQL
par Andrée-Anne Dostie,
Bonjour,
Non ce n'est pas le comportement souhaité (bien que j'ai donnée les droits à Moodle de le faire et que j'ai toujours l'erreur).
Voici mon paramétrage :
Il me semble pas demandé de toucher à la BDD externe.
Je veux juste de recopier en interne ce qui se trouve dans la BDD externe.
Ca à marché sans problème l'année dernière, mais alors les BDD de Moodles étaients vierge. Là j'ai effacé manuellement (action par lot) les anciens comptes, puis reconfigurer les paramètres comme ci-dessous... et ça ne veut plus marcher :/
Non ce n'est pas le comportement souhaité (bien que j'ai donnée les droits à Moodle de le faire et que j'ai toujours l'erreur).
Voici mon paramétrage :
Il me semble pas demandé de toucher à la BDD externe.
Je veux juste de recopier en interne ce qui se trouve dans la BDD externe.
Ca à marché sans problème l'année dernière, mais alors les BDD de Moodles étaients vierge. Là j'ai effacé manuellement (action par lot) les anciens comptes, puis reconfigurer les paramètres comme ci-dessous... et ça ne veut plus marcher :/
Serveur | localhost |
Base de données | Mysql |
Utiliser le mode Sybase pour les apostrophes | non |
Nom BDD | comptes2009 |
Utilisateur BDD | *** |
Mot de passe | *** |
Table | Comptes_etudiants |
Champ nom d'utilisateur | Compte |
Champ mot de passe | Pass |
Format du mot de passe | Texte en clair |
Encodage de la base de données externe | latin1 |
Commande pour configuration SQL | |
Débogage ADOdb | non |
URL pour changement de mot de passe | |
Script cron de synchronisation | |
Utilisateur externe supprimé | Supprimer complètement l'utilisateur interne |
Appariement des données | |
Prénom | Prenom |
A la création | |
Jamais | |
Déverrouillé | |
Nom | Nom |
A la création | |
Jamais | |
Déverrouillé | |
Adresse de courriel | |
A la création | |
Jamais | |
Déverrouillé | |
Ville | |
A la création | |
Jamais | |
Déverrouillé | |
Pays | |
A la création | |
Jamais | |
Déverrouillé | |
Langue | |
A la création | |
Jamais | |
Déverrouillé | |
Description | Option |
A la création | |
Jamais | |
Déverrouillé | |
Page Web | |
A la création | |
Jamais | |
Déverrouillé | |
Numéro d'identification | |
A la création | |
Jamais | |
Déverrouillé | |
Institution | Categorie |
A la création | |
Jamais | |
Déverrouillé | |
Département | Section |
A la création | |
Jamais | |
Déverrouillé | |
Téléphone 1 | |
A la création | |
Jamais | |
Déverrouillé | |
Téléphone 2 | |
A la création | |
Jamais | |
Déverrouillé | |
Adresse | |
A la création | |
Jamais | |
Déverrouillé |
En réponse à Andrée-Anne Dostie
Re: Authentification sur base données externe MySQL
par Andrée-Anne Dostie,
Petit avancement...
J'ai retesté avec mon ancien fichier .csv... et ça marche nickel...
Donc je supute un problème d'encodage...
Mon ancien fichier .csv importé dans MySQL était créé grâce à une macro Excell et était donc en encodage latin1
Mon nouveau fichier .csv est exporté à partir de Access...
Je lui dit de codé en UTF-8... je met UTF-8 comme encodage dans Moodle...
Mais ça de marche pas...
Je continu à chercher...
J'ai retesté avec mon ancien fichier .csv... et ça marche nickel...
Donc je supute un problème d'encodage...
Mon ancien fichier .csv importé dans MySQL était créé grâce à une macro Excell et était donc en encodage latin1
Mon nouveau fichier .csv est exporté à partir de Access...
Je lui dit de codé en UTF-8... je met UTF-8 comme encodage dans Moodle...
Mais ça de marche pas...
Je continu à chercher...
En réponse à Andrée-Anne Dostie
Re: Authentification sur base données externe MySQL
par Andrée-Anne Dostie,
Bon...
Mon problème viens visiblement de Access... :/
J'ai créé une BDD MySQL 'Comptes2009'
J'y aie créé une première table 'Comptes_test' où j'ai importé mes comptes de l'année dernières en .CSV (fichier .csv créé grâce à une macro excel).
J'y aie créé une deuxième table 'Comptes_user' où j'ai importé mes comptes de cette année en .csv (fichier .csv créé grâce à la fonction export de Access 2002).
Lorsque je lis Moodle à la table Comptes_test, ça fonctionne superbement
Lorsque je lis Moodle à la table Comtpes_user, maintenant je reviens sur la page de connexion et j'ai ceci :
Alors, mon problème semble bien provenir du codage des données provenant de Access.... pourtant, dans access je lui dis d'exporter en UTF-8, dans Mysql je lui dit bien d'importer en UTF-8 et je dis bien à Moodle que les données liées sont en UTF-8...
Alors où il est mon blême ?
Edit :
Un peu d'eau à l'édifice, voici ce que j'obtiens sur le page de connexion quant j'active le deboguage de Moodle :
Notice: Trying to get property of non-object in E:\www_icampus\icampus\lib\moodlelib.php on line 3142
Bon... j'ai visiblement un problème avec les caractères spéciaux... OK...
Donc j'ai bel et bien un problème de codage d'accent...
Mon problème viens visiblement de Access... :/
J'ai créé une BDD MySQL 'Comptes2009'
J'y aie créé une première table 'Comptes_test' où j'ai importé mes comptes de l'année dernières en .CSV (fichier .csv créé grâce à une macro excel).
J'y aie créé une deuxième table 'Comptes_user' où j'ai importé mes comptes de cette année en .csv (fichier .csv créé grâce à la fonction export de Access 2002).
Lorsque je lis Moodle à la table Comptes_test, ça fonctionne superbement
Lorsque je lis Moodle à la table Comtpes_user, maintenant je reviens sur la page de connexion et j'ai ceci :
Déjà inscrit ?
Connectez-vous ici en utilisant votre nom d'utilisateur
et mot de passe
(Votre navigateur doit supporter les cookies)
et mot de passe
(Votre navigateur doit supporter les cookies)
La connexion a échoué, merci d'essayer de nouveau
Nom d'utilisateur
Mot de passe
Alors où il est mon blême ?
Edit :
Un peu d'eau à l'édifice, voici ce que j'obtiens sur le page de connexion quant j'active le deboguage de Moodle :
Incorrect string value: '\xE9s' for column 'institution' at row 1
INSERT INTO mdl_user ( AUTH, CONFIRMED, MNETHOSTID, USERNAME, FIRSTNAME, LASTNAME, EMAIL, INSTITUTION, DEPARTMENT, LANG, LASTIP, TIMEMODIFIED ) VALUES ( 'db', 1, 1, 'marine.chaidron9', 'Marine', 'CHAIDRON', 'marine.chaidron9@he-ferrer.eu', 'arts appliqu�s', 'Arts du tissu', 'fr_utf8', '83.101.51.80', 1253641204 )
INSERT INTO mdl_user ( AUTH, CONFIRMED, MNETHOSTID, USERNAME, FIRSTNAME, LASTNAME, EMAIL, INSTITUTION, DEPARTMENT, LANG, LASTIP, TIMEMODIFIED ) VALUES ( 'db', 1, 1, 'marine.chaidron9', 'Marine', 'CHAIDRON', 'marine.chaidron9@he-ferrer.eu', 'arts appliqu�s', 'Arts du tissu', 'fr_utf8', '83.101.51.80', 1253641204 )
- line 1554 of lib\dmllib.php: call to debugging()
- line 2889 of lib\moodlelib.php: call to insert_record()
- line 3121 of lib\moodlelib.php: call to create_user_record()
- line 128 of login\index.php: call to authenticate_user_login()
Notice: Trying to get property of non-object in E:\www_icampus\icampus\lib\moodlelib.php on line 3142
Bon... j'ai visiblement un problème avec les caractères spéciaux... OK...
Donc j'ai bel et bien un problème de codage d'accent...
En réponse à Andrée-Anne Dostie
Re: Authentification sur base données externe MySQL
par Andrée-Anne Dostie,
J'ai trouvé !
En mettant le codage en 'latin1' sous Moodle, ça marche...
ça ne suis selon moi aucune logique puisque dans access je disais de coder en UTF-8, mais bon, je me refuse à comprendre, tant que ça marche !
En mettant le codage en 'latin1' sous Moodle, ça marche...
ça ne suis selon moi aucune logique puisque dans access je disais de coder en UTF-8, mais bon, je me refuse à comprendre, tant que ça marche !