Annuaire des coopérateurs (LDAP)

Bonjour,
Nous essayons d’avancer sur l’étude d’un annuaire LDAP au centre de notre futur S.I.
Notre idée est d’y héberger les coordonnées des adhérents de l’association, qui deviendront des coopérateurs ensuite. Il servirait idéalement de moyen d’authentification unique pour se connecter au différents outils mis en place : wiki, Odoo, outil de mailing list, système de vote aux AG, etc…

Est-ce que les coops qui utilisent déjà LDAP pourraient partager ici quelques détails sur l’annuaire LDAP mis en place ?

  • Est-ce OpenLDAP ou un autre soft ?
  • Quel outil d’administration : phpLDAPadmin ou autre ?
  • Quelle structure / schéma avez-vous implémenté ?
  • Pouvez-vous partager un exemple d’entrée d’annuaire (anonymisé) ?
  • Est-ce que vous gérez les droits d’accès aux applis (hors odoo) ou aux modules odoo dans l’annuaire ?
  • Est-ce que vous avez mis en place une interface (outil existant ou dév maison) pour que le coopérateur gère son mot de passe, ses coordonnées, ses abonnements mail, etc… ?

Merci d’avance pour vos réponses !

Salut Sylvain
Nous (Chouette) avons effectivement mis en place LDAP. Clément et Pierre seront plus en mesure de te répondre.

Alors oui on a mis en place un LDAP à LCC. On connaissait pas trop, donc on est surement pas le bon exemple à suivre pour toute la config.

  • Est-ce OpenLDAP ou un autre soft ?

OpenLDAP (notre docker : https://github.com/lachouettecoop/chouette-ldap)

  • Quel outil d’administration : phpLDAPadmin ou autre ?

Outil maison fait avec Symfony2 : https://github.com/lachouettecoop/chouette-admin-chouettos

  • Quelle structure / schéma avez-vous implémenté ?

On a mis l’email, nom, prénom et mot de passe dans le LDAP. Pas de la meilleure manière.

  • Est-ce que vous gérez les droits d’accès aux applis (hors odoo) ou aux modules odoo dans l’annuaire ?

oui pour redmine, rien pour Odoo pour le moment

  • Est-ce que vous avez mis en place une interface (outil existant ou dév maison) pour que le coopérateur gère son mot de passe, ses coordonnées, ses abonnements mail, etc… ?

Dans l’appli Symfony2 on utilise un bundle de gestion des membre qui gère la réinitialisation des mdp. Par contre on n’a pas du tout le reste qui est fait manuellement pour le moment.

Pour compléter la réponse, tout ce qui est analyse et choses « exceptionnelles » sont faites via Directory Studio (client lourd - https://directory.apache.org/studio/).

Mais à priori nous n’avons pas fait grand chose de très poussé car le but est juste de centraliser les accès pour l’instant.

Bonjour,
Merci pour vos indications. Pourquoi avez vous choisi de développer vous même l’appli d’administration ? Il n’y avait pas d’outil satisfaisant ? En particulier, est-ce qu’il n’y avait pas client léger adapté, style phpLdapAdmin ?

Salut Etienne,

L’interface de phpLdapAdmin n’était pas très sexy et on stocke dans cette appli php plus d’informations (compétences, adhésions par année, montant etc…). De plus en reprenant les modules symfony on a tout ce qu’il faut pour un reset de password, faire des exports, mettre un user en enabled ou disabled etc…

Merci Clément,
Effectivement l’interface phpldapAdmin est vraiment une interface d’administration, rébarbative pour le pékin moyen. Votre application gère-t-elle les points suivants:

  • masquage de la structure ldap (cn, dc, ou…)
  • gestion des droits d’accès à l’annuaire (lecture écriture que sur ses propres informations, inscriptions à des groupes de travail, consultation des données des membres des groupes auxquels on appartient…)
  • recherche des membres/groupes d’utilisateurs

Je vois aussi que vous gérez les compétences via cette appli. Or c’est justement une question que je me posais : LDAP est il fait pour stocker ce genre d’info, ou est-ce que c’est une info plutôt stocké dans une base de données tierce, sans rapport avec LDAP ?

Salut Clément,
j’essaye de tester votre appli symfony, j’suis pas vraiment familier du dev web alors je galère un peu (je viens plus de l’embarqué). Peux tu m’aider pour déployer (je suis sur un Linux Mint 17.3)
Pour le moment j’ai fait:

  • git clone de votre repo
  • install de docker-engine et docker-compose
  • le readme.md indique ensuite de copier sympfony.dev dans /etc/host, mais je ne trouve pas trace de ce fichier. Est-ce qu’il s’agit des .yml présent dans sympfony/app/config ? Dans ce cas, lequel utiliser ?
  • j’ai renommé docker-compose.yml.dist en docker-compose.yml et fait docker-compose up. Il m’indique alors « ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running? » J’ai essayé des sudo service docker restart, rien à faire. Une idée ?

Merci si tu peux me donner un coup de main, et bon week-end,

Étienne

Bon j’ai réussi à démarre l’application, par contre elle sort aussitôt chouetteadminchouettos_application_1 exited with code 0

Je vais essayer de m’en sortir, je te redemanderai si je suis bloqué

git clone
cp docker-compose.yml.dist docker-compose.yml
nano docker-compose.yml (changer les variables nginx proxy et les mots de passe)
docker-compose up -d

docker run -ti --rm --name composer-${PWD##*/} -v $(pwd):/app -v ~/.composer:/root/composer composer/composer install (dans /Symfony )
chmod -R 777 symfony/app/cache/ logs/
chmod +x symfony/app/console
dc run --rm php app/console doctrine:schema:create
dc run --rm php app/console assets:install --symlink --relative
dc run --rm php app/console fos:user:create adminuser --super-admin

composer.phar install
rajouter dans parameters.yml
    ldapserveradress: ldap.lachouettecoop.fr
    ldapuser: cn=admin,dc=lachouettecoop,dc=fr
    ldapmdp: xxxx

sudo docker exec -it dockersymfony_php_1 /bin/bash
php composer.phar install (database_host: db, database_port: 3306 etc...)
php app/console doctrine:schema:create
chmod -R 777 app/cache
chmod -R 777 app/logs
rajouter un super admin : php app/console fos:user:create adminuser --super-admin

Salut Clément,

je commence à m’en sortir petit à petit mais ca coince toujours, c’est chaud de s’y mettre from scratch !

  • si je comprends bien, docker run -ti --rm --name composer-${PWD##*/} -v $(pwd):/app -v ~/.composer:/root/composer composer/composer install va installer les bundle symfony dans la VM docker. Cette ligne pose probleme chez moi, elle me sort une erreur The service "chouette.admin.ldap" has a dependency on a non-existent parameter "ldapserveradress"
  • sudo docker exec -it dockersymfony_php_1 /bin/bash retourne une erreur Error response from daemon: No such container: dockersymfony_php_1
  • est-ce que je dois installer composer.phar moi même ? ou cette install est pris en charge par docker ?

Merci,

Étienne

Oui le morceau de commandes que je t’ai donné n’a pas l’air d’être dans l’ordre. (si c’est bien l’erreur que je pense)

En fait lors du premier appel à composer il télécharge symfony et génère le fichier parameters.yml si je ne me trompe pas. Ensuite il vide le cache mais une erreur se produit car mon code fait appel à des paramètres qui ne sont pas dans parameters.yml

Tu peux mettre des paramètres bidon si jamais tu n’a pas encore le ldap.
A partir de là tu peux relancer un composer update (en ligne de commande simple je fais php composer.phar update)

Désolé pour la documentation de mauvaise qualité ! on pourra essayer de faire mieux avec tes retours :wink:

la commande php composer.phar update , on la fait dans docker ?

Non du coup je dirais que sur la commande

docker run -ti --rm --name composer-${PWD##*/} -v $(pwd):/app -v ~/.composer:/root/composer composer/composer install

Tu peux remplacer le install tout à la fin par un update

Salut Clément,
Bon ca coince avec Docker, la marche est un peu haute pour moi. Je suis déjà pas à l’aise avec Symfony, alors Symfony+docker c’est trop hard, je n’arrive pas à lancer l’appli (elle sort aussitôt, je pense que c’est lié à ma conf de DB)
Du coup je vais tenter de partir sur symfony sans docker, et sans DB. Je vais partir d’un symfony nu, et l’enrichir avec vos Bundle au fur et à mesure. Comme votre IHM nous convient très bien ce serait vraiment dommage de s’en priver.
Je te tiens au courant

a+

Étienne

Bonjour à tous,

Je remonte ce sujet pour 2 questions orga LDAP :

  • Comment vous gérez la création d’utilisateurs dans le LDAP ? Vous avez développé des interfaces pour les personnes qui saisissent les adhésions ou c’est synchronisé avec Odoo ou c’est plutôt les informaticiens qui importent directement dans le LDAP les nouveaux users ?

  • Des conseils particuliers, choses à ne pas faire ? Nous réfléchissons à mettre en place un LDAP prochainement.

Merci !

Salut Serge,

  • Comme mis plus haut dans le sujet, on a une interface (adminChouettos) pour les personnes qui saisissent les adhésions et ce programme rajoute automatiquement dans le LDAP le nom, prénom, code barre et mot de passe de la personne.

  • Bien configurer la limite d’ openLdap , on s’est retrouvé avec un bug lorsqu’on a atteint les 1000 adhérents !

A+

1 « J'aime »