J’ai eu l’occasion de travailler avec une école de formation dans les métiers du bien-être. Celle-ci avait besoin d’une interface permettant à ces élèves de suivre leur cours en ligne. J’ai donc imaginé et crée un plugin WordPress complet de e-learning. Les fonctionnalités étaient les suivantes :
- Le plugin devait s’intégrer dans le système d’autentification des utilisateurs
- Le plugin devait fournir des statistiques concernant l’apprentissage des élèves
- Les personnes chargées de faire les cours devaient avoir la possibilité de rédiger et intégrer eux-mêmes les cours via l’admin du plugin
- Un système de QCM devait être intégré afin de valider les connaissances des élèves
- Des certificats automatiques devaient être générés automatiquement lorsqu’un élève arrivait à la fin du cours
L’intégration dans le système d’authentification des utilisateurs s’est faite en utilisant les outils du cœur WordPress, il suffisait de vérifier qu’un utilisateur était connecté de récupérer son identifiant avec les fonctions intégrées de WP puis grâce à la création d’une nouvelle table en base de donnée dédiée à ce plugin de faire la liaison avec les données utiles au plugin.
Concernant les statistiques il fallait savoir ou en était chaque élève individuellement et pour chacun des cours. Une fois qu’un élève avait fini un chapitre d’un cours et qu’il passait au suivant il me suffisait d’enregistrer quel était son dernier cours validé et de déterminer ou il se situait dans le cours puis de l’afficher en administration sur la fiche de l’élève en question.
Il m’a fallu créer une administration complexe pour permettre aux rédacteurs de créer eux même leur cours j’ai donc organisé les données du plugin de la façon suivante :
Catégorie -> Formation -> Cours
Les formations devaient être triées par catégorie elle sont donc le parent des formations, chaque formation contenant une description et une page de présentation ainsi que des chapitres que l’on appelle ici « Cours » la « Formation » est donc le parent des cours et enfin les cours à proprement parlé.
Les QCM sont assez compliqué à réaliser car tout comme les cours il faut que les rédacteurs soit en capacité de créer eux même les QCM il à fallu réaliser une page d’administration leur permettant de créer un QCM et d’y ajouter des questions et des réponses. Les bonnes réponses peuvent être cochées et servent au système pour le calcul des points. De plus une liste permet de définir sur quel cours le QCM sera proposé car si l’élève n’obtient pas la moyenne au QCM il ne doit pas pouvoir accéder au cours suivant.
Enfin les certificats utilisent une librairie PHP permettant de transformer du code HTML en PDF. Le code HTML est donc généré dynamiquement via le plugin pour être ensuite transformé en PDF puis téléchargé par les élèves qui finissent la formation.