Installation 4.13d sur RaspBerry Pi

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 OlivierOlivier, le il y a 11 mois.
Vous lisez 24 fils de discussion
  • Auteur
    Messages
    • #3729
      Merci, ca m’a aidé
      Up
      0
      Down
      Pas très utile.
      Jean-Baptiste LagrangeJean-Baptiste Lagrange
      Participant

      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

    • #3730
      Merci, ca m’a aidé
      Up
      0
      Down
      Pas très utile.
      Jean-Baptiste LagrangeJean-Baptiste Lagrange
      Participant

      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.

    • #3732
      Merci, ca m’a aidé
      Up
      0
      Down
      Pas très utile.
      OlivierOlivier
      Admin bbPress

      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é Nice Sophia Antipolis

    • #3733
      Merci, ca m’a aidé
      Up
      0
      Down
      Pas très utile.
      Jean-Baptiste LagrangeJean-Baptiste Lagrange
      Participant

      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 ?

    • #3736
      Merci, ca m’a aidé
      Up
      0
      Down
      Pas très utile.
      bernadette
      Admin bbPress

      Quel modèle de raspberry pi a-t-il été utilisé ?
      quel système d’exploitation ?
      Comment a été installé wims ?

      Merci de donner le plus de détail possible.

      Bernadette

      • #3738
        Merci, ca m’a aidé
        Up
        0
        Down
        Pas très utile.
        OlivierOlivier
        Admin bbPress

        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é Nice Sophia Antipolis

    • #3739
      Merci, ca m’a aidé
      Up
      0
      Down
      Pas très utile.
      OlivierOlivier
      Admin bbPress

      Je viens de remettre la main sur la dernière commande de compilation qu’on avait utilisée sur Raspberry (en vain) :

      gcc -g -O2 -Wall -DGNU_SOURCE [...] -march=armv6 -mfpu=vfp -mfloat-abi=hard

      Olivier Bado-Faustin / Université Nice Sophia Antipolis

    • #3740
      Merci, ca m’a aidé
      Up
      0
      Down
      Pas très utile.
      OlivierOlivier
      Admin bbPress

      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é Nice Sophia Antipolis

    • #3752
      Merci, ca m’a aidé
      Up
      0
      Down
      Pas très utile.
      Jean-Baptiste LagrangeJean-Baptiste Lagrange
      Participant

      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/download

      le 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 tablette

      Je m’oriente vers Gigabyte Brix GB-BXBT-2807 avec 2Go de RAM et clé USB 3.0 16Go

      Jean-baptiste

    • #4747
      Merci, ca m’a aidé
      Up
      0
      Down
      Pas très utile.
      Thierry CoilhacThierry Coilhac
      Participant

      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

    • #4751
      Merci, ca m’a aidé
      Up
      0
      Down
      Pas très utile.
      OlivierOlivier
      Admin bbPress

      Bonjour Thierry,
      N’hésitez-pas à tester le petit programme que j’ai donné plus haut sur votre Raspberry3 B+. S’il fonctionne, vous saurez immédiatement si WIMS pourra fonctionner également ^^.

      Olivier Bado-Faustin / Université Nice Sophia Antipolis

    • #4765
      Merci, ca m’a aidé
      Up
      0
      Down
      Pas très utile.
      Thierry CoilhacThierry Coilhac
      Participant

      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

    • #4766
      Merci, ca m’a aidé
      Up
      0
      Down
      Pas très utile.
      bernadette
      Admin bbPress

      Peux-tu donner un exemple précis d’un module et d’un exo où l’image manque ?

      Bernadette

    • #4767
      Merci, ca m’a aidé
      Up
      0
      Down
      Pas très utile.
      Thierry CoilhacThierry Coilhac
      Participant

      Quelle réactivité 🙂 !

      Voilà :
      Feuille d’exercices : Evalwims-Sixième : Quadrilatères
      niveau approximatif : Sixième – 2013
      Fabrice Guerimand

      7 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

    • #4768
      Merci, ca m’a aidé
      Up
      0
      Down
      Pas très utile.
      bernadette
      Admin bbPress

      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 suivant

      xrange -5,5
      yrange -5,5
      hline black, 0,0

      et faire executer par Flydraw.

    • #4769
      Merci, ca m’a aidé
      Up
      0
      Down
      Pas très utile.
      Thierry CoilhacThierry Coilhac
      Participant

      J’ai fait le test, cela n’affiche rien.

    • #4770
      Merci, ca m’a aidé
      Up
      0
      Down
      Pas très utile.
      bernadette
      Admin bbPress

      Donc, c’est Flydraw qui est mal installé. Ou bien gd qui n’est pas où l’on pense ?
      Mais, là j’ai peur de ne rien pouvoir faire !
      En tout cas, il faut réparer !

      Il y a des remarques sur gd dans la documentation du wiki sur l’installation de wims.

      Bernadette

    • #4771
      Merci, ca m’a aidé
      Up
      0
      Down
      Pas très utile.
      Thierry CoilhacThierry Coilhac
      Participant

      Le fichier de log Nginx dit qu’il ne trouve pas WIMS-HTML/scripts/js/mathjax/MathJax.js
      Libjs-mathjax n’était pas installée.
      Je vais redérouler l’installation avec, sinon j’essaierai la procédure manuelle.
      Merci et bonne soirée.
      Thierry

    • #4774
      Merci, ca m’a aidé
      Up
      0
      Down
      Pas très utile.
      bernadette
      Admin bbPress

      C’est pour moi un autre problème qui concerne les formules mathématiques, pas les dessins.

      Bernadette

    • #4782
      Merci, ca m’a aidé
      Up
      0
      Down
      Pas très utile.
      OlivierOlivier
      Admin bbPress

      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 11 mois et 1 semaine par OlivierOlivier.

      Olivier Bado-Faustin / Université Nice Sophia Antipolis

    • #4788
      Merci, ca m’a aidé
      Up
      0
      Down
      Pas très utile.
      Thierry CoilhacThierry Coilhac
      Participant

      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 11 mois et 1 semaine par Thierry CoilhacThierry Coilhac.
      • #4791
        Merci, ca m’a aidé
        Up
        0
        Down
        Pas très utile.
        OlivierOlivier
        Admin bbPress

        @Olivier, comment faire le test de la virgule flottante ?

        Comme je vous l’indiquais :

        1. Connectez-vous à une classe en tant qu’étudiant, faites des exercices
        2. Puis en tant qu’enseignant, visualisez ces résultats
        • Cette réponse a été modifiée le il y a 11 mois et 1 semaine par OlivierOlivier.

        Olivier Bado-Faustin / Université Nice Sophia Antipolis

    • #4790
      Merci, ca m’a aidé
      Up
      0
      Down
      Pas très utile.
      Thierry CoilhacThierry Coilhac
      Participant

      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

    • #4800
      Merci, ca m’a aidé
      Up
      0
      Down
      Pas très utile.
      OlivierOlivier
      Admin bbPress

      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 😉

      prospectus_2016.pdf

      Indicateurs_WIMS_2016.pdf

      • Cette réponse a été modifiée le il y a 11 mois et 1 semaine par OlivierOlivier.

      Olivier Bado-Faustin / Université Nice Sophia Antipolis

    • #4808
      Merci, ca m’a aidé
      Up
      0
      Down
      Pas très utile.
      Thierry CoilhacThierry Coilhac
      Participant

      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 11 mois et 1 semaine par Thierry CoilhacThierry Coilhac.
      • Cette réponse a été modifiée le il y a 11 mois et 1 semaine par Thierry CoilhacThierry Coilhac.
      • #4830
        Merci, ca m’a aidé
        Up
        0
        Down
        Pas très utile.
        OlivierOlivier
        Admin bbPress

        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é Nice Sophia Antipolis

    • #4828
      Merci, ca m’a aidé
      Up
      0
      Down
      Pas très utile.
      Thierry CoilhacThierry Coilhac
      Participant

      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_nginx

      Thierry

      • #4833
        Merci, ca m’a aidé
        Up
        0
        Down
        Pas très utile.
        OlivierOlivier
        Admin bbPress

        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é Nice Sophia Antipolis

    • #4829
      Merci, ca m’a aidé
      Up
      0
      Down
      Pas très utile.
      bernadette
      Admin bbPress

      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

Vous lisez 24 fils de discussion
  • Vous devez être connecté pour répondre à ce sujet.