Chamilo
Chamilo 1.11 - Français
Chamilo 1.11 - Français
  • Introduction
  • Guide Enseignant
    • Introduction
    • Découverte de Chamilo
      • Qu'est-ce que Chamilo ?
      • À propos de ce guide
      • À qui ce guide est-il destiné ?
      • Comment lire ce guide ?
      • Ergonomie générale
    • À quoi sert Chamilo ?
      • Paradigme de formation
      • Éléments communs de l'interface
    • Page d'accueil de Chamilo
    • S'enregistrer sur la plateforme
    • S'y retrouver dans Chamilo
    • Créer un cours
    • Contrôler l'accès à un cours
    • Organisation des cours
      • Catégories personnelles
      • Icônes de gestion des cours
    • Administrer un cours
    • Éditeur en ligne (teacher/WYSIWYG)
      • Outils variables
      • Envoyer une image
    • Page principale du cours
      • Texte d'introduction
      • Outils de production
      • Outils d'interaction
      • Outils d'administration
    • Premiers pas : l'outil « Documents »
      • Créer un répertoire
      • Changer rapidement de répertoire
      • Importer un document sur la plateforme
      • Créer un nouveau document
      • Télécharger les documents
      • Supprimer un fichier ou un dossier
      • Surveiller les quotas d'un cours
      • Présenter des images
    • Interactivité : l'outil « Exercices »
      • Introduction
      • Créer un Exercice
      • Feedback, score et réponses correctes
      • Types d'exercices
      • Créer une question
      • La banque de questions
      • Modifier une question appartenant à plusieurs exercices
      • Importer un exercice « Hotpotatoes » ou QTI2
      • Afficher les résultats de l'exercice
      • Exercices de type feedback immédiat
    • Communication : l'outil « Forum »
      • Utiliser les vues
      • Ajouter une catégorie de forum
      • Ajouter un forum
      • Administrer les catégories de forums
      • Administrer les forums
      • Lancer un nouveau sujet
      • Administrer les sujets
      • Administrer les messages
      • Évaluer un apprenant
      • Évaluer depuis un message
      • Ajouter un message à un fil de discussion
      • Répondre à un message particulier
      • Répondre à un message particulier en le citant
      • « Répondre à ce sujet» ou « Répondre »
      • Rechercher un élément dans les forums
    • Structure : l'outil « Parcours »
      • Introduction
      • Créer un parcours
      • Ajouter une activité / un objet
      • Sonoriser une activité
      • Importer un cours AICC ou SCORM
      • Modifier un parcours
      • Les « pré-requis »
      • Génération de certificats
    • Mesures : l'outil « Suivi »
      • Suivi apprenants
      • Afficher le suivi détaillé d’un apprenant
      • Suivi du cours
      • Suivi des ressources
      • Suivi d'examens
    • L'outil « Travaux »
      • Créer des travaux
      • Envoi de travaux par les apprenants
      • Gérer les dossiers de travaux
      • Paramétrer l’évaluation des travaux
      • Définir une date d’expiration
      • Corriger les travaux
      • Administrer les travaux
    • L'outil « Utilisateurs »
      • Inscrire des utilisateurs
    • L'outil « Cahier de notes »
      • Préconfiguration du cahier de notes
      • Ajouter une ressource évaluée
      • Créer un lien
      • Vue linéaire
      • Administrer les activités/éléments évalués
      • Compétences
      • Modèle d'évaluation
    • L'outil « Wiki »
      • Démarrer un wiki en modifiant la page principale
      • Ajouter une nouvelle page liée
      • Ajouter une nouvelle page non liée (teacher/orpheline)
      • Commenter une page
      • Autres outils du wiki
    • L'outil « Liens »
      • Ajouter un dossier de liens
      • Ajouter un lien
      • Administrer les liens
      • Vérification de liens
    • L'outil « Annonces »
      • Ajouter une annonce
      • Administrer les annonces
    • L'outil « Glossaire »
      • Ajouter un nouveau terme
      • Administrer le glossaire
    • L'outil « Présences »
      • Créer une feuille de présences
      • Prendre les présences
      • Exporter un PDF des présences
    • L'outil « Progression du cours »
      • Créer une section thématique
      • Définir le plan thématique
      • Créer les étapes de progression du cours
      • Visualisation par l'apprenant
    • L'outil « Agenda »
      • Ajouter un événement dans l'agenda d'un cours
      • Importer/exporter des événements
      • Agenda personnel (teacher/onglet Agenda perso)
    • L'outil « Partage de documents »
      • Créer des dossiers pour les fichiers
      • Envoyer un fichier en sélectionnant les destinataires
      • Administrer (teacher/enregistrer, déplacer, supprimer) des fichiers envoyés ou reçus
      • Créer ou consulter le « feedback » associé à un fichier envoyé ou reçu
    • L'outil « Groupes »
      • Créer un groupe
      • Paramétrer les propriétés des groupes
      • Remplir un groupe (teacher/inscription par les apprenants eux-mêmes)
      • Remplir un groupe automatiquement
      • Remplir un groupe manuellement
      • Atteindre l’espace d’un groupe
      • Aperçu / Exportation des inscrits aux groupes
      • Gérer les groupes
    • L'outil « Chat »
      • Envoyer un message
      • Archive de la liste des messages
    • L'outil « Enquêtes »
      • Créer une nouvelle enquête
      • Ajouter des questions à l'enquête
      • Obtenir un aperçu de l'enquête
      • Publier l'enquête
      • Afficher le suivi des enquêtes
      • Administrer les enquêtes
    • L'outil « Notes personnelles »
      • Créer une nouvelle note
      • Trier les notes
    • L'outil « Blogs »
      • Lancer un nouveau projet
      • Inscrire les apprenants participant au blog
      • Créer un nouvel article
      • La gestion des tâches (teacher/ou définir des rôles)
      • Assigner une tâche à un apprenant
      • Signaler l’exécution d’une tâche
      • Consulter la gestion des tâches par apprenant
    • L'outil « Paramètres »
      • Modifier les paramètres généraux du cours
      • Visibilité et accès
      • Gérer les alertes par courriel
      • Modifier les permissions utilisateurs
      • Modifier le comportement de l’outil « Chat »
      • Configurer les parcours
      • Configurer la progression du cours
      • Gérer la visibilité des dossiers système
    • L'outil « Maintenance »
      • Créer une sauvegarde
      • Importer les informations de sauvegarde
      • Copier un cours
      • Vider un cours
    • L'outil « Suivi »
      • Suivi des cours dont l'enseignant est responsable
      • Suivi des sessions dont l'enseignant est le coach général
    • L'onglet « Réseau social »
      • Modifier les informations du profil
      • La messagerie interne à Chamilo
      • Les contacts « Amis » sur Chamilo
      • Mon profil partagé
      • Les « Groupes sociaux » sur Chamilo
      • Rechercher des utilisateurs ou des groupes
      • Mes fichiers
    • Vue de session
      • Onglet cours
      • Onglet parcours
      • Onglet QCM
      • Onglet de statistiques
    • Annexes
      • Glossaire
      • Licence du document
      • Historique du document
  • Guide Administrateur
    • Introduction
    • Installation et configuration
      • Serveur
      • Assistant d'installation
      • Mise à jour de la plateforme Chamilo
    • Sauvegardes
      • Sauvegarde extérieure à Chamilo
      • Sauvegarde par l'interface de Chamilo
      • Récupération de sauvegardes
    • Administration
      • Administrer la plateforme
      • Administrer les « Utilisateurs »
      • Administrer les « Cours »
      • Administrer les « Sessions de formation »
      • Administrer les options système
      • Administrer le RGPD
    • Rapports
      • Liste des rapports
    • Fonctionnalités globales
      • Multi-URL
      • Vidéoconférence
      • Chamilo Rapid Course (admin/conversion ppt)
      • Modifier les styles
      • SSO CAS et synchro de données LDAP
      • Plugin xAPI
      • Événement sur inscription
    • Annexes
      • Foire aux questions
      • Listing des options de configuration
      • Licence du document
      • Historique du document
Powered by GitBook
On this page
  • Configuration SSO CAS
  • Configuration LDAP
Export as PDF
  1. Guide Administrateur
  2. Fonctionnalités globales

SSO CAS et synchro de données LDAP

PreviousModifier les stylesNextPlugin xAPI

Last updated 3 years ago

Vous avez déjà un serveur CAS et un LDAP (ou Active Directory) et vous voulez que Chamilo utilise ces 2 ressources, cette page vous guide pour mettre en place une configuration standard avec les valeurs recommandées par défaut.

Configuration SSO CAS

Comme utilisateur "administrateur", allez dans Chamilo sur la page d'administration et dans le bloc "plateforme" et cliquez sur le lien "Paramètres de configuration de Chamilo", cliquez sur l'icône CAS.

On obtient ainsi la liste des options de configuration liées à CAS que l'on peut configurer ainsi :

  • Enable CAS authentication : Yes

  • Main CAS server : URL.DEVOTRESERVEUR.CAS

  • Main CAS server URI :

  • Main CAS server port : 443

  • Main CAS server protocol : CAS 2 (à adapter en fonction de ce que vous avez comme configuration de votre serveur)

  • Enable CAS user addition : Create a user account for any new CAS-authenticated user, from LDAP

  • Update CAS-authenticated user account information from LDAP : Yes

Si vous voulez tester la connexion par CAS indépendamment du LDAP, il est possible de mettre la configuration suivante pour ces 2 dernières options :

  • Enable CAS user addition : Create a user account for any new CAS-authenticated user, from scratch

  • Update CAS-authenticated user account information from LDAP : No

Pour tester, nous vous conseillons d'activer le plugin permettant d'ajouter un bouton sur la page de login (il sera désactivé quand on mettra la redirection automatique vers le serveur CAS si l'utilisateur n'est pas encore authentifié). Pour se faire, allez sur la page d'administration dans le bloc plateforme et cliquez sur le lien "plugin" puis activez le plugin "Add a button to login using CAS" et entrez la configuration suivante :

  • title : "CAS Connexion"

  • region : "login_bottom"

Une fois que la connexion CAS est validée avec cette configuration on peut finaliser la mise ne œuvre en adaptant la configuration dans le fichier app/config/auth.conf.php On trouve l'ensemble des options possibles dans le fichier app/config/auth.conf.dist.php On peut voir un bloc CAS à la fin qui contient ceci :

/**  
* CAS
*/ 
$cas = [
     'force_redirect' => false,
     'replace_login_form' => false,
     // 'verbose' => false,
     // 'debug' => '/var/log/cas_debug.log',
     'noCasServerValidation' => true, // set to false in production
     // 'fixedServiceURL' => false, // false by default, set to either true or to the service URL string if needed
     // sites might also need proxy_settings in configuration.php
];

Nous vous conseillons de modifier ceci une fois que vous êtes en production et que la connexion avec le bouton CAS en page d'accueil fonctionne correctement :

  • 'force_redirect' => true,

    Ceci forcera la redirection automatique vers le serveur CAS si l'utilisateur n'est pas déjà authentifié. Attention qu'il faudra mettre en place une page de login local si vous avez besoin d'accéder à Chamilo en vous connectant avec des comptes qui ne sont pas sur CAS.

  • 'noCasServerValidation' => false,

Configuration LDAP

Pour que la création des comptes puisse se faire en récupérant les champs des utilisateurs depuis le LDAP, il faut pour cela configurer la connexion LDAP. Ceci se fait également dans le fichier de configuration app/config/auth.conf.php pour lequel on trouve toutes les options possibles dans le fichier app/config/auth.conf.dist.php Voici un exemple avec le mail comme identifiant dans le LDAP et également pour le CAS.

/**  
* LDAP  
*/ 
/**  * Array of connection parameters  **/
$extldap_config = array(
   //base dommain string
   'base_dn' => 'DC=cblue,DC=be',
   //admin distinguished name
   'admin_dn' => 'CN=admin,dc=cblue,dc=be',
   //admin password
   'admin_password' => 'pass',
   //ldap host
   'host' => array('1.2.3.4', '2.3.4.5', '3.4.5.6'),
   // filter
 //  'filter' => '', // no () arround the string
   'port' => 389, // default on 389
   //protocl version (2 or 3)
   'protocol_version' => 3,
   // set this to 0 to connect to AD server
   'referrals' => 0,
   //String used to search the user in ldap. %username will ber replaced by the username.
   //See extldap_get_user_search_string() function below
 //  'user_search' => 'sAMAccountName=%username%',  // no () arround the string
   'user_search' => 'mail=%username%',  // no () arround the string
   //encoding used in ldap (most common are UTF-8 and ISO-8859-1
   'encoding' => 'UTF-8',
   //Set to true if user info have to be update at each login
   'update_userinfo' => true
   // Define user_search_import_all_users variable to control main/auth/external_login/ldap.inc.php
   // Active Directory: 'user_search_import_all_users' => 'sAMAccountName=$char1$char2*'
   // OpenLDAP: 'user_search_import_all_users' => 'uid=*'
   'user_search_import_all_users' => 'uid=*'
);

/**  
* Correspondance array between chamilo user info and ldap user info  
* This array is of this form :  
*  '<chamilo_field> => <ldap_field>  
*  
* If <ldap_field> is "func", then the value of <chamilo_field> will be the return value of the function  
* extldap_get_<chamilo_field>($ldap_array)  
* In this cas you will have to declare the extldap_get_<chamilo_field> function  
*  
* If <ldap_field> is a string beginning with "!", then the value will be this string without "!"   
*  
* If <ldap_field> is any other string then the value of <chamilo_field> will be  
* $ldap_array[<ldap_field>][0]  
*  
* If <ldap_field> is an array then its value will be an array of values with the same rules as above  
*  
* Please Note that Chamilo expects some attributes that might not be present in your user ldap record  
*  
**/ 
$extldap_user_correspondance = array(
     'firstname' => 'givenName',
     'lastname' => 'sn',
     'email' => 'mail',
     'auth_source' => '!extldap',
     'username' => 'mail',
     'language' => '!english',
     'password' => 'userPassword',
     'status' => '!5', // Forcing status to 5; To change this set 'status' => 'func' and implement an extldap_get_status($ldap_array) function
     'active' => '!1', // Forcing active to 1; To change this set 'status' => 'func' and implement an extldap_get_active($ldap_array) function
     'admin' => 'func' // Using the extldap_get_admin() function to check if user is an administrator based on some ldap user record value
     /* Extras example
     'extra' => array(
         'title' => 'title',
         'globalid' => 'employeeID',
         'department' => 'department',
         'country' => 'co',
         'bu' => 'Company',
         'cas_user' => 'mail',
     )
*/ 
);

Il faut donc adapter cette configuration pour la connexion au LDAP et pour la correspondance des champs entre le LDAP et Chamilo. La configuration de la connexion se fait dans le tableau extldap_config. La correspondance des champs se fait dans le tableauextldap_user_correspondance. On peut voir pour la langue de l'utilisateur que l'on a une valeur fixe "english" qui est précédée d'un "!" pour indiquer qu'il faut prendre cette valeur fixe. Il faut savoir que pour mettre une autre langue, il faut mettre son nom en anglais et tel qu'il apparait dans le dossier main/lang/ de Chamilo. Donc, si l'on veut que les utilisateurs qui seront créés à partir du LDAP aient la langue française, il faut mettre : 'language' => '!french', On peut voir dans la partie 'extra' le dernier élément qui nommé cas_user, c'est un champs extra d'utilisateur qui est créé automatiquement quand on active l'authentification CAS et qui est utilisé pour stocker la valeur de l'authentifiant CAS de l'utilisateur. C'est ce qui permettra de faire le lien entre l'utilisateur LDAP et l'utilisateur CAS.

Pour la définition du rôle des utilisateurs en fonction de règles du LDAP, il faut adapter les fonctions correspondantes que l'on peut trouver dans main/auth/external_login/ldap.inc.php

/**  
* Please declare here all the function you use in extldap_user_correspondance  
* All these functions must have an $ldap_user parameter. This parameter is the  
* array returned by the ldap for the user.  
* 
*/ 
function extldap_get_status($ldap_user) {
     return STUDENT; 
} 
function extldap_get_admin($ldap_user) {
     return false; 
}

Pour tester votre configuration LDAP, vous pouvez activer temporairement l'authentification par LDAP en allant dans le fichier de configuration app/config/configuration.php et en dé-commentant les deux dernières lignes du bloc ci-dessous :

// NEW LDAP IMPLEMENTATION BASED ON external_login info
// -> Uncomment the two lines bellow to activate LDAP AND edit main/auth/external_login/ldap.conf.php for configuration
// $extAuthSource["extldap"]["login"] = $_configuration['root_sys']."main/auth/external_login/login.ldap.php";
// $extAuthSource["extldap"]["newUser"] = $_configuration['root_sys']."main/auth/external_login/newUser.ldap.php"

Vous aurez alors un nouveau lien "Importer des utilisateurs" sur la page d'administration dans le bloc "Utilisateurs". En suivant ce lien vous aurez accès à un formulaire permettant de faire une recherche d'utilisateurs dans votre LDAP. Si vous retrouvez vos utilisateurs c'est que la connexion est correcte. Une fois que tout est bien configuré, vous pouvez alors désactiver à nouveau cette option en remettant en commentaire les 2 dernières lignes du bloc ci-dessus.

Une fois la connexion LDAP configurée n'oubliez pas de revenir à votre configuration CAS comme vu au dessus pour permettre de récupérer les attributs des utilisateurs depuis le LDAP lors de la connexion par CAS.