Accueil > TICE > Installer un serveur Sugarizer
Installer un serveur Sugarizer
⚇ Article publié le mercredi 6 novembre 2019, mis à jour le dimanche 29 août 2021
On peut utiliser différents supports pour mettre en place un serveur Sugarizer. Ici on aborde la mise en place sur un PC (ubuntu et windows) ainsi que le mini ordinateur Raspberry Pi.
Un serveur Sugarizer présente plusieurs intérêts :
- reprendre le contrôle des données, elles sont hébergées dans l’école ;
- avoir la maîtrise sur les comptes d’utilisateurs et les interactions possibles ;
- utiliser le niveau « classe » ;
- accéder au tableau de bord.
La principale limite sera que les élèves ne pourront pas utiliser leur compte en dehors du réseau de l’école.
Sommaire
Installation
Sugarizer-server a été développé avec node.js et mogodb. Son installation est facilitée par des conteneurs Docker. Plus d’information sur cette page.
La documentation sur l’installation de Sugarizer-server se trouve ici : https://github.com/llaske/sugarizer-server.
Gnu/Linux - Ubuntu avec Docker &
J’ai commencé par mon propre PC sous Ubuntu (18.04) en suivant la documentation citée plus haut.
Commençons par installer docker depuis les dépôts officiels :
Puis vérifions que cela fonctionne correctement :
et
on obtient :
Hello from Docker !
This message shows that your installation appears to be working correctly.
Pour la suite a besoin de curl pour installer docker-compose et de git pour Sugarizer, on vérifie que curl et git sont bien installés :
sudo apt install git
Puis on installe docker-compose (d’après la documentation de docker) avec :
On règle les droits
Vérification de l’installation :
On procède à l’installation de Sugarizer et Sugarizer-server :
git clone https://github.com/llaske/sugarizer-server
cd sugarizer-server
sudo sh generate-docker-compose.sh
sudo docker-compose up -d
La dernière commande procède à la création des containers Docker, la fin devrait être la suivante :
Creating sugarizer-server_mongodb_1 ... done
Creating sugarizer-server_server_1 ... done
Les deux conteneurs Docker sont prêts. On peut lancer un navigateur sur cette machine et aller à https://locahost:8080 ou https://x.x.x.x:8080 (x.x.x.x étant l’adresse ip de la machine sur laquelle on a installé Sugarizer) pour vérifier que l’installation est correcte :
La suite consiste à créer le compte admin sur Sugarizer-server. pour cela on a besoin de passer une commande dans le conteneur « Sugarizer-server », il nous faut récupérer son nom par la commande
La réponse sera
e6837bfe7739 sugarizer-server_server ...
c596e20abf54 sugarizer-server_mongodb ...
On récupère l’ID du conteneur Sugarizer-server et on lance :
L’invite du terminal se change : root@e6837bfe7739 :/sugarizer-server#
On entre alors
qui renvoie un message qui devrait se terminer par
"language" :"en","created_time":1572694586844,"timestamp" :
1572694586844,"_id" :"5dbd6a3a49ad00002e8420d1"}r
On peut changer le nom et le mot de passe du compte admin en adaptant la commande, par exemple prof / prof :
On sort du bash du conteneur par en tapant "exit".
On se rend à l’adresse https://locahost:8080/dashboard pour se connecter au compte admin que l’on a créé : |
Raspberry Pi
La forme du Raspberry Pi est idéale pour faire un serveur Sugarizer : on peut imaginer le serveur mobile, déplacé dans la même valise qu’un pack de tablettes. Pas besoin de clavier ni d’écran, juste une alimentation usb et zou... en wifi ou en filaire.
J’ai donc essayé avec mes « vieux » Raspberry Pi 1 et 1B+... à partir de ce guide sur une distribution Raspbian Buster Lite et je n’ai pas réussi. Je bute sur une histoire de version node.js et npm. La version arm (armv6l) du processeur du Raspberry Pi 1, limite l’installation de node.js à la version 11.15 (https://nodejs.org/dist/latest-v11.x/node-v11.15.0-linux-armv6l.tar.gz) et je n’ai pas réussi à installer npm avec cette version, l’installation est incomplète et présente des erreurs. Le node.js des dépôts Raspbian est la version 10.15, si on installe npm ensuite on a ce message « npm WARN npm npm does not support Node.js v10.15.2 ». Je n’ai pas de Pi 2 ou 3 qui sont respectivement en armv7 et armv8, il se peut que cela fonctionne car une version "latest" de node.js existe pour armv7. Mais dans ce cas on utilisera plutôt l’image toute faite de Sugarizer-server pour le Pi3 et le Pi4 : SchoolBox, qui ne fonctionne pas sur Raspberry Pi 1, bref oublions le Raspberry Pi1 pour Sugarizer...
Windows 10 et Docker &
C’est théoriquement la solution la plus simple mais je l’ai vite abandonnée n’ayant de PC en Windows 10 à bricoler. En effet, elle suppose des réglages de Windows auxquels on n’a pas forcément accès sur un PC municipal accès comme l’activation de la virtualisation « Hyper-V ».
Windows - / + +
- Les ingrédients nécessaires...
Sur un Windows 64 bits, on commence par télécharger node.js depuis cette page https://nodejs.org/fr/download/. L’installation est (très) longue, après avoir installé le paquet msi, l’installation se poursuit dans le shell de Windows. Pour l’accélérer, on peut décocher l’installation des outils, ils ne nous seront pas nécessaires. Une fois terminé, on teste l’installation dans le shell (cmd.exe) avec : node -v |
... qui doit répondre par un message du genre :
Pour MongoDB, on télécharge la version pour Windows sur cette page https://www.mongodb.com/download-center/community. On lance l’installation mais on décoche l’option « Compass » qui est bloquante. On conserve le réglage qui lance MongoDB comme service Windows. Une fois installé, on lance le shell pour créer le dossier suivant : md \data\db |
Git pour Windows se trouve sur cette page : https://git-scm.com/download/win. On l’installe avec toutes les options par défaut.
On lance le Shell (ou Git Bash) pour télécharger les dépôts git. Si le PC doit être utilisé en utilisateur limité, on le fera dans users/public
cd public git clone https://github.com/llaske/sugarizer
git clone https://github.com/llaske/sugarizer-server
cd sugarizer-server
npm install
C’est prêt. On peut à présent lancer Sugarizer-server avec la commande
Au premier lancement, il faut autoriser Node.js dans le pare-feu de windows
Reste à créer un compte admin pour accéder au tableau de bord. On lance Git Bash dans le dossier sugarizer-server (clic-droit → « Git Bash Here ») tout en laissant le Shell qui a lancé sugarizer.js ouvert. | |
On entre la commande : sh add-admin.sh prof prof https://127.0.0.1:8080/auth/signup |
|
On vérifie que le compte a bien été créé en se connectant au tableau de bord https://localhost:8080/dashboard avec le login prof et le mot de passe prof... |
À présent, on souhaite créer un raccourci sur le bureau pour lancer Sugarizer-server d’un double clic. Pour cela on associe notre fichier sugarizer.js à l’application node.js. Aller dans sugarizer-server et faire un clic-droit sur le fichier sugarizer.js, puis sélectionner « Ouvrir avec... » dans le menu puis choisir node.js dans « Programmes » par le bouton « Parcourir... » en face de « Toujours utiliser le prog... » puis valider par « Ouvrir » puis « OK ». Désormais un double clic lancera le script dans le Shell. | |
Enfin on peut coller ce raccourci dans le dossier « Démarrage » (Menu démarrer → Tous les programmes → clic-droit + ouvrir sur « Démarrage ») |
Utilisation
Adresse
Une fois notre serveur installé, il faut connaître son adresse afin que les utilisateurs puissent s’y connecter.
Pour connaître l’adresse ip d’une machine Windows on demande « ipconfig » dans cmd.exe et la réponse se trouve en face de « Adresse IPv4 » de la carte réseau connectée. Par exemple ici notre serveur Sugarizer est connecté en wifi et a l’adresse 192.168.0.8. Dans Linux, la commande est généralement « ifconfig » ou « ip a » selon la version du système. Les PC des écoles ont souvent des ip fixes, si ce n’était pas le cas de notre serveur il faudra figer cette adresse pour pouvoir s’y connecter facilement (QR Code) |
Connexion des élèves
L’adresse de notre serveur sera donc https://ip.du.server.sugarizer:8080. Dans notre exemple, cela donne 192.168.0.8:8080. Si on utilise du matériel mobile, on pourra créer un QR code pour s’y connecter.
Si on accède à notre Sugarizer par un navigateur on pourra créer un marque-page avec cette adresse. | |
Depuis une tablette ou une version PC, on devra renseigner l’adresse du serveur. Le bouton QR à côté du formulaire sur les versions mobiles sert à scanner l’adresse imprimée ou affichée en code QR |
Connexion au tableau de bord
On se connecte au tableau de bord en joutant « /dashboard » à l’adresse du serveur dans un navigateur, ce qui donne https://192.168.0.8:8080/dashboard dans notre exemple. On entre le login et le mot de passe que l’on a créé lors de l’installation (prof / prof).
Accueil
L’écran d’accueil présente une vue global de l’état du serveur : |
Les utilisateurs
La rubrique « Utilisateurs » du tableau de bord permet de créer et de modifier les élèves et les administrateurs. On peut y créer des comptes d’élèves ou récupérer les comptes créés sur la page de connexion. Cela peut être utile pour régénérer des mots de passe oubliés. |
Journaux
Permet de consulter les journaux privés et partagés des utilisateurs. On peut ainsi savoir ce qu’a fait l’utilisateur. |
Classes
Ici on créé et on peuple les classes avec les utilisateurs créés. |
Apprivoiser le proxy
Sur un réseau local avec un proxy filtrant, il y a de grandes chances que l’on ne parvienne pas à rejoindre notre Sugarizer-server. Il faut apprendre aux tablettes et PC à ne pas passer par le proxy : voir le tutoriel : Sugarizer et les serveurs proxy.