Accueil
Projet e-comBox
L’application e-comBox est une application Web, utilisant la technologie des conteneurs Docker, installable uniquement sur Linux pour la version 4.
|
L’application e-comBox permet d'installer le plus simplement possible, au sein d'un réseau d'établissement, d'une académie ou d'une région, sur un portable personnel ou chez un hébergeur en ligne (serveur OVH par exemple), plusieurs instances de différentes applications (prestashop, wordpress, mautic, odoo, kanboard, etc) sous forme de conteneurs docker : les serveurs pourront être créés à la demande en tant que de besoin. L’idée est ici de répondre aux besoins pédagogiques les plus étendus des enseignants tout en réduisant les contraintes techniques au minimum.
L’application e-comBox est elle-même une application web “dockérisée” installable sur n’importe quel système d’exploitation (Windows 10, Linux et MacOS) qui permet de lancer et gérer le ou les conteneurs dans lesquels le service est installé.
Des scripts sont fournis pour les systèmes Linux (Debian et Ubuntu) pour installer l'application.
Une instance de l'application est installée sur un seul serveur (ou poste de travail), l'interface d'administration et les sites créés sont ensuite accessibles à distance via n'importe quelle machine.
Une vidéo de présentation est disponible : https://www.reseaucerta.org/pgi/e-combox
Nouveautés de la version 4
La nouvelle version d'e-comBox est disponible ! Comme chaque incrémentation cette version apporte son lot de nouveautés et d'améliorations.
Les principales nouveautés de cette version sont :
- La possibilité d'utiliser un reverse-proxy externe.
- La gestion de comptes utilisateurs (les professeurs ne voient et ne peuvent agir que sur les sites qu'ils ont eux-mêmes créés).
- Intégration du protocole HTTPS.
- Utilisation d'un seul port (qui peut être celui classiquement utilisé pour HTTPS) même si on n'installe pas de Reverse Proxy externe.
- Installation de l'e-comBox sans intervention de l'administrateur.
- Déploiement automatisé : exemple de script et de documentation pour un déploiement via Ansible.
- Gestion optimisée et facilitée des certificats avec un script permettant de générer un certificat avec letsEncrypt.
- Partage de ses propres modèles de sites : le partage de modèles de sites sera possible directement à partir de l'interface e-comBox après avoir créé un compte sur la plateforme Docker Hub.
- Récupération d'un modèle de site créé par un utilisateur de la communauté : il sera désormais possible, à partir du nom complet du modèle, de créer un site à partir d'un modèle partagé par un utilisateur de la communauté e-comBox.
- Actions sur les sites : possibilité de réaliser une action (supprimer, stopper, démarrer) sur plusieurs sites en les sélectionnant.
- Accès aux identifiants de connexion des différents sites directement à partir de l'interface d'e-comBox.
Les scripts utilisés sont disponibles sur gitlab :https://gitlab.com/e-combox/e-comBox_scriptsLinux.
- Ubuntu (à partir la version 18.04) ;
- Debian 9 ;
- Debian 10 ;
- Debian 11 (actuellement stable).
Fonctionnalités de l’e-comBox
L’application e-comBox est une application Web qui permet de lancer et gérer un certain nombre de sites basés sur les applications suivantes :
- Prestashop :
- une instance vierge,
- une instance personnalisée (site Art Concept Stories) ;
- WordPress avec WooCommerce :
- une instance vierge,
- une instance personnalisée (site Art Concept Stories) ;
- WordPress sans WooCommerce, mais avec le add-in H5P ;
- Mautic ;
- Suite CRM ;
- Odoo :
- versions 12,13, 14 15 et 16 (ces 2 dernières versions ne sont disponibles qu'à partir de la 4.1),
- six instances personnalisées : SweetyBio, primeur, surplomb, pépinières, adA et Generik;
- Kanboard (gestion de projet) :
- une instance vierge,
- une instance personnalisée (BdDev) ;
- HumHub (réseau social).
La gestion de base permet de :
- lister les types de sites (Wordpress, prestashop, etc.) à partir desquels il est possible de créer un ou plusieurs sites ;
- créer, démarrer, arrêter ou supprimer un site ;
- lister les sites créés (avec l’état pour chacun et son URL d’accès au backoffice) ;
- créer un modèle à partir d'un site créé et personnalisé.
La gestion avancée permet l’accès :
- SFTP aux sites Prestashop et Wordpress ;
- via phpMyAdmin aux bases de données des sites Prestashop et Wordpress ;
- “admin” à l’interface de Portainer ;
- gérer les modèles de sites créés (visualisation, suppression, récupération et partage).
Quatre types d'installation pour l'e-comBox
L'installation peut se faire sur :
- un poste de l'établissement ;
- un serveur de l'établissement ;
- un serveur dans le cloud ;
- le poste personnel du professeur.
L'accès via un navigateur à l'interface de l'e-comBox peut évidemment se faire à distance.
Pour des raisons de commodité, il sera fait l’usage de “git” (le script l’installe) pour récupérer des fichiers sur les dépôts officiels gitlab de l’application.
Caractéristiques minimum de la machine
L'application nécessite au minimum :
- Linux : distribution basée sur Linux 64 bits comme Debian 9/10 ou Ubuntu à partir de la version 18.04 ;
- la virtualisation activée dans le BIOS (ce qui est fait, en règle générale, par défaut) ;
- la fonction SLAT supportée au niveau du processeur ;
- une connexion Internet de qualité ;
- 8 Go de RAM : plus il y a de RAM, mieux c'est, pour notamment faire démarrer les sites en même temps ;
- le service Docker avec “docker-compose” (le script se chargent de l’installer) ;
Ports utilisés
Les ports 8880, 8800 et 5443 sont utilisés par défaut pour l'application elle-même. Ils doivent être libres sur le serveur. Si ce n'est pas le cas, vous devrez spécifier d'autres ports lors de l'installation de la e-comBox. Dans cette version :
- Si vous n'installez pas de Reverse Proxy externe, par défaut seul le port 8800 est exposé, vous pouvez le fixer à 443 (PORT_RP=443) de manière à ce que l'interface, Portainer et l'ensemble des applications soient accessibles directement (sans précision du port) via https.
- Si vous installez un Reverse Proxy externe, c'est le port exposé par ce Reverse Proxy qui sera utilisé. Vous pouvez donc laisser les ports par défaut au niveau de l'application.