Accueil › Forums › Gestion d’un serveur WIMS › Installation d’un serveur WIMS › Installation 4.13d sur RaspBerry Pi
- Ce sujet contient 29 réponses, 4 participants et a été mis à jour pour la dernière fois par Olivier, le il y a 6 années.
-
AuteurMessages
-
-
4 mars 2017 à 09:25 #3729Jean-Baptiste LagrangeParticipant::
Bonjour,
je teste l’installation de WIMS-4.13d sur raspberry pi pour un projet africain.
Ca ne se passe pas trop mal, sauf que je n’ai pas l’accès aux classes ouvertes. Je les vois, mais quand je veux entrer en anonyme ou inscrit, j’ai une erreur (internal server error). De même pour la plupart des ressources.
Je suppose qu’elles ne sont pas à leur place ou une histoire de chmode, mais je ne vois pas où elles-sont ni où elles devraient être.
Merci
JB Lagrange -
4 mars 2017 à 09:42 #3730Jean-Baptiste LagrangeParticipant::
Encore moi,
j’ai trouvé le fichier de log de Apache
Accès via le raspberry
[Sat Mar 04 09:22:48.085114 2017] [cgid:error] [pid 721:tid 1802499120] [client 127.0.0.1:47254] Premature end of script headers: wims.cgi, referer: http://127.0.0.1/wims/wims.cgi?session=AM2DE692B0.7&+lang=fr&+module=adm%2Fclass%2Fclasses&+type=example
Accès via un ordi sur le réseu
[Sat Mar 04 09:31:47.429069 2017] [cgid:error] [pid 720:tid 1869607984] [client 192.168.1.22:56848] Premature end of script headers: wims.cgi, referer: http://192.168.1.23/wims/wims.cgi?session=WN215F9C3E.1&+lang=fr&+module=adm%2Fclass%2Fclasses&+type=example
Apparemment un pb dans WIMS lui-même. -
4 mars 2017 à 10:57 #3732OlivierMaître des clés::
Bonjour,
Je me suis moi-même cassé les dents sur les 2 premières versions des raspberry Pi. (je n’ai pas réessayé depuis)
De ce que je me rappelle, il y a un problème de transfert d’informations en virgule flottante.
Le Rasperry utilise un processeur ARM, différents des processeurs de type « Intel » classiques, d’où l’incompatibilité.
En fait, WIMS plante sur ARM dès qu’on tente d’accéder aux notes, c’est à dire :- Dès la connexion à une classe pour un participant
- ou lors de l’affichage des notes pour un enseignant.
Je pense qu’il est préférable de se tourner vers d’autres solutions, comme « Knowims » : un serveur WIMS sur une clé USB : http://wimsedu.info/?p=3196
Olivier Bado-Faustin / Université Côte d’Azur
-
4 mars 2017 à 14:36 #3733Jean-Baptiste LagrangeParticipant::
Bonjour et merci,
pourtant il y a des choses qui marchent dans les outils.
Peut-être quelqu’un a-t-il une idée. Bizarre que Wims soit aussi dépendant du processeur.J’ai essayé de restaurer une classe que j’avais en tgz, j’ai une erreur noyear !!!
Dans un épisode précédent du projet PReNuM-AC nous avons distribué des clés WIMS au congo et au Cameroun.
C’est utile pour une prise de contact, mais les collègues hésitent à modifier le bios pour booter sur la clé et ne savent pas configurer une machine en point d’accès.
L’idée ici était de distribuer des serveurs « clé en main ».
Si ça ne marche vraiment pas avec le raspberry, je vais me tourner vers des tablettes Windows bas de gamme.
Quelqu’un a-t-il une expérience en la matière ?-
4 mars 2017 à 20:09 #3734OlivierMaître des clés::
Bizarre que Wims soit aussi dépendant du processeur.
En fait, ce n’est pas tant le processeur que son architecture qui pose problème. WIMS marche très bien avec un processeur AMD par exemple 😉
Les processeurs ARM ont vraiment une architecture propre.Si ça ne marche vraiment pas avec le raspberry, je vais me tourner vers des tablettes Windows bas de gamme.
C’est en effet une piste. Sinon il existe aussi des micro PC pas plus grands que le raspberry Pi, mais en processeurs type Intel :
Le stick « Archos » :
http://www.lesnumeriques.com/ordinateur/archos-pc-stick-p27217/archos-presente-son-mini-pc-hdmi-stick-n43499.html
ou encore les « up board » : http://up-shop.org/4-up-boards
ou les arduino : http://www.materiel.net/micro-pc-arduino/genuino-arduino-101-powered-by-intel-126656.html… mais il doit y en avoir d’autres.
Olivier Bado-Faustin / Université Côte d’Azur
-
-
6 mars 2017 à 19:53 #3736bernadetteMaître des clés
-
7 mars 2017 à 09:59 #3738OlivierMaître des clés::
Je n’ai plus la possibilité de tester cela, mais au cas ou un spécialiste du C serait prêt à creuser la question, je vais essayer de donner quelques infos supplémentaires, mais ma mémoire n’est pas très bonne, et ca commence vraiment à dater…
- QuelS modèleS de raspberry pi ont-il été utilisé ?==> Raspberry Pi A et 2B
- quel système d’exploitation ? Il me semble que c’etait un raspbian
- Comment a été installé wims ? ==> installé automatiquement, manuellement, compilé, recompilé plusieurs fois… avec des options du genre « softfloat » et « hardfloat »
Olivier Bado-Faustin / Université Côte d’Azur
-
-
7 mars 2017 à 10:02 #3739
-
7 mars 2017 à 10:15 #3740OlivierMaître des clés::
Pour donner plus de précisions sur ce que j’appelais assez simplement plus haut un « probleme avec les floats » :
Il s’agit en fait d’un souci de transmission d’informations entre 2 programmes (wims et wimslogd)
L’un « envoie » à l’autre un ensemble de variable, dont des floats.
Et le problème survient sur ARM lorsque le second programme lit le float recu : cela déclenche un Bus error.On peut tout à fait simuler ce comportement au sein d’un seul et même programme pour faire plus simple. voici un code C qui simule cela :
/* Test program, simulating communication between wims <-> Wimslogd*/ // Compilation : //gcc -g -O2 -Wall -DGNU_SOURCE -DVERSION_DATE=\"2014-05-22\" raspberry_wims.c -L../lib -lwims -lm -o raspberry_wims // Compilation Raspberry : //gcc -g -O2 -Wall -DGNU_SOURCE raspberry_wims-test.c -L../lib -lwims -lm -o raspberry_wims-test -march=armv6 -mfpu=vfp -mfloat-abi=hard #include <stdio.h> #include <memory.h> typedef struct scoreresult { float require, weight, score, mean, last, try, best, level; } scoreresult; #define MAX_CLASSEXOS 256 #define exocnt 2 struct scoreresult tscore[MAX_CLASSEXOS]; struct scoreresult *rscore; //int answerlen; /* Simule l'écriture des données dans le fichier d'échange */ void writeBuffer(void) { printf("écriture des données...\n"); tscore[0].require = 1.23456; } /* Simule la lecture des données à partir du fichier d'échange */ void readBuffer(void) { char *pp; printf("Lecture des données...\n"); pp = tscore; rscore=(struct scoreresult *) pp; } /* Programme principal */ int main(void) { printf("Début de la simulation...\n"); writeBuffer(); readBuffer(); printf("Données envoyées : \n"); printf("tscore[0].require = %f \n", tscore[0].require); printf("[HEX] tscore[0].require is %x\n", *(unsigned int*)&tscore[0].require); printf("Données Recues : \n"); printf("[HEX] rscore[0] is %x\n", *(unsigned int*)&rscore[0]); /** C'est ici, à la lecture de "rscore[0].require" qu'on obtient un "BUS ERROR" sur un Raspberry Pi **/ printf("[HEX] rscore[0].require is %x\n", *(unsigned int*)&rscore[0].require); printf("rscore[0].require = %f \n", rscore[0].require); return 0; }
Olivier Bado-Faustin / Université Côte d’Azur
-
8 mars 2017 à 11:30 #3752Jean-Baptiste LagrangeParticipant::
Bonjour Bernadette,
excuses, je n’avais pas vu ton message.
C’est un raspberry 3 https://www.raspberrypi.org/products/raspberry-pi-3-model-b/
Jessie installé à partir de NOOBS sur une sdcard de 16 Go
J’ai fait deux installations de WIMS
1. en compilant les sources de la version 4.13d
2. à partir de sources compilées pour ARM
https://packages.debian.org/fr/jessie/armhf/wims/downloadle blocage se situe aux mêmes endroits dans les deux cas.
J’ai fait le tour des autres possibilités avec processeur Intel
1. lot de notebooks de récup. sans disque dur
2. carte PC style raspberry
3. microPC ou tabletteJe m’oriente vers Gigabyte Brix GB-BXBT-2807 avec 2Go de RAM et clé USB 3.0 16Go
Jean-baptiste
- Cette réponse a été modifiée le il y a 7 années et 10 mois par Jean-Baptiste Lagrange.
- Cette réponse a été modifiée le il y a 7 années et 10 mois par Jean-Baptiste Lagrange.
-
31 décembre 2018 à 12:30 #4747Thierry CoilhacParticipant::
Bonjour à tous,
Je vais me pencher sur l’installation de Wims sur Raspberry dans le cadre d’une ONG spécialisée dans les outils numériques pour l’Afrique (www.ed4free.org). Nous y avons déjà mis Wikimédia (fourni par Kiwix), Khan Academy (fourni par Kalite), Moodle, WordPress et NextCloud (lequel se synchronise avec un Nextcloud en ligne pour récupérer des contenus statiques).
Ce sera sur un Raspberry3 B+, sorti cette année.
L’environnement logiciel est Debian 9, Nginx (plutôt qu’Apache), PHP7, MySQL.Je vais repartir du binaire pour ARM indiqué par Jean-Baptiste : https://packages.debian.org/fr/jessie/armhf/wims/download S’il a été généré pour Jessie il devrait marcher pour stretch.
S’il y a un autre code je suis preneur pour tester.
Je suis d’accord que le comportement ne devrait dépendre du processeur. C’est le job du compilateur de faire en sorte que ce soit transparent. Cela peut être une option de compilation, ou une librairie.
Je vous tiens au courant.
Thierry
-
3 janvier 2019 à 14:23 #4751
-
6 janvier 2019 à 20:03 #4765Thierry CoilhacParticipant::
Bonjour Olivier,
Finalement j’ai installé Wims avec la simple commande « sudo apt-get intall wims » et cela a l’air de fonctionner. J’ai importé tous les modules.
Le seul problème que je constate est que parfois des images ne s’affichent pas (par exemple une figure géométrique). A priori c’est parce qu’elles n’ont pas été importées car quand je regarde l’url de l’image manquante, je constate qu’elle n’est effectivement pas dans l’endoit indiqué.
Je vais creuser.
Thierry -
6 janvier 2019 à 20:17 #4766bernadetteMaître des clés
-
6 janvier 2019 à 20:24 #4767Thierry CoilhacParticipant::
Quelle réactivité 🙂 !
Voilà :
Feuille d’exercices : Evalwims-Sixième : Quadrilatères
niveau approximatif : Sixième – 2013
Fabrice Guerimand7 Reproduction , construction de figures complexes.
=> La figure ne s’affiche pas.
J’ai oublié de préciser que j’ai un serveur http Nginx et non Apache. Du coup j’ai mis en place un proxy tel que décrit ici : https://wiki.wimsedu.info/doku.php?id=installation:wims_et_nginx
Cela peut aussi expliquer certains problèmes. J’ai vu dans le code source de la page qu’il y a du js, et ne suis pas sur que Ngninx le laisse passer tel qu’il est configuré.
Thierry
-
6 janvier 2019 à 20:50 #4768bernadetteMaître des clés::
Je ne pense pas que le javascript soit en cause (il n’y en a pas de spécifique dans cet exercice).
Est-ce qu’il y a des exercices où les figures créées à la volée par flydraw existent ?Un test : dans le moteur recherche, entrer direct
Cliquer sur Direct exec
entrer le code suivantxrange -5,5
yrange -5,5
hline black, 0,0et faire executer par Flydraw.
-
6 janvier 2019 à 21:09 #4769Thierry CoilhacParticipant
-
6 janvier 2019 à 21:14 #4770bernadetteMaître des clés
-
6 janvier 2019 à 22:30 #4771Thierry CoilhacParticipant
-
7 janvier 2019 à 08:15 #4774bernadetteMaître des clés
-
8 janvier 2019 à 11:48 #4782OlivierMaître des clés::
Avez-vous testé que le souci de virgule flottante n’existe plus ?
Concretement, avez-vous réussi à vous connecter à une classe en tant qu’étudiant, et à visualiser les notes en tant qu’enseignant ?
C’était le principal problème rencontré sur Raspberry. Si cela n’est pas résolu, inutile de vous embêter à corriger les soucis avec nginx ou les images…- Cette réponse a été modifiée le il y a 6 années par Olivier.
Olivier Bado-Faustin / Université Côte d’Azur
-
10 janvier 2019 à 21:34 #4788Thierry CoilhacParticipant::
J’avance !
En faisant une installation manuelle et en passant par apache 2 plutôt que nginx cela règle le problème d’affichage des graphiques.
@Olivier, comment faire le test de la virgule flottante ?
Pour l’usage que je veux en faire les classes et les notes ne m’intéressent pas trop. Mon objectif est juste que des enseignants africains puissent faire les exercices avec leurs élèves en classe sans être connectés à internet. Ils projettent leur tablette via un VP sur batterie. Ils ont aimé la Khan Academy, ils vont adorer Wims.- Cette réponse a été modifiée le il y a 6 années par Thierry Coilhac.
-
11 janvier 2019 à 09:39 #4791OlivierMaître des clés::
@Olivier, comment faire le test de la virgule flottante ?
Comme je vous l’indiquais :
- Connectez-vous à une classe en tant qu’étudiant, faites des exercices
- Puis en tant qu’enseignant, visualisez ces résultats
- Cette réponse a été modifiée le il y a 6 années par Olivier.
Olivier Bado-Faustin / Université Côte d’Azur
-
10 janvier 2019 à 22:24 #4790Thierry CoilhacParticipant::
Franchement c’est génial !
Je découvre Wims que je ne connaissais pas il y a deux semaines, c’est mon épouse prof de math qui m’a dit que c’était super… bon, c’est vrai qu’elle a souvent raison 🙂
Du coup j’ai quelques questions :
– Je souhaite l’intégrer dans des Raspberry distribués en Afrique par une association à but non lucratif. A priori je peux puisque wims est libre et nos porjets non commerciaux.
– Je mentionnerai votre contribution sur notre site http://www.ed4free.org , nous pourrions même signer un partenariat pour de l’échange de visibilité. Puis-je avoir un contact pour en discuter ?
– Avez vous des chiffres sur les ressources disponibles : nombre par matière, par niveau, par type, etc.
– Existe-t-il un catalogue des ressources, ou est-il possible d’en générer ?Je n’ai pas encore regardé l’outil de création de ressources, mais s’il est suffisamment ergonomique nous pourrions proposer à nos partenaires africains de créer des ressources pour leur pays.
Avec l’Université Virtuelle du Sénégal, pourquoi pas un Wims en Wolof dans quelques mois. Idem avec les UV de CI, Burkina, Mali, etc.
J’ai vu qu’il y a des cours d’anglais sans avoir encore regardé, si Wims gère correctement l’association textes / images / sons cela permettrait à des ONG africaines de créer des cours pour alphabétisation.
Un grand bravo l’équipe wims !
Thierry
-
11 janvier 2019 à 10:02 #4800OlivierMaître des clés::
Merci 😉
– Avez vous des chiffres sur les ressources disponibles : nombre par matière, par niveau, par type, etc.
Ce n’est pas du tout à jour, mais voici un prospectus édité en 2016 qui donne une idée approximative du nombre d’exercices et de la répartition, même s’il y en a eu beaucoup d’ajoutés depuis 😉
- Cette réponse a été modifiée le il y a 6 années par Olivier.
Olivier Bado-Faustin / Université Côte d’Azur
-
11 janvier 2019 à 22:05 #4808Thierry CoilhacParticipant::
Merci Olivier pour ces documents. Y a-t-il vraiment 15 000 exercices répartis dans 1436 modules ? Ces chiffres sont impressionnants.
Cela plante toujours quand on veut aller dans une classe en anonyme. Erreur 500 d’Apache. Aucune trace dans les logs wims.
Je n’ai pas pu créé de classe car je ne recois pas le mail contenant le code de la classe. Ceci dit je n’ai pas défini de serveur stmp, peut-être est-ce celui d’unice.
- Cette réponse a été modifiée le il y a 6 années par Thierry Coilhac.
- Cette réponse a été modifiée le il y a 6 années par Thierry Coilhac.
-
14 janvier 2019 à 09:50 #4830OlivierMaître des clés::
Merci Olivier pour ces documents. Y a-t-il vraiment 15 000 exercices répartis dans 1436 modules ? Ces chiffres sont impressionnants.
Non : il y en a bien plus aujourd’hui ^^. ce sont les chiffres de 2016.
Cela plante toujours quand on veut aller dans une classe en anonyme. Erreur 500 d’Apache. Aucune trace dans les logs wims.
Je pense que c’est le fameux bug des virgules flottantes du Raspberry. Tant qu’il ne sera pas résolu, inutile de continuer. Mais pour ca il faut trouver quelqu’un qui s’y connaisse.
Je n’ai pas pu créé de classe car je ne recois pas le mail contenant le code de la classe. Ceci dit je n’ai pas défini de serveur stmp, peut-être est-ce celui d’unice.
Ce n’est pas celui d’unice en tout cas. Voici une doc pour configurer le smtp sur Debian : https://wiki.wimsedu.info/doku.php?id=installation:debian:exim
Olivier Bado-Faustin / Université Côte d’Azur
-
13 janvier 2019 à 19:18 #4828Thierry CoilhacParticipant::
J’ai réglé le problème du fonctionnement de l’affichage de graphiques et des équations avec Nginx. Cela me permettra de supprimer apache2 de mon raspberry en ne laissant tous les services sur Nginx uniquement.
Pour régler le problème il faut préciser dans le fichier de conf nginf,
soit le paramètre :
fastcgi_param SCRIPT_FILENAME /home/wims/public_html/wims.cgi;soit les deux paramètres :
fastcgi_param DOCUMENT_ROOT /home/wims/public_html;
fastcgi_param SCRIPT_NAME /wims.cgi;A mettre juste avant :
include /etc/nginx/fastcgi_params;Le fichier de conf nginx qui marche est le suivant :
server
{
server_name wims.edbox.fr;
error_log /var/log/nginx_wims_error.log;
access_log /var/log/nginx_wims_access.log;location / {
root /home/wims/public_html;
index wims.cgi;
}location ~ ^/wims.*$ {
# Disable gzip (it makes scripts feel slower since they have to co$
gzip off;# Set the root directory (we are giving access to the files under $
root /home/wims/public_html;
autoindex on;fastcgi_param SCRIPT_FILENAME /home/wims/public_html/wims.cgi;
# fastcgi_param DOCUMENT_ROOT /home/wims/public_html;
# fastcgi_param SCRIPT_NAME /wims.cgi;
include /etc/nginx/fastcgi_params;# Fastcgi socket
fastcgi_pass unix:/var/run/fcgiwrap.socket;
}
}Nb : j’ai trouvé la solution ici : https://crashcourse.housegordon.org/nginx-cookbook.html
Il faudrait mettre à jour cette documentation :
https://wiki.wimsedu.info/doku.php?id=installation:wims_et_nginxThierry
-
14 janvier 2019 à 09:56 #4833OlivierMaître des clés::
Pour régler le problème il faut préciser dans le fichier de conf nginf,
soit le paramètre :
fastcgi_param SCRIPT_FILENAME /home/wims/public_html/wims.cgi;Merci pour l’info,
Je viens de mettre à jour la page du wiki
(ps : tout le monde peut modifier le wiki, avec les même identifiants que ceux du forum ^^)Olivier Bado-Faustin / Université Côte d’Azur
-
-
14 janvier 2019 à 08:10 #4829bernadetteMaître des clés::
Pour la création de classes, on peut la configurer pour qu’elle soit possible à l’aide d’un mot de passe.
Mais bien sûr, si le serveur ne peut pas envoyer de mail, certains possibilités ne seront pas opérationnelles (par exemple, l’avertissement que la classe est expirée). Il risque aussi de se produire que les mails s’accumulent dans la « boite mail » de wims comme n’ayant pas pu être envoyés.Bernadette
-
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.