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 Avatar photoOlivier, le il y a 6 années.
Vous lisez 24 fils de discussion
  • Auteur
    Messages
    • #3729
      Up
      0
      Down
      ::

      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
      Up
      0
      Down
      ::

      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
      Avatar photoOlivier
      Maître des clés
      Up
      0
      Down
      ::

      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

    • #3733
      Up
      0
      Down
      ::

      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
      bernadette
      Maître des clés
      Up
      0
      Down
      ::

      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
        Avatar photoOlivier
        Maître des clés
        Up
        0
        Down
        ::

        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

    • #3739
      Avatar photoOlivier
      Maître des clés
      Up
      0
      Down
      ::

      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é Côte d’Azur

    • #3740
      Avatar photoOlivier
      Maître des clés
      Up
      0
      Down
      ::

      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

    • #3752
      Up
      0
      Down
      ::

      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
      Avatar photoThierry Coilhac
      Participant
      Up
      0
      Down
      ::

      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
      Avatar photoOlivier
      Maître des clés
      Up
      0
      Down
      ::

      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é Côte d’Azur

    • #4765
      Avatar photoThierry Coilhac
      Participant
      Up
      0
      Down
      ::

      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
      bernadette
      Maître des clés
      Up
      0
      Down
      ::

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

      Bernadette

    • #4767
      Avatar photoThierry Coilhac
      Participant
      Up
      0
      Down
      ::

      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
      bernadette
      Maître des clés
      Up
      0
      Down
      ::

      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
      Avatar photoThierry Coilhac
      Participant
      Up
      0
      Down
      ::

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

    • #4770
      bernadette
      Maître des clés
      Up
      0
      Down
      ::

      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
      Avatar photoThierry Coilhac
      Participant
      Up
      0
      Down
      ::

      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
      bernadette
      Maître des clés
      Up
      0
      Down
      ::

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

      Bernadette

    • #4782
      Avatar photoOlivier
      Maître des clés
      Up
      0
      Down
      ::

      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 Avatar photoOlivier.

      Olivier Bado-Faustin / Université Côte d’Azur

    • #4788
      Avatar photoThierry Coilhac
      Participant
      Up
      0
      Down
      ::

      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 Avatar photoThierry Coilhac.
      • #4791
        Avatar photoOlivier
        Maître des clés
        Up
        0
        Down
        ::

        @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 6 années par Avatar photoOlivier.

        Olivier Bado-Faustin / Université Côte d’Azur

    • #4790
      Avatar photoThierry Coilhac
      Participant
      Up
      0
      Down
      ::

      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
      Avatar photoOlivier
      Maître des clés
      Up
      0
      Down
      ::

      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 6 années par Avatar photoOlivier.

      Olivier Bado-Faustin / Université Côte d’Azur

    • #4808
      Avatar photoThierry Coilhac
      Participant
      Up
      0
      Down
      ::

      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.

      • #4830
        Avatar photoOlivier
        Maître des clés
        Up
        0
        Down
        ::

        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

    • #4828
      Avatar photoThierry Coilhac
      Participant
      Up
      0
      Down
      ::

      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
        Avatar photoOlivier
        Maître des clés
        Up
        0
        Down
        ::

        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

    • #4829
      bernadette
      Maître des clés
      Up
      0
      Down
      ::

      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.