Développement:Modules

(Redirigé depuis Modules (développeur))

Attention : vous consultez actuellement la documentation dédiée aux versions 1.x de Moodle. La documentation pour les versions 2.x de Moodle est consultable ici : Développement:Modules et celle pour Moodle 3.x est consultable là : Développement:Modules.

Les modules d'activités se trouvent dans le dossier mod. Chaque module dispose de son propre sous-dossier qui inclut les éléments suivants obligatoires (avec des scripts supplémentaires spécifiques à chaque module) :

  • mod.html - une page web pour configurer ou modifier une instance du module (depuis la version 1.8 et l'adjonction de l'API de formulaire, ce fichier est de plus en plus souvent remplacé par un fichier mod_form.php).
  • version.php - précise des méta-informations, par exemple les numéros de versions
  • icon.gif - une icône 16x16 pour le module
  • db/ - les commandes SQL pour les tables de la DB nécessaires au module
  • index.php - une liste des instances pour un cours spécifique (par exemple tous les forums)
  • view.php - une page pour visualiser une instance
  • lib.php - toutes les fonctions de ce module.

Supposons qu'un module s'appelle widget :

  • widget_add_instance() - fonction pour ajouter une nouvelle instance de widget
  • widget_update_instance() - fonction pour mettre à jour une instance
  • widget_delete_instance() - fonction pour supprimer une instance
  • widget_user_outline() - pour chaque instance, retourne un résumé des contributions
  • widget_user_complete() - pour une instance, affiche les détails des contributions d'un utilisateur
  • Autres fonctions (optionnelles) :
    • widget_delete_course() - code pour nettoyer les éléments restant après la suppression de toutes les instances
    • widget_process_options() - code pour traiter les informations de configuration
  • Le nom de toutes les fonctions du module doit commencer par widget_ et le nom de toutes les constantes définies débute avec WIDGET_
  • config.html - (optionnel) une page permettant la configuration du module
  • Enfin, chaque module disposera de fichiers de langue qui contiennent les chaînes de caractères appropriées.

Important : quand vous créez un nouveau module, son nom ne doit pas contenir de chiffres.

Par ailleurs, vous devez vous assurer que votre module d'activité supporte les groupes et les méta-cours.

Processus de développement

Voir aussi

  • NEWMODULE.zip - un modèle de module pour construire un nouveau module avec les versions récentes de Moodle. Lisez les instructions du fichier README contenu dans l'archive. Il existe aussi une version de NEWMODULE.zip valable jusqu'à Moodle 1.6.
  • Forum Activity modules du cours Using Moodle (en anglais)