Smartschool est une plateforme propriétaire utilisée par de nombreuses écoles en Belgique.
Cette plateforme vise surtout la gestion d'aspects administratifs liés à des écoles réelles (les élèves sont physiquement présents en classe lors des heures de cours). Les possibilités de cours en ligne y sont très limitées et Moodle peut être envisagé comme un outil complémentaire à Smartschool et inversement.
Il est dés lors intéressant de voir comment mieux intégrer ces deux plateformes. Une des possibilités est de permettre aux élèves de s'identifier sur Moodle à l'aide de leurs identifiant Smartschool en utilisant oauth2.
La documentation de Smartschool est très pauvre, voici pour ceux que cela intéresserait la marche à suivre.
1) Demander les credentials oauth à Smartschool
- Se rendre sur la page de Smartschool consacrée à OAuth pour demander un "ID client" et un "Secret Client"
- Dans le formulaire de demande, pour le champ "Nom de l'école ou de l'organisation", mettre le nom de votre plateforme Moodle
- Dans le formulaire de demande, pour le champ "Redirect URL de votre application" mettre l'adresse "url du site Moodle + /admin/oauth2callback.php"
2) Configurer le service sur la plateforme Moodle
- Sur votre plateforme Moodle, aller dans [Administration => Serveur => Service OAuth2] et créer un nouveau service OAuth avec le bouton "Créer un service personnalisé".
- Paramétrez le nouveau service comme suit :
- Nom : Smartschool
- ID Client : celui que vous avez reçu de Smartschool
- Secrret Client : celui que vous avez reçu de Smartschool
- Contextes inclus dans une requête de connexion : fulluserinfo
- Les contextes inclus dans une requête de connexion pour accès hors ligne : fulluserinfo
- URL de base du service : https://mon-ecole.smartschool.be/OAuth
- URL du logo : http://www.smartschool.be/wp/wp-content/uploads/2014/12/Smartschool_app_icon_orange.png
Nom | URL |
token_endpoint | https://oauth.smartschool.be/OAuth/index/token |
authorization_endpoint | https://smartschool.be/OAuth |
userinfo_endpoint | https://oauth.smartschool.be/Api/V1/fulluserinfo?access_token= |
Dans "Correspondances de champs utilisateur pour le fournisseur Smartschool", vous indiquez les correspondance suivantes:
Nom du champ externe | Nom du champ interne |
location | city |
country | country |
name | firstname |
surname | lastname |
homephone | phone1 |
mobilephone | phone2 |
username | username |
Le service oauth est maintenant configuré.