Solution e-learning avancée avec Joomla
Dernièrement, nous avons été fiers d'accompagner EnSSemble.org dans la réalisation de leur nouveau projet : une école en ligne pas comme les autres destinée à la création et au développement de projets dans le monde de l’ESS. Une première en France.
Bien que l'équipe d’EnSSemble avait l’habitude de créer et gérer son site avec Joomla!, ils nous ont demandé de les épauler pour la conception de la partie e-learning, nettement plus complexe.
Le contexte du projet
Après étude de la version 1 du cahier des charges, il nous est apparu rapidement qu’une solution de pur e-learning ne serait pas suffisante pour réaliser toute la partie dédiée au suivi personnalisé de leur offre novatrice.
Les besoins étaient en résumé les suivants :
- Site vitrine classique
- Espace e-learning avec gestion des vidéos, QCM, pdf, SCORM, certification
- Espace personnel avec gestion des rendez-vous et relation avec les coachs
- Espace documentaire
- Le tout couplé avec un système d’abonnement et paiement en plusieurs fois.
Avec un budget serré, il n’était pas envisageable de partir sur un développement majoritairement sur-mesure. Après une phase de recherche et de comparaison de solutions, nous avons donc élaboré une V1 mixant ce qui se fait de mieux avec Joomla! et juste un minimum de développement :
- Shika dédié à la partie e-learning
- Flexicontent pour la gestion des suivis et la partie documentaire
- Les ACL de Joomla! pour définir finement les accès
- Rsform + quelques lignes de code sur-mesure pour générer des formulaires avancés
- Payplans très adapté pour les abonnements et le paiement en ligne
- Un plugin maison pour la connexion
Conception fonctionnelle
Nous avions à cœur de créer un site évolutif et administrable en autonomie par l’équipe de EnSSemble. Pour cela nous avons déployé une solution fonctionnelle dans laquelle toutes les fonctions vitales seraient administrables :
- L'ajout de plans d’abonnement
- L'ajout de cours
- L'ajout de fichiers
- L'ajout de vidéos
- L'évolutivité des formulaires
Il a été également primordial autant pour l'équipe que pour les futurs apprenants de créer un parcours utilisateur simple, cohérent et évolutif.
Il fallait qu’une personne puisse acheter un abonnement permettant d’avoir accès à :
- Son suivi
- Ses cours achetés
- Ses documents liés
- Son espace outils
- Ses abonnements et factures
Par exemple : si un “ethipreneur” achète 1 abonnement, une fiche de suivi est créé, puis celui-ci est redirigé vers un formulaire lui permettant de choisir ses cours, ce qui lui octroie les accès aux dits cours et à différentes parties dédiées sur le site.
Voici ce que nous avons architecturé :
Plan du cas "accompagné"
Plan du cas achat isolé "solo"
Il fallait à la fois pouvoir acheter un cours seul ou un lot de cours et le tout payable en 1 ou plusieurs fois.
Conception
Les suivis
Pour les “Ethipreneurs”, le suivi des apprenants est la pierre angulaire de leur offre. Suivant son niveau d’abonnement, l’utilisateur bénéficiera de rendez-vous avec des coachs sélectionnés en fonction de la thématique pour l'accompagner dans son projet.
Après chaque rendez-vous un compte-rendu doit être mis à disposition et il doit être possible de créer un autre rendez vous pour plus-tard.
Pour obtenir une interface permettant cela rapidement et sans développer un composant nous avons utilisé le CCK Flexicontent. Il nous a permis de générer une interface que nous appelons "fiche de suivi utilisateur" disponible par ce dernier qu’une fois connecté (via un plugin de connexion sur-mesure) et seulement éditable par le coach dédié à son suivi. Simple mais très efficace.
Après achat, une fiche de suivi est créée au nom de l'utilisateur. Un système génère automatiquement le titre à partir du nom et du prénom contenus dans le profil. En attribuant à l'utilisateur la paternité de la fiche (il en devient techniquement auteur) il devient assez simple de faire en sorte que l’étudiant ne puisse voir QUE son profil.
Grâce à cette astuce nous obtenons une fiche de suivi efficace vers laquelle l’utilisateur est redirigé à chaque connexion.
Si c’est son premier rendez il ne verra qu’un bouton de prise de rendez vous :
Après en avoir eu plusieurs, apparaissent les différents rendez-vous avec :
- leur date,
- la possibilité de télécharger le compte-rendu si le rendez-vous est passé
- la possibilité de planifier d'autres rendez-vous
La gestion des boutons et des documents est entièrement intégrée dans Flexicontent et son puissant système de champs. Plutôt que de partir d’une programmation fermée avec un nombre défini et non évolutif des rendez-vous, nous avons profité de la souplesse et la puissance des groupes de champs multiples pour concevoir un système de suivi qui s'adapte aux besoins.
- Après achat et validation de son profil un utilisateur affiche son suivi et n’a pas d'autre choix que prise de rendez-vous car il n’a qu’un seul bouton
- Dès qu'un rendez-vous est programmé le coach peut se rendre sur le parcours de l’utilisateur
En quelques étapes il peut ajouter le compte-rendu et programmer le rendez-vous suivant. En fonction des valeurs saisies dans le rendez-vous, le bouton de prise de rendez-vous calendly contiendra une série de configurations automatisées, telles que :
- le nom du coach sélectionné
- la durée du rendez-vous
- les informations de l’utilisateur (nom prénom email)
Grâce à la puissance du CCK il est même possible de mettre en ligne des compte-rendus vidéo sécurisés (privés) via un compte Vimeo pro
Gestion documentaire
En profitant de l'avantage d'utiliser déjà Flexicontent dans le projet, nous avons réalisé la partie “outils et ressources documentaires” avec ce CCK.
Les avantages sont nombreux:
- Évolutivité
- Moteurs de recherche
- Droits d’accès des champs
Choix des cours et accès
Il aurait été tout à fait possible d'utiliser Shika pour l’achat des cours si il n’y avait pas eu les suivis et l’achat de cours groupés. Il fallait donc trouver une solution intermédiaire. C’est pour cela que nous avons préféré utiliser les ACL de Joomla! pour rendre les cours indisponibles en fonctions des niveau d’accès. Nous avons donc créé toute une arborescence d’accès nous permettant de les distribuer au niveau des utilisateurs (pour les suivis, les documents, 1 accès par cour etc).
Pour distribuer ces accès nous avons mis en place des formulaires de choix de cours. Le principe est qu’un utilisateur après achat est redirigé vers ce formulaire pour choisir ses cours (le nombre étant en fonction de l’abonnement)
Après validation des cours, l’utilisateur se voit attribué les différents niveaux d’accès.
Nous avons capitalisé sur le potentiel avancé de RSform qui permet d'intégrer du code personnalisé en PHP et avons coder quelques scripts pour :
- bloquer les soumissions multiples
- prédéfinir le nombre de "cairns" (c'est le petit nom donné par les Ethipreneurs aux modules de formation) sélectionnable
- distribuer les accès. Le formulaire récupère les cairns cochés, et ajoute des accès supplémentaires (2 pour le niveau enregistré, 30 pour le live, 32 pour le suivis etc)
Cela parait un peu complexe mais avec 2 lignes à changer, l’administrateur peut facilement ajouter des cours, définir le nombre de cours sélectionnables et définir les accès. Il peut donc créer un nouvel abonnement sans demander le développement d’une nouvelle fonction ni créer une interface pour le faire…
Gestion des abonnements
Comme expliqué tout au début de cet article nous avons choisi Payplans pour sa modularité, sa capacité de surcharge et son support d’une qualité rare !
Il nous a permis de créer des plans d’abonnements avec :
- Gestion des durées et de la récurrence
- Gestion du paiement direct ou mensualisé via Stripe
- L’envoi des emails de validation et des relances
- La conception d’un espace pour la facturation (html + pdf)
Conclusion
En articulant un ensemble de composants de renom nous avons obtenu une plateforme de elarning novatrice, à faible coût et évolutive. Encore une belle démonstration qu’avec Joomla! et son écosystème nous pouvons réaliser tout type de projets dans des budget tout à fait raisonnables !
Forts de cette expérience, n’hésitez pas à nous confier vos projets web, nous trouverons sûrement une solution puissante, simple et conçue avec intelligence et amour !

Certifié OPQUAST et « administrateur Joomla! », examinateur pour les certifications WordPress et Joomla! en France il ne se contente pas d'intégrer vos sites sous Wordpress, Joomla ou Prestashop : c'est le référent accessibilité, qualité WEB et SEO de l'équipe !