Tous les exercices d’un module dans une page html

Accueil Forums Gestion d’un serveur WIMS Administration d’un serveur WIMS Tous les exercices d’un module dans une page html

Vous lisez 1 fil de discussion
  • Auteur
    Messages
    • #995
      bernadette
      Maître des clés
      Up
      0
      Down
      ::

      Bonjour

      Si vous avez un serveur local, le script suivant permet de mettre dans une même page html tous les exos d'un module d'exercices OEF afin de mieux faire son marché pour une feuille d'exercices. C'est une demande que me fait JBa depuis au moins deux ans … Tout vient !

      Comme il semble difficile sur ce blog de rajouter des fichiers, je vais le copier-coller. Demandez-le moi s'il n'est pas lisible ! Il est à exécuter dans le répertoire wims. On verra ensuite s'il y a lieu d'en faire autre chose.

       

      Bernadette

       

      #!/usr/bin/perl

      my $module='' ;
      my $file='toto';
      while ($_ = shift (@ARGV)) {
        if (/^–module=(.*)$/) { $module = $1; }
         elsif (/^–file=(.*)$/) { $file = $1; }
         else { if (/^–module=(.*)$/) { $module = $1; }
          print STDERR « unknown option: $_n » if (!/^–help$/);
          usage(); # includes –help !
        }
      } ;

      my $dir2= »public_html/modules/$module » ;
      my $text='<html><body>';
      open(IN, « $dir2/Extitles »);

      while (<IN>){ my $line=$_ ;
         my @a= split(':',$line) ;
         $text .= »<iframe
            src= »http://127.0.0.1/wims/wims.cgi?module=adm/raw&job=lightpopup&emod=$module&parm=cmd=new;exo=$a[0];&option=noabout »
            width= »100% » height= »400″></iframe> »  
      }
      close IN;
      $text .= « </body></html> » ;

      out ($file. « .html »,$text) ;

      sub out { my ($bloc, $text) = @_ ;
        open  (OUT, « >$bloc ») || warn « peut pas créer $bloc »;
        print OUT $text ; close OUT ;
      }
      sub usage {
        print STDERR << « EOT »
      sheet.pl  –module=xxxx –file=yyy
        xxx is the address of the module as H3/algebra/oefprop.fr
        yyy.html is the name of the generated file
        the command must be executed from the directory
      EOT
      ;
        exit 1;
      }

    • #996
      eric
      Participant
      Up
      0
      Down
      ::

      Très pratique !

      Mais le programme tel quel ne fonctionnait pas chez moi :

      les tirets (devant les mots « module », « file », « help ») ont dû être (mal) interprétés par ce gestionnaire de forum.

      En les remplaçant par des tirets ordinaires, ça marche bien.

       

      Merci à Jean-Baptiste pour l'idée et à Bernadette pour la mise en oeuvre

       

      Eric

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