| Accueil > Addons > moolinex | Contact | Imprimer | English translation |
Addon Moolinex
(c) PyG : dev@cornalys.com -- v0.5 17/03/2004
Code sous licence
GNU/GPL
* Moolinex utilise du code Ganesha (c) Anema Formation <http://www.anemalab.org>
sous licence GPL
* Moolinex utilise la classe pclZip (c) Vincent Blavet <http://www.phpconcept.net>
sous licence LGPL
Objet
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
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.
Téléchargements
v0.5 :
Installation pour Ganesha 2.x (installation pour Ganesha 1.3)
En fait, l'installation se compose de 3 addons pour le prix d'un
:
- Moolinex proprement dit.
- Lanceur (avec des versions spéciales V1 et V2).
- GASP, un gestionnaire d'addon (livré ici en version
embryonnaire).
La procédure d'install est longue, mais pas très complexe.
Le principal écueil se situe au niveau des droits en lecture/écriture
sur le serveur, mais j'y reviendrais.
0- Prenez conscience que cet addon est livré tel quel, sans
garantie de bon fonctionnement, ni support.
L'auteur ne pourra pas être tenu responsable si l'installation l'addon
nuit au bon fonctionnement de votre Ganesha.
Si c'est le cas, passez à l'étape 1 ;)
1- Dézippez l'archive
Ganesha 2.0
2- Copiez les dossiers et leurs contenu dans le dossier /addons
(à la racine de la plateforme).
Vous devez donc avoir une arborescence ressemblant à :
/addons/
/addons/gasp/
/addons/lanceur/
/addons/moolinex/
/.../
/formation/
/ganesha/
/.../
NB : vous allez normalement écraser le fichier gasp.inc.php qui se trouve livré avec la V2 mais qui devrait être vide.
3- Mise en place de l'appel à l'addon
3A - Ouvrez /ganesha/inc/tuteur.inc.php, et cherchez la fonction "function menu_tuteur()"
4B - 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>');
}
3C - Collez à la suite :
// modif moolinex
if ( GAD_MOOLINEX ) {
global $GAD;
put (' <tr '.$action.'><td align="middle" valign="middle"
width="5%" bgcolor="'.$color2.'">*</td>');
$url = $GAD['moolinex']['HTTP'].'index.php?connexion='.$connexion ;
$link = '<a class="HEADER1" href="'.$url.'" '.status().'>
Moolinex </a>';
put (' <td align="left" valign="middle" width="95%"
bgcolor="'.$color2.'">'.$link.' </td></tr>');
}
// fin modif moolinex
Félicitations l'addon est installé !
NB : ici l'addon est installé côté tuteur, mais il pourrait
l'être côté admin en copiant le contenu de l'étape
4C dans le code admin.
4 - 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.
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.
NB : l'addon est désactivable, simplement en modifiant le statut 'actif'
de l'addon dans /addons/gasp/gad.inc.php
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.
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.
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.
TODO
Si certaines de ces fonctionnalités (ou d'autres vous interressent) contactez-moi gentiment ;)
v0.5 : 17/03/2004
* bugfix : lanceur : prise en compte des modifications de la table tracking
* bugfix : meilleure prise en compte de mozilla
* new : HP : suppressions des barres de navigation HP s'il y en a.
* new : HP : désactivation du clic-droit (IE only)
* new : HP : ajout du script em^pechant la validation si l'activité n'est
pas terminée.
* bugfix : prise en compte du register globals = off (EasyPHP)
* new : HP : alerte lors de la saisie des options du lanceur
* new : prise en compte des exercices HP6 (avec option "lanceur",
mais pas option "couleurs")
* bugfix : les droits par défaut correspondent à ceux de l'hebergeur
OVH (plus répandu que Sitadelle)
* bugfix : pff, plein de petits trucs
v0.4 : 05/03/2004
* bugfix : probleme de lancement d'une activité conditionnée au
score de l'activité précédente (merci à Roger T).
* improvment : le lancement conditionné à l'activité précédente
se fait sur la base de meilleure note, et non plus sur la base de la dernière
note
v0.3 : 09/02/2004
| Accueil > Addons > moolinex | Contact | Imprimer | English translation |