Derniers journaux de Cali_Mero :
- [04/01@16:43] iTunes - Alternatives ?
- [28/11@11:07] Le premier ordinateur à $100 (usd)
- [11/10@19:16] Noos ouvre les vannes !
- [22/07@12:53] La fin des pop-up
- [16/06@08:45] Da Internet Exploseur Cookbook - vol 1
- [07/06@16:40] "Le web c'est pour les stagiaires"
- [04/03@18:50] MSN Search, moteur de recherche "sélectif" ?
Journal : LDAP pour les nuls
Posté par Cali_Mero () le 22 janvier 2005Suite à la dépêche récemment publiée sur LemonLDAP ( https://linuxfr.org/2005/01/21/18127.html(...) ), je souhaite découvrir un peu les annuaires LDAP et ce qu'ils ont à offrir au développeur que je suis.
Seulement, n'y connaissant que quelques bases théoriques (tant sur le protocole LDAP que sur l'utilité réelle de la bête), je ne sais pas trop par ou commencer. Je sais qu'un annuaire LDAP est facilement accessible via le réseau, je sais qu'on peut lui soumettre plein de requêtes, je connais (très) vaguement la syntaxe...
Je souhaiterais avoir de la part de ceux qui connaissent bien le domaine des pistes pour débuter et apprendre. Aussi, si ces mêmes personnes pourraient m'expliquer dans quel cas la présence d'un LDAP se trouve justifiée (pour quels usages, quel volume de données), ainsi que quelques bénéfices particuliers à un annuaire LDAP par rapport à un autre serveur de stockage de données (notamment les SGBD). Egalement, si il y a un ou plusieurs outils incontournables dont je devrais m'équiper, je suis ouvert à toute suggestion...
Bref, tout est dans le titre du journal. Merci par avance à ceux qui prendront le temps d'y répondre.
> Lire le journal (13 commentaires, moyenne: 2,7).
LDAP en quelque mots
Bonjour,
LDAP ( Lightweight Directory Access Protocol ) est surtout et avant tout un protocole pour l'interrogation et la manipulation de manière synchrone ou assynchrone d'annuaires.
Pour l'histoire un annuaire respectant les normes ISO-X500 est une tres grosse usine à gaz, l'idée fut d'inventé juste un protocole qui soit très proche structurellement de la norme ISO-X500 mais qui reste humainement accessible.
un annuaire (interrogé par) LDAP n'est donne une représentation arborescente de l'information. pour te donner une idée analogique, l'arborescence devfs de ton /dev est :
- sous une forme d'arbre
- chaque entrée peut etre divisé en sous noeuds contenant des informations plus spécifique/précise dans la thématique courante
qq différences sont à noter :
- dans une fs unix un dossier n'est pas considéré exactement comme un fichier, alors que dans ldap toute fiche est en meme temps un dossier en puissance et vice versa.
- chaque fiche de ton LDAP est un objet au sens POO
- ces objets sont multiclassé ( comme un barbare barde ou un mage berserk )
- tu peux définir tes classes comme tu veux
apres, quand tu cherches dans ton annuaire, tu le fais à coup d'équivalent de find & rgrep .
l'interet du truc est d'avoir une base de données orientées lecture, accessible sur un modele navigationnelle et non relationnelle pour gérer tout ce qui se rapproche de la notion d'annuaires/inventaire. un LDAP est tres facilement, simplement et rapidement extensible.
les exemples les plus courant sont : l'authentification chez ton ISP, le NetInfo/OpenDirectory d'Apple ou l'Active Directory de Microsoft.
mon lien favori sur le sujet est http://www.cru.fr/ldap/(...)
mon outil favori : GQ
-
[^]Précision
Posté par Nap () le 22/01/2005 à 14:55. (lien). Évalué à 6.- dans une fs unix un dossier n'est pas considéré exactement comme un fichier, alors que dans ldap toute fiche est en meme temps un dossier en puissance et vice versa.
il faut néanmoins préciser qu'une notion existe sous Novell eDirectory et Active Directory qui indique les objets ayant le droit d'en contenir d'autres, et le type d'objet pouvant être contenu pour chacun.
J'ajouterai aux exemples que les principales implémentations de LDAP sont les suivantes :
- OpenLDAP : l'implémentation Open Source de référence
supporté uniquement sous Unix, un portage Windows existe mais n'est pas officiel et il est incomplet (buggué, pas de support de SASL)
- Sun Directory Server (anciennement iPlanet Directory Server) : l'annuaire de SUN, servant à l'authentification système des réseaux SUN
- Microsoft Active Directory : l'annuaire sur lequel repose toute l'administration système sous Windows 2000/2003/XP
- Novell eDirectory : le serveur d'annuaire de Novell Directory Server
- Oracle Internet Directory : le serveur utilisé pour l'authentification des différents produits Oracle
Les grosses différences entre les serveurs LDAP du marché sont principalement tout ce qui ne fait pas partie du standard LDAP :
- le contrôle d'accès : définit pour chaque entrée de l'annuaire qui peut y accéder et de quelle manière
pour OpenLDAP, il se définit dans un fichier de configuration.
pour les autres serveurs, il est stocké dans l'annuaire dans un attributs spécial de chaque entrée, indiquant qui a le droit d'y accéder et comment
- la modification du schéma de l'annuaire (les différentes classes et les attributs disponibles, si tu veux ajouter les tiennes) :
pour OpenLDAP elle se fait dans une série de fichiers de configuration définissant les objets
pour Active Directory chaque classe et chaque attribut est un objet de l'annuaire, situé dans une branche spéciale, on peut ajouter et modifier ces objets via le protocole LDAP
pour les autres implémentations (iPlanet, eDirectory, ...), on modifie l'entrée publiant le schéma de l'annuaire, dans laquelle les classes et les attributs sont stockés dans deux attributs multivalués, objectclasses et attributetypes (je crois), dans une syntaxe particulière et imbitable. Cette entrée n'est pas modifiable sous OpenLDAP et Active Directory.
Ensuite les différences sont les classes utilisées pour stocker les utilisateurs, car chacun fait ce qu'il veut, les attributs internes stockant l'indentifiant unique de chaque entrée (identifiant qui ne change pas quand on déplace l'entrée, ce qui est important si tu fais une application qui lie des données à des entrées LDAP, il te faut un identifiant pour retrouver l'entrée à coup sûr), etc...-
[^]Re: Précision sur les précisions
Posté par Benoît Bailleux (Jabber id, ) le 25/01/2005 à 09:02. (lien). Évalué à 0.Dans la liste des annuaires, il est intéressant d'ajouter Netscape Directory Server (détenu par AOL suite à son rachat de Netscape), récement racheté par ... Red Hat (même base que Sun Directory Server, voir http://www.redhat.com/about/presscenter/2004/press_neighbor.html(...)).
A noter qu'OpenLDAP permet AUSSI de spécifier les contrôles d'accès dans l'annuaire lui même (voir notamment http://www.openldap.org/faq/data/cache/634.html(...))
Comme dans TOUS les annuaires LDAP, le schéma d'OpenLDAP est accessible (en lecture seule) en ... LDAP. C'est une caractéristique intéressante de "découverte" de la structure de l'annuaire, qui est automatisable.
A noter : tout objet de l'annuaire doit être une instance d'une et une seule classe d'objet dite "structurelle", mais il peut être représentatif d'autant de classes dites "auxiliaires" que désiré. C'est assez logique dans le cadre du // fait plus haut avec la POO.
Une autre GROSSE différence entre annuaires de différents éditeurs, outre les capacités en charge, c'est la variation dans les extensions supportées. LDAP est un standard qui a pour caractéristique d'être naturellement extensible, et les différents produits implémentent les extensions qui les intéresses. Voir, pour OpenLDAP : http://www.openldap.org/faq/data/cache/645.html(...)
Enfin, et c'est très important, LDAP défini également des classes standards qu'il est très vivement recommandé d'utiliser (plutôt que des classes définies spécifiquement). Tous les annuaires du marché supportent ces classes et elles permettent (comme organizationalPerson ou account) un accès banalisé aux annuaires courants.--
BB
-
-
[^]Re: LDAP en quelque mots
Posté par Cali_Mero () le 22/01/2005 à 19:31. (lien). Évalué à 3.mon lien favori sur le sujet est http://www.cru.fr/ldap/(...(...))
Très bon lien, merci beaucoup.--
#define MAGIC 0xdefaced /* I should've patented this number -cliph */
Navigateurs/clients LDAP
Il existe des navigateurs de base LDAP. Personnellement, j'ai utilisé, pas plus tard qu'hier, celui-ci en JAVA : http://www-unix.mcs.anl.gov/~gawor/ldap/index.html(...) qui est simple d'utilisation et assez pratique et pour une fois que je préfère un clickware à de la ligne de commande c'est à noter :).
Google me sussure qu'il existe aussi ceci qui est GTK-based : http://biot.com/gq/(...) mais je l'ai pas essayé.
-
[^]Re: Navigateurs/clients LDAP
-
[^]Re: Navigateurs/clients LDAP
Posté par norbs () le 22/01/2005 à 14:34. (lien). Évalué à 1.Cela fait également quelques années que j'utilise LDAPBrowser (le premier cité), et je n'ai jamais eu le moindre problème avec. Il est vraiment bien foutu.
-
[^]Re: Navigateurs/clients LDAP
-
-
[^]Re: Navigateurs/clients LDAP
Posté par Nap () le 22/01/2005 à 15:00. (lien). Évalué à 2.si tu dispose d'un serveur web avec PHP, il y a phpldapadmin, qui est vraiment excellent
ARRGH : il est devenu payant :))
mais il est toujours sous GPL
si des gens pauvres le veulent, qu'ils m'envoient un mail sur mon adresse DLFP, je vais voir si j'ai le tarball quelque part
c'est un très bon produit, il mérite même d'être acheter, car il est sous GPL et mérite d'être supporté financièrement-
[^]Re: Navigateurs/clients LDAP
-
LDAP, PHP et photos...
Bonjour,
j'aurais voulu savoir si certains on déjà essayer de coupler du php avec LDAP et si on pouvait gérer des photos dans un annuaire LDAP ?
-
[^]Re: LDAP, PHP et photos...
Posté par Nap () le 22/01/2005 à 15:03. (lien). Évalué à 3.j'aurais voulu savoir si certains on déjà essayer de coupler du php avec LDAP
moi, et plein de gens
http://fr.php.net/manual/fr/ref.ldap.php(...)
c'est très simple quand on maitrise LDAP un minimum
et si on pouvait gérer des photos dans un annuaire LDAP ?
oui tout à fait, l'attribut jpegPhoto en standard dans LDAP permet de stocker une photo directement dans l'annuaire-
[^]Re: LDAP, PHP et photos...
Posté par Nap () le 22/01/2005 à 15:14. (lien). Évalué à 2.je précise que si tu veux l'utiliser, tu peux soit utiliser la classe inetOrgPerson qui inclut cet attribut pour stocker la photo de la personne, ou alors créer toi même une classe incluant cet attribut, ainsi que des attributs pour stocker les information EXIF, la description, des commentaires, etc...
-

Les journaux sont destinés à des informations qui ne sont pas suffisamment intéressantes
pour être validées en dépêche (sinon n'hésitez pas à proposer votre information en
dépêche), qui sont sans rapport avec Linux ou le libre, ou simplement pour donner votre
avis. Si vous désirez poser une question, merci d'utiliser 

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.