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