Développer un bloc

De MoodleDocs
Révision datée du 1 mai 2013 à 19:59 par Valery Fremaux 2 (discussion | contributions) (Page créée avec « [https://docs.moodle.org/3x/fr/Développement_de_plugin | Retour à l'index] == Pourquoi développer un bloc ?== Un bloc est une forme très passe-partout dans Moodle, car l... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à :navigation, rechercher

| Retour à l'index

Pourquoi développer un bloc ?

Un bloc est une forme très passe-partout dans Moodle, car le bloc peut s'implanter dans de nombreux contextes de l'interface. Comme élément très polyvalent, il est souvent le premier choix lorsque l'on veut ajouter une fonctionnalité dans Moodle.

La nouvelle gestion des blocs de Moodle renforce notablement cette impression, puisque le bloc peut se positionner sur n'importe quelle page, et que leur réglage permet de les faire apparaître de manière plus ou moins systématique dans des contextes et des sous-contextes.

Nonobstant, il existe autour du bloc un certain nombre de principes et de limites qui pilotent certains aspects du choix :

  • Un bloc, dans la plupart des formats standards, se place principalement dans les zones de mise en page (layouts) réservés aux blocs, c'est à dire :
    • Les zones escamotables (docks)
    • Les colonnes de gauche ou de droite.

Il n'y a que dans des formats non standard tel que les formats paginés, où le bloc peut prendre presque toutes les positions. (Les formats paginés assemblent les pages par blocs et ramènent l'expression des activités dans des pseudo-blocs).

  • Un bloc ne dispose d'aucune API pédagogique :
    • Pas d'API en relation avec le carnet de notes
    • Pas d'API en relation avec le suivi des accomplissements
    • Pas d'API en relation avec la conditionnalité d'affichage

Il est évidemment possible artificiellement, d'accrocher le fonctionnement d'un bloc à de telles données, mais il devra le faire à travers la coopération avec une activité.

  • Un bloc reste un élément contextualisable par instance (on peut en créer plusieurs qui auront une existence séparée.
  • Un bloc reste un élément "partie de" l'environnement qui le reçoit (page de cours, page d'administration, etc.)

En général on choisit de développer un bloc :

  • Pour faire du monitoring de données (bloc affichage) : On a quelques données à rendre compte à l'utilisateur sous des conditions diverses
  • Pour donner accès à un module applicatif plus important (bloc "porte"). En général cette application est une fonctionnalité transverse à la plate-forme, ou latérale par rapport au cours.
  • Pour faciliter la navigation (bloc liens)
  • Pour ramener des raccourcis ou des utilitaires à portée de clic (bloc proxy)
  • Comme accessoire d'un ensemble plus important regroupant un ensemble divers de plugins coordonnés.

Localisation et forme du bloc

Tous les blocs se situent dans le répertoire /blocks de la distribution de Moodle, et sont matérialisés par un répertoire. Informatiquement, le bloc est une classe dérivée de l'une des classes de bases définies dans le fichier /blocks/moodleblock.class.php

  class bloc_base{
  }

pour les blocs affichant un contenu HTML quelconque, ou

  class block_list{
  }

Pour les blocs affichant un contenu sous forme d'un liste de liens avec ou sans icône. Moodle 2 à introduit une nouvelle classe de base pour les affichages de liens en organisation hiérarchique :

  class block_tree{
  }

dont se sert notamment le nouveau bloc "Navigation".

Construction d'un bloc