Menu

module

Patrick CARDONA

Modules

Voyez aussi la [conception] générale de Vallect.

Modularité

Les fonctionnalités ajoutées à Vallect sont autant de modules complémentaires que l’on doit pouvoir activer dans une interface d’administration. La modularité permet un développement plus clair et une mise à jour plus simple en cas de correctif. La notion de module facultatif n'a pas encore été implantée : tous les modules de cette version sont donc nécessaires.

Chaque nouveau module respecte les principes généraux et les principes suivants :

  • Les modules sont importés (upload) dans un sous-dossier du dossier « modules » de Vallect afin d’assurer l’intégrité du code commun. Puis ils sont installés par l’administrateur.
  • Pour comprendre l’architecture d’un module, observez les exemples fournis dans l'archive de Vallect.
  • Tout nouveau module doit prendre en compte les informations des tables existantes au moyen de références (id) à ces tables.

En aucun cas l’un de ces modules ne doit:

  • Altérer une table existante ;
  • Altérer la feuille de style principale.

Toute nouvelle table doit être ajoutée sans altération des tables existantes. Le code SQL de création de ces tables doit être inscrit dans un fichier vallect_nomdelatable afin d’intégrer ultérieurement cette création dans une procédure d’installation automatique. Il existe désormais une procédure d’importation des fichiers de création de tables dans l’interface d’administration.

Entre deux publications de Vallect, une archive distincte peut être réalisée, indiquant un numéro de version propre au module (x.y)

nomModule_x.y.zip

ou

nomModule_x.y.tar.gz

Toute altération des feuilles de style doit s’effectuer via un fichier distinct du fichier principal vallect.css au moyen d’une directive css « import ». Cet aspect sera précisé dans les notes de version accompagnant le module.

Architecture d'un module : Vallect 1.5.x ou ultérieur

modules
   |__ mod_exemple
         |__ inc
              |__ mod_exemple.inc.php
         |__ interface
              |__ mod_exemple.php
         |__ menu
              |__ mod_exemple.mnu
         |__ module.ini

Où on trouve :

fichier contenu
inc/*.inc.php fonctions
interface/*.php Affichage conditionnel et appel de fonctions en fonction des variables retournées
menu/*.mnu Liens et items du menu de gauche
module.ini Nom du module, version, cible d'installation

Exemple de module.ini :

nom=defi
description="Gestion des défis"
interface=eleve
version=0.4

Il existe trois possibilités pour l'interface cible :

  • admin
  • eleve
  • prof

Il est recommandé d'observer plusieurs exemples ainsi que les fichiers conteneurs que sont administrateur.php, eleve.php ou prof.php

Liste des modules

Il existe actuellement une trentaine de modules installés par défaut.
Attention ! Tous les modules ne sont pas décrits ici. Seuls apparaissent ceux qui ont fait ou font l'objet d'une documentation spécifique. Pour disposer de tous les modules, procurez-vous sur le site de Sourceforge la dernière version de Vallect : les modules se trouvent dans le dossier « modules » (évidemment). Les versions intermédiaires sont diffusées à part sur le même site, quand il s'agit de [Correctifs] pas encore intégrés à la dernière version publiée.


Related

Wiki: Administrateur
Wiki: Correctifs
Wiki: Importation
Wiki: ajouter un domaine
Wiki: conception
Wiki: développeur

MongoDB Logo MongoDB