Créer et charger ses propres modules

Guide au développement de nouveaux modules

Prérequis

Pour réaliser et publier vos modules vous aurez besoin de:

Créer le module

Spécifier les informations du module

Les informations du modules sont à renseigner dans un fichier .yaml (ou .yml) et doit comporter la section suivante, avec les même champs:

module.yml
module:
  name: Module name
  description: Module description

Sous le champname, spécifiez le nom du module. Il apparaîtra comme son titre depuis les différents portails web. De la même manière, le champ descriptioncorrespond au résumé qui sera affiché aux utilisateurs.

Ajouter du contenu au module

Le module est composé de différentes ressources, qui ne sont en réalité que de simples pages HTML avec du JavaScript. Au sein d'une ressource, vous aurez accès à JQuery et Bootstrap 4 sans avoir besoin de spécifier la dépendance.

Passer à la ressource suivante

Pour passer à la ressource suivante, validez la première ressource via l'API sur l'endpoint suivant:

PUT http://<API route>/api/v1/Pupils/me/Hubs/<Id Hub>/Modules/current/States/current

Récupérez ensuite la nouvelle ressource courante:

GET http://<API route>/api/v1/Pupils/me/Hubs/<Id Hub>/Modules/current/Resources/current

Chacun de ces appels nécessite de spécifier le champ Authorization et d'utiliser le JWT de l'utilisateur, sans quoi les requêtes échoueront. Ce dernier est accessible depuis le LocalStorage de cette manière depuis le JavaScript:JSON.parse(localStorage.currentPupil).token

Finaliser le module

Pour finaliser le module, l'appel à l'API est légèrement différent puisqu'il s'agit de supprimer la progression actuelle de l'utilisateur. Aussi faut-il appeler:

DELETE http://<API route>/api/v1/Pupils/me/Hubs/<Id Hub>/Modules/current/States/current

Charger le module en base

Pour charger votre module en base vous pouvez à la main insérer un nouveau module, puis une à une les ressources associées ou bien utiliser l'outil prévu à cet effet.

Utiliser InTechNet.Uploader

Pour installer InTechNet.Uploader, commencer par le cloner et installer ses dépendances:

$ git clone https://github.com/pBouillon/InTechNet.Uploader
$ cd InTechNet.Uploader
InTechNet.Uploader$ pip install -r requirements.txt

Configurer l'outil

InTechNet.Uploader va vous permettre d'ajouter automatiquement vos modules et leurs ressources en base. Pensez donc à correctement spécifier les accès à la base de données depuis le fichier database.ini

database.ini
[postgresql]
host=localhost
database=InTechNet
user=postgres
password=root

Ajouter le module et ses ressource

Utilisez les différentes options du CLI (affichables avec l'option --help) pour charger le module et les ressources en base. Par défaut, voici l'utilisation classique:

$ python uploader.py MODULE_FOLDER_PATH

Avec l'option --verbose, vous pourrez suivre les actions pas à pas du script.

Pour ordonner les ressources, InTechNet.Uploader se base sur le nom des différents documents .html qui se trouvent dans le répertoire spécifiés. Une bonne idée pour mieux ordonner ses ressources est donc de les précéder par leur numéro d'apparition par exemple.

Mis à jour

Ce contenu vous a-t-il été utile ?