Ludiscape se présente sous la forme d’une palette d’outils intégrée conçue pour créer du contenu multimédia, du e-learning, du mobile-learning et de jeu sérieux.
Ludiscape a été conçu comme une solution de création logicielle simple et efficace et permettre de publier le contenu sur des systèmes LMS, SCORM et xApi TinCan.
Chamilo est un logiciel open source de gestion de l’apprentissage et du contenu d’apprentissage, dont l’objectif est d’améliorer l’accès global à l’éducation et au savoir.
No-Code n8n et Chamilo LMS
Automatiser vos process avec n8n et Chamilo
L’outil low-code N8N permet de créer et modifier plus facilement des workflows automatisés où il suffit de faire des connexions entre des noeuds via une interface.
Dans les noeuds proposés, il y a par exemple GitHub, GitLab, des services AWS, des services Google, des services de messageries et pour ceux qui veulent quand même coder un peu, des commandes SSH ou la possibilité de pouvoir faire des fonctions en Javascript.
n8n est open-source, sous licence fair-code , nous allons dans ce dossier créer une process avec le logiciel PHP Chamilo LMS.
L’outil propose une interface très claire, avec à droite un menu permettant de gérer les workflows et les droits pour accéder aux différentes applications que vous souhaitez utiliser, à gauche la recherche pour ajouter un noeud, et au centre, la création de votre workflow.
Connexion de l'outil avec Chamilo LMS
Nous allons utiliser un outil HTTP Request et le plugin chamilo_connect pour créer une connexion simple avec Chamilo LMS.
Le nœud de requête HTTP est l’un des nœuds les plus polyvalents de n8n. Il vous permet de faire des requêtes HTTP qui peuvent être utilisées pour interroger des données à partir d’applications et de services.
Toutes les données entrantes que vous recevez ne seront pas correctement structurées pour permettre aux nœuds de traiter chaque élément individuel.
En règle générale, vous devez utiliser du code dans le nœud Function pour modifier la structure des données .
Remarque : Utilisez le nœud « Item Lists » pour modifier la structure des données.
Exemple de code : Récupération de la liste des utilisateurs de la base puis transformation en liste d’emails.
{
"name": "Chamilo Wookflow",
"nodes": [
{
"parameters": {},
"name": "Start",
"type": "n8n-nodes-base.start",
"typeVersion": 1,
"position": [
-240,
140
]},
{ "parameters": {
"functionCode": "return items[0].json.map(item => { \n return {\n json: item,\n }\n})\n"
},
"name": "Function",
"type": "n8n-nodes-base.function",
"typeVersion": 1,
"position": [
260,
140
]},
{"parameters": {
"url": "http://localhost/chamilo-1.11.16/plugin/chamilo_connect/api.php?action=getuserslist",
"options": {}
},
"name": "chamilo_connect",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 1,
"position": [
20,
280
],
"notesInFlow": false
}
],
"connections": {
"Start": {
"main": [
[
{
"node": "chamilo_connect",
"type": "main",
"index": 0
}
]
]
},
"chamilo_connect": {
"main": [
[
{
"node": "Function",
"type": "main",
"index": 0
}
]
]
}
},
"active": false,
"settings": {},
"id": 1
}
N8N A quoi sert la "function item" ?
Le nœud « Function Item » est utilisé pour ajouter des extraits de code personnalisés au code JavaScript qui doit être exécuté une fois pour chaque élément qu’il reçoit en entrée.
Le nœud Function Item prend en charge les promesses.
Les promesses : Les promesses sont aujourd’hui utilisées par la plupart des API modernes. Il est donc important de comprendre comment elles fonctionnent et de savoir les utiliser pour optimiser son code. Les avantages des promesses par rapport à l’utilisation de simples fonctions de rappel pour gérer des opérations asynchrones vont être notamment la possibilité de chainer les opérations asynchrones, la garantie que les opérations vont se dérouler dans l’ordre voulu.
Ainsi, au lieu de retourner les données directement, il est également possible de retourner une promesse qui se résout en conséquence.
Il offre également la possibilité d’écrire dans la console de votre navigateur à l’aide de console.log
, utile pour le débogage et le dépannage de vos flux de travail.