# LDAP Adhérents

Le Crans dispose d'une base de données stockant les machines des adhérents disposant d'une connexion active et accessible vie le protocole LDAP.

## Connexion

Le serveur LDAP est hébergé sur la machine `flirt` et est accessible sur le port 389. Pour s'y connecter, on peut faire une redirection de ports comme par exemple :

```bash
ssh -L 1636:172.16.10.114:636 tealc.adm.crans.org -J zamok.adm.crans.org
```

## Schéma

Voici la hiérarchie actuelle du LDAP (décembre 2021) :

```
dc=adh,dc=crans,dc=org
|
+-ou=users
| +-cn=user (inetOrgPerson)
|
+-ou=clubs
| +-o=club (organization)
|
+-ou=hosts
  +-cn=machine (device, ipHost, ieee802Device)
```

## Utilisateurs

Les adhérents sont ajoutés dans `ou=users` et ont les attributs suivants :
 * `cn`: le pseudo de l'adhérent
 * `givenName`: le prénom de l'adhérent
 * `sn`: le nom de famille de l'adhérent
 * `mail`: l'adresse email de l'adhérent
 * `postalAddress`: l'adresse postale de l'adhérent (au format 1 Rue Machin, 75000 Ville)
 * `telephoneNumber`: le numéro de téléphone de l'adhérent

L'attribut `description` est utilisé afin de stocker des informations supplémentaires:
 * `birthDate`: la date de naissance de l'adhérent au format `YYYY-MM-DD`
 * `birthLocation`: la ville de naissance de l'adhérent
 * `membershipStart`: la date de la première adhésion de l'adhérent au format `YYYY-MM-DD`
 * `membershipEnd`: la date de fin de l'adhésion de l'adhérent au format `YYYY-MM-DD`
 * `re2oId`: l'identifiant d'utilisateur de l'adhérent dans l'intranet

# Clubs

Les clubs sont ajoutés dans `ou=clubs` et ont les attributs suivants :
 * `o`: le nom du club
 * `description`: le pseudo de l'adhérent responsable du club

# Machines

Les machines sont ajoutées dans `ou=hosts` et ont les attributs suivants :
 * `cn`: le nom de la machine
 * `ipHostNumber`: les addresses IP de la machine
 * `macAddress`: l'adresse MAC de la machine
 * `description`: l'ouverture de ports de la machine
 * `owner`: le dn du propriétaire de la machine (utilisateur ou club)