Salut,
La récupération d'infos LDAP sous win2000 server c'est un jeu d'enfant. Il suffit de connaitre quel champ tu veux récupérer de ton annuaire LDAP. Je m'explique: un annuaire LDAP est un arbre de données utilisateurs. tu peux récupérer les valeurs des feuilles pour une branche donnée ou pour tout l'arbre. Les valeurs de chaque feuille sont stockées dans des champs aux nom biens precis. Ces noms sont différents d'un annuaire LDAP a un autre: par exmple pour recuperer le login d'un utilisateur sur l'active directory tu dois recuperer le champ 'sAMAccountName' alors que sur iPlanet c'est le champ 'uid' que tu vas recuperer.
Les branches des arbres sont recuperees grace à des valeur du type "o=dc, o=domaineTruc, sn=*"
C'est des chaines assez barbares et qui different suivant les annuaires LDAP.
Tout ca semble assez complexe. En fait il faut que tu saches quel champ tu veux recuperer de l'annuaire (mail, login , nom complet par exemple), ensuite exporter des données pour connaitre le nom interne des champs à interroger et enfin ecrire ton fichier php.
Sous windows 2000 server il existe un executable qui s'appelle 'ldifde.exe'. il permet d'exporter des données d'un annuaire LDAP au format .ldif (qui est un fichier texte en fait). Il existe aussi un 'csvde.exe' qui fait la meme chose mais en .csv
Cet utilitaire permet de recupere n'importe quelle donnée d'un annuaire LDAP et ca permet ainsi, en recuperant qu'une partie des données, de connaitre comment AD nomme ses champs.
Un exemple devrait dissiper le flou:
en tapant:
'ldifde -v -r "(ObjectClass=User)" -s <serveurLDAP> -f sortie.ldif -l "sAMAccountName, displayName, UserPrincipalName" -b <user_avec_acces> <domain> <mot_de_passe>'
l'utilisateur <user_avec_acces> va se connecter au <serveurLDAP> (a remarquer qu'il s'agit de AD ou d'un autre) et récupérer tous les objets qui sont définis comme utilisateurs (d'ou le OBjectClass=User) et récupérer leur login, leur mail et leur nom complet et stocker le resultat dans le fichier sortie.ldif qui est un fichier texte.
Chaque entree dans le fichier commence par 'dn: CN=..., CN=..., DC=... etc...' c'est cette ligne (sans le dn=) qui definit la branche et la feuille de votre arbre. Les DC correspondent au domaine et les CN aux feuilles.
Si vous voulez recuperer tous les champs de chaque utilisateurs alors supprimer le ' -l "<blabla>" ' ety allez voir dans le fichier de sortie. Grace à ca vous saurez quelle chaine de caracteres il faut mettre dans le ldap_search.
J'imagine que tout ce que j'ai ecris n'est pa forcement clair avec si vous avez des questions n'hesitez pas!!
Bon courage!!