Documentation Moodle : Manuel du d�veloppeur
Manuel du d�veloppeur
Ce document d�crit en quelques mots le design ą la base de Moodle et comment vous pouvez contribuer ą son d�veloppement.
Il est un peu succinct pour l'instant. Une meilleure documentation est pr�vue !
Sections de ce document :
Architecture de Moodle
Comment vous pouvez aider
Activit�s d'apprentissage
ThŁmes
Langues
Sch�mas de la base de donn�es
Formats de cours
Documentation et articles
Participer ą la traque des bogues
1. Architecture de Moodle
Du point de vue d'un administrateur de systŁme, Moodle a �t� con�u selon les critŁres suivants :
Moodle doit fonctionner sur le plus grand nombre possible de plateformes diff�rentes
Le langage de programmation pour le web qui tourne sur la plupart des plateformes est PHP, en combinaison avec MySQL, et c'est l'environnement dans lequel Moodle a �t� d�velopp� (sur Linux, Windows et Mac OS X). Moodle utilise aussi la librairie ADOdb pour l'abstraction de la base de donn�es, ce qui implique que Moodle peut utiliser plus de 10 marques de bases de donn�es diff�rentes (toutefois, il ne peut malheureusement pas encore mettre en place les tables de toutes ces bases de donn�es. Voir ci-dessous pour plus d'informations).
Moodle doit ętre facile ą installer, ą apprendre et ą modifier
Les premiers prototypees de Moodle (1999) �taient bas�s sur Zope, un serveur d'application web orient� objet de technologie avanc�e. Malheureusement, bien que cette technologie soit plut�t cool, elle avait une courbe d'apprentissage trŁs raide et n'�tait pas trŁs souple en termes d'administration de systŁmes. D'un autre c�t�, le langage de scripts PHP est trŁs facile d'accŁs, notamment si vous avez d�ją programm� avec un autre langage de scripts. J'ai pris assez t�t la d�cision de ne pas utiliser un concept orient� objet, lą encore, pour conserver la simplicit� par �gard pour les novices. En lieu et place, la r�utilisation du code est accomplie gr�ce ą des librairies de fonctions clairement d�nomm�es et par une mise en page coh�rente des fichiers de scripts. En outre, PHP est facile ą installer (des ex�cutables sont disponibles pour toutes les plateformes) et si largement r�pandu que la plupart des services d'h�bergement web l'offrent en standard.
Moodle doit ętre facile ą mettre ą jour d'une version ą la suivante
Moodle conna�t son propre num�ro de version (ainsi que ceux de chacun des modules) et un m�canisme y a �t� impl�ment� de sorte qu'il puisse se mettre ą jour tout seul (il peut par exemple renommer les tables de la base de donn�es ou y ajouter de nouveaux champs). Si vous utilisez CVS sur Unix, vous pouvez par exemple taper la commande � cvs update -d , puis visiter la page d'accueil de votre site pour terminer la mise ą jour.
Moodle doit ętre modulaire pour pouvoir grandir facilement
Un grand nombre de fonctionnalit�s de Moodle sont modulaires, notamment les thŁmes, les activit�s, les langues de l'interface, les sch�mas de la base de donn�es et les formats de cours. Cela permet ą quiconque d'ajouter des fonctionnalit�s au code principal ou encore de distribuer des modules s�par�ment. Voir ci-dessous pour plus d'informations ą ce sujet.
Moodle doit pouvoir ętre utilis� en association avec d'autres systŁmes
Moodle conserve tous les fichiers d'un cours dans le męme dossier sur le serveur. Cela permet ą un administrateur systŁme d'offrir pour chaque enseignant n'importe quel type d'accŁs direct aux fichiers, comme AFP, SMB, NFS, FTP, WebDAV, etc. Les modules d'authentification permettent ą Moodle d'utiliser LDAP, MAP, POP3, NNTP et d'autres bases de donn�es comme source des donn�es des utilisateurs. Il reste toutefois pas mal de travail ą effectuer. Les fonctionnalit�s pr�vues de Moodle pour les versions ą venir comprennent notamment : l'importation et l'exportation des donn�es en format XML (y compris IMS et SCORM) et l'utilisation croissante des feuilles de style pour l'interface (permettant ainsi une meilleure incorporation dans d'autres sites web).
2. Comment vous pouvez aider
Comme mentionn� ci-dessus, bon nombre de fonctionnalit�s de Moodle sont modulaires. Męme si vous n'ętes pas programmeur, il y a des choses que vous pouvez modifier ou pour lesquelles vous pouvez nous aider.
Activit�s d'apprentissage
Ce sont les modules les plus importants. Ils sont plac�s dans le dossier � mod . Il y a quelques modules install�s par d�faut, notamment : devoir, sondage, test, forum, consultation, wiki, etc. Chaque module est plac� dans un sous-dossier propre et consiste en divers �l�ments obligatoires (ainsi que d'autres scripts propres ą chaque module) :
mod.html : un formulaire pour configurer ou mettre ą jour une instance de ce module
version.php : d�finit quelques m�ta-informations et met ą disposition du code pour les mises ą jour
icon.gif : une ic�ne 16x16 pour le module
db/ : des � dumps SQL de toutes les tables de la base de donn�es et des donn�es elles-męmes (pour chaque type de base de donn�es)
index.php : une page permettant d'afficher la liste de toutes les instances du module dans un cours
view.php : une page permettant d'afficher une instance particuliŁre
lib.php : toutes les fonctions d�finies par le module doivent s'y trouver. Si le nom du module est � bidule , les fonctions n�cessaires sont notamment :
bidule_add_instance() : code pour ajouter une nouvelle instance de bidule
bidule_update_instance() : code pour mettre ą jour une instance existante
bidule_delete_instance() : code pour effacer une instance
bidule_user_outline() : �tant donn�e une instance, retourne un r�sum� d'une contribution d'un utilisateur
bidule_user_complete() : �tant donn�e une instance, affiche les details d'une contribution d'un utilisateur
Pour �viter tout conflit �ventuel, le nom de toutes les fonctions du module doit commencer par � bidule_ et celui de toutes les constantes par � BIDULE_
Finalement, chaque module comportera des fichiers de langue, qui contiennent les cha�nes de caractŁres du module. Voir ci-dessous pour des d�tails.
Pour programmer un nouveau module d'activit�, le plus simple est d'utiliser le modŁle mod/newmodule_template.zip. D�compressez-le est suivez les instructions du fichier README inclus.
Il est �galement judicieux de poster auparavant un message sur le forum Activities modules dans le cours � Using Moodle .
ThŁmes
Les thŁmes (ou � skins ) d�finissent l'aspect d'un site. Quelques thŁmes simples sont fournis dans la distribution de Moodle. Vous pouvez aussi cr�er votre propre thŁme avec vos couleurs, logo, styles et graphiques pr�f�r�s.
Chaque thŁme est plac� dans un sous-dossier � theme qui contient au moins les fichiers suivants :
config.php : permet de configurer la fa�on dont les fichiers CSS interagissent. Vous pouvez construire votre thŁme ą partir du thŁme standard ou de n'importe quelle thŁme parent, ainsi qu'inclure ou exclure plusieurs fichiers CSS.
styles.php : fait le relais vers les fichiers CSS. Aucune modification n'est n�cessaire.
header.html : le fichier incorpor� au d�but de chaque page. Pour ajouter un logo au sommet de chaque page, c'est ce fichier qui devra ętre modifi�.
footer.html : le fichier incorpor� ą la fin de chaque page.
styles_color.css : feuille de styles CSS pour toutes les propri�t�s de couleur.
styles_fonts.css : feuille de styles CSS pour le choix des polices, corps, hauteurs de ligne, etc.
styles_layout.css : feuille de styles CSS pour la mise en page, le positionnement, etc.
styles_moz.css : feuille de styles CSS pour les coins arrondis de Mozilla et autres navigateurs ą moteur Gecko.
Pour cr�er votre propre thŁme avec la version actuelle de Moodle :
Copiez le dossier d'un des thŁmes existant et donner un nouveau nom ą la copie. Il est recommand� de commencer avec l'un des thŁmes standard.
Modifiez le fichier config.php en y ins�rant les r�glages n�cessaires ą vos besoins.
Modifier les fichiers CSS (voir ci-dessus) avec vos propres styles.
Ouvrez header.html et footer.html pour y ajouter les nouveaux logos ou pour modifier la mise en page.
Il est ą noter que les mises ą jour de Moodle pourraient empęcher le fonctionnement correct d'un thŁme personnalis�. V�rifiez les notes de mise ą jour si vous utilisez un tel thŁme.
Veuillez lire attentivement la description d�taill�e des thŁmes de Moodle dans la documentation sur les thŁmes Moodle.
Pour en savoir plus, participez ą la discussion sur le forum Themes dans le cours � Using Moodle . Si vous cr�ez un joli thŁme susceptible d'int�resser d'autres utilisateurs, merci de poster votre fichier zip sur ce męme forum.
Langues
Moodle a �t� con�u pour permettre son internationalisation. Chaque cha�ne de caractŁres et chaque page de texte faisant partie de l'interface est affich�e ą partir d'un ensemble de fichiers de langue. Chaque langue consiste en un sous-dossier du dossier � lang . La structure du dossier lang est la suivante :
lang/fr : dossier contenant tous les fichiers pour une langue (dans ce cas le fran�ais)
moodle.php : cha�nes de l'interface principale
assignment.php : cha�nes du module devoir
choice.php : cha�nes du module sondage
forum.php : cha�nes du module forum
quiz.php : cha�nes du module test
resource.php : cha�nes du module ressource
survey.php : cha�nes du module consultation
... ainsi que d'autres modules le cas �ch�ant.
Chaque cha�ne est tir�e de ces fichiers ą l'aide des fonctions get_string() ou print_string(). Toutes les cha�nes permettent la substitution des variables, afin de permettre un ordre diff�rent des variables dans les diff�rentes langues.
Par exemple, $strdueby = get_string("assignmentdueby", "assignment", userdate($date));
Si une cha�ne n'est pas d�finie dans une langue, la cha�ne �quivalente en anglais est automatiquement utilis�e ą la place.
lang/fr/help : contient toutes les pages d'aide (pour l'aide contextuelle, fenętres � popup )
Les pages d'aide principales y sont stock�es, alors que les pages d'aide sp�cifiques aux diff�rents modules sont plac�es dans des sous-dossiers portant le nom du module.
Vous pouvez ins�rer un bouton d'aide dans une page au moyen de la fonction helpbutton().
Par exemple, helpbutton("text", "Cliquer ici pour obtenir de l'aide sur le texte"); et pour les modules :
helpbutton("forumtypes", "Types de forums", "forum");
Vous pouvez modifier en ligne les fichiers de langue, en utilisant les outils web d'administration � Configuration -> Langue . Cela vous permet non seulement de cr�er de nouvelles langues, mais aussi de perfectionner les traductions existantes. Si vous vous attaquez ą une nouvelle langue, merci de me contacter, Martin Dougiamas.
Vous pouvez aussi participer au forum Languages du cours � Using Moodle .
Si vous entretenez les fichiers d'une langue de maniŁre r�guliŁre, je peux vous donner un accŁs CVS en �criture au code source de Moodle, afin que vous puissiez ainsi directement modifier les fichiers.
Sch�mas de la base de donn�es
Une fois d�finies la base de donn�es et ses tables, le langage SQL intentionnellement simple utilis� par Moodle devrait fonctionner correctement avec un grand nombre de marques de bases de donn�es.
Il peut arriver que la cr�ation automatique des nouvelles tables d'une base de donn�es pose problŁme. Cette op�ration a lieu lors de l'installation initiale de Moodle. Parce que les diverses bases de donn�es sont trŁs diff�rentes, il n'existe pas encore de moyen de faire cela ind�pendamment de la plateforme. Pour permettre cette automatisation dans chaque type de base de donn�es, des sch�mas de base de donn�es peuvent ętre cr��s, qui comportent les commandes SQL n�cessaires pour cr�er pour une base de donn�es particuliŁre les tables qu'utilise Moodle. Ces sch�mas sont des fichiers dans lib/db ainsi que dans le sous-dossier db de chaque module.
Actuellement, seul MySQL et PostgreSQL sont support�s de cette maniŁre (personne n'a encore �crit les sch�mas pour d'autres marques).
Moodle 1.2 utilisera une nouvelle m�thode de sch�mas XML ind�pendants de la base de donn�es, qui rendra tout cela inutile.
Formats de cours
Moodle offre actuellement trois formats de cours diff�rents : hebdomadaire, th�matique et informel.
Ces formats sont un peu plus d�pendants du reste du code (et par cons�quent moins modulaires), mais il est malgr� tout assez facile d'en ajouter de nouveaux.
Si vous avez des id�es de formats diff�rents dont vous auriez l'utilit� ou que vous aimeriez voir dans Moodle, prenez contact avec moi et je ferai tout mon possible pour les rendre disponibles dans de futures versions.
Documentation et articles
Si vous avez envie d'�crire un tutoriel, un article, une publication universitaire ou quoi que ce soit d'autre sur Moodle, ne vous en privez pas !
Publiez-le sur le web et assurez-vous de mettre des liens vers http://moodle.org/.
Participer ą la traque des bogues
J'aimerais pour terminer vous inviter ą vous inscrire sur le � bug tracker ą l'adresse http://moodle.org/bugs, afin que vous puissiez annoncer tous les bogues que vous d�couvrirez et peut-ętre participer ą la discussion et ą la correction des bogues.
Les � bogues ne sont pas seulement les erreurs du code source des versions actuelles de Moodle. Ce sont aussi les nouvelles id�es, les demandes de nouvelles fonctionnalit�s et męme la critique constructive des fonctionnalit�s existantes. La beaut� du logiciel libre est de permettre ą chacun de participer d'une fa�on ou d'une autre et d'aider ą cr�er une meilleur produit pour le bien de tous. Dans ce projet, votre contribution est la bienvenue !
Nous vous remercions d'utiliser Moodle !
Martin Dougiamas, d�veloppeur principal
Documentation Moodle
Version: $Id$
Wyszukiwarka
Podobne podstrony:
2007 01 Web Building the Aptana Free Developer Environment for AjaxdeRegnier Neurophysiologic evaluation on early cognitive development in high risk anfants and todddeveloperdeveloperdeveloperBalancing Disappointment and Enthusiasm Developments in EU?lkans relations during 2003developerDevelopement and Brain Modelling Experimental testingdevelop iteration plan?B6B1EEJung, Carl Gustav Volume 17 The Development of PersonalityDevelopment of wind turbine control algorithms for industrial use2 3 DB2 Application Development Labdevelop supplementary specificationRFC4CAEwięcej podobnych podstron