\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{geometry}
\geometry{top=15mm, bottom=15mm, left=1cm, right=1cm}
\usepackage[french]{babel}
\usepackage{pslatex}
\usepackage[colorlinks=true,urlcolor=black]{hyperref}
\usepackage{graphicx}
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\footrulewidth}{0.4pt}
\fancyfoot[L]{Uubu.fr}
\fancyfoot[R]{lun. juil. 15 19:42:20 CEST 2013}
\lfoot{\Large \textit{Uubu.fr}}
\hypersetup{pdfinfo={
Title={rfc4512},
Author={Sylvain Girod},
Creator={Bash script from uubu.fr's format version 1},
Producer={Bash script and PDFLaTeX},
Subject={Directory Information Models},
CreationDate={D:20130715194220},
ModDate={D:20130715194220},
Keywords={LDAP;Lightweight Directory Access Protocol}
}}
\begin{document}
 
\begin{center}
{\Huge rfc4512 }
\end{center}
\vspace{1cm}
 
\begin{flushleft}
 
{\large Directory Information Models}
 
\vspace{10mm}
 
\begin{description} \normalsize
\item[\hspace{1mm} DIB]{Directory Information Base}
\item[\hspace{1mm} DUA]{Directory User Agent}
\item[\hspace{1mm} DSA]{Directory System Agent}
\item[\hspace{1mm} DSE]{DSA-Specific Entry}
\item[\hspace{1mm} DIT]{Directory Information Tree}
\item[\hspace{1mm} RDN]{Relative Distinguished Name}
\item[\hspace{1mm} AVA]{Attribute Value Assertions}
\end{description}
 
\hspace{1mm}  Le but d’un annuaire est de maintenir, et de fournir l’accès à des informations sur des objets d’interet. Un objet peut être tout ce qui peut être identifiable (peut être nommé). Certains attributs maintiennent des informations sur l’objet qu’ils représentent et sont appelés des attributs utilisateurs. D’autres attributs représentent des informations administratifs et/ou opérationnels et sont appelés des attributs opérationnels.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Classes d'objet abstraites }
 
\
 
\hspace{1mm}  Fournis une base de caractéristiques depuis lequel d’autres classes d’objet peuvent hériter. Une entrée ne peut pas appartenir à une classe abstraite à moins qu’elle appartiennent à une classe auxiliaire ou structurelle qui hérite de cette classe abstraite.
\vspace{5mm} \\
\hspace{1mm}  Une classe abstraite ne peut pas dériver d’une classe auxiliaire ou structurelle. Toutes les classes d’objet structurelles dérivent directement ou indirectement de la classe objet '\textbf{top}'. Une classe auxiliaire ne dérive pas nécessairement de \textbf{top}.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Classes d'objet structurelles }
 
\
 
\hspace{1mm}  Elles sont utilisées dans la définition de la structure des noms d’objets. Un objet ou alias est caractérisé par précisément une chaîne super-classe d’objet structurelle qui a une simple classe structurelle comme classe objet la plus subordonnée. Elle est appelée la classe objet structurelle de l’objet
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Classes d'objet auxiliaires }
 
\
 
\hspace{1mm}  Elle sont utilisées pour augmenter les caractéristiques des entrées. Elle sont communément utilisées pour augmenter le jeu d’attributs requis et permit dans une entrée. Les classes auxiliaires ne peuvent pas être des sous-classes de classes structurelles
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Types d'attributs }
 
\
 
\hspace{1mm}  Le type d’un attribut définis si il est multi-valué, la syntaxe et les règles de correspondance utilisées pour construire et comparer les valeurs de cet attribut, et d’autres fonctions. Si aucune correspondance d'égalité n'est spécifiée pour ce type d'attribut:
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{6mm} -]{l’attribut ne peut pas être utilisé pour le nommage}
\item[\hspace{6mm} -]{2 valeurs ne peuvent pas être équivalentes}
\item[\hspace{6mm} -]{les valeurs individuelles d’un attribut multi-valué ne peuvent pas être ajoutée/enlevées indépendamment}
\item[\hspace{6mm} -]{AVA (tels que la correspondance dans les filtres de recherche et de comparaisons) en utilisant les valeurs de cet attribut ne peuvent pas être effectuées}
\end{description}
 
\hspace{1mm}  Sinon, la règle de correspondance d’égalité spécifiée est utilisée pour évaluer l’AVA concernant le type d’attribut La règle d’égalité spécifiée doit être transitive et commutative.
\vspace{5mm} \\
\hspace{1mm}  Le type d’attribut indique si l’attribut est un attribut utilisateur ou un attribut opérationnel. S’il est opérationnel, l’attribut indique l’usage opérationnel et si l’attribut est modifiable ou non par les utilisateurs.
\vspace{5mm} \\
\hspace{1mm}  Un type d’attribut (un sous-type) peut dériver d’autres type d’attributs (un super-type). Les restrictions suivantes s’appliquent au sous-typage:
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{6mm} -]{un sous-type doit avoir le même usage que son super-type direct la syntaxe du sous-type doit être la même, ou une re-définition de la syntaxe du super-type}
\item[\hspace{6mm} -]{un sous-type doit être collectif si son super-type est collectif.}
\end{description}
 
\hspace{1mm}  Chaque type d’attribut est identifié par un Object IDentifier (OID) et optionnellement d’un ou plusieurs noms cours (descripteurs)
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Options d'attributs }
 
\
 
\hspace{1mm}  Toutes les options ne peuvent pas être associées avec des attributs maintenu dans l"annuaire. le tagging options le permet.
\vspace{5mm} \\
\hspace{1mm}  Une description d’attribut peut être le sous-type direct de 0 ou plusieurs autres descriptions d’attributs. ces relations de sous-typage sont utilisées pour former une hiérarchie de description d’attributs et d’attributs.
\vspace{5mm} \\
\hspace{1mm}  Les hiérarchies d’attribut permettent un accès à la DIB avec différents degré de granularité, grâce à la valeur des attributs qui sont accédés soit en utilisant leur description d’attribut direct ou une description d’attribut plus générique.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Alias }
 
\
 
\hspace{1mm}  Un alias, ou un nom alias, pour un objet est un nom alternatif qui est fournis par l’utilisation d’entrées alias. Chaque entrée alias contient dans l’attribut \textbf{aliasedObjectName}, le nom d’un objet.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Attributs opérationnels }
 
\
 
\hspace{1mm}  Il en existe 3 sortes:
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{6mm} Directory operational attributes]{Est utilisé pour représenter une information opérationnelle et/ou administrative dans le Directory Information Model. Cela inclus les attributs opérationnels maintenus par le serveur (ex : createTimestamp), et les attributs opérationnels qui maintiennent des valeurs administrées par l’utilisateur (ex: ditContentRules)}
\item[\hspace{6mm} DSA-shared operational attributes]{Est utilisé pour représenter des information du DSA Information Model qui est partagé entre les DSA.}
\item[\hspace{6mm} DSA-specific operational attributes]{Est utilisé pour représenter des information sur le DSA Information Model qui est spécifique au DSA. ( bien que parfois peut être dérivé des informations partagées entres les DSA)}
\end{description}
 
\hspace{1mm}  Les attributs opérationnel ne sont normalement pas visible. Ils ne sont pas retournés dans les résultats de recherche à moins qu’ils aient été explicitement demandés Tous les attributs opérationnels ne sont pas modifiables.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Schéma }
 
\
 
\hspace{1mm}  Le schéma de l’annuaire est un jeu de définitions et de contraintes concernant la structure du DIT, les entrées possibles, etc.
\vspace{5mm} \\
 
 
\hspace{1mm} Définition de schéma (ABNF)
 
{\ttfamily
oidlen = numericoid \texttt{[} LCURLY len RCURLY \texttt{]}\\ len = number\\ \hspace{2mm}\\ oids = oid / ( LPAREN WSP oidlist WSP RPAREN )\\ oidlist = oid *( WSP DOLLAR WSP oid )\\ \hspace{2mm}\\ extensions = *( SP xstring SP qdstrings )\\ xstring = "X" HYPHEN 1*( ALPHA / HYPHEN / USCORE )\\ \hspace{2mm}\\ qdescrs = qdescr / ( LPAREN WSP qdescrlist WSP RPAREN )\\ qdescrlist = \texttt{[} qdescr *( SP qdescr ) \texttt{]}\\ qdescr = SQUOTE descr SQUOTE\\ \hspace{2mm}\\ qdstrings = qdstring / ( LPAREN WSP qdstringlist WSP RPAREN )\\ qdstringlist = \texttt{[} qdstring *( SP qdstring ) \texttt{]}\\ qdstring = SQUOTE dstring SQUOTE\\ dstring = 1*( QS / QQ / QUTF8 ) ; escaped UTF-8 string\\ \hspace{2mm}\\ QQ = ESC \%x32 \%x37 ; "\textbackslash{}27"\\ QS = ESC \%x35 ( \%x43 / \%x63 ) ; "\textbackslash{}5C" / "\textbackslash{}5c"\\ \hspace{2mm}\\ ; Any UTF-8 encoded Unicode character\\ ; except \%x27 ("\textbackslash{}’") and \%x5C ("\textbackslash{}")\\ QUTF8 = QUTF1 / UTFMB\\ \hspace{2mm}\\ ; Any ASCII character except \%x27 ("\textbackslash{}’") and \%x5C ("\textbackslash{}")\\ QUTF1 = \%x00-26 / \%x28-5B / \%x5D-7F\\
}
\vspace{8mm}
 
\begin{description} \normalsize
\item[\hspace{1mm} ]{Le champ \textbf{NAME} fournis un jeu de noms court qui sont utilisés comme alias pour l’OID}
\item[\hspace{1mm} ]{Le champs \textbf{DESC} est optionnel et apporte un description}
\item[\hspace{1mm} ]{Le champ \textbf{OBSOLETE}, si présent, indique que l’élément n’est pas actif}
\end{description}
 
\vspace{1cm}{\huge Définition de classe d'objet }
 
\
 
{\ttfamily
ObjectClassDescription = LPAREN WSP\\ \hspace{2mm}numericoid ; object identifier\\ \hspace{2mm}\texttt{[} SP "NAME" SP qdescrs \texttt{]} ; short names (descriptors)\\ \hspace{2mm}\texttt{[} SP "DESC" SP qdstring \texttt{]} ; description\\ \hspace{2mm}\texttt{[} SP "OBSOLETE" \texttt{]} ; not active\\ \hspace{2mm}\texttt{[} SP "SUP" SP oids \texttt{]} ; superior object classes\\ \hspace{2mm}\texttt{[} SP kind \texttt{]} ; kind of class\\ \hspace{2mm}\texttt{[} SP "MUST" SP oids \texttt{]} ; attribute types\\ \hspace{2mm}\texttt{[} SP "MAY" SP oids \texttt{]} ; attribute types\\ \hspace{2mm}extensions WSP RPAREN\\ \hspace{2mm}\\ \hspace{2mm}kind = "ABSTRACT" / "STRUCTURAL" / "AUXILIARY"\\
}
\vspace{8mm}
 
\begin{description} \normalsize
\item[\hspace{1mm} <numericoid>]{est l’OID assigné à cette classe d’objet}
\item[\hspace{1mm} NAME <qdescrs>]{Sont des noms courts identifiant cette classe d’objet}
\item[\hspace{1mm} DESC <qdstring>]{est une courte description}
\item[\hspace{1mm} OBSOLETE]{indique que cette classe d’objet n’est pas active}
\item[\hspace{1mm} SUP <oids>]{spécifie les super-classes directe de cette classe d’objet.}
\item[\hspace{1mm} kind]{Spécifie le type de classe (ABSTRACT, STRUCTURAL ou AUXILIARY)}
\item[\hspace{1mm} MUST et MAY]{spécifient les jeux d’attributs requis et permis}
\item[\hspace{1mm} <extensions>]{décrit les extensions}
\end{description}
 
\vspace{1cm}{\huge Définition des attributs }
 
\
 
{\ttfamily
AttributeTypeDescription = LPAREN WSP\\ \hspace{2mm}numericoid ; object identifier\\ \hspace{2mm}\texttt{[} SP "NAME" SP qdescrs \texttt{]} ; short names (descriptors)\\ \hspace{2mm}\texttt{[} SP "DESC" SP qdstring \texttt{]} ; description\\ \hspace{2mm}\texttt{[} SP "OBSOLETE" \texttt{]} ; not active\\ \hspace{2mm}\texttt{[} SP "SUP" SP oid \texttt{]} ; supertype\\ \hspace{2mm}\texttt{[} SP "EQUALITY" SP oid \texttt{]} ; equality matching rule\\ \hspace{2mm}\texttt{[} SP "ORDERING" SP oid \texttt{]} ; ordering matching rule\\ \hspace{2mm}\texttt{[} SP "SUBSTR" SP oid \texttt{]} ; substrings matching rule\\ \hspace{2mm}\texttt{[} SP "SYNTAX" SP noidlen \texttt{]} ; value syntax\\ \hspace{2mm}\texttt{[} SP "SINGLE-VALUE" \texttt{]} ; single-value\\ \hspace{2mm}\texttt{[} SP "COLLECTIVE" \texttt{]} ; collective\\ \hspace{2mm}\texttt{[} SP "NO-USER-MODIFICATION" \texttt{]} ; not user modifiable\\ \hspace{2mm}\texttt{[} SP "USAGE" SP usage \texttt{]} ; usage\\ \hspace{2mm}extensions WSP RPAREN ; extensions\\ \hspace{2mm}\\ \hspace{2mm}usage = "userApplications" / ; user\\ \hspace{2mm}"directoryOperation" / ; directory operational\\ \hspace{2mm}"distributedOperation" / ; DSA-shared operational\\ \hspace{2mm}"dSAOperation" ; DSA-specific operational\\
}
\vspace{8mm}
 
\begin{description} \normalsize
\item[\hspace{1mm} <numericoid>]{est l’OID assigné à ce type d’attribut}
\item[\hspace{1mm} NAME <qdescrs>]{sont des noms courts identifiant ce type d’attribut}
\item[\hspace{1mm} DESC <qdstring>]{est une courte description}
\item[\hspace{1mm} OBSOLETE]{Indique que cet attribut n’est pas actif}
\item[\hspace{1mm} SUP oid]{Spécifie le supertype direct de ce type}
\item[\hspace{1mm} EQUALITY, ORDERING, et SUBSTR]{Fournissent l’OID de l’égalité, l’ordonnancement et les règle de correspondance de chaîne, respectivement.}
\item[\hspace{1mm} SYNTAX]{Identifie La syntaxe de la valeur par OID et peut suggérer une limite minimum}
\item[\hspace{1mm} SINGLE-VALUE]{Indique que les attributs de ce type sont restreint à une seule valeur}
\item[\hspace{1mm} COLLECTIVE]{Indique que cet attribut est collectif}
\item[\hspace{1mm} NO-USER-MODIFICATION]{Indique que ce type d’attribut n’est pas modifiable par l’utilisateur}
\item[\hspace{1mm} USAGE]{Indique l’application de ce type d’attribut}
\item[\hspace{1mm} <extensions>]{décrit les extensions}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{1mm} ]{Chaque description de type d’attribut doit avoir au moins \textbf{SUP} ou \textbf{SYNTAX}.}
\item[\hspace{1mm} ]{Si \textbf{SUP} est fournis, \textbf{SYNTAX}, \textbf{EQUALITY}, \textbf{ORDERING} et \textbf{SUBSTRING} sont pris du super-type s’ils ne sont pas spécifié}
\item[\hspace{1mm} COLLECTIVE]{nécessite un usage userApplications}
\item[\hspace{1mm} NO-USER-MODIFICATION]{nécessite un usage opérationnel}
\item[\hspace{1mm} AttributeTypeDescription]{ne liste pas les règles de correspondance utilisées avec ce type d’attribut dans un filtre de recherche \textbf{extensibleMatch}. C’est fait avec l’attribut \textbf{matchingRuleUse}.}
\end{description}
 
\vspace{1cm}{\huge Règles de correspondance }
 
\
 
\hspace{1mm}  Elles sont utilisée pour les opérations AVA tels que les opérations de comparaison ou les filtres de recherche, déterminant quelles valeurs individuelles sont ajoutée ou supprimée durant les opération de modification, et en comparant des DN.
\vspace{5mm} \\
 
 
{\ttfamily
MatchingRuleDescription = LPAREN WSP\\ \hspace{2mm}numericoid ; object identifier\\ \hspace{2mm}\texttt{[} SP "NAME" SP qdescrs \texttt{]} ; short names (descriptors)\\ \hspace{2mm}\texttt{[} SP "DESC" SP qdstring \texttt{]} ; description\\ \hspace{2mm}\texttt{[} SP "OBSOLETE" \texttt{]} ; not active\\ \hspace{2mm}SP "SYNTAX" SP numericoid ; assertion syntax\\ \hspace{2mm}extensions WSP RPAREN ; extensions\\
}
\vspace{8mm}
 
\begin{description} \normalsize
\item[\hspace{1mm} <numericoid>]{est l’OID de la règle de correspondance}
\item[\hspace{1mm} NAME <qdescrs>]{sont des noms cours décrivant la règle}
\item[\hspace{1mm} DESC <qdstring>]{est une courte description}
\item[\hspace{1mm} OBSOLETE]{Indique que cette règle n’est pas active}
\item[\hspace{1mm} SYNTAX]{Identifie la syntaxe d’assertion par OID}
\item[\hspace{1mm} <extensions>]{Décris les extensions}
\end{description}
 
\vspace{1cm}{\huge Utilisation des règles de correspondance }
 
\
 
\hspace{1mm}  Une règle de correspondance liste les types d’attributs qui sont utilisables avec un filtre de recherche extensibleMatch
\vspace{5mm} \\
 
 
{\ttfamily
MatchingRuleUseDescription = LPAREN WSP\\ \hspace{2mm}numericoid ; object identifier\\ \hspace{2mm}\texttt{[} SP "NAME" SP qdescrs \texttt{]} ; short names (descriptors)\\ \hspace{2mm}\texttt{[} SP "DESC" SP qdstring \texttt{]} ; description\\ \hspace{2mm}\texttt{[} SP "OBSOLETE" \texttt{]} ; not active\\ \hspace{2mm}SP "APPLIES" SP oids ; attribute types\\ \hspace{2mm}extensions WSP RPAREN ; extensions\\
}
\vspace{8mm}
 
\begin{description} \normalsize
\item[\hspace{1mm} <numericoid>]{est l’OID de la règle associée avec cette utilisation de règle}
\item[\hspace{1mm} NAME <qdescrs>]{Sont des noms cours identifiant l’utilisation de règle}
\item[\hspace{1mm} DESC <qdstring>]{est une courte description}
\item[\hspace{1mm} OBSOLETE]{indique que cette utilisation de règle de correspondance est désactivée}
\item[\hspace{1mm} APPLIES]{Fournis une liste de type d’attributs auxquel la règle s’applique}
\item[\hspace{1mm} <extensions>]{décrit les extensions}
\end{description}
 
\vspace{1cm}{\huge Syntaxes LDAP }
 
\
 
\hspace{1mm}  Les syntaxes LDAP de valeurs d’attribut et d’assertion sont décrites en ASN.1 et optionnellement, ont un encodage de chaîne (LDAP-specific encoding), généralement en UTF-8.
\vspace{5mm} \\
 
 
{\ttfamily
SyntaxDescription = LPAREN WSP\\ \hspace{2mm}numericoid ; object identifier\\ \hspace{2mm}\texttt{[} SP "DESC" SP qdstring \texttt{]} ; description\\ \hspace{2mm}extensions WSP RPAREN ; extensions\\
}
\vspace{8mm}
 
\begin{description} \normalsize
\item[\hspace{1mm} <numericoid>]{est l’OID assignée à cette syntaxe LDAP}
\item[\hspace{1mm} DESC <qdstring>]{est une courte description}
\item[\hspace{1mm} <extensions>]{Décris les extensions}
\end{description}
 
\vspace{1cm}{\huge Règles de contenu DIT }
 
\
 
\hspace{1mm}  Une \textbf{DIT content rule} est une règle régissant le contenu des entrées d’une classe d’objet structurelle particulière. Elle définissent quelles classes d’objets auxiliaires sont requis, permis on non permises dans l’entrée.
\vspace{5mm} \\
 
 
{\ttfamily
DITContentRuleDescription = LPAREN WSP\\ \hspace{2mm}numericoid ; object identifier\\ \hspace{2mm}\texttt{[} SP "NAME" SP qdescrs \texttt{]} ; short names (descriptors)\\ \hspace{2mm}\texttt{[} SP "DESC" SP qdstring \texttt{]} ; description\\ \hspace{2mm}\texttt{[} SP "OBSOLETE" \texttt{]} ; not active\\ \hspace{2mm}\texttt{[} SP "AUX" SP oids \texttt{]} ; auxiliary object classes\\ \hspace{2mm}\texttt{[} SP "MUST" SP oids \texttt{]} ; attribute types\\ \hspace{2mm}\texttt{[} SP "MAY" SP oids \texttt{]} ; attribute types\\ \hspace{2mm}\texttt{[} SP "NOT" SP oids \texttt{]} ; attribute types\\ \hspace{2mm}extensions WSP RPAREN ; extensions\\
}
\vspace{8mm}
 
\begin{description} \normalsize
\item[\hspace{1mm} <numericoid>]{est l’OID de la classe structurelle associée avec ces DIT content rule}
\item[\hspace{1mm} NAME <qdescrs>]{Sont des noms cours identifiant ce DIT content rule}
\item[\hspace{1mm} DESC <qdstring>]{est une courte description}
\item[\hspace{1mm} OBSOLETE]{Indique que ce DIT content rule est inactif}
\item[\hspace{1mm} AUX]{Spécifie une liste de classes auxiliaires que les entrée sujettes à ce DIT content rules peuvent appartenir.}
\item[\hspace{1mm} MUST, MAY, et NOT]{Spécifient les listes de type d’attributs qui sont requis, permis ou non-permis}
\item[\hspace{1mm} <extensions>]{décrit les extensions}
\end{description}
 
\vspace{1cm}{\huge Règles de structure DIT }
 
\
 
\hspace{1mm}  Une règle de structure DIT est une règle régissant la structure du DIT en spécifiant un supérieur autorisé à subordonner la relation d’entrée. une règle de structure concerne une forme de nom, et donc une classe structurelle, de structurer les règles supérieurs. Celà permet au entrées de la classe structurelle identifiées par la forme de nom d’exister dans le DIT comme subordonnée aux entrée régies par la règle structurelle supérieur.
\vspace{5mm} \\
 
 
{\ttfamily
DITStructureRuleDescription = LPAREN WSP\\ \hspace{2mm}ruleid ; rule identifier\\ \hspace{2mm}\texttt{[} SP "NAME" SP qdescrs \texttt{]} ; short names (descriptors)\\ \hspace{2mm}\texttt{[} SP "DESC" SP qdstring \texttt{]} ; description\\ \hspace{2mm}\texttt{[} SP "OBSOLETE" \texttt{]} ; not active\\ \hspace{2mm}SP "FORM" SP oid ; NameForm\\ \hspace{2mm}\texttt{[} SP "SUP" ruleids \texttt{]} ; superior rules\\ \hspace{2mm}extensions WSP RPAREN ; extensions\\ \hspace{2mm}\\ ruleids = ruleid / ( LPAREN WSP ruleidlist WSP RPAREN )\\ ruleidlist = ruleid *( SP ruleid )\\ ruleid = number\\
}
\vspace{8mm}
 
\begin{description} \normalsize
\item[\hspace{1mm} <ruleid>]{est identifiant de règle de ce DIT structure rule}
\item[\hspace{1mm} NAME <qdescrs>]{sont des noms identifiant ce DIT structure rule}
\item[\hspace{1mm} DESC <qdstring>]{est une courte description}
\item[\hspace{1mm} OBSOLETE]{indique que ce DIT structure rule use n’est pas actif}
\item[\hspace{1mm} FORM]{spécifie le name form associé à ce DIT structure rule}
\item[\hspace{1mm} SUP]{identifie les règles supérieurs (par rule id)}
\item[\hspace{1mm} <extensions>]{Décris les extensions}
\end{description}
 
\vspace{1cm}{\huge Formes de nom }
 
\
 
\hspace{1mm}  un \textbf{name form} spécifie un \textbf{RDN} permis pour les entrées d’une classe d’objet structurelle particulière. il identifie une classe nommée et un ou plusieurs types d’attributs pour le nommage (ex: le RDN). ce sont des pièces primitives de spécification utilisées dans la définition de règles de structures de DIT. Chaque \textbf{name form} indique la classe structurelle à nommer, un jeu de types d’attributs requis, et un autre pour les types permis.
\vspace{5mm} \\
 
 
{\ttfamily
NameFormDescription = LPAREN WSP\\ \hspace{2mm}numericoid ; object identifier\\ \hspace{2mm}\texttt{[} SP "NAME" SP qdescrs \texttt{]} ; short names (descriptors)\\ \hspace{2mm}\texttt{[} SP "DESC" SP qdstring \texttt{]} ; description\\ \hspace{2mm}\texttt{[} SP "OBSOLETE" \texttt{]} ; not active\\ \hspace{2mm}SP "OC" SP oid ; structural object class\\ \hspace{2mm}SP "MUST" SP oids ; attribute types\\ \hspace{2mm}\texttt{[} SP "MAY" SP oids \texttt{]} ; attribute types\\ \hspace{2mm}extensions WSP RPAREN ; extensions\\
}
\vspace{8mm}
 
\begin{description} \normalsize
\item[\hspace{1mm} <numericoid>]{est l’OID du name form}
\item[\hspace{1mm} NAME <qdescrs>]{sont des noms identifiant ce name form}
\item[\hspace{1mm} DESC <qdstring>]{est une courte description}
\item[\hspace{1mm} OBSOLETE]{indique que ce name form est inactif}
\item[\hspace{1mm} OC]{identifie la classe structurelle à laquelle cette règle s’applique}
\item[\hspace{1mm} MUST et MAY]{Spécifient les jeux d’attributs nommés requis et permis pour ce name form}
\item[\hspace{1mm} <extensions>]{Décris les extensions}
\end{description}
 
\vspace{1cm}{\huge Sous-entrées de sous-schéma }
 
\
 
\hspace{1mm}  Elles sont utilisée pour administrer les informations sur le schéma de l’annuaire. Une sous-entrée de sous-schéma contient toutes les définitions de schéma utilisées par les entrées dans une partie de l’arborescence. Les serveurs peuvent autoriser la modification du sous-schéma.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Découverte du sous-schéma }
 
\
 
\hspace{1mm}  Pour découvrir le DN du sous-schéma qui maintient le sous-schéma contrôlant une entrée particulière, un client lit l’attribut opérationnel \textbf{subschemaSubentry} de cet entrée. Pour lire cet attribut, le client doit fournir une opération de recherche où le \textbf{baseObject} est le DN de l’entrée de sous-schéma. Le \textbf{scope} est \textbf{baseObject}, le filtre est \textbf{"(objectClass=subschema)"} et le champs attributs liste les attributs désirés.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge DSA Information Model }
 
\
 
\hspace{1mm}  Le protocole LDAP assume qu’il y’a un ou plusieurs serveurs qui fournissent conjointement accès au DIT. Le serveur maintenant l’information originale est appelée le master, ceux qui maintiennent une copie, des serveurs shadowing ou caching.
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} context prefix]{La séquence de RDN partant de la racine du DIT jusqu’au vertex initial d’un contexte de nommage, correspondant au DN de ce vertex}
\item[\hspace{1mm} naming context]{Une sous-arborescence d’entrées maintenus dans un DSA master}
\end{description}
 
\hspace{1mm}  Un contexte de nommages est la plus grande collection d’entrées, commençant à une entrée master, et incluant tous ses subordonnés et leur subordonnés, jusqu’aux entrées qui sont master sur d’autres serveurs. Le Root d’un DIT est un DSE et ne fait pas partit d’un contexte de nommage (ou d’une sous-arborescence). Chaque serveur a des valeurs d’attribut différents dans le root DSE.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Server-Specific Data Requirements }
 
\
 
\hspace{1mm}  Un serveur LDAP devrait fournir des informations sur lui-même et d’autres informations qui sont spécifiques à d’autres serveurs. C’est représenté sous la forme d’un groupe d’attributs dans le root DSE, qui sont nommé avec un DN sans RDN.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Cache et Shadowing }
 
\
 
\hspace{1mm}  Certains serveurs maintiennent des copies des entrées, qui peuvent être utilisée pour répondre à des requêtes ou des comparaisons, mais vont retourner des referrals ou contacter d’autres serveur si des opérations de modification sont demandées. Ces serveurs doivent s’assurer qu’ils ne violent pas de contrôle d’accès.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Conduite des serveurs }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} -]{Les serveurs doivent reconnaître tous les noms des attributs et classes définis dans ce document, mais n’ont pas besoin de supporter les fonctionnalité associés (sauf mentionné).}
\item[\hspace{1mm} -]{Les serveurs doivent s’assurer que les entrées sont conformes au règles de schéma et autres contraintes}
\item[\hspace{1mm} -]{Les serveurs peuvent supporter: DIT Content Rules, DIT Structure Rules, Name Forms, alias, la classe object extensibleObject, les sous-entrées.}
\item[\hspace{1mm} -]{Les serveurs peuvent implémenter des éléments de schéma additionnel.}
\end{description}
 
\vspace{1cm}{\huge Considération IANA }
 
\
 
\hspace{1mm} Les descripteurs suivant réfèrent à cette RFC :
 
{\ttfamily
NAME\hspace{2mm}Type\hspace{2mm}OID\\ \hspace{2mm}\\ alias O 2.5.6.1\\ aliasedObjectName A 2.5.4.1\\ altServer A 1.3.6.1.4.1.1466.101.120.6\\ attributeTypes A 2.5.21.5\\ createTimestamp A 2.5.18.1\\ creatorsName A 2.5.18.3\\ dITContentRules A 2.5.21.2\\ dITStructureRules A 2.5.21.1\\ extensibleObject O 1.3.6.1.4.1.1466.101.120.111\\ ldapSyntaxes A 1.3.6.1.4.1.1466.101.120.16\\ matchingRuleUse A 2.5.21.8\\ matchingRules A 2.5.21.4\\ modifiersName A 2.5.18.4\\ modifyTimestamp A 2.5.18.2\\ nameForms A 2.5.21.7\\ namingContexts A 1.3.6.1.4.1.1466.101.120.5\\ objectClass A 2.5.4.0\\ objectClasses A 2.5.21.6\\ subschema O 2.5.20.1\\ subschemaSubentry A 2.5.18.10\\ supportedControl A 1.3.6.1.4.1.1466.101.120.13\\ supportedExtension A 1.3.6.1.4.1.1466.101.120.7\\ supportedFeatures A 1.3.6.1.4.1.4203.1.3.5\\ supportedLDAPVersion A 1.3.6.1.4.1.1466.101.120.15\\ supportedSASLMechanisms A 1.3.6.1.4.1.1466.101.120.14\\ top O 2.5.6.0\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge Description des attributs }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} aliasedObjectName]{Le DN de l’objet pointé}
\item[\hspace{1mm} objectClass]{Chaque entrée dans le DIT a un attribut objectClass}
\item[\hspace{1mm} creatorsName]{Créateur de l’entrée dans le DIT}
\item[\hspace{1mm} createTimestamp]{Date et heure de la création de l’entrée}
\item[\hspace{1mm} modifiersName]{Spécifie le DN du dernier modificateur de l’objet}
\item[\hspace{1mm} modifyTimestamp]{Date et heure de la dernière modification de l’objet}
\item[\hspace{1mm} structuralObjectClass]{Indique la classe objet structurelle de l’entrée}
\item[\hspace{1mm} governingStructureRule]{Indique la règle gouvernante de l’entrée}
\item[\hspace{1mm} subschemaSubentry]{Permet aux clients de découvrir les attributs et classes d’objet permis et présents dans l’arborescence}
\item[\hspace{1mm} objectClasses]{Maintient les définitions des classes d’objet}
\item[\hspace{1mm} attributeTypes]{Maintient les définitions des types d’attributs}
\item[\hspace{1mm} matchingRules]{Maintient les définitions des règles de correspondance}
\item[\hspace{1mm} matchingRuleUse]{Maintient les définitions des utilisations de règle de correspondance}
\item[\hspace{1mm} ldapSyntaxes]{Maintient les définitions des syntaxes LDAP}
\item[\hspace{1mm} dITContentRules]{Maintient les définitions des règles de contenu de DIT}
\item[\hspace{1mm} dITStructureRules]{Maintient les définitions des règles de structure de DIT}
\item[\hspace{1mm} nameForms]{Liste les Names Form qui sont forcés}
\item[\hspace{1mm} altServer]{(Root DSE) Serveurs alternatifs}
\item[\hspace{1mm} namingContexts]{(Root DSE) Contexte de nommage}
\item[\hspace{1mm} supportedControl]{(Root DSE) Contrôles LDAP reconnus}
\item[\hspace{1mm} supportedExtension]{(Root DSE) Opération étendues reconnus}
\item[\hspace{1mm} supportedFeatures]{(Root DSE) fonctionnalités LDAP reconnus}
\item[\hspace{1mm} supportedLDAPVersion]{(Root DSE) Versions LDAP supportées}
\item[\hspace{1mm} supportedSASLMechanisms]{(Root DSE) Mécanismes SASL reconnus}
\end{description}
 
\vspace{1cm}{\huge Description des classes d'objet }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} alias]{Un objet alias}
\item[\hspace{1mm} subschema]{Le sous-schéma est maintenu en sous-entrées appartenant à cette classe}
\item[\hspace{1mm} extensibleObject]{Permet à des objets de maintenir des attributs utilisateur}
\end{description}
 
\vspace{1cm}{\huge Définition des attributs }
 
\
 
{\ttfamily
attributeType ( 2.5.4.1 NAME ’aliasedObjectName’\\ \hspace{2mm}EQUALITY distinguishedNameMatch\\ \hspace{2mm}SYNTAX 1.3.6.1.4.1.1466.115.121.1.12\\ \hspace{2mm}SINGLE-VALUE )\\ \hspace{2mm}\\ attributeType ( 2.5.21.5 NAME ’attributeTypes’\\ \hspace{2mm}EQUALITY objectIdentifierFirstComponentMatch\\ \hspace{2mm}SYNTAX 1.3.6.1.4.1.1466.115.121.1.3\\ \hspace{2mm}USAGE directoryOperation )\\ \hspace{2mm}\\ attributeType ( 2.5.21.4 NAME ’matchingRules’\\ \hspace{2mm}EQUALITY objectIdentifierFirstComponentMatch\\ \hspace{2mm}SYNTAX 1.3.6.1.4.1.1466.115.121.1.30\\ \hspace{2mm}USAGE directoryOperation )\\ \hspace{2mm}\\ attributeType ( 2.5.21.8 NAME ’matchingRuleUse’\\ \hspace{2mm}EQUALITY objectIdentifierFirstComponentMatch\\ \hspace{2mm}SYNTAX 1.3.6.1.4.1.1466.115.121.1.31\\ \hspace{2mm}USAGE directoryOperation )\\ \hspace{2mm}\\ attributeType ( 1.3.6.1.4.1.1466.101.120.16 NAME ’ldapSyntaxes’\\ \hspace{2mm}EQUALITY objectIdentifierFirstComponentMatch\\ \hspace{2mm}SYNTAX 1.3.6.1.4.1.1466.115.121.1.54\\ \hspace{2mm}USAGE directoryOperation )\\ \hspace{2mm}\\ attributeType ( 2.5.4.0 NAME ’objectClass’\\ \hspace{2mm}EQUALITY objectIdentifierMatch\\ \hspace{2mm}SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 )\\ \hspace{2mm}\\ attributeType ( 2.5.21.6 NAME ’objectClasses’\\ \hspace{2mm}EQUALITY objectIdentifierFirstComponentMatch\\ \hspace{2mm}SYNTAX 1.3.6.1.4.1.1466.115.121.1.37\\ \hspace{2mm}USAGE directoryOperation )\\ \hspace{2mm}\\ attributeType ( 2.5.18.3 NAME ’creatorsName’\\ \hspace{2mm}EQUALITY distinguishedNameMatch\\ \hspace{2mm}SYNTAX 1.3.6.1.4.1.1466.115.121.1.12\\ \hspace{2mm}SINGLE-VALUE NO-USER-MODIFICATION\\ \hspace{2mm}USAGE directoryOperation )\\ \hspace{2mm}\\ attributeType ( 2.5.18.1 NAME ’createTimestamp’\\ \hspace{2mm}EQUALITY generalizedTimeMatch\\ \hspace{2mm}ORDERING generalizedTimeOrderingMatch\\ \hspace{2mm}SYNTAX 1.3.6.1.4.1.1466.115.121.1.24\\ \hspace{2mm}SINGLE-VALUE NO-USER-MODIFICATION\\ \hspace{2mm}USAGE directoryOperation )\\ \hspace{2mm}\\ attributeType ( 2.5.18.4 NAME ’modifiersName’\\ \hspace{2mm}EQUALITY distinguishedNameMatch\\ \hspace{2mm}SYNTAX 1.3.6.1.4.1.1466.115.121.1.12\\ \hspace{2mm}SINGLE-VALUE NO-USER-MODIFICATION\\ \hspace{2mm}USAGE directoryOperation )\\ \hspace{2mm}\\ attributeType ( 2.5.18.2 NAME ’modifyTimestamp’\\ \hspace{2mm}EQUALITY generalizedTimeMatch\\ \hspace{2mm}ORDERING generalizedTimeOrderingMatch\\ \hspace{2mm}SYNTAX 1.3.6.1.4.1.1466.115.121.1.24\\ \hspace{2mm}SINGLE-VALUE NO-USER-MODIFICATION\\ \hspace{2mm}USAGE directoryOperation )\\ \hspace{2mm}\\ attributeType ( 2.5.21.9 NAME ’structuralObjectClass’\\ \hspace{2mm}EQUALITY objectIdentifierMatch\\ \hspace{2mm}SYNTAX 1.3.6.1.4.1.1466.115.121.1.38\\ \hspace{2mm}SINGLE-VALUE NO-USER-MODIFICATION\\ \hspace{2mm}USAGE directoryOperation )\\ \hspace{2mm}\\ attributeType ( 2.5.21.10 NAME ’governingStructureRule’\\ \hspace{2mm}EQUALITY integerMatch\\ \hspace{2mm}SYNTAX 1.3.6.1.4.1.1466.115.121.1.27\\ \hspace{2mm}SINGLE-VALUE NO-USER-MODIFICATION\\ \hspace{2mm}USAGE directoryOperation )\\ \hspace{2mm}\\ attributeType ( 2.5.18.10 NAME ’subschemaSubentry’\\ \hspace{2mm}EQUALITY distinguishedNameMatch\\ \hspace{2mm}SYNTAX 1.3.6.1.4.1.1466.115.121.1.12\\ \hspace{2mm}SINGLE-VALUE NO-USER-MODIFICATION\\ \hspace{2mm}USAGE directoryOperation )\\ \hspace{2mm}\\ attributeType ( 2.5.21.2 NAME ’dITContentRules’\\ \hspace{2mm}EQUALITY objectIdentifierFirstComponentMatch\\ \hspace{2mm}SYNTAX 1.3.6.1.4.1.1466.115.121.1.16\\ \hspace{2mm}USAGE directoryOperation )\\ \hspace{2mm}\\ attributeType ( 2.5.21.1 NAME ’dITStructureRules’\\ \hspace{2mm}EQUALITY integerFirstComponentMatch\\ \hspace{2mm}SYNTAX 1.3.6.1.4.1.1466.115.121.1.17\\ \hspace{2mm}USAGE directoryOperation )\\ \hspace{2mm}\\ attributeType ( 2.5.21.7 NAME ’nameForms’\\ \hspace{2mm}EQUALITY objectIdentifierFirstComponentMatch\\ \hspace{2mm}SYNTAX 1.3.6.1.4.1.1466.115.121.1.35\\ \hspace{2mm}USAGE directoryOperation )\\ \hspace{2mm}\\ attributeType ( 1.3.6.1.4.1.1466.101.120.6 NAME ’altServer’\\ \hspace{2mm}SYNTAX 1.3.6.1.4.1.1466.115.121.1.26\\ \hspace{2mm}USAGE dSAOperation )\\ \hspace{2mm}\\ attributeType ( 1.3.6.1.4.1.1466.101.120.5 NAME ’namingContexts’\\ \hspace{2mm}SYNTAX 1.3.6.1.4.1.1466.115.121.1.12\\ \hspace{2mm}USAGE dSAOperation )\\ \hspace{2mm}\\ attributeType ( 1.3.6.1.4.1.1466.101.120.13 NAME ’supportedControl’\\ \hspace{2mm}SYNTAX 1.3.6.1.4.1.1466.115.121.1.38\\ \hspace{2mm}USAGE dSAOperation )\\ \hspace{2mm}\\ attributeType ( 1.3.6.1.4.1.1466.101.120.7 NAME ’supportedExtension’\\ \hspace{2mm}SYNTAX 1.3.6.1.4.1.1466.115.121.1.38\\ \hspace{2mm}USAGE dSAOperation )\\ \hspace{2mm}\\ attributeType ( 1.3.6.1.4.1.4203.1.3.5 NAME ’supportedFeatures’\\ \hspace{2mm}EQUALITY objectIdentifierMatch\\ \hspace{2mm}SYNTAX 1.3.6.1.4.1.1466.115.121.1.38\\ \hspace{2mm}USAGE dSAOperation )\\ \hspace{2mm}\\ attributeType ( 1.3.6.1.4.1.1466.101.120.15 NAME ’supportedLDAPVersion’\\ \hspace{2mm}SYNTAX 1.3.6.1.4.1.1466.115.121.1.27\\ \hspace{2mm}USAGE dSAOperation )\\ \hspace{2mm}\\ attributeType ( 1.3.6.1.4.1.1466.101.120.14 NAME ’supportedSASLMechanisms’\\ \hspace{2mm}SYNTAX 1.3.6.1.4.1.1466.115.121.1.15\\ \hspace{2mm}USAGE dSAOperation )\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge Définition des classes d'objet }
 
\
 
{\ttfamily
objectClass ( 2.5.6.1 NAME ’alias’\\ \hspace{2mm}SUP top STRUCTURAL\\ \hspace{2mm}MUST aliasedObjectName )\\ \hspace{2mm}\\ objectClass ( 2.5.20.1 NAME ’subschema’ AUXILIARY\\ \hspace{2mm}MAY ( dITStructureRules \$ nameForms \$ ditContentRules \$\\ \hspace{2mm}objectClasses \$ attributeTypes \$ matchingRules \$\\ \hspace{2mm}matchingRuleUse ) )\\ \hspace{2mm}\\ objectClass ( 1.3.6.1.4.1.1466.101.120.111 NAME ’extensibleObject’\\ \hspace{2mm}SUP top AUXILIARY )\\
}
\vspace{8mm}
\end{flushleft}
\end{document}
