| 16 | Les bases sont composés de plusieurs type d'objets, chaque objet représente un élément indissociable dans la base. |
| 17 | |
| 18 | Les objets sont composés: |
| 19 | |
| 20 | * d'un type intrinsèque (user, group, ...) |
| 21 | * d'un identifiant unique (id) |
| 22 | * d'attributs |
| 23 | |
| 24 | Chaque base est mesure d'annoncer les types d'objet qu'elle est capable de gérer, cette liste peut dans certains cas être vide |
| 25 | et aucun type d'objet n'a obligation dans toutes les type de bases. |
| 26 | |
| 27 | Il est possible de récupérer la liste des identifiants uniques par type d'objet, cet identifiant n'est pas unique dans la base, en revanche |
| 28 | il ne peut apparaître pour plusieurs objets de même type. |
| 29 | |
| 30 | L'accès à un objet se fait donc en précisant à la fois le type d'objet voulu et son identifiant. |
| 31 | |
| 33 | |
| 34 | Les attributs supportés dépendent évidement de la base accédée. De même que pour les type d'objet, cette liste est fournie par la base |
| 35 | par type d'objet et il n'y a aucune garantie que cette liste ne soit pas vide. |
| 36 | |
| 37 | === Fonctionnement des attributs === |
| 38 | |
| 39 | On distinguera deux types d'attributs: |
| 40 | |
| 41 | * les attributs simple dont la valeur est lu/écrite directement dans/à partir de la base (exemple: le nom de famille 'sn') |
| 42 | * les attributs générés à partir d'autres attributs: certains attributs ne sont qu'une répétition d'un autre ou simplement une autre manière de présenter la même information, dans un tel cas la valeur de l'attribut est généré dynamiquement par le code (ces attributs sont souvent en lecture seule cf |
| 43 | |
| 44 | === Nom des attributs === |
| 45 | |
| 46 | === Permissions === |
| 47 | |
| 48 | = Convention = |