Warning: fopen(logv.txt): failed to open stream: Permission denied in /home/keonox/www/pyg/ganesha/inc.php on line 61

Warning: fputs(): supplied argument is not a valid stream resource in /home/keonox/www/pyg/ganesha/inc.php on line 62

Warning: fclose(): supplied argument is not a valid stream resource in /home/keonox/www/pyg/ganesha/inc.php on line 63
Addon Moolinex2
Accueil > Addons > moolinex2 Contact  | Imprimer  | English translation

Addon Moolinex2  

(c) PyG et Ar4mis : dev@cornalys.com -- v1 16/08/2004
Code sous licence GNU/GPL

* Moolinex2 utilise du code Ganesha (c) Anema Formation <http://www.anemalab.org> sous licence GPL
* Moolinex2 utilise la classe pclZip (c) Vincent Blavet <http://www.phpconcept.net> sous licence LGPL
* Un grand, grand merci à Rudy aka Ar4mis pour avoir bien débroussaillé le travail.

Objet

Moolinex2 est un portage GASP de l'addon Moolinex.
L'addon Moolinex permet d'ajouter des activités HotPotatoes ou NetQuiz3 dans Ganesha sans aucune programmation.

Screenshots / démonstrations

NB : il est conseillé d'avoir une résolution de 1024*768 et de maximiser la fénêtre de son navigateur (touche "F11") pour visualiser correctement ces démonstrations.

Si vous n'avez pas le lecteur Flash, vous pouvez le télécharger en cliquant ici

Fonctionnalités  

En plus du tracking (remontée des scores, du temps, etc.), l'addon permet entre autre de :


Il permet aussi d'ajouter des caractéristiques optionnelles.
Ainsi pour les activités HotPotatoes, il est possible de remplacer la feuille de style (=couleur) par des couleurs prédéfinies, ou d'utiliser les fonctionnalités de l'addon "Lanceur" qui permet :
1- de lancer l'activité dans une popup
2- de limiter le lancement de l'activité en fonction du nombre d'essais déjà effectués
3- de limiter le lancement de l'activité en fonction d'un score moyen déjà obtenu
4- de limiter le lancement en fonction d'une date de début
5- de limiter le lancement en fonction d'une date de fin
6- de limiter le lancement en fonction d'un score minimum à l'activité précédente.

Enfin cet addon à été développé d'une façon suffisament souple (j'espere !) pour faciliter son amélioration :

Il s'agit essentiellement de pouvoir répondre à la demande d'intégration rapide, massive et sans programmation d'exercices non AICC/SCORM dans Ganesha (la version 2 de Ganesha gérant ces normes).

Bref, il s'agit de faciliter le travail du développeur fainéant ;) ayant plusieurs centaines (et oui !) d'exercices à entrer dans la plateforme, mais il peut aussi servir au personnes n'ayant pas de compétences particulières en programmation.

Nouveautés et différences entre Moolinex et Moolinex2

Téléchargements

v1.0 :

Installation

Le principal écueil se situe au niveau des droits en lecture/écriture sur le serveur, mais j'y reviendrais.

Droits 

Le plus long, mais le plus simple est fait. Il reste essentiellement le problème des droits.

En effet, Moolinex génére automatiquement les dossiers et fichiers de vos activités.
Par conséquent, vous devez vous assurer que les droits sur ces derniers sont corrects.

Le problème vient du fait que chaque hebergeur a sa propre politique de sécurité, et qu'il n'y a donc pas de règle commune.
Ainsi, certains hebergeurs imposeront des droits 755 sur les dossiers, alors que d'autres exigeront du 750 ou 705.
Pour ceux qui ne connaissent rien aux droits, une rapide lecture s'impose :
- http://www.webogeo.com/forums/viewtopic.php?t=75
- http://www.toutestfacile.com/phpinit.php?tef_site=php&chap=chmod1

Comme je ne pourrais pas répondre aux questions de chacun sur les droits, Moolinex propose 2 aides à la détermination des droits.

(1)- Sur la page affichant le formulaire permettant l'ajout d'une activité, les droits sont testés par défaut.
Regardez en bas du formulaire, vous devez avoir un bloc

"Vérification des droits"
Repertoire Test créé avec succés !
Fichier Test créé avec succés !
Fichier Test chmodé avec succés !
Fichier Test supprimé avec succès !
Dossier Test supprimé avec succès !
Si vous êtes encore là, c'est que la vérification des droits est OK !

En clair, lorsque que vous arrivez sur cette page, Moolinex crée un répertoire bidon, crée un fichier bidon dedans, change les droits de ce fichier puis supprime le tout. Si les droits sont ok, tant mieux pour vous : vous pouvez passer à l'étape de configuration :)
Sinon, voyez le point (2)... :(


(2)- Une fois Moolinex installé vous pouvez appeler http://votre_ganesha/addons/moolinex/droits.php

En partant que votre plateforme fonctionne correctement, les droits corrects ont dûs être mis en place lors de l'install.

Ce fichier va tester et afficher les droits :

Repérez et notez alors les valeurs de la dernière colonne.

Editez alors /addons/moolinex/fonctions/fichiers.inc.php et regardez la fonction Droit()

function Droits($type) {
// Declaration des droits pour les fichiers / dossiers
global $BDD;
if ( $BDD['server']=="localhost" ) { // on est en local
   switch ($type) {
    case "fichier" : $droits = "0755"; break; // fichier image
    case "fichier2" : $droits = "0755"; break; // fichier html
    case "php" : $droits = "0755"; break; // fichier php
    case "dossier" : $droits = "0777"; break; // dossier
  }
} else { // a priori, on est en ligne
  switch ($type) {
    case "fichier" : $droits = "0640"; break; // fichier image
    case "fichier2" : $droits = "0750"; break; // fichier html
    case "php" : $droits = "0700"; break; // fichier php
    case "dossier" : $droits = "02750"; break; // dossier
  }
}
return $droits;
}

La première partie indique les droits si votre serveur sql se nomme "localhost" (souvent le cas si vous utilisez EasyPHP ou un serveur linux local). Ces valeurs devraient être correctes.

La seconde partie indique les droits si votre serveur n'est pas "localhost", c'est le cas dans 90% des serveurs mutualisés.
Les valeurs par défaut correspondent à mon hébergeur (sitadelle) et les valeurs doivent donc être adaptées à celles de votre hébergeur (vous pouvez alors vous aider des informations notées précédemment).
Renvoyez le fichier en ligne et refaites un test en croisant les doigts !

L'addon Moolinex devrait donc être installé ET fonctionnel.

 Accessibilité pour le tuteur 

- Ouvrez /ganesha/inc/tuteur.inc.php, et cherchez la fonction "function menu_tuteur()"

- Recherchez :

if ( OPT_FICHE_ACTIVE ) {
put (' <tr '.$action.'><td align="middle" valign="middle" width="5%" bgcolor="'.$color2.'">'.IMG_RIGHT.'</td>');
$url = HTTP_COMMUN.'p_fiche'.$ext.'?connexion='.$connexion ;
$click = 'onClick="openWindow(\''.$url.'\',\'ftuteur\', \'scrollbars=yes,width=500,height=590\')" ';
$status = Status($tu_titre["modifiche"]);
$link = '<a class="HEADER1" href="#" '.$click.$status.'> '.$tu_titre["modifiche"].'</a>';
put (' <td align="left" valign="middle" width="95%" bgcolor="'.$color2.'">'.$link.'</td></tr>');
}

- Collez à la suite :

// début addon moolinex2
if ( (defined('ADDON_MOOLINEX2')) && (ADDON_MOOLINEX2_STATE==1) ) {
put (' <tr '.$action.'><td align="middle" valign="middle" width="5%" bgcolor="'.$color2.'">'.IMG_RIGHT.'</td>');
$url = HTTP_ADDONS.ADDON_MOOLINEX2_DIR.'/index.php?connexion='.$connexion ;
$click = 'onClick="openWindow(\''.$url.'\',\'ftuteur\',\'scrollbars=yes,width=700,height=500\')" ';
$status = Status('Moolinex2');
$link = '<a class="HEADER1" href="#" '.$click.$status.'> '.ADDON_MOOLINEX2_NAME.'</a>';
put (' <td align="left" valign="middle" width="95%" bgcolor="'.$color2.'">'.$link.'</td></tr>');
}
// fin addon moolinex2

Félicitations l'addon est accessible côté tuteur !

 

Configuration

Etant plutôt autonome, il y a assez peu d'options de configuration.
Ouvrez /addons/moolinex/config.inc.php pour voir les principales options.
Vous souhaiterez notamment sans doute désactiver la vérification des droits une fois quelques exercices ajoutés avec succès.

Principes de fonctionnenment

Moolinex est en fait une "machine à faire du rechercher-remplacer", qui permet d'éviter la phase de "ganeshaïsation" d'un exercice.

On se place dans le dossier du module de la future activité, et on crée un sous dossier "moolact" qui contiendra les activités ajoutées avec moolinex.

  1. définitions des variables
  2. on crée le dossier (de la forme AAMMJJ-HHMMSS) et le sous-dossier "moolinex"
  3. on récupère l'id du Programme Auteur
  4. on déplace le fichier d'activité (.zip ou .htm) dans le dossier AAMMJJ-HHMMSS
  5. on dézippe (si nécéssaire)
  6. on verifie le zip/l'arborescence (si nécéssaire)
  7. on applique la moolinette sur chaque fichier qui le nécéssite
  8. on teste s'il y a des options et on applique les moolinettes spécifiques si besoin
  9. on déplace le fichier source dans le dossier moolinex
  10. on ajoute l'historique (date, titre, auteur, logiciel, fichiers sources)
  11. on ajoute l'exercice à la BDD

Voilà pour le principe de base.
Pour plus de détails, fouillez dans les fichiers de fonctions.

S'il y a des demandes et que j'ai le temps, j'écrirais peut être un mode d'emploi décrivant comment ajouter/modifier les différentes moulinettes.

Nouveau : Mini HowTo : ajouter une option à Moolinex

Limitations

Pour les activités NetQuiz, il faut "zipper" les activités avec un outil externe (celui que vous voulez, même celui fourni avec Windows XP fonctionne sans problème). Mais n'utilisez PAS la fonction de "compression" de NetQuiz, qui semble bugguée.
Nouveau : On m'a rapporté que la nouvelle version de NetQuiz (3.0.3) apportait une correction qui permettait d'éviter ce problème. Vous devriez donc vous assurez que vous utilisez bien une version récente de NetQuiz.

Pour les activités HotPotatoes, celles-ci (1) doivent être sur une seule page (mais avec autant de questions que vous le souhaitez) et (2) ne pas comporter de médias (images/sons/etc...). Préférez-lui NetQuiz dans si vous voulez intégrer des médias.
Nouveau : devant la forte demande, il est désormais possible d'intégrer des médias à vos activités HotPotatoes. Pour cela, il vous suffit de faire un zip de votre activité avec les médias (même principe que NetQuiz, donc). Le zip sera décompréssé en ligne. Attention, dans ce cas votre fichier d'activité devra impérativement se nommer index.html

TODO

Si certaines de ces fonctionnalités (ou d'autres) vous interressent, contactez-moi gentiment ;)

Changelog

 

V1.0 : 16/08/2004
Gaspisation de l'addon Moolinex