edX sur le Raspberry Pi – Une salle de classe portable

31 décembre 2013 | Par

L'équipe DevOps d'edX s'est occupée de travailler avec la communauté pour rendre Open edX accessible à tous dans le monde. Presque tout le code derrière edx.org is mis à la disposition du public sous une licence GPL. En plus du code source de la plateforme edx, les scripts de configuration qui installent et mettent à jour la plateforme sont disponibles dans notre référentiel de configuration. L'outil que nous utilisons pour la configuration s'appelle Ansible, un outil de gestion de configuration basé sur Python qui offre le juste équilibre entre flexibilité et simplicité pour notre équipe d'exploitation.

Périodiquement edX publie des images Vagrant si vous souhaitez installer edX sur votre PC. Voir notre documentation pour configurer la plate-forme localement dans une machine virtuelle.

Alors que nous nous concentrons généralement sur le déploiement d'edX sur de grands serveurs de production basés sur le cloud, cet article couvre un défi très différent : une preuve de concept pour exécuter le cours edX et créer un logiciel sur le Raspberry Pi.

Tarte aux framboises

 Raspberry Pi est un ordinateur ARM/Linux à bas prix qui peut être acheté pour environ 35 $. L'exécution du site Web edX sur un appareil à faible coût tel que le Pi pourrait potentiellement permettre des salles de classe portables dans des zones qui ont un accès limité à Internet. Cela peut être fait avec le Pi pour moins d'argent qu'un ordinateur portable ou de bureau.

Une configuration de site minimale est fonctionnelle sur le Raspberry Pi mais elle n'est pas encore assez performante pour être utilisée dans de vrais cours destinés à plusieurs étudiants. La plate-forme, cependant, est fonctionnelle pour un seul étudiant, avec une marge d'amélioration potentielle.

Télécharger et installer

  • Étape 1: Téléchargez l'image Raspberry Pi prédéfinie : edx-raspberrypi-20131228.img.gz
  • Étape 2Flashez la carte SD
    Vous pouvez utiliser le nom d'utilisateur et le mot de passe par défaut pour ssh - user : pi mot de passe:framboise
  • Étape 3: Assurez-vous que le superviseur est en cours d'exécution et que le LMS et le CMS sont en cours d'exécution :
    sudo service supervisor start

    sudo /edx/bin/supervisorctl -c /edx/etc/supervisord.conf
  • Étape 4: Avec votre navigateur, connectez-vous au LMS et au Studio :
    LMS on port 18000 - `http://[ip address]:18000 `

    Studio on port 18010 - `http://[ip address]:18010`

    username: staff@example.com password: edx

Ce qui fonctionne et ce qui ne fonctionne pas

  • Créer un nouveau cours à l'aide de Studio

Page Créer un nouveau cours

  • Accéder aux cours en tant qu'étudiant

Vue étudiante du nouveau cours

Mesurer le temps de rendu des pages à l'aide des outils de développement Chrome :

  • Page du didacticiel de démonstration LMS ~ 5 secondes
  • Page du tableau de bord des étudiants ~ 5 secondes

Les fonctionnalités suivantes ne sont pas encore prises en charge :

  • Forums ne sont pas activés et ne sont probablement pas compatibles avec la version actuelle de Mongo.
  • Les évaluateurs de code personnalisés ne sont pas activés.
  • ORA / Discerner pour l'apprentissage automatique ne sont pas activés.

Configuration edX sur le Raspberry Pi

Matériel Raspberry Pi

  • Raspberry Pi 700 MHz / 500 Mo
  • Carte SD de 8 Go

Configuration du service

Les services suivants seront exécutés sur le Raspberry Pi après l'installation :

  • Nginx/Gunicorne
  • Python/Django et toutes les bibliothèques Python qui en dépendent
  • MySQL
  • Mongo
  • Memcached

Tout ce dont edX a besoin se trouve sous /edx et est complètement autonome dans plusieurs environnements virtuels Python. Mongo est installé dans /edx/mongo, qui est le port non x86 compilé pour ARM. Étant donné que tout compiler pour le Raspberry Pi à partir de zéro prend des jours, il existe une image publique disponible qui servira de bon point de départ.

Certaines mises en garde et améliorations sont nécessaires avant de pouvoir l'utiliser sérieusement :

  • La journalisation superflue doit être éliminée : le niveau de journalisation est défini sur CRITICAL, mais les journaux de suivi sont actuellement écrits sur la carte SD.
  • Les performances globales ne sont pas idéales et il sera difficile de les améliorer sans mettre en place une mise en cache plus agressive ou apporter des modifications de code supplémentaires.
  • La mise à jour du dépôt de la plateforme edx prend environ une heure.

Configurer avec Ansible

Nous utilisons la  Ansible comme outil de gestion de configuration edX pour les systèmes de production. Les mêmes scripts avec quelques petites modifications fonctionneront pour le Raspberry Pi.

Ansible est configuré sur le Raspberry Pi, ce qui facilite sa mise à jour pour les nouvelles versions de la plate-forme edx et la modification de la configuration. Les mises à jour prennent environ une heure en raison de la compilation des actifs (Coffeescript et Sass), bien que cette étape puisse être effectuée hors ligne car elle n'est pas spécifique à l'architecture.

Comment mettre à jour le Raspberry Pi avec le dernier commit de la plate-forme edx

Les commandes suivantes peuvent être exécutées directement sur le Raspberry Pi pour mettre à jour sa configuration ou sa version de dépôt de la plate-forme edx :

 
# Ensure that the configuration repo is on the Raspberry Pi branch

sudo /edx/bin/mettre à jour la configuration jarv/raspberrypi
# Exécutez le playbook Raspberry Pi Ansible
cd /edx/app/edx_ansible/edx_ansible/playbooks/edx-east
/edx/app/edx_ansible/venvs/edx_ansible/bin/ansible-playbook -i localhost, -c local --tags deploy raspberrypi.yml -e "edx_platform_version=master" 

Aide et dépannage

Si vous avez besoin d'aide avec edX, veuillez rejoindre notre liste de diffusion communautaire. Si vous avez des questions spécifiques sur l'exécution d'edX sur le Raspberry Pi, veuillez garder à l'esprit qu'il ne s'agit que d'un prototype et qu'il n'est pas officiellement maintenu et pris en charge. Si vous le faites fonctionner sur le Raspberry Pi ou une autre plate-forme, s'il vous plaît laissez-moi savoir — J'aimerais avoir de vos nouvelles !

chargement

Lancez la discussion sur discuter.openedx.org

Il est temps d'en savoir plus ? Consultez les articles ci-dessous.

Annonce des représentants de la communauté Open edX® TOC pour 2026
Autonomiser une nation : comment l’Ukraine a développé une école nationale en ligne grâce à la plateforme Open edX®
Présentation à la conférence Open edX 2026 – Appel à conférenciers !
Comment la NASA a étendu l'accès à l'éducation scientifique ouverte à 20 000 chercheurs grâce à la plateforme Open edX
Rejoignez la conférence Open edX 2026 !

La conférence Open edX 2026 présentera des cas d'utilisation innovants pour l'un des meilleurs systèmes de gestion de l'apprentissage en ligne open source au monde, la plateforme Open edX, et découvrira les dernières avancées en matière de conception pédagogique, de constellation de cours et de méthodes d'exploitation et d'extension de la plateforme Open edX. , y compris des technologies de pointe, telles que l’IA générative.