• Aucun résultat trouvé

CHAPITRE 3 : SACOPH, UN SYSTEME AUTEUR POUR L'ENSEIGNEMENT MEDIATIQUE DE LA

3.3 M ODELISATION UML DU SYSTEME SAC O P H

3.3.2 Architecture du système SACoPh

A partir des cas d’utilisation identifiés, nous pouvons extraire les modules permettant de les assurer. Le schéma de la figure 26 présente l’architecture générale du système. Dans ce qui suit, nous allons d’abord développer le processus de fonctionnement général du système, suivi par une explication détaillée de ses différents modules.

Figure 26. Architecture générale de SACoPh

3.3.2.1 Gestion d’une leçon

Ce module offre à l’enseignant la possibilité de gérer la leçon en gérant un arbre. Il peut créer, modifier ou supprimer un élément (objet) pédagogique règle ou exemple. La suppression d’une règle supprimera par conséquent tous les exemples qu’elle contient. Un document édité par notre système est sauvegardé dans un fichier XML (.sacoph) pour une mise à jour ultérieure. Un exemple de contenu d’une leçon enregistrer dans ce type de fichier est illustré comme suit :

<Lesson Name="the pronunciation of the final s" NomProfesseur="Mrs. Ameur" NomEtablissement="University de Batna"> <Rule Name="Tips 1"/> <Rule Name="Tips 2"> <Exemple Name="example 1"/> <Exemple Name="example 2"/> <Exemple Name="example 3"/> <Exemple Name="example 4"/> </Rule> <Rule Name="Tips 3"> <Exemple Name="example 5"/> <Exemple Name="example 6"/> <Exemple Name="example 7"/> <Exemple Name="example 8"/> </Rule> </Lesson>

3.3.2.2 Gestion du texte (marqueur typographique et symbole phonétique)

L’utilisateur, via les fonctionnalités de ce module, peut saisir le texte (d’une règle ou d’un exemple), insérer des caractères de l’alphabet phonétique en les sélectionnant sur une liste, comme il peut ajouter des marqueurs typographiques (une couleur, un font, un style et/ou une taille) sur des parties du texte pour attirer l’attention de l’apprenant

sur un phénomène de phonétique. Ce module génère, pour chaque élément pédagogique règle ou exemple, un code XHTML qui correspond à une telle spécification pour une exploitation ultérieur, soit pour sa mise à jour soit pour faciliter la génération du code SMIL par la suite. Nous prenons l’exemple d’une règle qui a le texte suivant :

Ce module enregistre ce texte dans le code XHTML suivant : <!DOCTYPE HTML PUBLIC… >

<html>

<head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; }</style>

</head>

<body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font- style:normal;">

<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">

<span style=" font-size:20pt; font-weight:600; color:#aa00ff;"> s is pronounced </span>

<span style=" font-size:20pt; font-weight:600; color:#aa0000;"> /iz/ </span> <span style=" font-size:20pt; font-weight:600; color:#aa00ff;"> after the sounds:</span>

</p>

<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">

<span style=" font-size:20pt; font-weight:600; color:#ff0000;"> /s/, /z/, /&#8747;/, /&#679;/, /&#658;/, /&#676;/ </span>

</p> </body> </html>

3.3.2.3 Gestion de la voix

Ce module est concerné par l’enregistrement de la voix de l’enseignant dans un fichier audio sous format ‘wav’. Il permet de réécouter ce qui a été enregistré ou de le supprimer comme il offre des informations sur l’objet tel que la durée.

3.3.2.4 Générateur de la présentation SMIL

L’enseignant peut exporter ses documents via ce module vers le format d’affichage SMIL 0.3 pour les publier ou les partager. Jusqu’à présent, seul le lecteur appelé Ambulant peut lire les présentations de la version 3.0. Donc, ce module doit parcourir l’arbre des objets règles et exemples pour générer le code SMIL0.3. La synchronisation entre ces objets est déduite implicitement à partir de leur ordre dans l’arbre. La durée

d’affichage d’une règle ou d’un exemple est déduite à partir de la durée de l’objet audio associé. Prenons une partie du code générer en l’expliquant par la suite.

……

<-- spécifier le segment temporelle contenant la règle 3 et les exemples associés -->

<par xml:id="3" dur="46s">

<-- spécifier la prononciation de la règle1 et ses exemples -->

<audio begin="1s" src="Tips 3.wav"/> <audio begin="20s" src="example 5.wav"/> <audio begin="26s" src="example 6.wav"/> <audio begin="31s" src="example 7.wav"/> <audio begin="37s" src="example 8.wav"/> <-- spécifier le texte de la règle -->

<smilText region="Regle"> <p>

<span textFontWeight="bold" textColor="#aa00ff" textFontSize="20px">s is pronounced </span>

<span textFontWeight="bold" textColor="#aa0000" textFontSize="20px"> /iz/</span> <span textFontWeight="bold" textColor="#aa00ff" textFontSize="20px"> after the

sounds:</span></p>

<p>

<span textFontWeight="bold" textColor="#ff0000" textFontSize="20px"> /s/, /z/, /&#8747;/, /&#679;/, /&#658;/, /&#676;/.</span>

</p>

</smilText>

<-- spécifier l’exemple 1 qui commence à la 20ème seconde après la règle 1 -->

<smilText begin="20s" region="Exemple"><p>

<span textFontWeight="bold" textColor="#000000" textFontSize="20px">misse</span> <span textFontWeight="bold" textColor="#ff0000" textFontSize="20px">s</span></p> <-- spécifier l’exemple 2 : qui commence au 6ème seconde après l’exemple 1 -->

<tev begin="6s"/> <p>

<span textFontWeight="bold" textColor="#000000" textFontSize="20px">washe</span> <span textFontWeight="bold" textColor="#ff0000" textFontSize="20px">s</span></p>…… </smilText>

</par> ……

Nous montrons ci-dessus une partie du code SMIL3.0 généré par SACoPh qui permet de synchroniser le texte d’une règle en parallèle avec sa prononciation. On remarque bien qu’après 11s, le texte du premier exemple se présente avec sa prononciation. On remarque les différents types de balises et attributs : celles qui servent à la synchronisation <par>, <tev>, begin et celles qui servent à la présentation de marqueur typographique <smilText>, <textFontFamily>, <textColor>,…etc.

Une table d’index est calculée automatiquement. Nous avons proposé une segmentation temporelle automatique du document. Ceci consiste à identifier le début et la durée de chaque segment, ensuite à placer des ancres pour chacun d’eux pour être référencé par la suite. Nous proposons qu’un segment temporel corresponde au temps de présentation d’une règle avec tous ses exemples : c’est une entité indivisible. On a

fait ce choix parce que la règle ne peut pas être parfaitement comprise qu’à travers ses exemples explicatifs, et ces derniers ne peuvent être dissociés de la règle. A chaque entrée de la table d’index, on associe un lien vers le segment temporel qui lui correspond via son marqueur. Le code suivant montre comment les segments sont marqué, et comment sont référencié par les entrés de la table d’index.

<-- spécifier en séquence les segments temporels et marquer chacun d’eux par l’attribut xml : id-->

<seq>

<-- segment 1 -->

<par xml:id="1" dur="28s">

<smilText region="Tips 1"> ……… </smilText>

<smilText region="exemple 1"> …… </smilText> ……… </par>

<-- segment 2 -->

<par xml:id="2" dur="15s"> ………… </par> ……… </seq>

<-- remplir la table d’index;’Rule 1’ est un ancre vers le segment identifié par 1--> <a href="#1"> <smilText region="Index1"> Rule 1</smilText> </a>

<a href="#2"> <smilText region="Index2"> Rule 2</smilText> </a> ………

La table index offre une navigation temporelle durant la représentation de la leçon. L’étudiant peut avancer ou reculer la présentation vers le début d’une règle qu’il veut réécouter en cliquant sur son lien indiqué dans cette table. La figure 27 montre la présentation finale d’une leçon par le lecteur Ambulant.

Documents relatifs