Modules
Voyez aussi la conception générale de Vallect dans sa version 1.x.
Modularité
Les fonctionnalités ajoutées à Vallect sont autant de modules complémentaires que l’on doit pouvoir activer dans une interface d’administration. Dans la version 1.x, 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 la version de développement 0.6. ou ultérieure.
- 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
ounomModule_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)
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.