problème avec ldap_sync_courses.php

problème avec ldap_sync_courses.php

par Cédric Rollo,
Nombre de réponses : 6

Bonjour a la communauté francophone,

Environnement :

  • Linux
  • Version php 5.3.3-7
  • Moodle version 1.9.10+

Voilà mon problème : j'utilise les scripts de synchronisation de Moodle dans un cron quotidien en association avec un annuaire OpenLdap de manière à enregistrer les nouveaux étudiants de l'annuaire dans leurs cours respectifs de Moodle.

Les scripts que j'utilise sont :

  • cron.php
  • auth_ldap_sync_users.php
  • ldap_sync_courses.php

Mon problème coïncide avec une mise à jour de php sur le serveur.

Voici donc ma question :
Est-il possible pour cette version de php (5.3.3-7) d'avoir des problèmes de compatibilité avec ces scripts (fonctions devenues obsolètes?) car la synchronisation avec l'annuaire n'est plus effective.

Merci par avance de vos conseils.

Moyenne des évaluations  -
En réponse à Cédric Rollo

Re: problème avec ldap_sync_courses.php

par jean-paul KIRKBRIDE,

je ne sais pas te répondre mais je me permet de te décrire comment mon authentication LDAP fonctionne sous la même version de Moodle.

 

Dans le fichier auth/ldap/auth.php, ligne 1681 :

tu ajoutes cette ligne :

ldap_set_option($ldapconnection, LDAP_OPT_REFERRALS, 0);

Cette ligne est donc à ajouter AVANT le code suivant déjà présent dans le fichier :

if ($this->config->search_sub) {
//use ldap_search to find first user from subtree
$ldap_result = ldap_search($ldapconnection, $context, "(".$this->config->user_attribute."=".$this->filter_addslashes($extusername).")",array($this->config->user_attribute));

}
else {
//search only in this context
$ldap_result = ldap_list($ldapconnection, $context, "(".$this->config->user_attribute."=".$this->filter_addslashes($extusername).")",array($this->config->user_attribute));
}

 

Ensuite dans les menus Moodle, je déclare l'authentification LDAP avec ses paramètres... à noter que pour le moment c'est de l'authentification LDAP sur un serveur AD, je migre bientôt sur OpenLdap.

Ainsi je n'ai aucune synchro...  au moment de la première authentification, le compte local est crée dans moodle mais l'authentification est toujours vérifiée par LDAP (AD), le mot de passe n'est pas dans moodle....

 

voilà si ça peut t'aider....

 

 

En réponse à Cédric Rollo

Re: problème avec ldap_sync_courses.php

par Alexandre Scherbyna,

J’avais le site Moodle 1.9.9 qui fonctionnait toujours correctement,  mais il a commencé de donner les erreurs de syntaxe quand PHP a été remplacé par 5.3.3. Donc je pense que vous pouvez essayer une autre version de PHP.

En réponse à Cédric Rollo

Re: problème avec ldap_sync_courses.php

par Marie David,

Bonjour,

Je me permets de relancer cette question de mon collègue Cédric Rollo qui assure le maintien de certains développements internes, plus particulière celui nécessaire à notre gestion des groupes. Cf contribution MoodleMoot2008

Ce système s'appuie sur la création automatique des comptes utilisateurs à partir de notre annuaire LDAP.

D'autres établissements utilisent-ils le script auth_ldap_sync_users.php pour créer automatiquement les comptes utilisateur du LDAP sur Moodle?

De toutes nos adaptions ou développements, la constitution automatique et la gestion centralisée des groupes est bien évidement capitale pour les enseignants...

L'intérêt de se script est qu'il permet de créer automatiquement tous les comptes, ensuite notre développement prend le relais en les inscrivant à des espaces de cours dédiés à la gestion des groupes. Groupes qui sont par la suite dupliqué selon les inscriptions des enseignants.

Bref, vos retours nous seraient grandement utiles

D'ici peu, je souhaite retrouver ce même fonctionnement avec les cohortes et groupes sur un serveur de test en V2.0. Et apporter un retour à Claude Divoux à la discution Moodle 2 : cohortes et groupes clin d’œil

Merci par avance pour vos retours

A très bientôt

Marie

En réponse à Marie David

Re: problème avec ldap_sync_courses.php

par Cédric Rollo,

Bonjour à tout le monde,

merci déjà pour vos réponses, j'étudie encore plusieurs pistes.

Pour répondre à Julien et par la même occasion enrichir ma demande, oui nous avons un message d'erreur quotidien provenant de notre cron.

Voici un exemple :

--------------------------

Insert into log table failed at Thursday 13th of January 2011 07:40:30 AM.

It is possible that your disk is full.

The failed SQL is:

INSERT INTO mdl_log (time, userid, course, ip, module, cmid, action, url, info)

VALUES ('1294900830', '0', '1', '67.195.115.182', 'forum', '0', 'user report', 'user.php?course=1&id=25419&mode=discussions', '25419')

-------------------------

Cette erreur est générée par la fonction add_to_log() du fichier lib/datalib.php .

Merci pour vos idées.

En réponse à Cédric Rollo

Re: problème avec ldap_sync_courses.php

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

Bonjour,

à la vue du message d'erreur, je dirais qu'il faut lire le bogue MDL-14100 (et peut-être directement les commentaires du 01/12/2010).

Et savoir si votre Moodle tourne avec Mysql utilisant le moteur MyISAM ?

Si c'est le cas, peut-être tester, sur une copie de test, en utilisant le moteur InnoDB, et voir si cela règle le problème...

En réponse à Séverin Terrier

Re: problème avec ldap_sync_courses.php

par Cédric Rollo,
Bonjour, oui notre Moodle tourne avec Mysql et le moteur MyIsam. Merci pour la suggestion à propos du moteur InnoDB, nous allons étudier la question. Je posterai dès que j'aurais plus d'informations utiles. A bientôt.