Communauté Elgg francophone

Créer un compteAide  
Connexion
Universités, formation et usages
Toutes les questions sur l'utilisation de Elgg dans une université

CASsification pour Elgg

Démarré par Daniel Bourrion le 28 septembre 2016 Réponses (7)

Bonjour

Je cherche un plugin permettrant de CASsifier un elgg

Ceux que je trouve sur elgg sont très datés. 
Aide et conseils welcome

D

Réponses

  • Florian DANIEL ~ Facyla le 28 septembre 2016

    Bonjour,

    Effectivement les plugins publics sont un peu datés...

    Le truc, c'est que on se retrouve très vite à s'adapter à la configuration spécifique d'une organisation, sur les règles de récupération/synchronisation des données, le caractère suffisant ou nécessaire de l'authentification CAS, etc.

    Tout cela alors que l'intégration repose essentiellement sur l'interfaçage avec Elgg d'une bibliothèque générique : phpCAS pour la citer :)  voir https://wiki.jasig.org/display/CASC/phpCAS et pour le code https://github.com/Jasig/phpCAS/releases

    Du coup c'est souvent plus rapide de faire sa propre intégration que de développer un plugin générique qui va difficilement s'adapter à tous les cas...

    Sans faire de recherche spécifique, il existe au moins deux choses :

    1. il existe certainement plusieurs implémentations au sein des universités qui utilisent Elgg - c'est une piste à creuser
    2. j'avais pour ma part développé une implémentation CAS pour Inria, qui existe pour Elgg 1.8 et pour Elgg 1.12, mais comme je ne publie pas mes plugins individuellement elle est difficile à trouver... https://github.com/Facyla/esope/tree/esope_1.12/mod/elgg_cas

    Ca dépend aussi de la version d'Elgg utilisée, mais globalement à partir de la version 1.8 les mises à jour des plugins ne nécessitent que des modifications mineures et marchent souvent sur les versions supérieures

    Bonne CASsification !

  • Daniel Bourrion le 28 septembre 2016

    Hello

    Ok, tout ça est bel et bon. Je vais suivre tes pistes en tous cas, sachant que j'ai installé la toute dernière version présente sur le site.

    Merci beaucoup

  • Daniel Bourrion le 28 septembre 2016

    Oh, tu as développé un plugin Etherpad aussi, je vois ça sur ton git... miam miam

  • Florian DANIEL ~ Facyla le 29 septembre 2016

    Hello,

    Le plugin CAS tel qu'il est fait fonctionne en mode authentification CAS suffisante (mais pas nécessaire) : pour l'utiliser il faut passer par SITE/cas_auth qui devrait alors rediriger vers la page de connexion du service CAS, avant que ce dernier ne redirige sur l'application une fois les accès saisis.

    Côté réglages, le login CAS automatique détecte une authentification CAS existante et connecte, mais uniquement depuis la page d'accueil.

    Les bibliothèques sont embarquées, avec plusieurs versions disponibles : le choix devrait se faire en fonction de la version d'openssl utilisée par le serveur CAS, si c'est la 0.9.8 sur le serveur CAS il faut choisir phpCAS 1.3.2 (version patchée qui tient compte du bug d'openssl dans cette version). Sinon la 1.3.3 (qui est la version par défaut), la 1.3.4 est disponible mais pas testée.

    Côté doc désolé il n'y a pas grand'chose, hormis pas mal de commentaires dans le code, et un certain nombre d'infos dans les logs quand on active le mode debug.

     

    Sinon le plugin etherpad est assez expérimental, il fonctionne avec Etherpad lite et permet de synchroniser des contenus depuis et vers le pad, à partir d'un objet Elgg, typiquement un wiki - avec perte de mise en forme dans le sens Elgg => Etherpad bien sûr puisque Etherpad filtre bien plus le HTML qu'Elgg

    L'usage prévu était prise de notes notamment en réunion, avec une bascule rapide pour archiver le contenu sur Elgg. Ou éditer un wiki de manière plus collaborative et surtout synchrone. Et puis ça permet aussi de se créer des pads perso et de groupe.

    Par contre c'est un plugin qui n'a jamais été utilisé en production, et pas vraiment confronté à des usages réels ; il peut certainement être largement amélioré !

  • Daniel Bourrion le 29 septembre 2016

    Hello

    Ok, le module CAS fonctionne mais j'ai un problème sur la création automatique de comptes qui pour l'instant ne se fait pas après le passage par le CAS, même quand ce dernier est réussi.

    En lisant le code du module, j'ai eu l'impression que c'était lié au fait que je n'avais pas active le plugin ldap, ce que j'ai fait.
    Mais ça coince toujours. Vu les logs, c'est peut-être lié au fait que notre ldap demande une identification ; et je n'ai pas vu dans le fichier settings où rajouter les éléments de cette identification (login/mdp) préalable à la requête.

  • Florian DANIEL ~ Facyla le 29 septembre 2016

    Hello,

    Le plugin LDAP (du moins la version publiée dans ESOPE - qui est celle requise par elgg_cas) est lui aussi très lié au site pour lequel il a été développé, notamment pour le nom des métadonnées. Par contre il dispose de quelques hooks qui permettent normalement d'adapter son fonctionnement à un cas particulier. Un premier point peut être de commencer par s'identifier avec LDAP : c'est une authentification concurrente qui passe par la page de login habituelle d'Elgg : on vérifie d'abord si le compte existe via le PAM LDAP, et sinon on va chercher dans la base des utilisateurs locaux.

    Pour CAS, je suis preneur de retours pour rendre le plugin plus générique à l'occasion(de préférence sur Github), ce qui peut passer notamment par le fait d'ajouter des hooks. En l'occurrence je pense qu'un hook permettant de définir la source des identifiants lorsqu'on crée un compte via CAS peut être utile - on pourrait alors brancher plus facilement un autre système dessus - pas forcément LDAP - ou générer automatiquement certaines valeurs.

  • Daniel Bourrion le 29 septembre 2016

    ok, merci des pistes.

    Je ne suis pas développeur, mais si le projet est implanté localement, on pourra s'y pencher avec des collègues plus pointus que moi sur le code.

    D.