• Aucun résultat trouvé

Eléments d’implémentation de MOOCAT

Dans le document The DART-Europe E-theses Portal (Page 117-121)

Nous avons abordé dans le chapitre 2 de ce manuscrit les avantages de BPMN en tant que langage de modélisation pédagogique. Nous rappelons que ce langage a d’ailleurs été utilisé pour la modélisation de différentes situations pédagogiques dans plusieurs contextes (présentiel, hybride, travail collaboratif, etc.) (Da Costa, 2014 ; Silvestre, 2015 ; Stylianakis et al., 2013).

CHAPITRE 5.MOOCAT, UN EDITEUR DE SCENARIOS ORIENTE CMOOC

Nous avons aussi soulevé les spécificités d’un scénario pédagogique orienté cMOOC et sommes arrivés à la conclusion que ces types de cours ont besoin d’une conception pédagogique particulière. Après avoir énuméré les besoins en termes de scénarisation pédagogique, nous nous sommes appuyés sur les classifications de Botturi et al. (2006) et Nodenot (2007) afin de choisir la notation la plus adéquate pour la modélisation de scénarios de tels environnements. Cette étude nous a amené à porter notre choix sur le langage BPMN (voir chapitre 2).

Toutefois, pour répondre à notre objectif et afin d’offrir à l’enseignant une aide à la conception des scénarios pédagogiques orientés cMOOC, l’utilisation de BPMN n’est pas directement envisageable. Nous devons d’abord proposer une extension de la notion BPMN (section 5.2) pour prendre en compte les spécificités d’un scénario pédagogique orienté cMOOC (voir chapitre 4). Ensuite, nous embarquons le méta-modèle étendu dans notre outil MOOCAT. L’objectif n’est pas de reconstruire une nouvelle plateforme, mais de partir d’un outil existant et le modifier, en proposant des solutions d’extension d’un outil BPMN.

Selon l’OMG (2011), il existe de nombreux outils pour la modélisation BPMN, dont la qualité est très diverse. Selon Da Costa (2014), le choix d’un modélisateur BPMN doit s’effectuer par rapport à plusieurs critères :

(1) Son respect du standard, c’est-à-dire son niveau de conformité avec BPMN 2.0.

(2) Sa simplicité d’utilisation et la réactivité de l’application.

(3) La possibilité d’être utilisé directement en ligne (application web vs application lourde).

(4) Son statut, c’est-à-dire qu’il est préférable de choisir des solutions gratuites ou open source.

(5) La puissance de ses fonctionnalités (validateur de diagramme, simulateur de workflow).

(6) La présence de fonctionnalités d’import/export des diagrammes en différents formats.

Le Tableau 8 présente une l’étude comparative des principaux outils de modélisation BPMN existants, qui a été réalisée pour identifier l’outil qui réponde aux besoins évoqués. Notre sélection s’est portée essentiellement sur les outils gratuits les plus connus.

À partir des résultats recensés dans le Tableau 78 et suivant les critères listés ci-dessus, notre choix s’est porté sur BPMN.io. Pour nos besoins, nous jugeons qu’il est très important d’offrir aux enseignants une application web. Ce critère offre moins de contraintes aux utilisateurs puisqu’il n’y aura aucune installation préalable. Le deuxième critère important pour notre proposition est que l’outil choisi soit open source pour permettre d’effectuer les mortifications nécessaires pour l’extension du

CHAPITRE 5.MOOCAT, UN EDITEUR DE SCENARIOS ORIENTE CMOOC

103

méta-modèle. Finalement, nous jugeons qu’il est important que l’outil dispose des fonctionnalités de validation de diagramme. Ceci nous permettra d’intégrer les règles métiers entre les différents éléments de notre notation. Ces points seront abordés plus en détail dans les sections qui suivent.

Conformité avec BPMN 2.0

Application web

Code open source

Validateur de diagramme

Fonctionnalité d’import- export BIZAGI Process

Modeler

Yaoqiang

Process editor 3.0

Petals BPM

Bonita

Bpmn.io

Activiti

Tableau 8 – Étude comparative des principaux outils de modélisation BPMN

Architecture de base de l’outil

L’architecture de l’application BPMN.io se compose de trois modules principaux, résumé sur la Figure 31 et que nous présentons ci-après.

Figure 31 – Architecture du logiciel BPMN.io 5.3.2.1 Module Bpmn-js

Le module principal de l’outil se nomme Bpmn-js. Il décrit l’interface Homme-machine, simple et visuelle, pour la création, la visualisation et la validation des schémas BPMN. Il repose sur deux modules : « bpmn-moddle », qui embarque le

CHAPITRE 5.MOOCAT, UN EDITEUR DE SCENARIOS ORIENTE CMOOC

méta-modèle BPMN, et « Diagram-js », qui définit les éléments graphiques et leurs comportements.

Bpmn-js permet d’afficher et d’exploiter les éléments de la palette contenant les éléments de la notation BMPN, d’exécuter les règles de modélisation spécifiques à BPMN2.0 et de fournir l’interface principale de modélisation. Ce module offre deux éléments principaux, à savoir le « Viewer » et le « Modeler ». Le Viewer permet de visualiser les diagrammes BPMN. Il s’agit d’une visionneuse qui peut être embarquée dans des applications externes. Le Modeler permet de créer et de modifier des diagrammes. Pour ce faire, le Modeler est pourvu d’une palette d’outils spécifiques à la notation BPMN. Il intègre aussi des éléments permettant de valider les opérations effectuées par l’utilisateur, en associant les actions de modélisation aux règles de BPMN2.0 telles que définies par l’OMG.

5.3.2.2 Module Bpmn-moddle

Le module Bpmn-moddle embarque le méta-modèle défini par le standard BPMN2.0, et permet (1) de faire le mapping entre les éléments graphiques définis dans le module Diagram-js et les éléments du méta-modèle BPMN, (2) de lire et d’écrire des fichiers au format XML respectant la notation BPMN2.0 et (3) de

« parser », lors de l’import d’un modèle, le document XML pour le transformer en arborescence d’objets JavaScript. Cette arborescence est modifiée et validée durant la modélisation.

Ce module est indispensable pour valider les documents BPMN et fournit des règles de modélisation appropriées. Il permet aussi d’exporter des documents BPMN valides que tous les outils de modélisation conformes à BPMN peuvent lire. Bpmn-moddle est basé sur deux principaux sous-modules. Le premier est « BPMN metamodel », qui offre un moyen concis pour traduire les éléments du méta-modèle BPMN2.0 en objets Java Script. Le deuxième est « Moddle-XML » qui permet de lire et d’écrire les documents XML en se basant sur « BPMN metamodel ».

5.3.2.3 Diagram-js

Le module Diagram-js intègre des fonctionnalités permettant l’affichage et la mémorisation des modifications établies sur des workflows BPMN lors de la modélisation. Il est construit autour de cinq services essentiels :

Canvas : ce conteneur permet de dessiner des éléments graphiques en utilisant des scripts JavaScript. Cet élément fournit un ensemble de propriétés et de méthodes pour manipuler les différents éléments graphiques, à savoir : zoom, save, transform, etc.

CHAPITRE 5.MOOCAT, UN EDITEUR DE SCENARIOS ORIENTE CMOOC

105

ElementFactory : c’est un patron de conception (factory design pattern) qui permet de retourner une instance des objets graphiques, par exemple les formes (shapes) et les connexions, selon leurs types et les paramètres fournis.

GraphicsFactory : il s’agit également d’un patron de conception qui définit les aspects graphiques des éléments et des connexions lors de leur ajout à l’espace de modélisation.

ElementRegistry : il maintient à jour les éléments du diagramme (instanciés dans l’espace de modélisation) en fournissant des services permettant d’identifier, de mémoriser et de faire le suivi des éléments et de leurs représentations graphiques (identifiées par un numéro id unique).

Dans le document The DART-Europe E-theses Portal (Page 117-121)