Description de la solution et de son usage dans l'éducation
La solution e-comBox permet à l’utilisateur (en général un professeur) de déployer des instances d’applications « métier » en quelques clics et généralement, en moins de 2 minutes. Son interface est accessible via un navigateur. La plateforme regroupe des applications métiers essentielles pour développer les compétences numériques des élèves et des étudiants :
- Prestashop et Woocommerce : sites marchands.
- Blog Wordpress avec l’extension H5P intégrée.
- Mautic : logiciel de Marketing Automation.
- Suite CRM : application web de gestion de la relation client.
- Odoo : PGI (ERP) qui comporte de nombreux modules d’aide à la gestion de l’entreprise (CRM, Achats, Ventes, Comptabilité, RH, e-commerce, etc.).
- Kanboard : logiciel libre de gestion de projet qui utilise la méthode Kanban.
- Humhub : outil de création de réseau social.
Celles-ci sont hébergées sur des conteneurs Docker.
La communication entre la solution e-comBox et Docker se fait via une API mise à disposition par Docker.
Présentation de l’e-comBox (v3) lors d’un plan national de formation le 19 mai 2021 : https://monurl.ca/ecomboxpresentation
Site démo avec la version 3 : https://monurl.ca/ecomboxv3
Site démo avec la version de test qui permet de s’affranchir de tous les ports : https://monurl.ca/ecomboxdev
Les applications déployées sont ensuite accessibles en ligne par les élèves à partir d’un lien fourni par le professeur, lien fonctionnel automatiquement créé par la solution.
Les applications générées peuvent être « vierges » ou personnalisés avec un contexte d’utilisation d’organisation. Par exemple, pour une instance de Prestashop (comme pour WooCommerce), deux choix sont possibles :
- instance vierge : avec le site par défaut proposé par Prestashop ;
- le modèle « Art Concepts Stories » : avec une e-boutique opérationnelle (300 références, 150 clients, 130 commandes).
Pour Odoo, 5 modèles personnalisés sont proposés.
Par ailleurs, un professeur peut créer lui-même un modèle et le déployer.
Pourquoi avons-nous développé l’e-comBox ?
L’origine de l’e-comBox remonte à la réforme du BTS Management commercial opérationnel - MCO (2020) qui impose l’enseignement de la digitalisation de la relation client. Les professeurs doivent mettre à disposition de leurs élèves un grand nombre de plateformes notamment d’e-commerce (Prestashop, Mautic, Wordpress, etc.), de gestion de relation clients, de gestion de projets, etc.
Les professeurs n’ont ni la compétence ni les moyens techniques pour mettre en place les plateformes qu’ils doivent utiliser.
Le succès de l’e-comBox qui facilite cette mise à disposition a été tel que la solution est maintenant préconisée et exploitée non seulement en BTS MCO, mais dans toutes les sections de première et terminale STMG, dans un grand nombre de BTS tertiaire et de formations des lycées professionnels.
La solution est également une alternative libre et gratuite à la plateforme Educintel (solution propriétaire et payante) développée pour les mêmes objectifs lors de la réforme du BTS NDRC.
Laurent Gili qui pilote le volant pédagogique, interlocuteur académique pour le numérique de l'académie de Montpellier, propose une infographie sur l’usage de la solution e-comBox au travers du programme de première de Sciences de gestion et numérique. Cette infographie a été réalisée avec la participation de Vincent Meunier, expert économie et gestion auprès de la Direction du numérique éducatif (DNE) et Apollonie Raffalli, membre du réseau national de ressources Certa.
De nombreux supports pédagogiques sont développés autour des applications déployables. Un parcours m@gistère (dispositif de formation continue en ligne, tutorée et interactive conçu pour les enseignants du premier et du second degré) vient d’être publié : https://magistere.education.fr/f1091
La version 3 de la solution est déployée dans de nombreux lycées et elle a pour vocation à être utilisée dans les académies et régions.
Elle a par exemple été déployée dans tous les lycées de la Nouvelle-Calédonie depuis la rentrée 2021.
La région Nouvelle Aquitaine a pour projet à l’horizon de la rentrée de 2022 de déployer des instances pour 400 établissements.
Une version 4 est en cours de développement (voir roadmap : https://gitlab.com/e-combox/e-combox_webapp/-/blob/master/ROADMAP.md).
Lien vers la documentation utilisateur : https://monurl.ca/ecomboxdoc
Code source
Projet
La solution est basée sur différentes composantes :
- L’interface web principale : https://gitlab.com/e-combox/e-combox_webapp ;
- Le thème utilisé pour l’interface web est ngx-admin : https://akveo.github.io/ngx-admin/docs/getting-started/what-is-ngxadmin
- Les scripts d’installation de la solution sur les différentes plateformes : Linux (https://gitlab.com/e-combox/e-comBox_scriptsLinux), Mac OS (https://gitlab.com/e-combox/e-comBox_scriptsMacOS) et Windows (https://gitlab.com/e-combox/e-comBox_setupWin10pro) ;
- Les Dockerfile des différentes images utilisées : https://gitlab.com/e-combox/e-comBox_dockerfile ;
- Les docker-compose permettant de générer les instances : https://gitlab.com/e-combox/e-comBox_docker-compose ;
- Le reverse-proxy qui gère l’accès aux sites créés : https://gitlab.com/e-combox/e-comBox_reverseproxy.
- Les images docker sont sur docker hub (id reseaucerta).
La documentation technique de l’interface web de la solution est accessible : https://e-combox.gitlab.io/e-combox_webapp/
Langages de programmation
- Framework Angular avec le langage TypeScript pour l’application.
- Scripts bash pour l’installation de l’application sur Linux.
- Srcipts powershell pour l’installation de l’application sur Windows.
Les contributeurs
Christelle Thiry, Apollonie Raffalli, les étudiants du BTS SIO du Lycée Lætitia Bonaparte à Ajaccio et les membres du réseau Certa.
Comment contribuer ?
https://gitlab.com/e-combox/e-combox_webapp/-/blob/master/CONTRIBUTING.md
Pistes de contribution
Nous travaillons actuellement pour rendre l’e-comBox plus facilement déployable à grande échelle, notamment en réponse aux demandes des régions.
Demande de la région Grand-Est :
-
Migration de l’application et de tous les sites déployées en HTTPS : fonctionnalité actuellement en test.
Demandes de la région Nouvelle-Aquitaine
-
Passage par un Reverse Proxy ce qui ne permettrait de ne mobiliser qu’un seul port : fonctionnalité actuellement en test par la Nouvelle-Aquitaine
-
Authentification des professeurs sur l’annuaire centralisateur : cela pourrait faire l’objet d’un thème de stage. Voir deuxième point ci-dessous.
Au premier jour du stage, la version 4.0 intégrant le protocole HTTPS, une authentification multi-utilisateur via Portainer (sur une instance e-comBox partagée, les professeurs ne verront et ne pourront interagir que sur les sites qu'ils ont eux-même déployés) et la possibilité d’accès via un ReverseProxy (ce qui permet de ne plus exposer de ports) sera en production.
Ci-dessous, voici ce que nous proposons, sachant qu’après discussion avec le stagiaire et son équipe pédagogique, nous pouvons réagencer l’ordre des missions.
1. Refactoring du code source de l’interface web et des scripts d’installation
La solution ayant été développée au fur et à mesure des demandes et des tests des utilisateurs, souvent dans l’urgence, le code source des différents éléments doit être repris et re-factorisé (même si ce dernier a fait l’objet d’une profonde refonte entre la version 2 et la version 3). Le projet e-comBox est un projet d’avenir et son code doit donc être maintenable et facilement modifiable. D’autant plus que de nouvelles applications ont vocations à être intégrées.
Cela permettrait également au stagiaire de bien découvrir le fonctionnement de l’application.
2. Authentification des professeurs sur l’annuaire centralisateur
Pour l’instant l’authentification des professeurs doit être configurée sur chaque instance avec un nom et un mot de passe choisi au moment de l’installation (nom et mot de passe non raccroché à l’annuaire centralisateur).
Une première réunion a été organisée par Mme Françoise Brethome (cheffe de projet du déploiement et des relations avec les partenaires au sein de la DNE) avec un expert informaticien du GAR, l’adjointe à la cheffe du bureau des services et outils numériques et cheffe du projet « Gestionnaire d’accès aux ressources numériques » (GAR), Mme Christine Gaubert-Macon (inspectrice générale) et M. Olivier Mondet (IA-IPR). Deux pistes ont été évoquées :
- bascule sur l’application nationale agent : https://apps.education.fr/ ;
- utilisation d’openid connect (https://openid.net/connect/) : la région Nouvelle-Aquitaine nous mettrait les briques de test à disposition.
3. Mise en place de tests unitaires et fonctionnels
Chaque changement peut avoir de nombreuses répercussions sur l’ensemble de la solution. Des tests unitaires ont commencé à être développés mais par manque de temps et de ressources, cela n’a pas abouti. Pour garantir la non régression de la solution, la réussite des tests sera à terme une étape obligatoire pour la validation d’une merge request (intégration continue).
4. Développement d’un module de partage des images des utilisateurs via la plateforme Docker Hub
Ceci est une fonctionnalité très attendue par la communauté. Actuellement, un utilisateur peut créer sa propre image mais le partage en ligne de cette image afin que d’autres utilisateurs puissent en bénéficier est très laborieux (cf. procédure : https://monurl.ca/ecbshareimage). L’objectif est de simplifier cette procédure en automatisant un maximum d’étapes via l’interface e-comBox. À terme, la seule opération que l’utilisateur devrait réaliser en dehors de l’e-comBox serait de créer son compte sur Docker.
5. Développement d’une API pour interagir avec l’hôte Docker via l’interface web
Actuellement, l’interface web (basée sur le framework Angular) utilise l’API mise à disposition par Portainer (projet open source) pour communiquer avec Docker. En raison des technologies utilisées et des limites de l’API de Portainer, certaines actions sont impossibles à réaliser. De plus, le fait de faire appel à un service tiers rend le projet e-comBox dépendant des fonctionnalités implémentées pour Portainer.
Il est important de développer une API propre à e-comBox. Dans un premier temps elle prendra en charge des fonctionnalités manquantes dans Portainer (comme l’authentification avec Open ID). Puis, dans un second temps, elle remplacera complètement Portainer.
6. Mise en place du CI/CD pour les toutes les images utilisées par l’application
Comme dit précédemment, l’application e-comBox utilise différentes images Docker pour déployer des sites clé en main. Les fichiers servant à créer ces images Docker sont versionnés sur la plateforme GitLab (https://gitlab.com/e-combox/e-comBox_dockerfile) mais les images sont construites manuellement via des scripts shell par la référente Docker du projet (Apollonie Raffalli). Comme pour l’interface web de l’application, il serait intéressant de mettre en place un processus d’intégration et de déploiement continus afin de reconstruire une image dès qu’une modification est « poussée » sur le dépôt GitLab.
7. Pour la suite, selon l’avancement du stagiaire :
-
Développement d’une interface utilisateur (intégrant éventuellement l’installation) multi-plateformes en python.
-
Audit de sécurité de la solution.
Collaboration prévue avec le stagiaire
Nous sommes des professeurs et nous avons l’habitude d’encadrer les étudiants (les nôtres participent régulièrement au développement de l’application).
Le projet (comme la plupart de nos projets) sera créé sur Tuleap-Campus et l'accompagnement se fera également par visioconférence.
Nous avons également tous les supports pour former le stagiaire aux technologies utilisées. Techniquement, il aura accès à nos serveurs via un VPN.
Même si l’application est jeune et souffre encore de quelques défauts (on manque par exemple de testeurs) elle est maintenant relativement mature (elle a été complètement recodée entre la version 2 et la version 3) et bien documentée même si un effort reste quand même à faire à ce niveau notamment au niveau des scripts d’installation sur Linux et des images Docker (la documentation technique existe mais au format odt).
Le stagiaire pourra compter également sur les nombreux professeurs, membres du réseau Certa et travaillera en collaboration avec nos étudiants.
Ministère utilisateur et porteur de la contribution
Porteurs : Ministère de l'éducation nationale, de la jeunesse et des sports - Dgesco - Réseau Certa
Utilisateurs : Lycées technologiques et professionnels.