PlatonOrg / platon

Platform for Learning and Teaching Online: Open Source Education Platform
Other
8 stars 0 forks source link

Interface graphique pour le next #197

Open TheValber opened 1 month ago

TheValber commented 1 month ago

Interface graphique pour le Next

Contexte

Le Next est conçu pour définir la logique d'enchaînement des exercices dans une activité. Par exemple, un étudiant doit réussir trois exercices d'un groupe avant de pouvoir accéder aux exercices d'un second groupe, et ainsi de suite.

Objectif

L'objectif est de permettre aux professeurs de définir ces logiques de manière simple et intuitive, sans forcément avoir des compétences en programmation.

Étapes de l'implémentation

1. Implémentation initiale (Fichier code)

Dans un premier temps, le Next pourrait être implémenté sous la forme d'un fichier de code, par exemple un fichier next.py, que le professeur remplira pour programmer la logique de l'activité.

2. Limites du fichier de code

Cependant, cette solution présente un obstacle : tous les professeurs ne sont pas à l'aise avec la programmation. Cela freine donc l'utilisation du Next pour ceux qui ne maîtrisent pas le code. D'où l'idée de proposer une interface graphique.

Proposition : Une interface graphique intuitive

L'idée est de fournir une interface graphique ergonomique qui permettrait à n'importe quel utilisateur de définir facilement la logique de son activité.

Fonctionnement de l'interface graphique

  1. Structure globale (graphe) :
    L'interface prendrait la forme d'un graphe avec un point d'entrée et un point de sortie.
    L'utilisateur (ici, le professeur) pourra glisser-déposer :

    • Des groupes d'exercices et des exercices
    • Des transitions avec des conditions pour relier ces éléments entre eux
  2. Parcours du graphe :
    Le graphe sera parcouru en suivant les transitions, lesquelles sont déclenchées en fonction des conditions définies par l'utilisateur. L'activité avancera alors d'exercice en exercice (ou de groupe en groupe), en fonction des conditions remplies.

Conditions paramétrables

Les conditions au sein des transitions peuvent être définies de plusieurs façons :

Ces conditions permettent de personnaliser la logique de progression des étudiants.

Sous-graphes pour les groupes d'exercices

Fonctionnement du sous-graphe

Lorsqu'un groupe d'exercices est ajouté au graphe, il est possible de cliquer dessus pour accéder à un sous-graphe. Ce sous-graphe permet de définir la logique interne d'enchaînement des exercices au sein de ce groupe, tout en reprenant les mêmes principes de transitions conditionnelles que le graphe principal.

Exercices aléatoires dans un groupe

Le sous-graphe peut également être simplifié en introduisant une logique aléatoire. Cela permet de sélectionner de manière aléatoire des exercices à partir d'un pool prédéfini d'exercices dans le groupe. Cette logique aléatoire pourrait être configurée avec deux paramètres :

Exemples d'utilisation

Voici un schéma illustrant ces différentes fonctionnalités et leur organisation au sein du graphe et des sous-graphes :

next_graph

Conclusion

Cette interface graphique offrirait une solution flexible et accessible pour permettre aux professeurs de créer des logiques d'enchaînement d'exercices sans compétences en programmation, tout en conservant un haut niveau de personnalisation pour répondre à des besoins pédagogiques variés.