PAELLOS

Auteur: Damien Guillaume

PAELLOS

In English

PAELLOS est une plateforme d'apprentissage en ligne permettant à la fois la création de contenus avec une interface web, et l'utilisation des sites par les étudiants et les tuteurs. PAELLOS privilégie la création de contenus avec une structure et un sens explicites, ce qui facilite l'évolution et la maintenance de grands cours en ligne.

Licence

PAELLOS est distribué sous la licence GPL.

Réalisation

PAELLOS a été développée à la cellule TICE de l'Observatoire de Paris. Les auteurs de PAELLOS sont : Soufiane Ayadi, Sarra Ben Fredj et Damien Guillaume.

Pour tout renseignement, contacter email_soufiane.png


Introduction à PAELLOS

PAELLOS signifie Plateforme d'Apprentissage En Ligne Libre Orientée Sémantique. PAELLOS comprend :

PAELLOS est un logiciel libre et gratuit : le code source est fourni avec le logiciel, et il est possible de le modifier tant que le code source est toujours redistribué avec les modifications.

Si les caractéristiques précédentes ne sont pas inhabituelles, PAELLOS a la particularité d'être orienté sémantique. L'éditeur utilisé pour la création des cours est en effet graphique, mais pas WYSIWYG : l'accent est mis sur le sens que l'on donne aux différentes parties du texte par opposition à l'aspect qu'il aura sur le site web. Les auteurs éditent des documents XML (sans avoir à connaître la syntaxe de XML), et plusieurs sites web peuvent être générés automatiquement à partir de ces documents en utilisant à chaque fois la structuration sémantique des documents. La forme étant bien séparée du fond, il est facile de changer l'aspect des sites web sans toucher aux contenus.

PAELLOS a été conçu et réalisé spécifiquement pour des formations en ligne en astronomie/astrophysique. Il est donc adapté aux formations à distance sur internet, alors que d'autres plateformes d'enseignement sont plus orientées vers les formations en présentiel avec un accompagnement sur le web. Un point fort pour toutes les formations aux sciences est l'intégration d'un éditeur d'équations dans l'éditeur de contenus et dans l'éditeur de réponses qui sert aux étudiants pour rédiger des réponses aux exercices. L'implémentation a pris en compte des besoins exprimés sur plusieurs années par les étudiants, les tuteurs et les administrateurs des formations à distance, tout en restant légère. L'interface est simple et fonctionnelle.


Installation


Prérequis

Les technologies suivantes sont nécessaires :

Le système a été testé sur :

... mais peut théoriquement fonctionner sur d'autres systèmes.

Certains paquets doivent être installés sur Linux en plus de PHP : php5-mysql pour le lien avec la base de données, php5-xsl (ou php-xml pour CentOS) pour les transformations de documents XML, php5-gd pour le traitement des images, et php5-curl qui est utilisé pour l'authentification sur le forum.


Téléchargement

Le fichier suivant contient tout PAELLOS (WebJaxe + serveur), avec le code source :

paellos_1.0.tar.gz


Installation de WebJaxe

Activation de fonctions PHP

Avec PHP5, les extensions de PHP php_xsl et php_gd2 doivent être activées, mais php_domxml doit être désactivé (c'est une extension pour PHP4).

Placement du dossier

Le dossier de WebJaxe peut être placé où on le souhaite dans le site web. La racine du site correspond souvent à un dossier appelé htdocs, dans lequel on peut placer le dossier webjaxe.

Permissions des fichiers

L'utilisateur PHP doit pouvoir accéder en écriture aux répertoires site_config, contribXML, sites, historique, poubelle et tmp. Il faut s'assurer que les permissions sont correctes avant de lancer WebJaxe pour la première fois.

Initialisation

Ouvrir la page suivante avec un navigateur :

http://[votre_site_web]/[répertoire_de_WebJaxe]/index.php

remarqueRemarque

Si votre serveur web fonctionne sur un autre port que le port par défaut (80), il faut bien sûr remplacer http://[votre_site_web] par http://[votre_site_web]:[numéro de port].

Pour créer la base de données de WebJaxe, il faut indiquer le login et le mot de passe de l'administrateur de la base de données (souvent 'root' / '' ou 'root' / 'root' par défaut). La base de données créée est nommée webjaxe par défaut.

Il faut ensuite entrer les informations pour créer le compte de l'administrateur WebJaxe, qui sera le premier utilisateur du site.

La gestion du mail est utilisée pour vous alerter quand un nouveau utilisateur est inscrit, vous avez 3 options:

Ceci fait, il suffit de cliquer sur le bouton "Créer la base de données" pour terminer l'initialisation de WebJaxe.

Serveur d'images d'équations TeX

Pour utiliser les équations avec la syntaxe TeX dans le langage XPAGES, il faut aussi configurer un petit serveur supplémentaire. En effet, l'applet Jaxe et son plugin pour XPAGES ne contiennent pas de processeur TeX (ce serait trop lourd !). Le plugin fait donc appel à un serveur, en envoyant le texte d'une équation à laquelle le serveur répond par l'image correspondante. Ce serveur se trouve déjà dans le dossier serveurtex de WebJaxe, mais il nécessite l'installation des programmes latex, dvipng et ImageMagick. Il faut aussi modifier le fichier config/XPAGES/XPAGES_config.xml à la main pour indiquer le serveur à utiliser (rechercher "tex.php" pour le retrouver). La valeur par défaut correspond à un serveur qui n'est pas forcément disponible. Les chemins vers les commandes convert et tex2png peuvent si nécessaire être modifiés dans tex.php. Il faut aussi s'assurer que l'utilisateur PHP puisse écrire dans serveurtex/CACHE.

Sécurisation

Les informations sur l'accès à la base de données sont enregistrées dans un fichier site_config.xml, situé dans le répertoire site_config. Ce répertoire est protégé pour le serveur web Apache avec un fichier .htaccess. Ceci interdit la lecture du fichier site_config.xml directement depuis le web, tout en permettant son utilisation par WebJaxe.

Cette protection ne fonctionne qu'avec le serveur web Apache, et seulement si les .htaccess sont autorisés (cela se fait avec l'instruction AllowOverride dans httpd.conf). Si vous utilisez un autre serveur web, comme par exemple IIS, il vous faudra protéger le répertoire site_config d'une autre manière, par exemple en éditant ses propriétés et en interdisant sa lecture. La façon de faire est malheureusement différente d'un serveur à l'autre.

On peut aussi ajouter un .htaccess dans les autres répertoires pour contrôler l'accès en lecture.

Pour éviter d'avoir à gérer à la fois des utilisateurs Apache et des utilisateurs WebJaxe pour contrôler l'accès aux sites, on peut utiliser une redirection vers le script PHP lecture_fichier.php, avec l'extension Mod_rewrite d'Apache. Par exemple, il suffit de mettre le code suivant dans un .htaccess dans les dossiers contribXML et sites pour s'assurer que seuls les utilisateurs WebJaxe autorisés puissent accéder aux fichiers XML et aux sites générés avec WebJaxe :

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteRule ^(.*)$ ../php/partie_utilisateur/lecture_fichier.php?fichier=%{REQUEST_URI}
</IfModule>

Ce code redirige les requêtes en lecture de tous les fichiers du répertoire vers le script lecture_fichier.php, qui ne renvoie le contenu des fichiers que pour les utilisateurs autorisés (qui doivent être connectés sur WebJaxe).


Installation du serveur


Configuration

Si un gestionnaire de sécurité est activé (c'est par exemple le cas par défaut avec Ubuntu 9), il faut autoriser l'application web à faire des connexions avec mySQL en local, ainsi que lire les fichiers du site web, utiliser les fichiers de l'indexation pour les recherches sur le site, et utiliser certaines classes : créer un fichier tomcat6/conf/policy.d/paellos.policy, avec (en modifiant "NOMSITE", "serveur.smtp", "/var/www" et ".../index_lucene" si nécessaire) :

grant codeBase "file:${catalina.base}/webapps/NOMSITE/-" {
  permission java.net.SocketPermission "localhost:3306", "connect,resolve"; // acces a la base de donnees SQL
  permission java.net.SocketPermission "smtp.exemple.fr:25", "connect,resolve"; // envoi de mails
  permission java.io.FilePermission "/var/www/webjaxe/-", "read"; // lecture des fichiers de WebJaxe
  permission java.io.FilePermission "/var/www/public", "read"; // generation du site public
  permission java.io.FilePermission "/var/www/public/-", "read,write,delete"; // generation du site public
  permission java.io.FilePermission "${catalina.base}/webapps/NOMSITE/WEB-INF/sites", "read"; // sites de formation
  permission java.io.FilePermission "${catalina.base}/webapps/NOMSITE/WEB-INF/sites/-", "read,write,delete"; // sites de formation
  permission java.io.FilePermission "${catalina.base}/webapps/NOMSITE/WEB-INF/index_lucene/-", "read,write,delete"; // fichiers de l'indexation
  permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.compiler"; // compilation des jsp
  permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.compiler.*"; // compilation des jsp
};

Création de la base de données

Inscription de l'administrateur

Pour commencer l'utilisation du site, l'administrateur doit s'inscrire comme décrit dans la documentation de l'administration.


Forum et chat

Les fonctionnalités de forum et de chat sont facultatives. La forum de discussion suggéré avec PAELLOS est phpBB (un plugin permet l'authentification automatique sur le forum phpBB avec la base de données de PAELLOS).

Installation du forum

Installation du chat

Le module mChat pour phpBB a été testé, mais d'autres solutions sont possibles. mChat a été traduit en français, mais la traduction étant à refaire à chaque nouvelle version, il est possible que la traduction en français ne soit plus disponible avec la dernière version. Ce n'est cependant pas difficile à traduire.


Création de contenus avec WebJaxe


Introduction

Le CMS WebJaxe est inclu dans PAELLOS, et permet la création collaborative de documents XML avec le langage XPAGES. Une transformation automatique permet de transformer ces documents en site web. Cette transformation peut s'effectuer directement dans WebJaxe pour obtenir un aperçu destiné aux auteurs, ou avec l'interface d'administration de la plateforme pour générer le site de formation des étudiants et le site des tuteurs.


Guide administrateur

Auteurs: Damien Guillaume, Konstantin Tcholokachvili, Soufiane Ayadi

Le compte administrateur

Le compte de l'administrateur est créé au moment de l'initialisation. Il est possible de modifier les champs de ce compte avec la gestion des utilisateurs.

Par la suite, on supposera que vous êtes connectés au site comme administrateur, ce qui permet d'atteindre des fonctions d'administration.


Paramètres et désinstallation

ecrans_webjaxe/parametres.png
Paramètres du site

La page des paramètres permet de modifier les paramètres suivants :

remarqueAstuce

Il est possible d'utiliser "../.." au lieu de "sites" pour le nom du dossier des sites, afin de générer les sites directement à la racine du serveur web (en supposant que le dossier webjaxe se trouve à la racine). Attention cependant aux conflits possibles avec les noms de dossiers.

Désinstallation

Pour supprimer la base de données et les contributions, il suffit de cliquer sur le bouton "Désinstaller WebJaxe". Attention, l'effet est immédiat !

Une fois ceci fait, il ne reste plus qu'à jeter le dossier de WebJaxe sur le serveur pour s'en débarasser complètement.


Validation des demandes de compte et gestion des utilisateurs

ecrans_webjaxe/utilisateurs.png
Gestion des utilisateurs

Chaque demande d'inscription est enregistrée dans la base de données, mais les utilisateurs ainsi inscrits ne peuvent pas se connecter avant que l'administrateur ne valide l'inscription. Si l'administrateur refuse l'inscription, celle-ci est effacée.

Le tableau "Demandes d'inscriptions" de la page "Gestion des utilisateurs" donne la liste des utilisateurs ayant demandé une inscription, et permet d'autoriser ou non chaque inscription.

A partir de la page de gestion des utilisateurs, il est aussi possible de :


Gestion des projets

ecrans_webjaxe/projets.png
Gestion des projets

La page de gestion des projets permet de créer de nouveaux projets, importer, exporter un projet, et de modifier la liste de contributions et de participants pour chaque projet. Il n'y a pas de lien direct entre les contributions et les utilisateurs: les liens passent par les projets.

L'administrateur peut organiser les projets sous forme d'un arbre, ce qui est pratique quand il y a un grand nombre de contributions. Pour changer l'arborescence, il faut cliquer sur le bouton "Sous-projets" du projet parent dans la page de gestion des projets. On peut alors changer la liste des sous-projets pour ce projet. Un utilisateur associé à un projet est implicitement associé à tous les projets descendants. Un export du projet parent contiendra l'ensemble des contributions du projet parent et des projets descendants.


Gestion des contributions

ecrans_webjaxe/contributions.png
Gestion des contributions

Chaque contribution est associée à un projet et un seul.

La page de gestion des contributions liste chaque contribution, et permet pour chacune de changer le projet associé, de l'éditer, de la supprimer, de la renommer, et de l'exporter.

Des formulaires en bas de la page permet de créer ou d'importer une contribution.

Cette page permet aussi d'éditer une contribution (en redirigeant vers la partie "utilisateur" de WebJaxe), et de supprimer une contribution.


Ajouter une nouvelle configuration

WebJaxe est livré avec une configuration pour le langage XML "XPAGES", et une autre pour le langage XML "XHTML strict 1.0". Il est possible d'ajouter de nouvelles configurations pour éditer des documents dans d'autres langages XML, et générer des sites correspondants.

Pour ajouter une nouvelle configuration, qu'on appelera par exemple "MACONFIG", il faut :


Guide utilisateur

Auteurs: Damien Guillaume, Soufiane Ayadi

Inscription au site

ecrans_webjaxe/inscription.png
Inscription sur un site WebJaxe

Pour participer à la réalisation d'un site avec WebJaxe, il est d'abord nécessaire de s'inscrire. Il suffit pour cela d'aller à la page d'inscription (il existe un lien à partir de la page d'entrée), et de remplir les différents champs.

Le login est un identifiant vous identifiant de façon unique. On choisit son login, mais (contrairement à l'entrée du prénom et du nom) on ne peut utiliser pour le login que des lettres de a à z, sans espace ni caractère spécial.

Choisissez un mot de passe original, mais ne le perdez pas ! Au pire on peut demander de l'aide à l'administrateur en cas de perte, mais ce n'est pas instantané.

Une fois l'inscription soumise, l'administrateur du site pourra valider (ou non) votre inscription. C'est seulement une fois que l'inscription est validée par l'administrateur que l'on peut se connecter, en utilisant le login et le mot de passe choisis.


Connexion

connexion.png
Connexion à un site WebJaxe

Pour la connexion, il suffit d'entrer le login et le mot de passe choisis au moment de l'inscription.


Les contributions

ecrans_webjaxe/liste_contribs.png
Liste des contributions

La création d'un site se fait avec un ensemble de contributions. Une contribution correspond à un ensemble de pages sur un sujet donné (en général moins de 10 pages). Une contribution comprend un fichier XML avec le texte des pages, et des fichiers d'images utilisées dans les pages.

Certaines contributions servent juste à lier d'autres contributions entre elles. Par exemple, on peut créer une contribution correspondant au site que l'on veut créer, et cette contribution ne contiendra que des liens vers d'autres contributions.

Les contributions sont organisées en projets. Un projet regroupe des contributions et des auteurs sur un même sujet. Tous les auteurs du projet peuvent éditer toutes les contributions du projet.

En tant qu'utilisateur, vous pouvez créer un nouveau projet, une nouvelle contribution, et éditer les contributions créées par d'autres utilisateurs si ces contributions sont dans un projet dont vous êtes auteur. L'administrateur peut ajouter des auteurs ou des contributions à un projet.

Il est possible d'exporter un projet à partir de la liste des contributions. Cette opération permet de télécharger un fichier ZIP contenant une copie de l'ensemble des contributions du projet.


Nouvelle contribution

ecrans_webjaxe/nouvelle-contribution.png
Nouvelle contribution

Il existe deux méthodes de création d'une nouvelle contribution dans WebJaxe: la création d'une contribution vide, et l'import d'une contribution existante. Dans les deux cas, il faut préciser le projet associé et la configuration Jaxe utilisée (qui correspond au langage XML).

Dans le cas d'un import, le fichier envoyé doit être un fichier ZIP avec le nom de la contribution. Ce fichier ZIP doit contenir un dossier avec le nom de la contribution, contenant un fichier XML avec le nom de la contribution. On peut par exemple avoir un fichier "ma-contribution.zip" contenant un dossier "ma-contribution" avec un fichier "ma-contribution.xml" à l'intérieur.

Comme l'export de contributions utilise la même organisation, il est facile d'exporter une contribution à partir d'un site WebJaxe et de l'importer dans un autre site.


Opérations sur une contribution

ecrans_webjaxe/operations_contrib.png
Opérations possibles sur une contribution

Il y a 10 opérations possibles sur une contribution :


Edition d'une contribution

ecrans_webjaxe/jaxe.png
L'édition avec Jaxe

L'éditeur de WebJaxe nécessite Java 1.6 ou ultérieur. Il peut donc être nécessaire d'installer Java si ce n'est pas déjà fait. L'éditeur s'ouvre dans une nouvelle fenêtre. Il faut faire attention à ne pas fermer la fenêtre d'origine dans le navigateur, car cela ferait disparaître la fenêtre d'édition sans possibilité de sauvegarde.

remarqueRemarque

Il existe un bug dans Firefox et certains autres navigateurs qui empêche la lecture des fichiers XML si l'option "Accepter les cookies tiers" est désactivée. Avec ces navigateurs, il faut donc activer cette option dans les préférences pour pouvoir utiliser l'éditeur. Une autre solution consiste à ajouter une "exception" dans la gestion des cookies pour toujours autoriser les cookies venant du serveur de WebJaxe.

L'éditeur fonctionne avec le méta-langage XML, et les textes entrés sont donc organisés avec des balises de début et de fin. Chaque bout de texte est encadré par des balises qui lui donnent du sens. On peut insérer de nouveaux éléments avec les menus, ou avec le panneau d'insertion à gauche de la fenêtre. Le panneau d'insertion n'affiche que les éléments autorisés à l'emplacement du curseur, ce qui permet d'éviter de créer un document invalide, c'est à dire ne respectant pas les règles du langage XML choisi.

Les éléments disponibles, ainsi que les règles d'arborescence des éléments, sont définis par le langage XML choisi par l'administrateur. Il est important de connaître le langage que l'on utilise pour bien utiliser l'éditeur. Une documentation spécifique existe pour le langage XPAGES, dont la configuration WebJaxe est fournie avec WebJaxe.

Il existe une documentation utilisateur pour l'application Jaxe, qui s'applique aussi à l'éditeur de WebJaxe. Il y a cependant certaines fonctions qui n'existent pas dans WebJaxe. D'autres fonctionnalités sont désactivées à cause des restrictions de sécurité que les navigateurs imposent aux applets Java. En particulier le copier-coller, comme expliqué ci-dessous.

Effectuer des copier-coller

Par défaut, les applets Java n'ont pas le droit de lire le presse-papier du système. Cela signifie en général que l'on ne peut pas faire de copier-coller depuis une autre application. Il existe deux méthodes pour contourner ce problème :


Les fichiers associés

ecrans_webjaxe/fichiers_associes.png
Gestion des fichiers associés

Cette page permet de gérer les fichiers associés d'une contribution, c'est à dire en général les fichiers des images que l'on utilise lors de l'édition de la contribution. Il est possible d'organiser ces fichiers avec des répertoires. Pour ajouter un nouveau fichier, il suffit de cliquer sur le bouton correspondant, de choisir le fichier sur son disque local, et de cliquer sur le bouton "Ajouter". Il s'affiche alors dans la liste des fichiers du répertoire courant.

Une fois un fichier d'image ajouté, il est possible de l'utiliser au moment de l'édition. Par exemple, avec le langage XPAGES, on ajoute une image en créant d'abord un "Environnement d'image", puis en mettant un "Fichier" dedans. Comme nom du fichier, on indique le chemin vers le fichier de l'image dans la contribution, par exemple "logo.png". L'image s'affiche alors dans l'éditeur.


Historique des modifications

ecrans_webjaxe/historique1.png
Opérations sur une contribution:Historique des modifications

Le bouton Historique des modifications s'affiche quand le document XML est modifié.

ecrans_webjaxe/historique2.png
Historique des modifications

Chaque historique est suivi par le login de l'auteur qui l'a modifié.

ecrans_webjaxe/historique3.png
Comparaison avec la dernière version

Vous pouvez comparer les versions du document XML, et de visualiser les différences entre chaque version du document et la dernière version.

ecrans_webjaxe/historique4.png
Différences entre chaque version du document et la dernière version

Préférences

ecrans_webjaxe/preferences.png
Préférences d'utilisateur: Changer la langue, le mot de passe ou l'email

Cette page permet de:


Recherche

ecrans_webjaxe/recherche.png
Faire une recherche

Cette page permet à l'utilisateur de rechercher un mot-clé dans toutes les contributions d'un projet


Le langage XPAGES

Auteur: Damien Guillaume

Introduction

introductionIntroduction

XPAGES permet de créer rapidement et facilement des sites web. Le principe sur lequel repose XPAGES est la séparation du contenu et de la forme : avec XPAGES, on spécifie un contenu (texte, images, animations), et on le structure en donnant un sens à chaque partie. A l'édition, on ne préoccupe absolument pas de la façon dont le contenu sera affiché plus tard, ce qui permet de gagner du temps et de ne pas mélanger le sens avec la forme. La façon dont le contenu sera affiché est spécifié séparément, par des feuilles de style. Il est ainsi possible de changer l'affichage indépendamment de l'édition.

XPAGES est un langage XML, c'est à dire un ensemble d'éléments et de règles permettant de structurer un texte. Des feuilles de style associées permettent de transformer automatiquement des documents XPAGES en fichiers HTML pour qu'ils puissent être consultés sur le web. Les documents XPAGES peuvent être édités avec Jaxe et WebJaxe grâce à un fichier de configuration décrivant une interface d'édition.

XPAGES est un langage très simple, et facile à apprendre : il ne comporte que 59 éléments (46 sans les exercices), à comparer par exemple aux 91 éléments de HTML, aux 390 éléments de DocBook, ou aux 526 éléments de OpenDocument.


La structure des documents

Organisation
org_xpages.png

Les documents XPAGES comportent un élément racine, Ensemble XPAGES, qui est utilisé dans tous les documents comme élément de premier niveau. Sous cet élément, on trouve les éléments Informations, Page, Réf. document XPAGES et Ensemble XPAGES.

A l'intérieur d'une page, il est possible de créer des sections avec l'élément Section. Cet élément comporte un titre, un rôle qui spécifie le sens de la section et peut permettre un affichage différent en fonction, et une importance qui permet de mettre en valeur la section si celle-ci est importante.

Le texte est ajouté à l'intérieur de paragraphes, avec l'élément Paragraphe. Il est facile d'insérer un nouveau paragraphe avec le raccourci-clavier commande-P ou contrôle-P dans Jaxe.

Il possible de créer plusieurs contributions, chacune comprenant un fichier XML XPAGES et les fichiers attachés (images, applets Java, ...). Chaque contribution doit alors correspondre à un dossier dont le nom est égal au label donné dans le bloc Informations du fichier XML. Ce dossier contient le fichier XML et les fichiers associés.


Informations

bloc_informations.png

Le bloc d'informations renseigne sur le document, et permet aussi de choisir un habillage pour les pages qui seront générées. Il est obligatoire, et se place au début du document. Il comporte les éléments suivants :


Eléments de bloc

Les éléments de bloc sont les éléments XML que l'on peut insérer directement à l'intérieur d'un élément PAGE. Ils permettent de structurer le document, mais ne sont pas mélangés à du texte : il est ainsi impossible d'insérer du texte directement sous PAGE, le texte devant être placé à l'intérieur d'un élément de bloc.

XPAGES comporte les éléments de bloc suivants :


Eléments mélangés au texte

Certains éléments de XPAGES peuvent être mélangés avec du texte, par exemple à l'intérieur d'un paragraphe. Ce sont les éléments suivants :


Exercices

XPAGES peut être utilisé pour de nombreuses applications, mais il est en particulier pratique pour créer un cours en ligne, et a été créé dans ce contexte. Pour ces raisons, le langage contient des éléments spécifiques à la définition d'exercices, même si ces éléments ne seront pas forcément utiles en-dehors du contexte des cours en ligne.

Il existe deux types d'exercices : les exercices de type question-réponse, et les QCM. Dans les deux cas, un exercice peut avoir un titre (attribut titre), un énoncé (élement Enoncé), une indication de la difficulté (élément Difficulté), une indication du temps nécessaire (élément Temps), et des questions (élements Question et Question de QCM).

Chaque question peut avoir un énoncé et une ou plusieurs aides (élement Aide). Les questions des exercices de type question-réponses ont une solution (élément Solution) et un nombre de points qui peuvent être accordés si la réponse est correcte (élément Points). Les questions de QCM ont des réponses possibles (élément Réponse de QCM), chaque réponse pouvant être bonne ou pas (attribut bonne), avec à chaque fois le texte de la réponse (élément Texte de réponse) et un commentaire qui sera affiché si l'utilisateur choisit cette réponse, par exemple pour lui expliquer en quoi la réponse est fausse (élément Commentaire de réponse).

Dans Jaxe, les réponses des exercices d'évaluations ne sont pas ajoutées aux fichiers HTML quand on génère le "site public". Elles ne sont ajoutées que lorsque l'on génère le "site de production". Dans WebJaxe, c'est toujours le site de production qui est généré; il faut donc exporter la contribution et l'ouvrir dans Jaxe pour générer le site public. On peut ainsi, à partir des mêmes fichiers XML, générer un site pour les étudiants, et un site pour les tuteurs d'une formation à distance.


Référence du langage

Le document suivant présente l'ensemble des éléments du langage XPAGES, avec un index et un arbre des éléments. Il a été généré automatiquement à partir du schéma XML de XPAGES.


Administration

Auteur: Damien Guillaume

Pour commencer

Inscription de l'administrateur

L'administrateur doit commencer par s'inscrire comme tuteur avec la page NOMSITE/Inscription?fonction=tuteur (le premier utilisateur à s'inscrire est automatiquement validé comme administrateur)


Menu

Après la connexion à l'interface d'administration (à l'adresse NOMSITE/Administration), le menu suivant apparaît :

Nouvelles inscriptions permet de valider les inscriptions au site de formation. Utilisateurs validés, comptes ouverts et Tous les utilisateurs validés permettent de gérer les comptes des utilisateurs. Génération du site permet de générer le site de formation (pour les étudiants et pour les tuteurs) et le site public. Accès au site permet de se connecter au site de formation, par exemple pour voir les lectures des étudiants.


Inscriptions

Les champs suivants sont affichés pour chaque demande d'inscription :

L'action de suppression est proposée pour effacer rapidement certaines demandes.

Pour valider une demande d'inscription, il faut :

La validation d'une inscription est bien sûr aussi l'occasion de vérifier les champs, et en particulier l'adresse mail qui est fondamentale.

Quand une inscription est validée, un mail est envoyé à l'utilisateur pour le prévenir. S'il s'agit d'un étudiant avec un tuteur, un autre mail est envoyé au tuteur avec l'identification de l'étudiant. Il est possible d'assigner un tuteur après la validation, mais dans ce cas aucun mail n'est envoyé au tuteur.


Comptes utilisateurs

Champs :

Coordonnées de l'utilisateur :

Actions disponibles à partir des listes d'utilisateurs :


Génération des sites

Si la configuration du serveur en indique les chemins, il est possible de générer automatiquement un site de formation (pour les étudiants et pour les tuteurs) et un site public à partir de la contribution XPAGES correspondante dans WebJaxe. Les deux sites peuvent être créés indépendamment.

Si un site existe déjà, son dossier sera renommé avec le suffixe "old". Il faut l'effacer à la main si l'on ne veut pas le conserver.

Pour rappel, il existe les différences suivantes entre les sites :

Un problème pour les liens vers les outils est que la même page d'accueil est générée pour les étudiants et les tuteurs. En pratique on crée souvent les pages d'accueil à la main et on remplace les fichiers index.html à la main après la génération des sites.


Maintenance

Maintenance

Suppression des anciennes fiches d'exercices, lectures et connexions, exemples avec la date "2008-08" : faire des requêtes SQL directement sur la base de données (il n'existe pas d'interface pour faire ça actuellement) :

delete e.* from exercices e where e.date < '2008-08'
delete l.* from lectures l,connections c where c.debut < '2008-08' and l.numconnection=c.numero
delete c.* from connections c where c.debut < '2008-08'

Plateforme de formation


Inscription au site

Une fois les contenus créés avec WebJaxe et le site généré avec l'interface d'administration de PAELLOS, le site peut être utilisé.

Inscription des étudiants et des tuteurs sur le site de formation

L'inscription se fait à partir de la page /NOMSITE/Inscription pour les étudiants, /NOMSITE/Inscription?fonction=tuteur pour les tuteurs. S'il y a plusieurs formations, il est possible de préciser la formation en utilisant les adresses /NOMSITE/Inscription?formation=NOMFORMATION et /NOMSITE/Inscription?formation=NOMFORMATION&fonction=tuteur


Lectures

A chaque fois qu'un étudiant passe par une page du site, l'information est enregistrée sur le serveur. Ceci facilite ensuite le suivi effectué par les tuteurs, bien que le seul moyen fiable pour un suivi reste les exercices.

Les tuteurs peuvent obtenir une liste des lectures de leurs étudiant en s'identifiant à la page /NOMSITE/Lectures .


Liste des réponses aux exercices

Les étudiants peuvent revoir les réponses qu'ils ont envoyé pour les exercices, à partir de la page /NOMSITE/Exercices. La liste donne pour chaque exercice un numéro, le titre, le chemin et la date. On peut revoir la réponse en cliquant sur le titre, et la page de l'exercice en cliquant sur le chemin. Le numéro permet de mieux classer les réponses quand plusieurs réponses sont envoyées pour le même exercice.

A la même adresse, les tuteurs peuvent accéder à toutes les réponses de leurs étudiants. Ils doivent donc sélectionner un étudiant dans la liste des étudiants associés, avant d'arriver sur la liste des réponses pour l'étudiant. L'administrateur et le supertuteur peuvent voir tous les étudiants. Sur une page de réponse à un exercice, un tuteur peut envoyer une réponse avec sa correction. Comme les étudiants, les tuteurs peuvent utiliser l'éditeur de réponses pour rédiger une réponse.

Les tuteurs peuvent se contenter d'envoyer leurs corrections par mail, mais à chaque nouvelle réponse d'un étudiant pour un exercice donné, le tuteur associé peut aussi revoir la page correspondante sur le site et répondre par le site.


Autres fonctionnalités

La génération du site de formation inclu une indexation des contenus, qui permet ensuite des recherches efficaces sur le site. L'indexation se base sur les fichiers XML pour optimiser l'indexation, ce qui permet d'obtenir de meilleurs résultats que si l'indexation était effectuée sur les fichiers HTML (par exemple, le petit sommaire que l'on voit sur les pages web n'est pas pris en compte dans l'indexation). Les recherches s'effectuent à partir de la page : /NOMSITE/Recherche

Il est possible de changer son mot de passe à partir de la page /NOMSITE/site/changementmdp

Les étudiants peuvent aller directement à la dernière page qu'ils ont visité avec le lien suivant : /NOMSITE/site/derniere-page

Déconnexion : /NOMSITE/site/logout


Utilisation de l'éditeur de réponses aux exercices

L'éditeur de réponses
images/editeur_reponses.png
Copie d'écran de l'éditeur de réponses

L'exercice dans la page web

Sur le site de formation, un exercice d'évaluation apparaît avec :

L'utilisation des boutons de l'éditeur l'éditeur n'est pas obligatoire (on peut se contenter de texte simple avec une image attachée), mais il facilite l'écriture d'équations complexes. Ces fonctionnalités nécessitent l'activation de Javascript (les boutons n'apparaissent pas si Javascript n'est pas activé).

Ajouter une réponse dans l'éditeur

Pour que la réponse soit claire, il est préférable de la séparer en questions. On peut faire ça par exemple avec des sauts de ligne et des numéros 1) 2) 3) pour la réponse à chaque question de l'exercice.

Editer du texte

Les différents boutons de l'éditeur correspondent aux fonctions suivantes (les raccourcis clavier utilisent la touche ctrl ou cmd en fonction du système d'exploitation) :

Equations

L'intérêt de l'éditeur de réponses réside surtout dans sa capacité à faciliter l'entrée d'équations, les équations complexes étant pénibles à écrire et à lire avec du texte simple. L'éditeur d'équation utilise une syntaxe particulière, qui est détaillée à la page suivante.

Pour utiliser l'éditeur, on entre le texte de l'équation dans la zone de texte en haut du dialogue. Pour avoir un aperçu, on clique sur le bouton "Aperçu" qui affiche l'image correspondante. Par exemple, si on entre "x^2" et qu'on clique sur "Aperçu", on voit apparaître un x avec un petit 2 en haut à droite. Quand on clique sur le bouton "Ok", l'équation est insérée dans le texte. Il suffit de double-cliquer sur l'équation pour revoir le dialogue d'édition de l'équation et la modifier.

La syntaxe est relativement intuitive, mais il faut malgré tout bien la suivre pour que l'équation s'affiche bien chez le tuteur. Par exemple, on doit toujours indiquer les opérateurs de l'équation (comme si l'équation allait être évaluée avec des valeurs pour les variables), et il faut donc écrire "2*x" au lieu de "2x".

Correcteur orthographique

Il est possible d'utiliser le correcteur orthographique du navigateur pour les navigateurs qui en ont un, mais on ne peut pas utiliser un simple clic droit parce-que cela fait apparaître le menu contextuel de l'éditeur. Il faut utiliser la touche Ctrl (ou cmd sous MacOS) en même temps que l'on fait un clic droit pour faire apparaître le menu contextuel du navigateur et utiliser son correcteur orthographique.


Syntaxe des équations dans Jaxe

L'éditeur d'équations
editeur_equations.png
Copie d'écran de l'éditeur d'équations

L'éditeur d'équations fonctionne avec une zone de texte où l'on entre une équation avec une syntaxe particulière, et l'image correspondant à l'équation s'affiche dessous quand on clique sur le bouton "Aperçu".

Avant de passer à la syntaxe, voici quelques règles à suivre pour entrer des équations :

Contrairement à la plupart des éditeurs d'équations, cet éditeur interprète le sens mathématique de l'équation. Il contruit ensuite l'image à partir de là. Cela permet d'obtenir un résultat graphique uniforme pour toutes les équations. Par contre, il n'est pas possible de spécifier de contrainte d'affichage, par exemple pour obtenir un espace supplémentaire entre deux caractères : l'utilisateur donne le sens de l'équation, et c'est l'éditeur qui se charge de trouver le meilleur affichage.